public synchronized void holdTeamLeadManagerMeeting(Manager mgr){
        mgr.inMeeting = true;
        for(int ls = 0; ls < mgr.teamLeads.size(); ls++)
        {
            mgr.teamLeads.get(ls).inMeeting = true;
        }
        while(!mgr.areLeadsAllHere())
        {
            try{
                mgr.sleep(5);
            }
            catch(InterruptedException e)
            {
                e.printStackTrace();
            }
        }
		String meetingTime = timer.getCurrentTime();
		System.out.println(meetingTime + " Manager and Team Leads hold their meeting.");
		managerOffice = false;
		double startTime = timer.getTimeOfDay();
		double endTime = startTime + 150;
		double curTime = startTime;
		while(curTime < endTime){
			try {
				mgr.sleep(10);
				for(int ls = 0; ls<mgr.teamLeads.size(); ls++) {
					mgr.teamLeads.get(ls).sleep(10);
				}
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			curTime = timer.getTimeOfDay();
		}
		meetingTime = timer.getCurrentTime();
		System.out.println(meetingTime + " Manager and Team Leads finished their meeting.");
		managerOffice = true;
        mgr.inMeeting = false;
        for(int ls = 0; ls < mgr.teamLeads.size(); ls++)
        {
            mgr.teamLeads.get(ls).inMeeting = false;
        }
	}