Collections Data Structure Java

import java.lang.reflect.Array;
     /*********************************************************************
     * Array manipulation for Java 1.1+.
     *
     * 


     * Java 1.1 compatible.
     * 


     *
     * @see
     *   ArrayLib2
     *
     * @version
     *   2003-04-07
     * @since
     *   2001-04-06
     * @author
     *   David Wallace Croft*/
public class Util{
    /*********************************************************************
    * Removes an Object from an Object array.
    *
    * 


    * Example:
    * 
    * 


    * String [ ]  stringArray
    *   = ( String [ ] ) remove ( new String [ ] { "" }, 0 );
    * 

    * 

    * 


    *
    * @throws NullArgumentException
    *
    *   If oldArray is null.
    *
    * @throws ArrayIndexOutOfBoundsException
    *
    *   If index < 0 or index >= oldArray.length.
    *
    * @return
    *
    *   Returns a new array with the same component type as the old array.
    *********************************************************************/
    public static Object [ ]  remove ( Object [ ]  oldArray, int  index )
    //////////////////////////////////////////////////////////////////////
    {
      if ( ( index < 0 )
        || ( index >= oldArray.length ) )
      {
        throw new ArrayIndexOutOfBoundsException ( index );
      }
      Object [ ]  newArray = ( Object [ ] ) Array.newInstance (
        oldArray.getClass ( ).getComponentType ( ), oldArray.length - 1 );
      System.arraycopy ( oldArray, 0, newArray, 0, index );
      System.arraycopy (
        oldArray, index + 1, newArray, index, newArray.length - index );
      return newArray;
    }
}