code: func NewFromSnapshot(snap *api.RangeAllocation) (*Range, error) {
  	_, ipnet, err := net.ParseCIDR(snap.Range)
  	if err != nil {
  		return nil, err
  	}
  	r := NewCIDRRange(ipnet)
  	if err := r.Restore(ipnet, snap.Data); err != nil {
  		return nil, err
  	}
  	return r, nil
  }
docs: // NewFromSnapshot allocates a Range and initializes it from a snapshot.