public static ModuleSystemCollection parse(InputStream inputStream) throws SAXException, IOException, ParserConfigurationException{
		Document doc = XmlUtil.loadDocument(inputStream);
		if(doc != null){
			Element root = doc.getDocumentElement();
			if(root != null && root.getNodeName().equalsIgnoreCase("ipower") && root.hasChildNodes()){
				ModuleSystemCollection systems = new ModuleSystemCollection();
				NodeList nodes = root.getChildNodes();
				for(int i = 0; i < nodes.getLength();i++){
					Node n = nodes.item(i);
					if(n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("system")){
						ModuleSystem ms = parseToModuleSystem((Element)n);
						if(ms != null){
							systems.add(ms);
						}
					}
				}
				return (systems.size() > 0 ? systems : null);
			}
		}
		return null;
	}