private bool GetManagementInterfaceIPChanged(PIF oldManagement, PIF newManagement)
        {
            if (oldManagement == null || newManagement == null)
                throw new Failure(Failure.INTERNAL_ERROR, "Management interface is null.");

            if (oldManagement.ip_configuration_mode == ip_configuration_mode.DHCP)
            {
                if (newManagement.ip_configuration_mode == ip_configuration_mode.DHCP)
                    return !oldManagement.Equals(newManagement);

                if (newManagement.ip_configuration_mode == ip_configuration_mode.Static)
                    return IPAddressSettingsChanged(oldManagement, newManagement);
            }
            else if (oldManagement.ip_configuration_mode == ip_configuration_mode.Static)
            {
                if (newManagement.ip_configuration_mode == ip_configuration_mode.Static)
                    return IPAddressSettingsChanged(oldManagement, newManagement);

                if (newManagement.ip_configuration_mode == ip_configuration_mode.DHCP)
                    return true;
            }

            throw new Failure(Failure.INTERNAL_ERROR, "Unexpected IP configuration mode.");
        }