/*-
 *******************************************************************************
 * Copyright (c) 2011, 2014 Diamond Light Source Ltd.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Matthew Gerring - initial API and implementation and/or initial documentation
 *******************************************************************************/

package org.eclipse.dawnsci.analysis.api.processing;

public class OperationException extends RuntimeException {

	private final IOperation<?, ?> operation;

	public OperationException(IOperation<?, ?> operation) {
		super();
		this.operation = operation;
	}

	public OperationException(IOperation<?, ?> operation, Throwable cause) {
		super(cause);
		this.operation = operation;
	}

	public OperationException(IOperation<?, ?> operation, String reason) {
		super(reason);
		this.operation = operation;
	}

	public IOperation<?, ?> getOperation() {
		return operation;
	}
}

@@ -941,32 +941,372 @@
  operation;%0A%09%7D%0A%0A
+%09/**%0A%09 * Construct an OperationException with given operation, reason and cause%0A%09 * @param operation%0A%09 * @param reason message containing details of reason for exception %0A%09 * @param cause%0A%09 */%0A%09public OperationException(IOperation%3C?, ?%3E operation, String reason, Throwable cause) %7B%0A%09%09super(reason, cause);%0A%09%09this.operation = operation;%0A%09%7D%0A%0A
 %09public Operatio

Add a new constructor that can take a message and a cause (#583)