private void mergeSize(String[] first, String[] second)
    {  
        int iFirst = 0; // Next element to consider in the first array
        int iSecond = 0; // Next element to consider in the second array
        int j = 0; // Next open position in a

        // As long as neither iFirst nor iSecond is past the end, move
        // the smaller element into a
        while (iFirst < first.length && iSecond < second.length)
        {  
            if (first[iFirst].length()<second[iSecond].length())
            {  
                a[j] = first[iFirst];
                iFirst++;
            }
            else
            {  
                a[j] = second[iSecond];
                iSecond++;
            }
            j++;
        }

        while (iFirst < first.length) 
        { 
            a[j] = first[iFirst];
            iFirst++; j++;
        }

        while(iSecond < second.length)
        {
            a[j] = second[iSecond];
            iSecond++; j++;
        }
    }