code: func (task *Task) shouldOverrideNetworkMode(container *apicontainer.Container, dockerContainerMap map[string]*apicontainer.DockerContainer) (bool, string) {
  	// TODO. We can do an early return here by determining which kind of task it is
  	// Example: Does this task have ENIs in its payload, what is its networking mode etc
  	if container.IsInternal() {
  		// If it's an internal container, set the network mode to none.
  		// Currently, internal containers are either for creating empty host
  		// volumes or for creating the 'pause' container. Both of these
  		// only need the network mode to be set to "none"
  		return true, networkModeNone
  	}
  
  	// For other types of containers, determine if the container map contains
  	// a pause container. Since a pause container is only added to the task
  	// when using non docker daemon supported network modes, its existence
  	// indicates the need to configure the network mode outside of supported
  	// network drivers
  	if task.GetTaskENI() == nil {
  		return false, ""
  	}
  
  	pauseContName := ""
  	for _, cont := range task.Containers {
  		if cont.Type == apicontainer.ContainerCNIPause {
  			pauseContName = cont.Name
  			break
  		}
  	}
  	if pauseContName == "" {
  		seelog.Critical("Pause container required, but not found in the task: %s", task.String())
  		return false, ""
  	}
  	pauseContainer, ok := dockerContainerMap[pauseContName]
  	if !ok || pauseContainer == nil {
  		// This should never be the case and implies a code-bug.
  		seelog.Criticalf("Pause container required, but not found in container map for container: [%s] in task: %s",
  			container.String(), task.String())
  		return false, ""
  	}
  	return true, dockerMappingContainerPrefix + pauseContainer.DockerID
  }
docs: // shouldOverrideNetworkMode returns true if the network mode of the container needs
  // to be overridden. It also returns the override string in this case. It returns
  // false otherwise