code: def get_parameter_values(self, parameters, from_cache=True, timeout=10):
          
          params = {
              'fromCache': from_cache,
              'timeout': int(timeout * 1000),
          }
          req = rest_pb2.BulkGetParameterValueRequest()
          req.id.extend(_build_named_object_ids(parameters))
          url = '/processors/{}/{}/parameters/mget'.format(
              self._instance, self._processor)
          response = self._client.post_proto(url, params=params,
                                             data=req.SerializeToString())
          proto = rest_pb2.BulkGetParameterValueResponse()
          proto.ParseFromString(response.content)
  
          pvals = []
          for parameter_id in req.id:
              match = None
              for pval in proto.value:
                  if pval.id == parameter_id:
                      match = pval
                      break
              pvals.append(ParameterValue(match) if match else None)
          return pvals
docs: Retrieve the current value of the specified parameter.
  
          :param str[] parameters: List of parameter names. These may be
                                   fully-qualified XTCE name or an alias
                                   in the format ``NAMESPACE/NAME``.
          :param bool from_cache: If ``False`` this call will block until
                                  fresh values are received on the processor.
                                  If ``True`` the server returns the latest
                                  value instead (which may be ``None``).
          :param float timeout: The amount of seconds to wait for a fresh
                                values (ignored if ``from_cache=True``).
          :return: A list that matches the length and order of the requested
                   list of parameters. Each entry contains either the
                   returned parameter value, or ``None``.
          :rtype: .ParameterValue[]