public static Object[] merge(Object[] ary1, Object[] ary2)
    {
        LinkedHashSet set = new LinkedHashSet();
        for (int i = 0; i < ary1.length; i++)
           set.add(ary1[i]);
        for (int i = 0; i < ary2.length; i++)
           set.add(ary2[i]);
        return
           ary1.getClass().getComponentType() ==
           ary2.getClass().getComponentType()
           ?
              set.toArray(ary1) :
              set.toArray();
    }