if (faultTo != null && !doNotSendFaultUsingFaultTo) {
faultContext.setTo(processingContext.getFaultTo());
} else if (!doNotSendFaultUsingFaultTo && processingContext.getEnvelope().getHeader() != null && processingContext.getEnvelope().getHeader().getFirstChildWithName(new QName("FaultTo")) != null) {
OMElement faultToElement = processingContext.getEnvelope().getHeader().getFirstChildWithName(new QName("FaultTo"));
faultTo = new EndpointReference("");
faultTo.fromOM(faultToElement);
faultContext.setTo(faultTo);
} else if (processingContext.getReplyTo() != null) {
faultContext.setTo(processingContext.getReplyTo());
}