code: public static MethodHandle methodHandle( MethodHandles.Lookup lookup, Serializable lambda )
      {
          try
          {
              SerializedLambda serialized = serializedLambda( lambda );
              Class<?> impl = lambdaClass( serialized );
              switch ( serialized.getImplMethodKind() )
              {
              case REF_invokeStatic:
                  return lookup.findStatic(
                          impl, serialized.getImplMethodName(), MethodType.fromMethodDescriptorString(
                                  serialized.getImplMethodSignature(), impl.getClassLoader() ) );
              case MethodHandleInfo.REF_invokeVirtual:
                  return lookup.findVirtual(
                          impl, serialized.getImplMethodName(), MethodType.fromMethodDescriptorString(
                                  serialized.getImplMethodSignature(), impl.getClassLoader() ) );
              default:
                  throw new UnsupportedOperationException( "only static and virtual methods supported" );
              }
          }
          catch ( RuntimeException e )
          {
              throw e;
          }
          catch ( Exception e )
          {
              throw new RuntimeException( e );
          }
      }
docs: Get a method handle to the underlying method that implements a given ({@linkplain Serializable serializable})
  lambda.
  
  @param lookup a context that has access to looking up the target method.
  @param lambda the ({@linkplain Serializable serializable}) lambda to find the implementing method of.
  @return a method handle to the implementing method of the given ({@linkplain Serializable serializable}) lambda.