code: public String createMethodName(String base) {
      while (methodNames.contains(base)) {
  
        // TODO(schmitt):  Make more efficient for repeated calls with same base?
        base += "_";
      }
      methodNames.add(base);
      return base;
    }
docs: Returns a new valid (i.e. unique) method name based on {@code base}.
  
  Note: Method names are considered "used" after being returned by this
  method, whether they're actually used to write a new method or not.
  
  @param base base on which method name gets created
  @return valid method name