code: func (p *PoolData) MarshalJSON() ([]byte, error) {
  	m := map[string]interface{}{
  		"ParentKey": p.ParentKey,
  		"RefCount":  p.RefCount,
  	}
  	if p.Pool != nil {
  		m["Pool"] = p.Pool.String()
  	}
  	if p.Range != nil {
  		m["Range"] = p.Range
  	}
  	return json.Marshal(m)
  }
docs: // MarshalJSON returns the JSON encoding of the PoolData object