code: def method_descriptor(descriptor: str) -> MethodDescriptor:
      
      end_para = descriptor.find(')')
      returns = descriptor[end_para + 1:]
      args = descriptor[1:end_para]
  
      return MethodDescriptor(
          parse_descriptor(returns)[0],
          parse_descriptor(args),
          returns,
          args,
          descriptor
      )
docs: Parses a Method descriptor as described in section 4.3.3 of the JVM
      specification.