code: public MethodHandle invoke(MethodHandle target) {
          MethodHandle current = target;
          for (Transform t : transforms) {
              current = t.up(current);
          }
  
          // if resulting handle's type does not match start, attempt one more cast
          current = MethodHandles.explicitCastArguments(current, start);
  
          return current;
      }
docs: Apply the chain of transforms with the target method handle as the final
  endpoint. Produces a handle that has the transforms in given sequence.
  
  If the final handle's type does not exactly match the initial type for
  this Binder, an additional cast will be attempted.
  
  @param target the endpoint handle to bind to
  @return a handle that has all transforms applied in sequence up to endpoint