public void partialTreeAlignment(PriorityQueue<Tree<String>> sQ) {
        Tree<String> ts = sQ.poll();
        boolean flag = false;
        PriorityQueue<Tree<String>> rQ = new PriorityQueue<Tree<String>>();
        boolean i = false;// all unaligned items inserted
        while (!sQ.isEmpty()) {
            Tree<String> ti = sQ.poll();
            int matcheCount = ts.simpleTreeMatching(ti);// matches and aligns
            if (matcheCount < ti.size()) {/* if not node aligned */
                i = insertIntoSeed(ts, ti);
                if (!i) {/* if still not all aligned */
                    rQ.add(ti);
                }
            }
            if (matcheCount > 0 || i) {
                flag = true;
            }
            if (sQ.isEmpty() && flag) {
                sQ = rQ;
                rQ = new PriorityQueue<Tree<String>>();
                flag = false;
                i = false;
            }
        }
        // TODO: output data item from each ti to the data table
        //logger.info(arg0)
    }