docs: private static TypeElement getEnclosingType(Element element) {
      return element.accept(new SimpleElementVisitor6<TypeElement, Void>() {
        @Override protected TypeElement defaultAction(Element e, Void p) {
          return e.getEnclosingElement().accept(this, p);
        }
  
        @Override public TypeElement visitType(TypeElement e, Void p) {
          return e;
        }
  
        @Override public TypeElement visitPackage(PackageElement e, Void p) {
          throw new IllegalArgumentException();
        }
      }, null);
    }