/** Constructs an instance. The instance must be constructed before the flowlet driver starts. */ FlowletProgramController( String programName, String flowletName, BasicFlowletContext flowletContext, FlowletRuntimeService driver, Collection<ProducerSupplier> producerSuppliers, Collection<ConsumerSupplier<?>> consumerSuppliers) { super(programName + ":" + flowletName, flowletContext.getRunId()); this.flowletContext = flowletContext; this.driver = driver; this.producerSuppliers = producerSuppliers; this.consumerSuppliers = consumerSuppliers; listenDriveState(driver); }