code: public static <T> T[] concat(T first, T[] others) {
  		@SuppressWarnings("unchecked")
  		T[] arr = (T[]) Array.newInstance(first.getClass(), 1);
  		arr[0] = first;
  		return concat(arr, others);
  	}
docs: Create an array starting with first element and followed by others.
  <p>
  This can be useful when handling vararg parameters and when you want to
  force to have at least one value.
  <p>
  
  @param first
  the first element
  @param others
  the other elements
  @param <T>
  the type of each element in the array
  @return the combined array