docs: private static <T> T getChild(StatementTree tree, final Class<T> clazz) {
      return tree.accept(
          new SimpleTreeVisitor<T, Void>() {
            @Override
            protected T defaultAction(Tree node, Void p) {
              if (clazz.isInstance(node)) {
                return clazz.cast(node);
              }
              return null;
            }
  
            @Override
            public T visitBlock(BlockTree node, Void p) {
              return visit(node.getStatements());
            }
  
            private T visit(List<? extends Tree> tx) {
              for (Tree t : tx) {
                T r = t.accept(this, null);
                if (r != null) {
                  return r;
                }
              }
              return null;
            }
          },
          null);
    }