@Override
    @NotNull
    public Iterator<String> getNamesIterator() {
      if (allNames == null) {
        allNames = new HashSet<>(myCached.keySet());
      }
      return allNames.iterator();
    }
@Override
    @NotNull
    public Iterator<String> getNamesIterator()