code: public void checkKeepOrRemove() {
      boolean _hasKeepAfterExpired = heapCache.isKeepAfterExpired();
      if (expiry != 0 || remove || _hasKeepAfterExpired) {
        mutationUpdateHeap();
        return;
      }
      if (_hasKeepAfterExpired) {
        expiredImmediatelyKeepData();
        return;
      }
      expiredImmediatelyAndRemove();
    }
docs: In case we have a expiry of 0, this means that the entry should
  not be cached. If there is a valid entry, we remove it if we do not
  keep the data.