<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def full_post_process(self, conn_method_name, result):
 """ When a response from an API method call is received, this goes through the returned data & run a series of hooks to allow for handling that data. Typically, this method is **NOT** call by the user. However, the user may wish to define other methods (i.e. ``post_process`` to work with all the data at once or ``post_process_METHOD_NAME`` to handle a single piece of data) on their class, which this method will call. :param conn_method_name: The name of the underlying connection method about to be called. Typically, this is a "snake_cased" variant of the API name (i.e. ``update_bucket`` in place of ``UpdateBucket``). :type conn_method_name: string :param result: A dictionary of all the key/value pairs passed back from the API (server-side). This dictionary is transformed by this call into the final data to be passed back to the user. :type result: dict """

        result = self.post_process(conn_method_name, result)

        # We'll check for custom methods to do addition, specific work.
        custom_method_name = 'post_process_{0}'.format(conn_method_name)
        custom_method = getattr(self, custom_method_name, None)

        if custom_method:
            # Let the specific method further process the data.
            result = custom_method(result)

        return result