guava/src/com/google/common/collect/ObjectArrays.java
public static <T> T[] concat(T[] array, @Nullable T element) {
    T[] result = Arrays.copyOf(array, array.length + 1);
    result[array.length] = element;
    return result;
  }
public static <T> T[] concat(T[] array, @Nullable T element) {
    T[] result = Arrays.copyOf(array, array.length + 1);
    result[array.length] = element;
    return result;
  }
Returns a new array that appends {@code element} to {@code array}.

@param array the array of elements to prepend
@param element the element to append to the end
@return an array whose size is one larger than {@code array}, with the same contents as {@code
array}, plus {@code element} occupying the last position.