guava/src/com/google/common/collect/ObjectArrays.java
public static <T> T[] newArray(T[] reference, int length) {
    return Platform.newArray(reference, length);
  }
public static <T> T[] newArray(T[] reference, int length) {
    return Platform.newArray(reference, length);
  }
public static < T > T [ ] newArray ( T [ ] reference , int length ) { return Platform . newArray ( reference , length ) ; }
Returns a new array of the given length with the same type as a reference array.

@param reference any array of the desired type
@param length the length of the new array
Returns a new array of the given length with the same type as a reference array .