code: static void checkMethodDesc(final String desc) {
          if (desc == null || desc.length() == 0) {
              throw new IllegalArgumentException(
                      "Invalid method descriptor (must not be null or empty)");
          }
          if (desc.charAt(0) != '(' || desc.length() < 3) {
              throw new IllegalArgumentException("Invalid descriptor: " + desc);
          }
          int start = 1;
          if (desc.charAt(start) != ')') {
              do {
                  if (desc.charAt(start) == 'V') {
                      throw new IllegalArgumentException("Invalid descriptor: "
                              + desc);
                  }
                  start = checkDesc(desc, start, false);
              } while (start < desc.length() && desc.charAt(start) != ')');
          }
          start = checkDesc(desc, start + 1, true);
          if (start != desc.length()) {
              throw new IllegalArgumentException("Invalid descriptor: " + desc);
          }
      }
docs: Checks that the given string is a valid method descriptor.
  
  @param desc
  the string to be checked.