code: def set_calibrators(self, parameter, calibrators):
          
          req = mdb_pb2.ChangeParameterRequest()
          req.action = mdb_pb2.ChangeParameterRequest.SET_CALIBRATORS
          for c in calibrators:
              if c.context :
                  context_calib = req.contextCalibrator.add()
                  context_calib.context = rs.context
                  calib_info = context_calib.calibrator
              else :                
                  calib_info = req.defaultCalibrator
              
              _add_calib(calib_info, c.type, c.data)
              
              
          url = '/mdb/{}/{}/parameters/{}'.format(
              self._instance, self._processor, parameter)
          response = self._client.post_proto(url, data=req.SerializeToString())
          pti = mdb_pb2.ParameterTypeInfo()
docs: Apply an ordered set of calibrators for the specified parameter.
          This replaces existing calibrators (if any).
  
          Each calibrator may have a context, which indicates when it its
          effects may be applied. Only the first matching calibrator is
          applied.
  
          A calibrator with context ``None`` is the *default* calibrator.
          There can be only one such calibrator, and is always applied at
          the end when no other contextual calibrator was applicable.
  
          :param str parameter: Either a fully-qualified XTCE name or an alias
                                in the format ``NAMESPACE/NAME``.
          :param .Calibrator[] calibrators: List of calibrators (either contextual or not)