private HashMap<Integer,Trie> buildLookupTable(final Map<Integer,List<Trie>> childTries){
  HashMap<Integer,Trie> lookup=new HashMap<>(childTries.size());
  for (  int id : childTries.keySet()) {
    final List<Trie> tries=childTries.get(id);
    if (tries.size() == 1) {
      lookup.put(id,tries.get(0));
    }
 else {
      lookup.put(id,new SliceAggregatingTrie(tries));
    }
  }
  return lookup;
}

private HashMap < Integer , Trie > buildLookupTable ( final Map < Integer , List < Trie > > childTries ) { HashMap < Integer , Trie > lookup = new HashMap < > ( childTries . size ( ) ) ; for ( int id : childTries . keySet ( ) ) { final List < Trie > tries = childTries . get ( id ) ; if ( tries . size ( ) == 1 ) { lookup . put ( id , tries . get ( 0 ) ) ; } else { lookup . put ( id , new SliceAggregatingTrie ( tries ) ) ; } } return lookup ; }
build a lookup table for children tries . if the list contains only a single child node , a regular trie node is inserted into the table ; otherwise a sliceaggregatingtrie node is created that hides this partitioning into multiple packedslices upstream .
