private static HttpMessageHandler CreateMessageHandler(ODataClientSettings settings)
    {
        if (settings.OnCreateMessageHandler != null)
        {
            return(settings.OnCreateMessageHandler());
        }
        else
        {
            var clientHandler = new HttpClientHandler();

            if (settings.Credentials != null)
            {
                clientHandler.Credentials     = settings.Credentials;
                clientHandler.PreAuthenticate = true;
            }

            settings.OnApplyClientHandler?.Invoke(clientHandler);

            return(clientHandler);
        }
    }