public WrapperCSV(List<Map<String, Object>> rowsByString) {
		Set<String> cols = new LinkedHashSet<String>();
		for (Map<String, ? extends Object> row : rowsByString) {
			cols.addAll(row.keySet());
		}

		Map<String, Integer> indicies = new HashMap<String, Integer>();
		for (String s : cols) {
			int n = header.size();
			header.put(n, s);
			indicies.put(s, n);
		}
		for (Map<String, ? extends Object> row : rowsByString) {
			SortedMap<Integer, Object> out = new TreeMap<Integer, Object>();
			for (String s : row.keySet()) {
				out.put(indicies.get(s), row.get(s));
			}
			rowsByInteger.add(Collections.unmodifiableSortedMap(out));
		}

	}