def parents_ready_time(parents_list, sched_list):
    """
    Given a list of Tasks and a list of schedule mappings,
    finds the earliest start time for a new task preceded by
    task contained in parents_list
    :param parents_list:
    :param sched_list:
    :return:
    """
    max_time = 0

    for sch in sched_list:
        if sch.task in parents_list:
            max_time = max(max_time, sch.start_time + sch.duration)

    return max_time