<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_response(self, response):
 """ Processes a response from the drive. Processes the response returned from the drive. It is broken down into the echoed command (drive echoes it back), any error returned by the drive (leading '*' is stripped), and the different lines of the response. Parameters response : str The response returned by the drive. Returns ------- processed_response : list A 4-element ``list``. The elements, in order, are `response` (``str``), the echoed command (``str``), any error response (``None`` if none, or the ``str`` of the error), and the lines of the response that are not the echo or error line (``list`` of ``str`` with newlines stripped). """

        # Strip the trailing newline and split the response into lines
        # by carriage returns.
        rsp_lines = response.rstrip('\r\n').split('\r')

        # If we have at least one line, the first one is the echoed
        # command. If available, it needs to be grabbed and that line
        # removed from rsp_lines since it is just the echoing, not the
        # actual response to the command. None will be used to denote a
        # non-existent echo.
        if len(rsp_lines) > 0:
            echoed_command = rsp_lines[0]
            del rsp_lines[0]
        else:
            echoed_command = None

        # If the next line is one of the different possible error
        # strings, then there was an error that must be grabbed (leading
        # '*' is stripped). If there was an error, remove that line from
        # the response. None will be used to denote the lack of an error.
        if len(rsp_lines) > 0 and \
                rsp_lines[0] in ('*INVALID_ADDRESS', '*INVALID_DATA', \
                '*INVALID_DATA_HIGH', '*INVALID_DATA_LOW', \
                '*UNDEFINED_LABEL'):
            err = rsp_lines[0][1:]
            del rsp_lines[0]
        else:
            err = None

        return [response, echoed_command, err, rsp_lines]