code: @Override
      public boolean hasInstance(ExecutionContext context, Object v) {
          // 15.3.4.5.3
          return target.hasInstance(context, v);
      }
docs: /*
  @Override
  public Object call(ExecutionContext context, Object self, Object... args) {
  15.3.4.5.1
  System.err.println( "called args: " + args.length + " // " + Arrays.asList( args ) );
  Object[] allArgs = new Object[boundArgs.length + args.length];
  
  for (int i = 0; i < boundArgs.length; ++i) {
  allArgs[i] = boundArgs[i];
  }
  
  for (int i = boundArgs.length, j = 0; i < boundArgs.length + args.length; ++i, ++j) {
  allArgs[i] = args[j];
  }
  
  if (self != Types.UNDEFINED) {
  return context.call(this.target, self, allArgs);
  } else {
  return context.call(this.target, this.boundThis, allArgs);
  }
  }