private static Object parse(InputStream in, AwsConfig awsConfig) { final DocumentBuilder builder; try { builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document doc = builder.parse(in); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); Util.streamXML(doc, baos); final byte[] bytes = baos.toByteArray(); // final ByteArrayInputStream bais = new ByteArrayInputStream(bytes); // Reader reader = new BufferedReader(new InputStreamReader(bais)); // int n; // char[] buffer = new char[1024]; // Writer writer = new StringWriter(); // while ((n = reader.read(buffer)) != -1) { // writer.write(buffer, 0, n); // } // System.out.println(writer.toString()); Element element = doc.getDocumentElement(); NodeHolder elementNodeHolder = new NodeHolder(element); List<String> names = new ArrayList<String>(); List<NodeHolder> reservationset = elementNodeHolder.getSubNodes("reservationset"); for (NodeHolder reservation : reservationset) { List<NodeHolder> items = reservation.getSubNodes("item"); for (NodeHolder item : items) { NodeHolder instancesset = item.getSub("instancesset"); names.addAll(instancesset.getList("privateipaddress", awsConfig)); } } return names; } catch (Exception e) { logger.log(Level.WARNING, e.getMessage(), e); } return new ArrayList<String>(); }