code: func (mtask *managedTask) handleStoppedToRunningContainerTransition(status apicontainerstatus.ContainerStatus, container *apicontainer.Container) {
  	containerKnownStatus := container.GetKnownStatus()
  	if status > containerKnownStatus {
  		// Event status is greater than container's known status.
  		// This is not a backward transition, return
  		return
  	}
  	if containerKnownStatus != apicontainerstatus.ContainerStopped {
  		// Container's known status is not STOPPED. Nothing to do here.
  		return
  	}
  	if !status.IsRunning() {
  		// Container's 'to' transition was not either of RUNNING or RESOURCES_PROVISIONED
  		// states. Nothing to do in this case as well
  		return
  	}
  	// If the container becomes running after we've stopped it (possibly
  	// because we got an error running it and it ran anyways), the first time
  	// update it to 'known running' so that it will be driven back to stopped
  	mtask.unexpectedStart.Do(func() {
  		seelog.Warnf("Managed task [%s]: stopped container [%s] came back; re-stopping it once",
  			mtask.Arn, container.Name)
  		go mtask.engine.transitionContainer(mtask.Task, container, apicontainerstatus.ContainerStopped)
  		// This will not proceed afterwards because status <= knownstatus below
  	})
  }
docs: // handleStoppedToRunningContainerTransition detects a "backwards" container
  // transition where a known-stopped container is found to be running again and
  // handles it.