Я написал своё решение и из любопытства посмотрел на готовое решение. Они отличаются, но валидатор пропустил. Я попробовал разные кейсы прогнать и вроде всё ок.
Возможно я не вижу чем моё решение хуже и когда оно неправильно работает
if (waitingEmployees.contains(name) && name != null) {
if (!(alreadyGotSalaryEmployees.contains(name)) && name != null) {
alreadyGotSalaryEmployees.add(name);
waitingEmployees.set(waitingEmployees.indexOf(name), null);
}