while (sorted.getWork(pos)==work && pos>=0) {
while (pos>=0 && sorted.getWork(pos)==work) {
    private void fissAll() {	// get work sorted by work	WorkList sorted = WorkEstimate.getWorkEstimate(str).getSortedFilterWork();	// keep track of the position of who we've tried to split	int pos = sorted.size()-1;	while (pos>=0) {	    // make raw flattener for latest version of stream graph	    RawFlattener flattener = new RawFlattener(str);	    // get work at <pos>	    int work = sorted.getWork(pos);	    // make a list of candidates that have the same amount of work	    LinkedList candidates = new LinkedList();	    while (sorted.getWork(pos)==work && pos>=0) {		candidates.add(sorted.getFilter(pos));		pos--;	    }	    // try fissing the candidates	    if (canFiss(candidates, flattener)) {		doFission(candidates);	    } else {		// if illegal, quit		break;	    }	}    }