possible modifiers: file, b64encode, b64decode
        format:             modifier1@modifier2@...modifierN@k_final

def _transform_call_params(self, params):
        """
        possible modifiers: file, b64encode, b64decode
        format:             modifier1@modifier2@...modifierN@k_final
        """
        rez = {}
        for k, v in params.items():
            if isinstance(v, dict):
                v = self._transform_call_params(v)
                k_final = k
            else:
                # k = modifier1@modifier2@...modifierN@k_final
                k_split = k.split("@")
                k_final = k_split[-1]
                k_mods  = k_split[:-1]
                for m in k_mods:
                    if (m == "file"):
                        with open(v, 'rb') as f:
                            v = f.read()
                    elif (m == "b64encode"):
                        v = base64.b64encode(v)
                    elif (m == "b64decode"):
                        v = base64.b64decode(v)
                    else:
                        raise Exception("Unknown modifier ('%s') in call parameters. Possible modifiers: file, b64encode, b64decode"%m)
            rez[k_final] = v
        return rez