// Create the BindingElement<->InterfaceElement->InterfaceOperationElement->InterfaceFaultReferenceElement hierarchy
BindingElement bindingElement = descriptionElement.addBindingElement();
bindingElement.setInterfaceName(new QName("interface1"));
InterfaceElement interfaceElement = descriptionElement.addInterfaceElement();
interfaceElement.setName(new NCName("interface1"));
InterfaceFaultElement ife = interfaceElement.addInterfaceFaultElement();
ife.setName(new NCName("Fault1Ref"));
InterfaceOperationElement ifopElement = interfaceElement.addInterfaceOperationElement();
ifopElement.setName(new NCName("operation1"));
InterfaceFaultReferenceElement iffrElement = ifopElement.addInterfaceFaultReferenceElement();
iffrElement.setMessageLabel(new NCName("Fault1MessageLabel"));
iffrElement.setRef(new QName("Fault1Ref"));
// Create the BindingOperationElement->BindingFaultReferenceElement hierarchy
BindingOperationElement bopElement = bindingElement.addBindingOperationElement();
bopElement.setRef(new QName("operation1"));
fFaultRefElement = bopElement.addBindingFaultReferenceElement();
fFaultRefElement.setMessageLabel(new NCName("Fault1MessageLabel"));
fFaultRefElement.setRef(new QName("Fault1Ref"));
Description descComp = descriptionElement.toComponent();
descComp.getBindings(); // this triggers setting the link to description in the binding