code: public static Type getReturnType(final String methodDescriptor) {
      // Skip the first character, which is always a '('.
      int currentOffset = 1;
      // Skip the argument types, one at a each loop iteration.
      while (methodDescriptor.charAt(currentOffset) != ')') {
        while (methodDescriptor.charAt(currentOffset) == '[') {
          currentOffset++;
        }
        if (methodDescriptor.charAt(currentOffset++) == 'L') {
          while (methodDescriptor.charAt(currentOffset++) != ';') {
            // Skip the argument descriptor content.
          }
        }
      }
      return getType(methodDescriptor, currentOffset + 1, methodDescriptor.length());
    }
docs: Returns the {@link Type} corresponding to the return type of the given method descriptor.
  
  @param methodDescriptor a method descriptor.
  @return the {@link Type} corresponding to the return type of the given method descriptor.