public @Nullable V get(K key) {
    V value = protectedQueue.get(key);
    if (value != null) {
      protectedHits++;
      return value;
    }

    value = probationalQueue.remove(key);
    if (value != null) {
      probationalHits++;
      putToProtectedQueue(key, value);
      return value;
    }

    misses++;
    return null;
  }
public @Nullable V get(K key)