super.removeRow(index,true);// keep order of collection!
intfindagainindex=0;
assert(findagainindex=find(a,start,length))<0:"remove: chunk found again at index position (after remove) "+findagainindex+", index(before) = "+index+", inset="+NaturalOrder.arrayList(super.chunkcache,super.rowdef.objectsize*findagainindex,length)+", searchkey="+NaturalOrder.arrayList(a,start,length);// check if the remove worked
intindex;
Row.Entryentry=null;
ints=this.size();
while((index=find(a,start,length))>=0){
entry=super.get(index,true);
super.removeRow(index,true);// keep order of collection!
// in case that the RowSet is not uniq, we must search again to delete all entries
// the following check will ensure that the process terminates
assert(this.size()<s);
if(this.size()>=s)returnentry;
//assert (findagainindex = find(a, start, length)) < 0 : "remove: chunk found again at index position (after remove) " + findagainindex + ", index(before) = " + index + ", inset=" + NaturalOrder.arrayList(super.chunkcache, super.rowdef.objectsize * findagainindex, length) + ", searchkey=" + NaturalOrder.arrayList(a, start, length); // check if the remove worked