public LowLevelFileReader(string filePath)
        {
            Checks.CheckFileExistsAndThrow(filePath);

            var fileInfo = new FileInfo(filePath);

            FileLength = fileInfo.Length;
            m_FilePath = GCHandle.Alloc(filePath, GCHandleType.Normal); //readonly no need to pin
        }