System.out.println("Comparing " + s1 + " and " + s2);
    public static Vector mergeVectors(Vector v1, Vector v2) {        System.out.println("Merging:\n\t " + v1.toString() + "\n\t" + v2.toString());        Vector toReturn = new Vector();        Iterator i1 = v1.iterator();        Iterator i2 = v2.iterator();        String s1 = i1.hasNext() ? (String)i1.next() : null;        String s2 = i2.hasNext() ? (String)i2.next() : null;                while(s1 != null && s2 != null) {            System.out.println("Comparing " + s1 + " and " + s2);            int comp = s1.compareToIgnoreCase(s2);            if(comp < 0) {                toReturn.add(s1);                System.out.println("Added " + s1);                s1 = i1.hasNext() ? (String)i1.next() : null;            }            else if(comp > 0) {                toReturn.add(s2);                System.out.println("Added " + s2);                s2 = i2.hasNext() ? (String)i2.next() : null;            }            else {                toReturn.add(s1);                System.out.println("Added " + s1);                s1 = i1.hasNext() ? (String)i1.next() : null;                s2 = i2.hasNext() ? (String)i2.next() : null;            }        }        // add remaining        if(s1 != null) {            toReturn.add(s1);            System.out.println("Added " + s1);        }        if(s2 != null) {            toReturn.add(s2);            System.out.println("Added " + s2);        }        while(i1.hasNext()) toReturn.add(i1.next());        while(i2.hasNext()) toReturn.add(i2.next());                        return toReturn;    }