public ChunkingOptionUi(ChunkingOption option, OperationPipeline pipeline) {
activator = createActivator(option);
valueField = createValueField(option);
maxThreadsField = createMaxThreadsField(option);
Transformation firstTf = getFirstTransformation(pipeline);
sourceNodeField = createChunkNodeField(option.getSourceChunkNode(),
(firstTf != null ? firstTf.getInputStructure() : null), "Source chunk node:");
selectSourceNodeAction = new SelectChunkNodeAction(firstTf, sourceNodeField, SourceTarget.Source);
Transformation lastTf = getLastTransformation(pipeline);
targetNodeField = createChunkNodeField(option.getTargetChunkNode(),
(lastTf != null ? lastTf.getOutputStructure() : null), "Target chunk node:");
selectTargetNodeAction = new SelectChunkNodeAction(lastTf, targetNodeField, SourceTarget.Target);
bindEnabling();
setEnabled(option.isApplicableFor(pipeline));
}