private void annotateMethod(ExecutableElement methodElt, AnnotatedExecutableType methodType) {
    if (checker.isChecking() || methodType.isAnnotated()) {
      return;
    }
    // First annotate the receiver
    annotateThis(methodType.getReceiverType());

    // If it is from library
    if (checker.isFromLibrary(methodElt)) {
      Set<AnnotationMirror> set = AnnotationUtils.createAnnotationSet();
      set.add(checker.PEER);
      annotateConstants(methodType, set);
    }
    // methodType.isAnnotated() only checks the annotations on methodType,
    // but not the type of its receiver, parameters or return;
    if (!methodType.isAnnotated()) methodType.addAnnotation(checker.BOTTOM);
  }