code: protected void scanMethods(ClassFile cf) {
          List<ClassFile> methods = cf.getMethods();
          if (methods == null)
              return;
          for (Object obj : methods) {
              MethodInfo method = (MethodInfo) obj;
              if (scanMethodAnnotations) {
                  AnnotationsAttribute visible = (AnnotationsAttribute) method
                          .getAttribute(AnnotationsAttribute.visibleTag);
                  AnnotationsAttribute invisible = (AnnotationsAttribute) method
                          .getAttribute(AnnotationsAttribute.invisibleTag);
                  if (visible != null)
                      populate(visible.getAnnotations(), cf.getName());
                  if (invisible != null)
                      populate(invisible.getAnnotations(), cf.getName());
              }
              if (scanParameterAnnotations) {
                  ParameterAnnotationsAttribute paramsVisible = (ParameterAnnotationsAttribute) method
                          .getAttribute(ParameterAnnotationsAttribute.visibleTag);
                  ParameterAnnotationsAttribute paramsInvisible = (ParameterAnnotationsAttribute) method
                          .getAttribute(ParameterAnnotationsAttribute.invisibleTag);
                  if (paramsVisible != null && paramsVisible.getAnnotations() != null) {
                      for (Annotation[] anns : paramsVisible.getAnnotations()) {
                          populate(anns, cf.getName());
                      }
                  }
                  if (paramsInvisible != null && paramsInvisible.getAnnotations() != null) {
                      for (Annotation[] anns : paramsInvisible.getAnnotations()) {
                          populate(anns, cf.getName());
                      }
                  }
              }
          }
      }
docs: Scanns both the method and its parameters for annotations.
  
  @param cf