public function getShippingContactDifferences($mode = self::MODE_FILTER_EMPTY_WHEN_STRING_VALUES)
    {
        $difference = [];
        foreach ($this->getContactParameterNames() as $parameterName)
        {
            $billingGetter = 'getBilling'.ucfirst($parameterName);
            $shippingGetter = 'getShipping'.ucfirst($parameterName);
            $billingValue = $this->$billingGetter();
            $shippingValue = $this->$shippingGetter();
            if ($billingValue !== $shippingValue) {
                $difference[$parameterName] = $shippingValue;
            }
        }
        if ($mode === self::MODE_FILTER_EMPTY_WHEN_STRING_VALUES) {
            $result = array_filter($difference, 'strlen');
        } elseif ($mode === self::MODE_FILTER_EMPTY_VALUES) {
            $result = array_filter($difference);
        }
        else {
            $result = $difference;
        }
        return $result;
    }