code: public String getName(String oldName) {
          if (oldName != null && this.existing.containsKey(oldName)) {
              return this.existing.get(oldName);
          }
  
          final String name = this.prefix + this.counter;
          this.counter++;
  
          if (oldName != null) {
              this.existing.put(oldName, name);
          }
  
          return name;
      }
docs: Gets the new name for the given old name, where if no old name is given a
  new name will be generated.
  
  @param oldName
  the old name to get the new name for.
  
  @return the new name.