code: public static List<MultipleAlignmentEnsemble> parseXMLfile(String xml)
  			throws ParserConfigurationException, SAXException, IOException {
  
  		List<MultipleAlignmentEnsemble> ensembles =
  				new ArrayList<MultipleAlignmentEnsemble>();
  
  		//Convert string to XML document
  		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  		DocumentBuilder db = factory.newDocumentBuilder();
  		InputSource inStream = new InputSource();
  		inStream.setCharacterStream(new StringReader(xml));
  		Document doc = db.parse(inStream);
  		doc.getDocumentElement().normalize();
  
  		//In case there are more than one ensemble in the document (generalize)
  		NodeList listOfEnsembles =
  				doc.getElementsByTagName("MultipleAlignmentEnsemble");
  
  		//Explore all the ensembles, if multiple ones
  		for (int e=0; e<listOfEnsembles.getLength(); e++) {
  
  			Node root = listOfEnsembles.item(e);
  			MultipleAlignmentEnsemble ensemble = parseEnsemble(root);
  			ensembles.add(ensemble);
  		}
  		return ensembles;
  	}
docs: Creates a list of MultipleAlignment ensembles from an XML file.
  This recovers only the information that was previously stored.
  If the Atoms are needed, the method getAtomArrays() will automatically
  download the structures from the stored structure identifiers.
  
  @param xml String XML file containing any number of ensembles
  @return List of ensembles in the file
  @throws ParserConfigurationException
  @throws SAXException
  @throws IOException