class AncestorChildExpansionIterator implements SortedKeyValueIterator<Key,Value> {

    @Override
    public boolean hasTop() {
        if (!seeked) {
            throw new IllegalStateException("cannot hasTop(), iterator has not been seeked");
        }
        
        if (!initialized) {
            nextChild();
        }
        
        return topKey != null;
    }

    public  AncestorChildExpansionIterator(SortedKeyValueIterator<Key,Value> iterator, List<String> children, Equality equality);

}