private void buildTree(JsonNode root, JsonNode parent){
		if(root.isArray()){
			for(JsonNode n : root){
				buildTree(n, parent);
			}
			return;
		}
		
		if(root.isContainerNode()){
			String name = getNodeName(root);
			String parentName = getNodeName(parent);
			JsonNode value = root.findValue(name);
			
			treeInsert(parentName,name);
			//System.out.println("Container: " + name + " begin");
			buildTree(value, root);
			//System.out.println("Container: " + name + " end");
			return;
		}
		
		if(root.isValueNode()){
			String parentName = getNodeName(parent);
			String value = root.asText();
			//System.out.println("Value: " + value + " (parent " + parentName + ")");
			treeInsert(parentName, value);
			return;
		}
	}