makeDuplicateWork(result);
    private SIRFilter makeDuplicate(int i) {	// start by cloning the original filter, and copying the state	// into a new two-stage filter.	SIRFilter cloned = (SIRFilter)ObjectDeepCloner.deepCopy(origFilter);	// if there is no peeking, then we can returned <cloned>.	// Otherwise, we need a two-stage filter.	/*	if (origFilter.getPeekInt()==origFilter.getPopInt()) {	    return cloned;	} else {	*/	    SIRTwoStageFilter result = new SIRTwoStageFilter();	    result.copyState(cloned);	    // make the initial work function for the two-staged filter	    makeDuplicateInitWork(result, i);	    // make the work function	    makeDuplicateWork(result);	    // return result	    return result;	    //	}    }