code: public boolean evict(S evictableStore, EvictionPolicyEvaluator<A, E> evictionPolicyEvaluator,
                       EvictionChecker evictionChecker, EvictionListener<A, E> evictionListener) {
          if (evictionChecker != null) {
              if (evictionChecker.isEvictionRequired()) {
                  return evictInternal(evictableStore, evictionPolicyEvaluator, evictionListener);
              } else {
                  return false;
              }
          } else {
              return evictInternal(evictableStore, evictionPolicyEvaluator, evictionListener);
          }
      }
docs: Does eviction if required.
  
  @param evictableStore            Store that holds {@link Evictable} entries
  @param evictionPolicyEvaluator   {@link EvictionPolicyEvaluator} to evaluate
  {@link com.hazelcast.config.EvictionPolicy} on entries
  @param evictionChecker            {@link EvictionChecker} to check whether max size is reached, therefore
  eviction is required or not.
  @param evictionListener          {@link EvictionListener} to listen evicted entries
  
  @return true is an entry was evicted, otherwise false