code: private static Object[] removeRealReceiver(Object[] args) {
          Object[] ar = new Object[args.length-1];
          System.arraycopy(args, 1, ar, 0, args.length - 1);
          return ar;
      }
docs: Helper method to remove the receiver from the argument array
  by producing a new array.