code: public ClassNode visitPublicNotAbstractTreeNodes($.Visitor<ClassNode> visitor) {
          return visitTree($.guardedVisitor(new $.Predicate<ClassNode>() {
              @Override
              public boolean test(ClassNode classNode) {
                  return classNode.publicNotAbstract();
              }
          }, visitor));
      }
docs: Accept a visitor that visit all public descendants of the
  class represented by this `ClassNode` including this `ClassNode` itself
  @param visitor the function that take `ClassNode` as argument
  @return this `ClassNode` instance