private static InvocationConstraint[] concat(InvocationConstraint[] arr1,InvocationConstraint[] arr2){
  InvocationConstraint[] res=new InvocationConstraint[arr1.length + arr2.length];
  System.arraycopy(arr1,0,res,0,arr1.length);
  System.arraycopy(arr2,0,res,arr1.length,arr2.length);
  return res;
}

private static InvocationConstraint [ ] concat ( InvocationConstraint [ ] arr1 , InvocationConstraint [ ] arr2 ) { InvocationConstraint [ ] res = new InvocationConstraint [ arr1 . length + arr2 . length ] ; System . arraycopy ( arr1 , 0 , res , 0 , arr1 . length ) ; System . arraycopy ( arr2 , 0 , res , arr1 . length , arr2 . length ) ; return res ; }
returns a new array containing the elements of both arguments .
