code: private void appendEnclosing(StringBuilder buffer, char enclosingSeparator, ClassName enclosing) {
  
      if (enclosing.enclosingClass != null) {
        appendEnclosing(buffer, enclosingSeparator, enclosing.enclosingClass);
      }
      buffer.append(enclosing.simpleName);
      buffer.append(enclosingSeparator);
    }
docs: {@link StringBuilder#append(String) Appends} the {@link #getEnclosingClass() enclosing class} in proper order
  (reverse hierarchy).
  
  @param buffer the {@link StringBuilder} to {@link StringBuilder#append(String) append} to.
  @param enclosingSeparator the separator for enclosing types ('.' or '$').
  @param enclosing the {@link #getEnclosingClass() enclosing class}.