docs: public Iterator<SourceUnit> iterator() {
          return new Iterator<SourceUnit>() {
              Iterator<String> nameIterator = names.iterator();
  
              public boolean hasNext() {
                  return nameIterator.hasNext();
              }
  
              public SourceUnit next() {
                  String name = nameIterator.next();
                  return sources.get(name);
              }
  
              public void remove() {
                  throw new UnsupportedOperationException();
              }
          };
      }