def _eval_message(self, byte_array):
        """ evaluate a byte string received from a socket """
        # this functions musst be simplet
        # -> mesage len cen be integraeted in xml dict
        # -> wait for more data on error or if not end sign
        if len(byte_array) == 0:
            return

        byte_array_split = byte_array.split(b"\0")
        #recv_str_split = [b_str.decode("utf-8") for b_str in byte_array_split]
        #print(recv_str_split)
        #for l in recv_str_split:
        for byte_str in byte_array_split:
            l = byte_str.decode("utf-8")
            if len(l) == 0:  # zero length message
                continue

            data_tree = Network.DataElementTree(l)
            if data_tree.root_tree == None:
                #if self.print: print("Wait for more data")
                self.byte_array_remaining = byte_str
                return

            #self.current_message_length = len(l)

            #message_len = len(l)
            #if message_len == self.current_message_length: # check if message is compleate
            #    # always executed
            #    # message ok
            #    # add message to server queue
            self._add_command_to_queue(data_tree)
        return data_tree