If either the selectedItemPipeline or nonselectedItemPipeline are left unset, there is a run-time NullPointerException.
If the intention had been to make this a configuration error, doInitialize should detect it, but it doesn't. Indeed it looks like the case of a missing pipeline was intended and should be treated as a null operation. This could be done either by initializing each pipeline to an empty SimplePipeline, or conditionally executing the pipelines in doExecute. The latter is probably better in some ways, but perhaps trickier as the two pipelines are executed in parallel. I suspect a lot of the other code predates the use of parallel execution.