public static float[] insert(float[] field,int index,int size,float... values){
  if (index < size) {
    field=rshift(field,index,(size - index),values.length,true);
  }
 else {
    field=expand(field,(size + values.length),true);
    index=size;
  }
  System.arraycopy(values,0,field,index,values.length);
  return field;
}

public static float [ ] insert ( float [ ] field , int index , int size , float ... values ) { if ( index < size ) { field = rshift ( field , index , ( size - index ) , values . length , true ) ; } else { field = expand ( field , ( size + values . length ) , true ) ; index = size ; } System . arraycopy ( values , 0 , field , index , values . length ) ; return field ; }
inserts entries into an array at a specific position . the array will be expanded if needed
