code: func (r *EtcdRegistry) getUnitFromObjectNode(node *etcd.Node, unitHashLookupFunc func(unit.Hash) *unit.UnitFile) (*job.Unit, error) {
  	var err error
  	var jm jobModel
  	if err = unmarshal(node.Value, &jm); err != nil {
  		return nil, err
  	}
  
  	var unit *unit.UnitFile
  
  	unit = unitHashLookupFunc(jm.UnitHash)
  	if unit == nil {
  		log.Warningf("No Unit found in Registry for Job(%s)", jm.Name)
  		return nil, nil
  	}
  
  	ju := &job.Unit{
  		Name: jm.Name,
  		Unit: *unit,
  	}
  	return ju, nil
  
  }
docs: // getUnitFromObject takes a *etcd.Node containing a Unit's jobModel, and
  // instantiates and returns a representative *job.Unit, transitively fetching the
  // associated UnitFile as necessary