private void Read()
        {
            // CA FE BA BE (U4)
            if (!this.VerifyMagicCode())
            {
                throw new Exception();
            }

            // VERSION MINOR (U2)
            this.Reader.Skip(2);
            // VERSION MAJOR (U2)
            this.Reader.Skip(2);

            // CONSTANT POOL
            this.Constants = JavaConstant.ReadAll(this.Reader);

            // ACCESS FLAGS (U2)
            this.Reader.Skip(2);
            // THIS CLASS (U2)
            this.Reader.Skip(2);
            // SUPER CLASS (U2)
            this.Reader.Skip(2);

            // INTERFACES
            this.ReadInterfaces();
            // FIELDS
            this.ReadFields();
            // METHODS
            this.ReadMethods();

            // ATTRIBUTES POOL
            this.Attributes = JavaAttribute.ReadAll(this.Reader, this.Constants);
        }
        private void ReadMethod()
        {
            // METHOD ACCESS FLAGS (U2)
            this.Reader.Skip(2);

            // METHOD NAME INDEX (U2)
            this.Reader.Skip(2);

            // METHOD DESCRIPTOR INDEX (U2)
            this.Reader.Skip(2);

            // METHOD ATTRIBUTES
            JavaAttribute.SkipAll(this.Reader);
        }
        private void ReadField()
        {
            // FIELD ACCESS FLAGS (U2)
            this.Reader.Skip(2);

            // FIELD NAME INDEX (U2)
            this.Reader.Skip(2);

            // FIELD DESCRIPTOR INDEX (U2)
            this.Reader.Skip(2);

            // FIELD ATTRIBUTES
            JavaAttribute.SkipAll(this.Reader);
        }