'Extracts the input browse_record and fields list (with
``False``-y placeholders for fields to *not* import) into a
format Model.import_data can use: a fields list without holes
and the precisely matching data matrix
:param list(str|bool): fields
:returns: (data, fields)
:rtype: (list(list(str)), list(str))
:raises ValueError: in case the import data could not be converted'

@api.model
def _convert_import_data(self, fields, options):

    indices = [index for (index, field) in enumerate(fields) if field]
    if (not indices):
        raise ValueError(_('You    must    configure    at    least    one    field    to    import'))
    if (len(indices) == 1):
        mapper = (lambda row: [row[indices[0]]])
    else:
        mapper = operator.itemgetter(*indices)
    import_fields = filter(None, fields)
    rows_to_import = self._read_file(options)
    if options.get('headers'):
        rows_to_import = itertools.islice(rows_to_import, 1, None)
    data = [list(row) for row in itertools.imap(mapper, rows_to_import) if any(row)]
    return (data, import_fields)
