code: private void getArgs(Apply<?> apply, List<String> args) {
          if (apply instanceof Op.Bin<?>) {
              Op.Bin<?> bin = (Op.Bin<?>) apply;
  
              getArgs(bin.left, args);
              getArgs(bin.right, args);
          }
          else if (apply instanceof Arg.Pred<?>) {
              args.add(((Arg.Pred<?>)apply).getDescription());
          }
      }
docs: *
  Private helper method to recursively find arguments.
  @param apply the expression tree to search.
  @param args the resulting list of arguments.