/** * Performs processing with the provided {@link IProcessingComponent}, including * {@link IProcessingComponent#beforeProcessing()} and * {@link IProcessingComponent#afterProcessing()} hooks. Please note that * outputAttributes <strong>will not</strong> be copied back to the inputAttributes. */ public static void performProcessing(IProcessingComponent processingComponent, Map<String, Object> inputAttributes, Map<String, Object> outputAttributes) { try { beforeProcessing(processingComponent, inputAttributes); processingComponent.process(); } finally { afterProcessing(processingComponent, outputAttributes); } }