code: @Override
      public void phaseStarted(AbstractPhaseScope phaseScope) {
          super.phaseStarted(phaseScope);
          InnerScoreDirector scoreDirector = phaseScope.getScoreDirector();
          cachedValueRange = (ValueRange<Object>)
                  valueRangeDescriptor.extractValueRange(scoreDirector.getWorkingSolution());
          if (valueRangeMightContainEntity) {
              cachedEntityListRevision = scoreDirector.getWorkingEntityListRevision();
              cachedEntityListIsDirty = false;
          }
      }
docs: ************************************************************************