public List<CmisObject> getSubQueryResults(String queryString1,
            String queryString2) {
        List<CmisObject> objList = new ArrayList<CmisObject>();

        // execute first query
        ItemIterable<QueryResult> results = session.query(queryString1, false);
        List<String> objIdList = new ArrayList<String>();
        for (QueryResult qResult : results) {
            String objectId = "";
            PropertyData<?> propData = qResult.getPropertyById("cmis:objectId"); // Atom
            // Pub
            // Binding
            if (propData != null) {
                objectId = (String) propData.getFirstValue();
            } else {
                objectId = qResult.getPropertyValueByQueryName("d.cmis:objectId"); // Web
                // Services
                // Binding
            }
            objIdList.add(objectId);
        }

        if (objIdList.isEmpty()) {
            return objList;
        }

        String queryString = queryString2 + " AND d.cmis:objectId IN "
                + getPredicate(objIdList);
        return getQueryResults(queryString);
    }