public void loadCacheIfNeeded() {
if(cacheLoaded)
return;
DboTableMeta metaDbo = metaClass.getMetaDbo();
DboColumnIdMeta idMeta = metaDbo.getIdColumnMeta();
IndiceToVirtual virtKeys = new IndiceToVirtual(metaDbo, new ListWrappingCursor<byte[]>(keys));
AbstractCursor<KeyValue<Row>> rows = session.find(metaDbo, virtKeys, false, true, null);
String name = getClass().getSimpleName();
log.info(name+":just loaded rows for keylist(next convert to proxies)="+keys.size()+" for field="+field);
int counter = 0;
while(true) {
com.alvazan.orm.api.z8spi.iter.AbstractCursor.Holder<KeyValue<Row>> holder = rows.nextImpl();
if(holder == null)
break;
KeyValue<Row> kv = holder.getValue();
byte[] key = (byte[]) kv.getKey();
byte[] nonVirtKey = idMeta.unformVirtRowKey(key);
Row row = kv.getValue();
Tuple<T> tuple = metaClass.convertIdToProxy(row, session, nonVirtKey, null);
if(row == null) {
if (!metaDbo.isEmbeddable())
throw new IllegalStateException("This entity is corrupt(your entity='"+owner+"') and contains a" +