code: List<JCExpression> qualidentList(boolean allowAnnos) {
          ListBuffer<JCExpression> ts = new ListBuffer<>();
  
          List<JCAnnotation> typeAnnos = allowAnnos ? typeAnnotationsOpt() : List.nil();
          JCExpression qi = qualident(allowAnnos);
          if (!typeAnnos.isEmpty()) {
              JCExpression at = insertAnnotationsToMostInner(qi, typeAnnos, false);
              ts.append(at);
          } else {
              ts.append(qi);
          }
          while (token.kind == COMMA) {
              nextToken();
  
              typeAnnos = allowAnnos ? typeAnnotationsOpt() : List.nil();
              qi = qualident(allowAnnos);
              if (!typeAnnos.isEmpty()) {
                  JCExpression at = insertAnnotationsToMostInner(qi, typeAnnos, false);
                  ts.append(at);
              } else {
                  ts.append(qi);
              }
          }
          return ts.toList();
      }
docs: QualidentList = [Annotations] Qualident {"," [Annotations] Qualident}