public function createForwardingAddress($destination, $options = array(), $apiContext = null, $restCall = null)
    {
        ArgumentValidator::validate($destination, 'destination');
        ArgumentArrayValidator::validate($options, 'options');

        $paymentForward = new PaymentForward();
        $paymentForward->setDestination($destination);

        // All options correspond to a setter
        foreach ($options as $option => $optionValue) {
            if (ModelAccessorValidator::validate($paymentForward, $this->convertToCamelCase($option))) {
                $setter = "set" . $this->convertToCamelCase($option);
                $paymentForward->$setter($optionValue);
            } else {
                throw new \InvalidArgumentException("Invalid option $option");
            }
        }

        return $this->create($paymentForward, $apiContext, $restCall);
    }