/// <summary>
        /// Initializes a new <see cref="LibsndfileApiNativeWrapper"/> with 
        /// the given <paramref name="marshaller"/> implementation.
        /// </summary>
        /// <param name="marshaller">ILibsndfileMarshaller implementation to use.</param>
        internal LibsndfileApiNativeWrapper(ILibsndfileMarshaller marshaller)
        {
            if (marshaller == null)
                throw new ArgumentNullException("marshaller");

            m_Marshaller = marshaller;
        }
        /// <summary>
        /// Initializes a new <see cref="LibsndfileApiNativeWrapper"/> with
        /// the given <paramref name="marshaller"/> implementation.
        /// </summary>
        /// <param name="marshaller">ILibsndfileMarshaller implementation to use.</param>
        internal LibsndfileApiNativeWrapper(ILibsndfileMarshaller marshaller)
        {
            if (marshaller == null)
            {
                throw new ArgumentNullException("marshaller");
            }

            m_Marshaller = marshaller;
        }
        /// <summary>
        /// Initialize a new instance of LibsndfileCommandApiNativeWrapper with the <paramref name="api"/> 
        /// and <paramref name="marshaller"/> implementations.
        /// </summary>
        /// <param name="api">LibsndfileApi implementation to use.</param>
        /// <param name="marshaller">LibsndfileMarshaller implementation to use.</param>
        internal LibsndfileCommandApiNativeWrapper(ILibsndfileApi api, ILibsndfileMarshaller marshaller)
        {
            if (api == null)
                throw new ArgumentNullException("api");
            if (marshaller == null)
                throw new ArgumentNullException("marshaller");

            m_Api = api;
            m_Marshaller = marshaller;
        }
        /// <summary>
        /// Initialize a new instance of LibsndfileCommandApiNativeWrapper with the <paramref name="api"/>
        /// and <paramref name="marshaller"/> implementations.
        /// </summary>
        /// <param name="api">LibsndfileApi implementation to use.</param>
        /// <param name="marshaller">LibsndfileMarshaller implementation to use.</param>
        internal LibsndfileCommandApiNativeWrapper(ILibsndfileApi api, ILibsndfileMarshaller marshaller)
        {
            if (api == null)
            {
                throw new ArgumentNullException("api");
            }
            if (marshaller == null)
            {
                throw new ArgumentNullException("marshaller");
            }

            m_Api        = api;
            m_Marshaller = marshaller;
        }