У меня есть довольно много мест, где мне нужно получить объект, выполнить некоторые побочные эффекты в зависимости от состояния этого объекта, а затем, наконец, вернуть объект.Для конкретного класса Foo я могу написать метод
public Foo perform(Consumer<Foo> sideEffect) {
sideEffect.accept(this);
return this;
}
Достаточно простой, но я бы не хотел переписывать его для каждого класса, а также хотел бы, чтобы он работал для классов, которыене моиЯ не могу добавить этот метод в Object, и я бы предпочел не создавать подкласс Consumer, который возвращает аргумент.Есть ли лучший способ сделать это?