<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _parse_load(self, load):
 """ Parse the load from a single packet """

        # If the load is ??
        if load in ['??']:
            self._debug('IGNORING')
        # If there is a start in load
        elif any([start in load for start in STARTS]):
            self._debug('START')
            self.messages.append(WSPart(load, self.args))
            # and there is also an end
            if any([end in load for end in ENDS]):
                self.messages[-1].finalize_content()
                self._debug('AND END')
        # If there is an end in load
        elif any([end in load for end in ENDS]):
            # If there is an open WSPart
            if len(self.messages) > 0 and not\
                    self.messages[-1].write_closed:
                self._debug('END ON OPEN FILE')
                self.messages[-1].add_content(load)
                self.messages[-1].finalize_content()
            # Ignore ends before start
            else:
                self._debug('END BUT NO OPEN FILE')
        else:
            # If there is an open WSPart
            if len(self.messages) > 0 and not\
                    self.messages[-1].write_closed:
                self._debug('ADD TO OPEN FILE')
                self.messages[-1].add_content(load)
            # else ignore
            else:
                self._debug('NOTHING TO DO')