code: public JSType createFunctionTypeWithInstanceType(ObjectType instanceType,
        JSType returnType, List<JSType> parameterTypes) {
      Node paramsNode = createParameters(parameterTypes.toArray(new JSType[parameterTypes.size()]));
      return FunctionType.builder(this)
          .withParamsNode(paramsNode)
          .withReturnType(returnType)
          .withTypeOfThis(instanceType)
          .build();
    }
docs: Creates a function type in which {@code this} refers to an object instance.
  
  @param instanceType the type of {@code this}
  @param returnType the function's return type
  @param parameterTypes the parameters' types