unwrap_(param) {
    if (!param)
      return param;
    if (param.__rpc_a__) {
      const handle = this.createHandle_(param.__rpc_a__, param.descriptor);
      if (handle.descriptor_.isFunc)
        return (...args) => handle.callMethod_('call', ...args);
      return handle.proxy();
    }

    if (param instanceof Array)
      return param.map(item => this.unwrap_(item));

    if (typeof param === 'object') {
      const result = {};
      for (const key in param)
        result[key] = this.unwrap_(param[key]);
      return result;
    }

    return param;
  }
Unwraps call argument from the protocol structures.
@param {!Object} param
@return {*}