         }
     }
     
+    // Returns a new list of tasks, in which all of
+    // the tasks in the given list are in the order
+    // they should be scheduled in
     private func sortTasksListForScheduling(tasksToSchedule: [Task]) -> [Task] {
         var sortedTasks = tasksToSchedule.filter({ !$0.isDropped })
         

        }
    }
    
    private func scheduleRemainingTasksInList(tasksToSchedule: [Task]) throws {
        let sortedTasks = self.sortTasksListForScheduling(tasksToSchedule)


        }
    }
    
    // Drops tasks from the given lists of tasks
    // until the given number of hours of work has
    // has been freed up
    private func dropTasksFromList(var tasksToDropFrom: [Task], forHoursOfWork hoursToDrop: Float) {
        tasksToDropFrom.sortInPlace({ $0.workEstimate > $1.workEstimate })
        tasksToDropFrom.sortInPlace({ $0.priority < $1.priority })
