code: func New(defaultRuntime string,
  	runtimes map[string]RuntimeHandler,
  	conmonPath string,
  	conmonEnv []string,
  	cgroupManager string,
  	containerExitsDir string,
  	containerAttachSocketDir string,
  	logSizeMax int64,
  	logToJournald bool,
  	noPivot bool,
  	ctrStopTimeout int64) (*Runtime, error) {
  
  	defRuntime, ok := runtimes[defaultRuntime]
  	if !ok {
  		return nil, fmt.Errorf("no runtime configured for default_runtime=%q", defaultRuntime)
  	}
  	if defRuntime.RuntimePath == "" {
  		return nil, fmt.Errorf("empty runtime path for default_runtime=%q", defaultRuntime)
  	}
  
  	return &Runtime{
  		defaultRuntime:           defRuntime,
  		runtimes:                 runtimes,
  		conmonPath:               conmonPath,
  		conmonEnv:                conmonEnv,
  		cgroupManager:            cgroupManager,
  		containerExitsDir:        containerExitsDir,
  		containerAttachSocketDir: containerAttachSocketDir,
  		logSizeMax:               logSizeMax,
  		logToJournald:            logToJournald,
  		noPivot:                  noPivot,
  		ctrStopTimeout:           ctrStopTimeout,
  		runtimeImplList:          make(map[string]RuntimeImpl),
  	}, nil
  }
docs: // New creates a new Runtime with options provided