@Override
    public void run()
    {
        try {
			gate.await();
		} catch (InterruptedException | BrokenBarrierException e) {
			e.printStackTrace();
		}


        while(theBusiness.timer.getTimeOfDay() < arrivalTime)
        {
            this.yield();
        }
        isAtWork = true;
        System.out.println(theBusiness.timer.getCurrentTime() + " " + getIdentity(name) + " " + "has arrived at work at " + theBusiness.timer.getThisCurrentTime(arrivalTime) + ".");
        myManager.addLead(this);

        theBusiness.holdTeamMeeting(this);

        while(theBusiness.timer.getTimeOfDay() < startLunchTime)
        {
          this.yield();
        }
        takeLunch((int)lunchTime);

        while(theBusiness.timer.getTimeOfDay() < departTime)
        {
            this.yield();
        }
        isAtWork = false;
        System.out.println(theBusiness.timer.getCurrentTime() + " " + getIdentity(name) + " " + "has left work for the day" + ".");
        while(theBusiness.timer.getTimeOfDay() >= departTime){
        	return;
        }



    }