calculateRemaining();
    private FilterInfo(FilterTraceNode traceNode)    {	filter = traceNode.getFilter();	this.traceNode = traceNode;	this.steadyMult = filter.getSteadyMult();	this.initMult = filter.getInitMult();	//multiply the primepump number by the	//steady state multiplicity to get the true 	//primepump multiplicity	this.primePumpTrue = traceNode.getParent().getPrimePump();	this.primePump = primePumpTrue * this.steadyMult;	prePeek = 0;	prePush = 0;	prePop = 0;	linear=filter.isLinear();	if(linear) {	    peek=filter.getArray().length;	    push=1;	    pop=filter.getPopCount();	}	else if (traceNode.isFileInput()) {	    push = 1;	    pop = 0;	    peek = 0;	}	else if (traceNode.isFileOutput()) {	    push = 0;	    pop = 1;	    peek = 0;	}	else {	    direct = DirectCommunication.testDC(this);	    push = filter.getPushInt();	    pop = filter.getPopInt();	    peek = filter.getPeekInt();	    if (isTwoStage()) {		prePeek = filter.getInitPeek();		prePush = filter.getInitPush();		prePop = filter.getInitPop();	    } 	}	calculateRemaining();    }