public override void encodeData(string data)
        {
            List <bool> temp = new List <bool>();

            switch (format.getEncodingMode())
            {
            case DataStreamEncodingMode.AlphaNumeric:
                // If the number of characters is not even, it appends a space to make it even
                if (data.Length % 2 != 0)
                {
                    data += " ";
                }

                // Updates the character count
                characterCount = new AQRDataStreamData("Character Count",
                                                       QRCode.ConvertToBoolean(data.Length / 2, characterCountBitCount));

                temp = new List <bool>((data.Length / 2) * bitsPerCharacter);
                for (int i = 0; i < data.Length; i += 2)
                {
                    int pair = QRCode.FindAlphaNumericPair(data[i], data[i + 1]);
                    temp.AddRange(QRCode.ConvertToBoolean(pair, bitsPerCharacter));
                }
                dataBitStream = new AQRDataStreamData("Data Bit Stream", temp.ToArray());
                break;

            case DataStreamEncodingMode.Byte:
                // Updates the character count
                characterCount = new AQRDataStreamData("Character Count",
                                                       QRCode.ConvertToBoolean(data.Length, characterCountBitCount));

                temp = new List <bool>(data.Length * bitsPerCharacter);
                foreach (char c in data)
                {
                    temp.AddRange(QRCode.ConvertToBoolean(c, bitsPerCharacter));
                }
                dataBitStream = new AQRDataStreamData("Data Bit Stream", temp.ToArray());
                break;

            case DataStreamEncodingMode.Kanji:
                throw new NotImplementedException();
                break;

            case DataStreamEncodingMode.Numeric:
                throw new NotImplementedException();
                break;

            default:
                throw new Exception("No valid encoding method found!");
            }
        }