Это не правда: в последнем if так и так должно проверяться значение originalValue, потому что если оно не null его нужно записать в removedKeys