code: private void initApplication() throws JAXBException {
  		jaxbContext = JAXBContext.newInstance(
  				com.tibco.xmlns.applicationmanagement.ObjectFactory.class,
  				com.tibco.xmlns.applicationmanagement.bw.ObjectFactory.class,
  				com.tibco.xmlns.dd.ObjectFactory.class);
  
  		Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
  		Object o =  jaxbUnmarshaller.unmarshal(xmlFile);
  		try {
  			this.application = (ApplicationType) o;
  		} catch (ClassCastException e) {
  			// strange workaround: sometimes we get an ApplicationType object,
  			// sometimes a JAXBElement<ApplicationType> object
  			
  			@SuppressWarnings("unchecked")
  			JAXBElement<ApplicationType> j = (JAXBElement<ApplicationType>) o;
  			this.application = j.getValue();
  		}
  	}
docs: <p>
  This will initialize the {@link ApplicationType} object which is a JAXB
  representation of the "application" root-element of TIBCO XML Deployment
  Descriptor files using the schema with
  "http://www.tibco.com/xmlns/ApplicationManagement" namespace.
  </p>
  
  @throws JAXBException