code: public JCExpression qualident(boolean allowAnnos) {
          JCExpression t = toP(F.at(token.pos).Ident(ident()));
          while (token.kind == DOT) {
              int pos = token.pos;
              nextToken();
              List<JCAnnotation> tyannos = null;
              if (allowAnnos) {
                  tyannos = typeAnnotationsOpt();
              }
              t = toP(F.at(pos).Select(t, ident()));
              if (tyannos != null && tyannos.nonEmpty()) {
                  t = toP(F.at(tyannos.head.pos).AnnotatedType(tyannos, t));
              }
          }
          return t;
      }
docs: Qualident = Ident { DOT [Annotations] Ident }