import table is terminated by a all-null entry, so we have to
            check for that

def dir_import_table(self):
        """
            import table is terminated by a all-null entry, so we have to
            check for that
        """
        import_header = list(self.optional_data_directories)[1]
        import_offset = self.resolve_rva(import_header.VirtualAddress)

        i = 0
        while True:
            offset = import_offset + i*Import_DirectoryTable.get_size()
            idt = Import_DirectoryTable(self.stream, offset, self)

            if idt.is_empty():
                break
            else:
                yield idt

            i += 1