static int innerNewVecInsertPos(int oldPos,int idx,Vector<Insertion> vec){
  if (vec.size() <= idx) {
    return oldPos;
  }
 else {
    return innerNewVecInsertPos(newInsertPos(oldPos,vec.elementAt(idx)),idx + 1,vec);
  }
}

static int innerNewVecInsertPos ( int oldPos , int idx , Vector < Insertion > vec ) { if ( vec . size ( ) <= idx ) { return oldPos ; } else { return innerNewVecInsertPos ( newInsertPos ( oldPos , vec . elementAt ( idx ) ) , idx + 1 , vec ) ; } }
the recursive procedure that evaluates newvecinsertpos ( oldpos , v ) where v is the vector of elements vec [ idx ] , vec [ idx + 1 ] , . . .
