private object GenerateCompressedObject(ref RGBPixel[,] sourceImage)
        {
            int imageWidth          = (new ImageOperations.ImageOperations()).GetWidth(sourceImage),
                imageHeight         = (new ImageOperations.ImageOperations()).GetHeight(sourceImage);
            StringBuilder imageCode = new StringBuilder();

            for (int i = 0; i < imageHeight; i++)
            {
                for (int j = 0; j < imageWidth; j++)
                {
                    imageCode.Append(_redTree.GetNodePath((int)sourceImage[i, j].Red));
                    imageCode.Append(_greenTree.GetNodePath((int)sourceImage[i, j].Green));
                    imageCode.Append(_blueTree.GetNodePath((int)sourceImage[i, j].Blue));
                }
            }

            _redTree.Dispose();
            _greenTree.Dispose();
            _blueTree.Dispose();
            string imageCodeString = imageCode.ToString();

            imageCode.Clear();
            return(ConvertStrToByte(ref imageCodeString));
        }