Используйте это, чтобы "испортить" плюс метод:
Integer.metaClass.plus {Integer n -> delegate - (-n) - (-1)}
assert 2+2 == 5
Не удивительно, что использование оператора «+» в методе «перегрузка плюс» приведет к StackOverflow, требуется использовать что-то отличное от оператора «+».
Другой механизм: используйте XOR или некоторую магию битового оператора.
С уважением,
Peacefulfire