QueryInfo rootQuery = new QueryInfo(new ClusterResourceDefinition(), new HashSet<String>());
TreeNode<QueryInfo> queryTree = new TreeNodeImpl<QueryInfo>(null, rootQuery, "Cluster");
rootQuery.getProperties().add("foo/bar");
rootQuery.getProperties().add("prop1");
QueryInfo hostInfo = new QueryInfo(new HostResourceDefinition(), new HashSet<String>());
queryTree.addChild(hostInfo, "Host");
QueryInfo hostComponentInfo = new QueryInfo(new HostComponentResourceDefinition(), new HashSet<String>());
queryTree.getChild("Host").addChild(hostComponentInfo, "HostComponent");