private void checkOMSourcedElement(OMSourcedElement element) throws AxisFault {
// We use a clone in order to leave the original state of the OMSourcedElements untouched.
// This is possible because JiBXDataSource is non destructive and implements the copy()
// method.
OMCloneOptions options = new OMCloneOptions();
options.setCopyOMDataSources(true);
boolean oldExpanded = element.isExpanded();
OMSourcedElement clone = (OMSourcedElement)element.clone(options);
if (element.isExpanded() != oldExpanded) {
throw new AxisFault("Ooops! Accidentally expanded the original OMSourcedElement; this is unexpected...");
}