code: func (a *allocator) RequestAddress(poolID string, address net.IP, options map[string]string) (*net.IPNet, map[string]string, error) {
  	var (
  		prefAddress string
  		retAddress  *net.IPNet
  		err         error
  	)
  	if address != nil {
  		prefAddress = address.String()
  	}
  	req := &api.RequestAddressRequest{PoolID: poolID, Address: prefAddress, Options: options}
  	res := &api.RequestAddressResponse{}
  	if err := a.call("RequestAddress", req, res); err != nil {
  		return nil, nil, err
  	}
  	if res.Address != "" {
  		retAddress, err = types.ParseCIDR(res.Address)
  	} else {
  		return nil, nil, ipamapi.ErrNoIPReturned
  	}
  	return retAddress, res.Data, err
  }
docs: // RequestAddress requests an address from the address pool