public void sendSoapFault(final W3CEndpointReference endpoint, final AddressingProperties addressingProperties, final SoapFault soapFault, final InstanceIdentifier identifier)
throws SoapFault, IOException
{
//AddressingHelper.installFrom(addressingProperties, terminationCoordinator, identifier);
AddressingHelper.installNoneReplyTo(addressingProperties);
final TerminationParticipantPortType port = getPort(endpoint, addressingProperties, identifier, soapFaultAction);
final ExceptionType fault = new ExceptionType();
// we pass the fault type, reason and subcode. we cannot pass the detail and header elements as they are
// built from Kev's element types rather than dom element types. this is all we need anyway since we only
// see faults containing those values
fault.setSoapFaultType(soapFault.getSoapFaultType().getValue());
fault.setReason(soapFault.getReason());
fault.setSubCode(soapFault.getSubcode());
port.faultOperation(fault);
}