code: public String getReferenceName(ExecutableElement element) {
      if (!ElementUtil.isConstructor(element)) {
        return ElementUtil.getName(element);
      }
      TypeElement parent = ElementUtil.getDeclaringClass(element);
      assert parent != null;
      List<String> components = new LinkedList<>(); // LinkedList is faster for prepending.
      do {
        components.add(0, ElementUtil.getName(parent));
        parent = ElementUtil.getDeclaringClass(parent);
      } while (parent != null);
      return INNER_CLASS_JOINER.join(components);
    }
docs: Get the "Reference" name of a method.
  For non-constructors this is the method's name.
  For constructors of top-level classes, this is the name of the class.
  For constructors of inner classes, this is the $-delimited name path
  from the outermost class declaration to the inner class declaration.