code: public Object[] unmarshalParams(RpcRequest req) throws RpcException {
          Object reqParams[] = req.getParams();
          if (reqParams.length != params.size()) {
              String msg = "Function '" + req.getMethod() + "' expects " + 
                 params.size() + " param(s). " + reqParams.length + " given.";
              throw invParams(msg);
          }
  
          Object convParams[] = new Object[reqParams.length];
          for (int i = 0; i < convParams.length; i++) {
              convParams[i] = params.get(i).getTypeConverter().unmarshal(reqParams[i]);
          }
  
          return convParams;
      }
docs: Unmarshals req.params into their Java representations
  
  @throws RpcException if req.params length does not match this Function's expected
  param list length, or if any parameter fails IDL type validation