public long test(TrieLookup<Long> lookup) { long total = 0L; for (int i = 0, len = entries.length; i < len; ++i) { KeyEntry entry = entries[i]; Long value = lookup.findValue(entry.rawKey); if (value == null || value.longValue() != entry.value) { throw new IllegalStateException( "Problem with " + lookup + ", entry #" + i + ", value " + value + "; expected " + entry.value); } total += value; } return total; }