@Override
 public AstNode functionCall(AstNode target, Iterable<AstNode> arguments) {
   FunctionCall fc = new FunctionCall();
   fc.setTarget(target);
   if (!Iterables.isEmpty(arguments)) {
     fc.setArguments(list(arguments));
   }
   return fc;
 }