if (sRef == null)
{
return false;
}
final CompositeMessagePartRef partRef = new CompositeMessagePartRef(sName);
if (composite == null)
{
message.setRoot(partRef);
}
else
{
composite.addPart(partRef);
}
assert (composite == null) || (composite.getRoot() == message.getRoot());
initCompositeMessagePart(msgElement, partRef, message);
int nCookie = m_helper.pushMarker("fullName", partRef.getFullPath());
try
{
addPreInheritanceMessageFixup(new ContextFixup(m_helper)
{
public void fixup()
{
CompositeMessagePart root = m_metadata.getMessage(sRef).getRoot();
partRef.setRefPart(root);
MessagePartMapping rootMapping = root.getMapping();
if (rootMapping != null)
{
if (partRef.getMapping() == null)
{
partRef.setMapping(rootMapping);
}
message.addRef(partRef);
}
}