private MarketDataFeed(string nativeLibraryPath, bool validateArgument)
 {
     _nativeImplementation = string.IsNullOrEmpty(nativeLibraryPath) ?
                             (validateArgument ? throw new ArgumentNullException(nameof(nativeLibraryPath)) : NativeImplementation.Default)
         : new NativeImplementation(nativeLibraryPath);
     _feedHandle                  = _nativeImplementation.mdf_create();
     _nativeStatusCallback        = OnStatusChanged;
     _nativeDataCallback          = OnDataReceived;
     _nativeStatusCallbackPointer = Marshal.GetFunctionPointerForDelegate(_nativeStatusCallback);
     _nativeDataCallbackPointer   = Marshal.GetFunctionPointerForDelegate(_nativeDataCallback);
 }