public static <T>T[] removeAt(T[] array,int ix){
  T[] newArray=copyFrom(array,array.length - 1);
  System.arraycopy(array,0,newArray,0,ix);
  System.arraycopy(array,ix + 1,newArray,ix,array.length - ix - 1);
  return newArray;
}

public static < T > T [ ] removeAt ( T [ ] array , int ix ) { T [ ] newArray = copyFrom ( array , array . length - 1 ) ; System . arraycopy ( array , 0 , newArray , 0 , ix ) ; System . arraycopy ( array , ix + 1 , newArray , ix , array . length - ix - 1 ) ; return newArray ; }
removes the element at index ix from array , creating a new array .
