public String get(final String key) {
        if (deleted.get().contains(key)) {
            return null;
        }

        if (diff.get().containsKey(key)) {
            return diff.get().get(key);
        }

        readLock.lock();
        try {
            if (old.containsKey(key)) {
                return old.get(key);
            }
        } finally {
            readLock.unlock();
        }

        return null;
    }