private SortedMap<String, SortedSet<String>> findNamesPerSurname(
            final String surname) {
        if (surnameIndex.containsKey(surname)) {
            return surnameIndex.get(surname);
        }
        final SortedMap<String, SortedSet<String>> namesPerSurname =
                new TreeMap<String, SortedSet<String>>();
        surnameIndex.put(surname, namesPerSurname);
        return namesPerSurname;
    }
private SortedMap < String , SortedSet < String > > findNamesPerSurname ( final String surname ) { if ( surnameIndex . containsKey ( surname ) ) { return surnameIndex . get ( surname ) ; } final SortedMap < String , SortedSet < String > > namesPerSurname = new TreeMap < String , SortedSet < String > > ( ) ; surnameIndex . put ( surname , namesPerSurname ) ; return namesPerSurname ; }
Find the map of full names to a sets of IDs for the given surname. If the
surname is not already present, create a new map and add it to the index.

@param surname surname to search
@return the associated map