Если иногда вам не нужен работник, вы должны сделать
subjectClass.getAndObserveEmployee(this);
, что выглядит странно. или если иногда вам нужно нанять сотрудника, но не регистрироваться:
Employee employee = subjectClass.getAndObserveEmployee(null);
что опять не приятно. Если, скажем, вы хотите изменить часть register
(то есть еще один аргумент), вам нужно изменить места, где вы используете функцию, только для get()
.
Я бы не стал этого делать, кроме как в случае необходимости, как в случае
oldVal = ConcurrentMap.replaceValue();
в этом случае две операции должны быть объединены в одном методе, потому что в параллельной системе между двумя вызовами состояние может измениться.