class BlueRunChangesetPreloader extends RESTFetchPreloader {

    @Override
    protected FetchData getFetchData(@Nonnull BlueUrlTokenizer blueUrl) {

        if (!blueUrl.lastPartIs(BlueUrlTokenizer.UrlPart.PIPELINE_RUN_DETAIL_TAB, "changes")) {
            // Not interested in it
            return null;
        }

        BluePipeline pipeline = getPipeline(blueUrl);

        if (pipeline == null) {
            // Not interested in it
            return null;
        }

        // It's a pipeline page. Let's prefetch the pipeline activity and add them to the page,
        // saving the frontend the overhead of requesting them.

        Container<BlueRun> activitiesContainer = pipeline.getRuns();
        if(activitiesContainer==null){
            return null;
        }
        BlueRun run = activitiesContainer.get(blueUrl.getPart(BlueUrlTokenizer.UrlPart.PIPELINE_RUN_DETAIL_ID));
        Container<BlueChangeSetEntry> containerChangeSets = run.getChangeSet();
        return getFetchData(containerChangeSets);
    }

}