code: @Override
      public void visitField(Field obj) {
          if (obj.isPrivate()) {
              String signature = obj.getSignature();
              if (signature.startsWith(Values.SIG_QUALIFIED_CLASS_PREFIX)) {
                  try {
                      JavaClass cls = Repository.lookupClass(SignatureUtils.stripSignature(signature));
                      if (cls.implementationOf(collectionClass) || cls.implementationOf(mapClass)) {
                          FieldAnnotation fa = FieldAnnotation.fromVisitedField(this);
                          collectionFields.put(fa.getFieldName(), new FieldInfo(fa));
                      }
                  } catch (ClassNotFoundException cnfe) {
                      bugReporter.reportMissingClass(cnfe);
                  }
              }
          }
      }
docs: implements the visitor to find collection fields
  
  @param obj
  the context object of the currently parse field