code: static TypeSignature parse(final String typeDescriptor, final String definingClass) throws ParseException {
          final Parser parser = new Parser(typeDescriptor);
          TypeSignature typeSignature;
          typeSignature = parse(parser, definingClass);
          if (typeSignature == null) {
              throw new ParseException(parser, "Could not parse type signature");
          }
          if (parser.hasMore()) {
              throw new ParseException(parser, "Extra characters at end of type descriptor");
          }
          return typeSignature;
      }
docs: Parse a type signature.
  
  @param typeDescriptor
  The type descriptor or type signature to parse.
  @param definingClass
  The class containing the type descriptor.
  @return The parsed type descriptor or type signature.
  @throws ParseException
  If the type signature could not be parsed.