Local delegate maintains proxy object state. Local delegate performs proxy invocations not mapped to JMS services. Remote invocations are also filtered through the local delegate so it can modify arguments, return value or prevent remote invocation at all. For example local delegate can cache values returned by remote invocations. Local delegates must implement biz.hammurapi.jms.adapter.LocalDelegate interface.