internal override IFDHeader ParseBytes(List <byte> bytes, Endianness e, int offset)
        {
            IFDHeader result = new IFDHeader(typeof(CanonMakerNotesTagCode));

            byte[] fieldsNumberBytes = new byte[2];
            fieldsNumberBytes[0] = ByteManager.ChopByteArray(bytes.ToArray(), 0, 1)[0];
            int fieldsNumber = ByteManager.GetShortValue(fieldsNumberBytes);

            int voided = 0;

            byte[][] fieldsBytes = exifProcessor.ExtractTagsBytes(ByteManager.ChopByteArray(bytes.ToArray(), 1, fieldsNumber * 12).ToList(), fieldsNumber).ToArray();

            foreach (byte[] fieldBytes in fieldsBytes)
            {
                byte[] orderedBytes = OrderIFDFieldBytes(fieldBytes);

                IFDField field = exifProcessor.GetIFDField <CanonMakerNotesTagCode>(orderedBytes, e);

                field.Block = IFDHeaderType.MakerNotesHeader;

                field.ValueElementsOffset = ByteManager.GetIntValue(field.FieldValueElements);

                LoadFieldTextValue <CanonMakerNotesTagCode>(ref field, bytes, offset, offset, e, voided);

                result.IFDFields.Add(field);
            }

            return(result);
        }
        internal override IFDHeader ParseBytes(List <byte> bytes, Endianness e, int offsetCorrectionIndex)
        {
            IFDHeader result = new IFDHeader(typeof(NikonType1MakerNotesTagCode));

            byte[] fieldsCountBytes       = ByteManager.ChopByteArray(bytes.ToArray(), 8, 2);
            byte[] sortedFieldsCountBytes = exifProcessor.SortBytes(e, fieldsCountBytes);
            result.FieldsCount = ByteManager.GetIntValue(sortedFieldsCountBytes);

            int voided = 0;

            byte[][] fieldsBytes = exifProcessor.ExtractTagsBytes(ByteManager.ChopByteArray(bytes.ToArray(), 8 + 2, result.FieldsCount * 12).ToList(), result.FieldsCount).ToArray();

            foreach (byte[] fieldBytes in fieldsBytes)
            {
                IFDField field = exifProcessor.GetIFDField <NikonType1MakerNotesTagCode>(fieldBytes, e);
                field.Block = IFDHeaderType.MakerNotesHeader;
                exifProcessor.LoadFieldTextValue <NikonType1MakerNotesTagCode>(ref field, bytes, offsetCorrectionIndex, 0, e, voided);
                result.IFDFields.Add(field);
            }

            return(result);
        }