code: public static <T> T[] append(Class<T> type, T lhs, T... rhs) {
  		T[] rs = (T[]) Array.newInstance(type, rhs.length+1);
  		System.arraycopy(rhs, 0, rs, 1, rhs.length);
  		rs[0] = lhs;
  		return rs;
  	}
docs: Append an element onto an array of unknown type together, producing a
  fresh array whose length equals that of the second plus one.
  
  @param lhs
  The left-hand side. This element will be copied
  first into the resulting array.
  @param rhs
  The right-hand side. Elements of this array will be copied
  last into the resulting array.
  @return