private void readProxyClassDescInfo(ClassDataDesc cdd)
        {
            print("proxyInterfaceNames");

            var b1 = _bb.GetInt32BE();

            increaseIndent();
            for (int i = 0; i < b1; i++)
            {
                print(i + ":");

                readUtf();
                decreaseIndent();
            }

            readClassAnnotation();

            cdd.AddSuperClassDesc(readSuperClassDesc());
        }
        private void readClassDescInfo(ClassDataDesc cdd)
        {
            string classDescFlags = "";

            var b1 = _bb.GetByte();

            if ((b1 & 0x1) == 1)
            {
                classDescFlags = classDescFlags + "SC_WRITE_METHOD | ";
            }

            if ((b1 & 0x2) == 2)
            {
                classDescFlags = classDescFlags + "SC_SERIALIZABLE | ";
            }

            if ((b1 & 0x4) == 4)
            {
                classDescFlags = classDescFlags + "SC_EXTERNALIZABLE | ";
            }

            if ((b1 & 0x8) == 8)
            {
                classDescFlags = classDescFlags + "SC_BLOCKDATA | ";
            }

            if (classDescFlags.Length > 0)
            {
                classDescFlags = classDescFlags.Substring(0, classDescFlags.Length - 3);
            }

            print("classDescFlags - 0x" + string.Format("{0:X2}", b1) + " - " + classDescFlags);

            cdd.SetLastClassDescFlags(b1);
            if ((b1 & 0x2) == 2)
            {
                if ((b1 & 0x4) == 4)
                {
                    throw new Exception("Error: Illegal classDescFlags, SC_SERIALIZABLE is not compatible with SC_EXTERNALIZABLE.");
                }

                if ((b1 & 0x8) == 8)
                {
                    throw new Exception("Error: Illegal classDescFlags, SC_SERIALIZABLE is not compatible with SC_BLOCKDATA.");
                }
            }
            else if ((b1 & 0x4) == 4)
            {
                if ((b1 & 0x1) == 1)
                {
                    throw new Exception("Error: Illegal classDescFlags, SC_EXTERNALIZABLE is not compatible with SC_WRITE_METHOD.");
                }
            }
            else if (b1 != 0)
            {
                throw new Exception("Error: Illegal classDescFlags, must include either SC_SERIALIZABLE or SC_EXTERNALIZABLE.");
            }

            readFields(cdd);

            readClassAnnotation();

            cdd.AddSuperClassDesc(readSuperClassDesc());
        }