def write_to_omero(self):
     sf = self.client.getSession()
     group = str(self.value_resolver.target_object.details.group.id.val)
     sr = sf.sharedResources()
     update_service = sf.getUpdateService()
     name = 'bulk_annotations'
     table = sr.newTable(1, name, {'omero.group': group})
     if table is None:
         raise MetadataError(
             "Unable to create table: %s" % name)
     original_file = table.getOriginalFile()
     log.info('Created new table OriginalFile:%d' % original_file.id.val)
     table.initialize(self.columns)
     log.info('Table initialized with %d columns.' % (len(self.columns)))
     table.addData(self.columns)
     log.info('Added data column data.')
     table.close()
     file_annotation = FileAnnotationI()
     file_annotation.ns = \
             rstring('openmicroscopy.org/omero/bulk_annotations')
     file_annotation.description = rstring(name)
     file_annotation.file = OriginalFileI(original_file.id.val, False)
     link = self.create_annotation_link()
     link.parent = self.target_object
     link.child = file_annotation
     update_service.saveObject(link, {'omero.group': group})