optaplanner-core/src/main/java/org/optaplanner/core/impl/domain/lookup/LookUpManager.java
public <E> E lookUpWorkingObjectOrReturnNull(E externalObject) {
        if (externalObject == null) {
            return null;
        }
        LookUpStrategy lookUpStrategy = lookUpStrategyResolver.determineLookUpStrategy(externalObject);
        return lookUpStrategy.lookUpWorkingObjectIfExists(idToWorkingObjectMap, externalObject);
    }
public <E> E lookUpWorkingObjectOrReturnNull(E externalObject) {
        if (externalObject == null) {
            return null;
        }
        LookUpStrategy lookUpStrategy = lookUpStrategyResolver.determineLookUpStrategy(externalObject);
        return lookUpStrategy.lookUpWorkingObjectIfExists(idToWorkingObjectMap, externalObject);
    }
As defined by {@link ScoreDirector#lookUpWorkingObjectOrReturnNull(Object)}.
@param externalObject sometimes null
@return null if externalObject is null or if there is no workingObject for externalObject
@throws IllegalArgumentException if it cannot be looked up or if the externalObject's class is not supported
@throws IllegalStateException if it cannot be looked up
@param <E> the object type