public static NV[] concat(final NV[] a,final NV[] b){
  if (a == null && b == null)   return a;
  if (a == null)   return b;
  if (b == null)   return a;
  final NV[] c=new NV[a.length + b.length];
  System.arraycopy(a,0,c,0,a.length);
  System.arraycopy(b,0,c,a.length,b.length);
  return c;
}

public static NV [ ] concat ( final NV [ ] a , final NV [ ] b ) { if ( a == null && b == null ) return a ; if ( a == null ) return b ; if ( b == null ) return a ; final NV [ ] c = new NV [ a . length + b . length ] ; System . arraycopy ( a , 0 , c , 0 , a . length ) ; System . arraycopy ( b , 0 , c , a . length , b . length ) ; return c ; }
combines the two arrays , appending the contents of the 2nd array to the contents of the first array .
