code: public Map<ExecutorDetails, String> getNeedsSchedulingExecutorToComponents(TopologyDetails topology) {
          Collection<ExecutorDetails> allExecutors = new HashSet<>(topology.getExecutors());
  
          SchedulerAssignment assignment = this.assignments.get(topology.getId());
          if (assignment != null) {
              Collection<ExecutorDetails> assignedExecutors = assignment.getExecutors();
              allExecutors.removeAll(assignedExecutors);
          }
  
          return topology.selectExecutorToComponent(allExecutors);
      }
docs: Gets a executor -> component-id map which needs scheduling in this topology.