code: public List<WorkerSlot> getAvailableSlots() {
          List<WorkerSlot> slots = new ArrayList<>();
          for (SupervisorDetails supervisor : this.supervisors.values()) {
              slots.addAll(this.getAvailableSlots(supervisor));
          }
  
          return slots;
      }
docs: Gets all the available slots in the cluster.