public void setSourceLocation(final SourceLocation sourceLocation, final boolean force) {
        updateStepControlVisibility();

        if (force || !Objects.equals(sourceLocation, requestedSourceLocation)) {
            // Keep a record of what data was asked for, which may differ from what we get back
            requestedSourceLocation = sourceLocation;

            doWithConfig(sourceConfig -> {
                fetchSource(sourceLocation);
            });
        }
    }
Sets the source location/range according to the passed {@link SourceLocation}
If there is a highlight and it is outside the visible range then so be it.

@param force If true forces a re-fetch of the data even if the location/range is
             the same as last time.
stroom-core-client/src/main/java/stroom/data/client/presenter/SourcePresenter.java