// Create the BindingElement->InterfaceElement->InterfaceOperationElement->InterfaceMessageReferenceElement
BindingElement bindingElement = descriptionElement.addBindingElement();
bindingElement.setInterfaceName(new QName("interface1"));
InterfaceElement interfaceElement = descriptionElement.addInterfaceElement();
interfaceElement.setName(new NCName("interface1"));
InterfaceOperationElement ifopElement = interfaceElement.addInterfaceOperationElement();
ifopElement.setName(new NCName("operation1"));
InterfaceMessageReferenceElement ifmrElement = ifopElement.addInterfaceMessageReferenceElement();
ifmrElement.setMessageLabel(new NCName("input1MessageLabel"));
// Create the BindingOperationElement->BindingMessageReferenceElement
BindingOperationElement bopElement = bindingElement.addBindingOperationElement();
bopElement.setRef(new QName("operation1"));
fMessageReference = bopElement.addBindingMessageReferenceElement();
fMessageReference.setMessageLabel(new NCName("input1MessageLabel"));
InterfaceMessageReferenceElement retrievedMsgRef = fMessageReference.getInterfaceMessageReferenceElement();
assertEquals("The InterfaceMessageReferenceElement is not the expected one.",
ifmrElement, retrievedMsgRef);
}