code: public V getOrCalculate(K key) {
          final V value = getOrPutSynchronized(cache, key, cacheMutexFactory, constructorFunction);
          return value == NULL_OBJECT ? null : value;
      }
docs: Returns the value for the {@code key}, calculating it in the process if
  necessary.