if (DEBUG) { st.printHierarchy(); }
    public SIRStream toplevel() {	// lift before and after	Lifter.lift(str);	// debug setup	long start = System.currentTimeMillis();	// calculate partitions	StreamTransform st = calcPartitions();	//st.printHierarchy();	// debug output	System.out.println("Linear partitioner took " + 			   (System.currentTimeMillis()-start)/1000 + " secs to calculate partitions.");	// perform partitioning transformations	SIRStream result = st.doTransform(str);	// lift before and after	Lifter.lift(result);	return result;    }