public AbstractTreePrinter printArgList(List<? extends JCTree> args,Consumer<JCTree> printer){
  for (  JCTree arg : args) {
    if (printer != null) {
      printer.accept(arg);
    }
 else {
      print(arg);
    }
    print(", ");
    inArgListTail=true;
  }
  inArgListTail=false;
  if (!args.isEmpty()) {
    removeLastChars(2);
  }
  return this;
}

public AbstractTreePrinter printArgList ( List < ? extends JCTree > args , Consumer < JCTree > printer ) { for ( JCTree arg : args ) { if ( printer != null ) { printer . accept ( arg ) ; } else { print ( arg ) ; } print ( ", " ) ; inArgListTail = true ; } inArgListTail = false ; if ( ! args . isEmpty ( ) ) { removeLastChars ( 2 ) ; } return this ; }
prints a comma - separated list of subtrees .
