/** * Creates an exception given an error message and the cause exception. * * @param errorMessage an error message * @param cause the real cause of the error */ public SVNException(SVNErrorMessage errorMessage, Throwable cause) { super(cause); if (cause instanceof SVNException) { SVNErrorMessage childMessages = ((SVNException) cause).getErrorMessage(); SVNErrorMessage parent = errorMessage; while (parent.hasChildErrorMessage()) { parent = parent.getChildErrorMessage(); } if (parent != childMessages) { parent.setChildErrorMessage(childMessages); } } myErrorMessage = errorMessage; }