private void parseProperties(Document doc, CsvProperties properties) { try { ArrayList<String> els; // Get unique times List<Element> timeList = XPath.selectNodes(doc, ".//gml:timePosition"); if (!timeList.isEmpty()) { ArrayList<String> times = new ArrayList<String>(timeList.size()); for (Element e : timeList) { times.add(e.getValue()); } els = new ArrayList(new HashSet(times)); Collections.sort(els); properties.setTimesteps(els); } // Get unique variable names List<Element> varList = XPath.selectNodes(doc, ".//ioos:Quantity"); if (!varList.isEmpty()) { ArrayList<String> vars = new ArrayList<String>(varList.size()); for (Element e : varList) { vars.add(e.getAttributeValue("name")); } els = new ArrayList(new HashSet(vars)); properties.setVariableHeaders(els); } } catch (JDOMException e1) { e1.printStackTrace(); } }