Creates a new array and reallocate an array with a new size, and copies the contents of the old array to the new array.
// oldArray is the old array, to be reallocated.
// newSize is the new array size.
// return type is a new array with the same contents.
public Object resizeArray (Object oldArray, int newSize) {
int oldSize = java.lang.reflect.Array.getLength(oldArray);
Class elementType = oldArray.getClass().getComponentType();
Object newArray = java.lang.reflect.Array.newInstance(
elementType,newSize);
int preserveLength = Math.min(oldSize,newSize);
if (preserveLength > 0)
System.arraycopy (oldArray,0,newArray,0,preserveLength);
return newArray;
}