public HollowDiffViewRow getHollowDiffViewRows() { HollowEffigy fromEffigy, toEffigy; if(diffUI != null && diffUI.getCustomHollowEffigyFactory(typeName) != null) { CustomHollowEffigyFactory effigyFactory = diffUI.getCustomHollowEffigyFactory(typeName); synchronized(effigyFactory) { effigyFactory.setFromHollowRecord(fromDataAccess.getTypeDataAccess(typeName), fromOrdinal); effigyFactory.setToHollowRecord(toDataAccess.getTypeDataAccess(typeName), toOrdinal); effigyFactory.generateEffigies(); fromEffigy = effigyFactory.getFromEffigy(); toEffigy = effigyFactory.getToEffigy(); } } else { HollowEffigyFactory effigyFactory = new HollowEffigyFactory(); fromEffigy = fromOrdinal == -1 ? null : effigyFactory.effigy(fromDataAccess, typeName, fromOrdinal); toEffigy = toOrdinal == -1 ? null : effigyFactory.effigy(toDataAccess, typeName, toOrdinal); } HollowDiffViewRow rootRow = createRootRow(fromEffigy, toEffigy); traverseEffigyToCreateViewRows(rootRow); return rootRow; }