protected XMLGregorianCalendar parseTerminationTime(String value) {
   try {
     Duration d = datatypeFactory.newDuration(value);
     XMLGregorianCalendar c = getCurrentTime();
     c.add(d);
     return c;
   } catch (Exception e) {
     // Ignore
   }
   try {
     Duration d = datatypeFactory.newDurationDayTime(value);
     XMLGregorianCalendar c = getCurrentTime();
     c.add(d);
     return c;
   } catch (Exception e) {
     // Ignore
   }
   try {
     Duration d = datatypeFactory.newDurationYearMonth(value);
     XMLGregorianCalendar c = getCurrentTime();
     c.add(d);
     return c;
   } catch (Exception e) {
     // Ignore
   }
   try {
     return datatypeFactory.newXMLGregorianCalendar(value);
   } catch (Exception e) {
     // Ignore
   }
   return null;
 }
 protected XMLGregorianCalendar getCurrentTime() {
   return datatypeFactory.newXMLGregorianCalendar(new GregorianCalendar());
 }