code: public static void checkMethodModifiers(final int modifiers) {
  
          // Base check
          checkModifiers(METHOD, modifiers);
  
          // Check overlapping modifiers
          if (Modifier.isPrivate(modifiers)) {
              if (Modifier.isProtected(modifiers) || Modifier.isPublic(modifiers)) {
                  throw new IllegalArgumentException(METHOD_ACCESS_MODIFIER_ERROR + " ["
                          + Modifier.toString(modifiers) + "]");
              }
          }
          if (Modifier.isProtected(modifiers)) {
              if (Modifier.isPrivate(modifiers) || Modifier.isPublic(modifiers)) {
                  throw new IllegalArgumentException(METHOD_ACCESS_MODIFIER_ERROR + " ["
                          + Modifier.toString(modifiers) + "]");
              }
          }
          if (Modifier.isPublic(modifiers)) {
              if (Modifier.isPrivate(modifiers) || Modifier.isProtected(modifiers)) {
                  throw new IllegalArgumentException(METHOD_ACCESS_MODIFIER_ERROR + " ["
                          + Modifier.toString(modifiers) + "]");
              }
          }
  
          // Check illegal abstract modifiers
          if (Modifier.isAbstract(modifiers)) {
              if (Modifier.isPrivate(modifiers) || Modifier.isStatic(modifiers)
                      || Modifier.isFinal(modifiers) || Modifier.isNative(modifiers)
                      || Modifier.isStrict(modifiers) || Modifier.isSynchronized(modifiers)) {
                  throw new IllegalArgumentException(METHOD_ILLEGAL_ABSTRACT_MODIFIERS_ERROR + " ["
                          + Modifier.toString(modifiers) + "]");
              }
          }
  
          // Check native and strictfp
          if (Modifier.isNative(modifiers) && Modifier.isStrict(modifiers)) {
              throw new IllegalArgumentException(METHOD_NATIVE_STRICTFP_ERROR + " ["
                      + Modifier.toString(modifiers) + "]");
          }
  
      }
docs: CHECKSTYLE:OFF Cyclomatic complexity is OK