public static void resumeSchedule(){
	// Set the playPause flag to true
	playPause = true;

	// Used for loops
	int i;

	// Timer started again.
	slideTimer = new Timer();

	// Set the last entities to be display or undisplayed
	long delay = lastestTime.getTimeStopped();

	// Check to see if the slide has got content.
		if (null  != entityPlayers)
	{
		for(i=0;i < entityPlayers.size();i++)
			{
				// Needs to be final for the schedule to work
				final Entity tempEntity = entityPlayers.get(i);

				// This adds the display tasks to the schedule
				if ((entityPlayers.get(i).getStartTime()- delay > 0))
				{
					slideTimer.schedule(new TimerTask(){
					      public void run(){
						      tempEntity.setIsActive(true);
						      tempEntity.display();
						   	  lastestTime.setTimeStopped(tempEntity.getStartTime());
						    }
					     },(long)(entityPlayers.get(i).getStartTime() - delay));
				}

				// Test if it is static
				if (0 == tempEntity.getEndTime() )
				{
					isStatic = true;
				}

				// If the entity isn't fina,l it adds the hide tasks to the schedule
				else if (0<(entityPlayers.get(i).getEndTime()- delay))
				{
					slideTimer.schedule(new TimerTask(){
					      public void run(){
					      tempEntity.setIsActive(false);
					      tempEntity.unDisplay();
					   	  lastestTime.setTimeStopped(tempEntity.getEndTime());
					      }
					     },(long) (entityPlayers.get(i).getEndTime()- delay));
				}
			}

		// When there are no more entities to be displayed schedule the goto
		// next slide
			if( false == isStatic)
			{
			slideTimer.schedule(new TimerTask(){
			   public void run(){

				   // cancels the timer
				   slideTimer.cancel();

				   // clears slide
				   hideAll();
				   clearEntities();

				   // goto to the next slide
				   Engine.nextSlide();
			       }
		     },maxEndTime+500);
			}

			else if(true == isStatic)
			{

			slideTimer.schedule(new TimerTask(){
			   public void run(){
				     slideTimer.cancel();
			       }
		     },maxEndTime+500);
			}
	}
}