/** * Handle the upstream neighbors of the given {@code task} by expanding the {@code expandableStage}. */ private void expandDownstream(ExecutionTask task, InterimStage expandableStage) { for (Channel channel : task.getOutputChannels()) { assert channel != null : String.format("%s has null output channels.", task); if (channel.isExecutionBreaker()) { expandableStage.setOutbound(task); } for (ExecutionTask consumer : channel.getConsumers()) { final InterimStage assignedStage = this.assignedInterimStages.get(consumer); if (assignedStage == null) { this.handleTaskWithoutPlatformExecution(consumer, /*channel.isExecutionBreaker() ? null : */ expandableStage); } } } }