private Element getExtensionDataElement() throws UpgradeException {
   MessageElement[] anys = getExtensionType().getExtensionData().get_any();
   MessageElement rawDataElement = null;
   for (int i = 0; (anys != null) && (i < anys.length); i++) {
     if (anys[i].getQName().equals(Data.getTypeDesc().getXmlType())) {
       rawDataElement = anys[i];
       break;
     }
   }
   if (rawDataElement == null) {
     throw new UpgradeException("No extension data was found for the data service extension");
   }
   Element extensionDataElement = AxisJdomUtils.fromMessageElement(rawDataElement);
   return extensionDataElement;
 }
 private void storeExtensionDataElement(Element elem) throws UpgradeException {
   MessageElement[] anys = getExtensionType().getExtensionData().get_any();
   for (int i = 0; (anys != null) && (i < anys.length); i++) {
     if (anys[i].getQName().equals(Data.getTypeDesc().getXmlType())) {
       // remove the old extension data
       anys = (MessageElement[]) Utils.removeFromArray(anys, anys[i]);
       break;
     }
   }
   // create a message element from the JDom element
   MessageElement data = null;
   try {
     data = AxisJdomUtils.fromElement(elem);
   } catch (JDOMException ex) {
     throw new UpgradeException(
         "Error converting extension data to Axis message element: " + ex.getMessage(), ex);
   }
   anys = (MessageElement[]) Utils.appendToArray(anys, data);
   getExtensionType().getExtensionData().set_any(anys);
 }