docs: int getMemcachedExpirationTime() {
          if ( !_sticky ) {
              throw new IllegalStateException( "The memcached expiration time cannot be determined in non-sticky mode." );
          }
          if ( _lastMemcachedExpirationTime == 0 ) {
              return 0;
          }
  
          final long timeIdleInMillis = _lastBackupTime == 0 ? 0 : System.currentTimeMillis() - _lastBackupTime;
          /* rounding is just for tests, as they are using actually seconds for testing.
           * with a default setup 1 second difference wouldn't matter...
           */
          final int timeIdle = Math.round( (float)timeIdleInMillis / 1000L );
          final int expirationTime = _lastMemcachedExpirationTime - timeIdle;
          /* prevent negative expiration times.
           * because 0 means no expiration at all, we use 1 as min value here
           */
          return max(1, expirationTime);
      }