code: func (a *Sources) UnmarshalBinary(buf []byte) error {
  	var pb internal.Measurements
  	if err := proto.Unmarshal(buf, &pb); err != nil {
  		return err
  	}
  	*a = make(Sources, len(pb.GetItems()))
  	for i := range pb.GetItems() {
  		mm, err := decodeMeasurement(pb.GetItems()[i])
  		if err != nil {
  			return err
  		}
  		(*a)[i] = mm
  	}
  	return nil
  }
docs: // UnmarshalBinary decodes binary data into a list of sources.