code: @Override
      public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
          AnnotationVisitor av = super.visitAnnotation(desc, visible);
          observedAnnotations.add(Type.getType(desc));
          if (classInfo == null) {
              if (TRACE_OPTIONS_TYPE.getDescriptor().equals(desc)) {
                  optionsAnnotationVisitor = new TraceOptionsAnnotationVisitor(av);
                  av = optionsAnnotationVisitor;
              }
          }
          if (TRACE_OBJECT_FIELD_TYPE.getDescriptor().equals(desc)) {
              traceObjectFieldAnnotationVisitor = new TraceObjectFieldAnnotationVisitor(av);
              av = traceObjectFieldAnnotationVisitor;
          }
          return av;
      }
docs: Visit the class annotations looking at the supported RAS annotations.
  The result of running the visitors are only used when a {@code ClassInfo} model object was not provided during construction.
  
  @param desc
  the annotation descriptor
  @param visible
  true if the annotation is a runtime visible annotation