code: def _update(self, **kwargs):
          
          updated = False
          if 'proxy_server' in kwargs:
              proxy_server = kwargs.get('proxy_server')
              if not proxy_server and self._inspected_service_ref:
                  self.protocol_agent_values.pop('inspected_service_ref', None)
                  updated = True
              elif isinstance(proxy_server, ProxyServer):
                  # Need the inspected service reference for the protocol
                  enabled_services = {svc.name:svc.href for svc in proxy_server.inspected_services}
                  
                  if self.protocol_agent.name not in enabled_services:
                      raise MissingDependency('The specified ProxyServer %r does not enable '
                          'the required protocol %s' % (proxy_server.name, self.protocol_agent.name))
                  
                  if self._inspected_service_ref != enabled_services.get(self.protocol_agent.name):
                      self.protocol_agent_values['inspected_service_ref'] = enabled_services.get(
                          self.protocol_agent.name)
                      updated = True
          return updated
docs: Internal method to update the parameter dict stored in attribute
          protocol_agent_values. Allows masking of real attribute names to
          something more sane.
          
          :rtype: bool