code: func (c *Config) parsePersistentNodes(w *bool, path string) []*enode.Node {
  	// Short circuit if no node config is present
  	if c.DataDir == "" {
  		return nil
  	}
  	if _, err := os.Stat(path); err != nil {
  		return nil
  	}
  	c.warnOnce(w, "Found deprecated node list file %s, please use the TOML config file instead.", path)
  
  	// Load the nodes from the config file.
  	var nodelist []string
  	if err := common.LoadJSON(path, &nodelist); err != nil {
  		log.Error(fmt.Sprintf("Can't load node list file: %v", err))
  		return nil
  	}
  	// Interpret the list as a discovery node array
  	var nodes []*enode.Node
  	for _, url := range nodelist {
  		if url == "" {
  			continue
  		}
  		node, err := enode.ParseV4(url)
  		if err != nil {
  			log.Error(fmt.Sprintf("Node URL %s: %v\n", url, err))
  			continue
  		}
  		nodes = append(nodes, node)
  	}
  	return nodes
  }
docs: // parsePersistentNodes parses a list of discovery node URLs loaded from a .json
  // file from within the data directory.