code: JCExpression typeArgumentsOpt(JCExpression t) {
          if (token.kind == LT &&
              (mode & TYPE) != 0 &&
              (mode & NOPARAMS) == 0) {
              mode = TYPE;
              checkGenerics();
              return typeArguments(t, false);
          } else {
              return t;
          }
      }
docs: TypeArgumentsOpt = [ TypeArguments ]