while (str.getParent()!=null) {
while (toplevel.getParent()!=null) {
    public static void assignNames(SIROperator str) {	// re-initialize mapping from streams to names	names = new HashMap();	// find toplevel stream	SIROperator toplevel = str;	while (str.getParent()!=null) {	    toplevel = toplevel.getParent();	}	// name the stream structure	toplevel.accept(new Namer());    }