code: func NewFileState(filePath string, policyName string) State {
  	stateFile := &stateFile{
  		stateFilePath: filePath,
  		cache:         NewMemoryState(),
  		policyName:    policyName,
  	}
  
  	if err := stateFile.tryRestoreState(); err != nil {
  		// could not restore state, init new state file
  		msg := fmt.Sprintf("[cpumanager] state file: unable to restore state from disk (%s)\n", err.Error()) +
  			"Panicking because we cannot guarantee sane CPU affinity for existing containers.\n" +
  			fmt.Sprintf("Please drain this node and delete the CPU manager state file \"%s\" before restarting Kubelet.", stateFile.stateFilePath)
  		panic(msg)
  	}
  
  	return stateFile
  }
docs: // NewFileState creates new State for keeping track of cpu/pod assignment with file backend