def replace(self, eid, entity, note=None, force=False):
		"""
		replace(int, dict, string, boolean):
		
		Replaces the record of the eid with the supplied dict. Places the 
		supplied note as update message.
		"""
		# we need to unset some fields in the entity, if they exist
		newentity = entity
		for field in ('createdAtDate','id','isActive','parentRevision','revisionNr','updatedAtDate','updatedByUserName','updatedFromIp'):
			if field in newentity: del newentity[field]

		if note:
			newentity['revisionNote'] = note
		else:
			newentity['revisionNote'] = "Automatic change by user %s on %s" % (pwd.getpwuid(os.getuid()).pw_name,platform.node())

		if not force:
			for field in ('allowedConnections','blockedConnections','disableConsentConnections','arpAttributes','manipulationCode'):
				if not field in newentity:
					raise ServiceRegistryError(-1,"%s MUST be specified, otherwise the API will be silently truncate it" % field)

		result = self._http_req('connections/%u' % eid, method='PUT', payload=newentity)
		status = result['status']
		if not status==201:
			raise ServiceRegistryError(status,"Couldn't write entity %u: %u" % (eid,status))

		self.debug(0x01,result)
		return result['decoded']