def METHOD_NAME(self, config, base, main_data, logger):
    # Make the OutputCatalog
    cols = config['columns']
    # Note: Provide a default here, because if all items were skipped it would otherwise
    # lead to a KeyError.
    types = self.scratch.pop('types', [float] * len(cols))
    self.cat = OutputCatalog(names=cols.keys(), types=types)
    # Add all the rows in order to the OutputCatalog
    # Note: types was popped above, so only the obj_num keys are left.
    obj_nums = sorted(self.scratch.keys())
    for obj_num in obj_nums:
        row = self.scratch[obj_num]
        self.cat.addRow(row)
    return self.cat