@Override public long size(ValuesTransformer transformer) { if (transformer == null) return hashTable.size(); else { OHashIndexBucket.Entry<Object, Object> firstEntry = hashTable.firstEntry(); if (firstEntry == null) return 0; OHashIndexBucket.Entry<Object, Object>[] entries = hashTable.ceilingEntries(firstEntry.key); long counter = 0; while (entries.length > 0) { for (OHashIndexBucket.Entry<Object, Object> entry : entries) counter += transformer.transformFromValue(entry.value).size(); entries = hashTable.higherEntries(entries[entries.length - 1].key); } return counter; } }