public static <A>A[] append(final A[] a,final A[] b){
  final int alen=a.length;
  final int blen=b.length;
  final A[] res=Arrays.copyOf(a,alen + blen);
  System.arraycopy(b,0,res,alen,blen);
  return res;
}

public static < A > A [ ] append ( final A [ ] a , final A [ ] b ) { final int alen = a . length ; final int blen = b . length ; final A [ ] res = Arrays . copyOf ( a , alen + blen ) ; System . arraycopy ( b , 0 , res , alen , blen ) ; return res ; }
append two arrays creating a new array for the result .
