Update set of typed attributes (options) that are associated with
        a given image group. Raises a ValueError if any of the given
        attributes violates the attribute definitions associated with image
        groups.

        Parameters
        ----------
        identifier : string
            Unique object identifier
        options : list(dict('name':...,'value:...'))
            List of attribute instances

        Returns
        -------
        ImageGroupHandle
            Handle for updated image group or None if identifier is unknown.

def update_object_options(self, identifier, options):
        """Update set of typed attributes (options) that are associated with
        a given image group. Raises a ValueError if any of the given
        attributes violates the attribute definitions associated with image
        groups.

        Parameters
        ----------
        identifier : string
            Unique object identifier
        options : list(dict('name':...,'value:...'))
            List of attribute instances

        Returns
        -------
        ImageGroupHandle
            Handle for updated image group or None if identifier is unknown.
        """
        # Retrieve object from database to ensure that it exists
        img_group = self.get_object(identifier)
        if img_group is None:
            return None
        # Replace existing object in database with object having given options.
        # Raises an exception of attributes with duplicate names appear in the
        # list.
        img_group.options = attribute.to_dict(options, self.attribute_defs)
        self.replace_object(img_group)
        # Return image group handle
        return img_group