code: JCExpression innerCreator(int newpos, List<JCExpression> typeArgs, JCExpression encl) {
          List<JCAnnotation> newAnnotations = typeAnnotationsOpt();
  
          JCExpression t = toP(F.at(token.pos).Ident(ident()));
  
          if (newAnnotations.nonEmpty()) {
              t = toP(F.at(newAnnotations.head.pos).AnnotatedType(newAnnotations, t));
          }
  
          if (token.kind == LT) {
              int oldmode = mode;
              checkGenerics();
              t = typeArguments(t, true);
              mode = oldmode;
          }
          return classCreatorRest(newpos, encl, typeArgs, t);
      }
docs: InnerCreator = [Annotations] Ident [TypeArguments] ClassCreatorRest