<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def process(self, plugin, instance=None, action=None):
 """Given JSON objects from client, perform actual processing Arguments: plugin (dict):
 JSON representation of plug-in to process instance (dict, optional):
 JSON representation of Instance to be processed. action (str, optional):
 Id of action to process """


        plugin_obj = self.__plugins[plugin["id"]]
        instance_obj = (self.__instances[instance["id"]]
                        if instance is not None else None)

        result = pyblish.plugin.process(
            plugin=plugin_obj,
            context=self._context,
            instance=instance_obj,
            action=action)

        return formatting.format_result(result)