code: func (p *PoolData) UnmarshalJSON(data []byte) error {
  	var (
  		err error
  		t   struct {
  			ParentKey SubnetKey
  			Pool      string
  			Range     *AddressRange `json:",omitempty"`
  			RefCount  int
  		}
  	)
  
  	if err = json.Unmarshal(data, &t); err != nil {
  		return err
  	}
  
  	p.ParentKey = t.ParentKey
  	p.Range = t.Range
  	p.RefCount = t.RefCount
  	if t.Pool != "" {
  		if p.Pool, err = types.ParseCIDR(t.Pool); err != nil {
  			return err
  		}
  	}
  
  	return nil
  }
docs: // UnmarshalJSON decodes data into the PoolData object