public ImageImportDirectoryBuilder(IOffsetConverter offsetConverter, ImageImportDirectory directory)
        {
            if (offsetConverter == null)
                throw new ArgumentNullException("offsetConverter");
            if (directory == null)
                throw new ArgumentNullException("directory");

            _offsetConverter = offsetConverter;
            _directory = directory;

            _entryTableBuilder = new FileSegmentBuilder();
            _nameTableBuilder = new NameTableBuilder();
            _lookupTablesBuilder = new LookupTablesBuilder(_offsetConverter, _nameTableBuilder);
            AddressTablesBuilder = new LookupTablesBuilder(_offsetConverter, _nameTableBuilder);

            //Segments.Add(_addressTablesBuilder);
            Segments.Add(_entryTableBuilder);
            Segments.Add(_lookupTablesBuilder);
            Segments.Add(_nameTableBuilder);
        }
        public ImageImportDirectoryBuilder(IOffsetConverter offsetConverter, ImageImportDirectory directory)
        {
            if (offsetConverter == null)
            {
                throw new ArgumentNullException("offsetConverter");
            }
            if (directory == null)
            {
                throw new ArgumentNullException("directory");
            }

            _offsetConverter = offsetConverter;
            _directory       = directory;

            _entryTableBuilder   = new FileSegmentBuilder();
            _nameTableBuilder    = new NameTableBuilder();
            _lookupTablesBuilder = new LookupTablesBuilder(_offsetConverter, _nameTableBuilder);
            AddressTablesBuilder = new LookupTablesBuilder(_offsetConverter, _nameTableBuilder);

            //Segments.Add(_addressTablesBuilder);
            Segments.Add(_entryTableBuilder);
            Segments.Add(_lookupTablesBuilder);
            Segments.Add(_nameTableBuilder);
        }