def _get(self, keys, withIdentifier, multiple):
        """
        Helper method for C{get} and C{getMultiple}.
        """
        keys = list(keys)
        if self._disconnected:
            return fail(RuntimeError("not connected"))
        for key in keys:
            if not isinstance(key, bytes):
                return fail(ClientError(
                    "Invalid type for key: %s, expecting bytes" %
                    (type(key),)))
            if len(key) > self.MAX_KEY_LENGTH:
                return fail(ClientError("Key too long"))
        if withIdentifier:
            cmd = b"gets"
        else:
            cmd = b"get"
        fullcmd = b" ".join([cmd] + keys)
        self.sendLine(fullcmd)
        if multiple:
            values = dict([(key, (0, b"", None)) for key in keys])
            cmdObj = Command(cmd, keys=keys, values=values, multiple=True)
        else:
            cmdObj = Command(cmd, key=keys[0], value=None, flags=0, cas=b"",
                             multiple=False)
        self._current.append(cmdObj)
        return cmdObj._deferred

        Helper method for C{get} and C{getMultiple}.
        
stackoverflow/venv/lib/python3.6/site-packages/twisted/protocols/memcache.py