code: @SuppressWarnings("unchecked")
  	public static <T> T[] flip(final T[] src, T[] dest, final int start, final int length)
  	{
  		if (dest == null || dest.length < length)
  			dest = (T[]) Array.newInstance(src.getClass().getComponentType(), length);
  
  		int srcIndex = start + length;
  		for (int i = 0; i < length; i++)
  		{
  			dest[i] = src[--srcIndex];
  		}
  
  		return dest;
  	}
docs: Reverses an array
  
  @param <T>
  @param src
  @param dest
  @param start
  @param length
  
  @return