Object[] (Object[] args) { final Object[] newArgs = new Object[args.length + 1]; //noinspection ManualArrayCopy for (int i = 0; i < args.length; i++) { newArgs[i] = args[i]; } newArgs[args.length] = this; return newArgs; }