public synchronized void add(long[] argIds,int argLength){
  if (length + argLength > data.length) {
    long[] oldData=data;
    data=new long[argLength + length];
    System.arraycopy(oldData,0,data,0,oldData.length);
  }
  System.arraycopy(argIds,0,data,length,argLength);
  length+=argLength;
}

public synchronized void add ( long [ ] argIds , int argLength ) { if ( length + argLength > data . length ) { long [ ] oldData = data ; data = new long [ argLength + length ] ; System . arraycopy ( oldData , 0 , data , 0 , oldData . length ) ; } System . arraycopy ( argIds , 0 , data , length , argLength ) ; length += argLength ; }
add argids [ 0 . . arglength ] , growing as required
