String listenerName = this.getClass().getName() + "@" + Integer.toHexString(this.hashCode());
String listenerName = this.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(this));
	public void serviceChanged(ServiceEvent event) {		if (!context.hasListenServicePermission(event))			return;		//TODO Merge this condition and the one in the bottom		if (filter == null) {			if (allservices || context.isAssignableTo((ServiceReferenceImpl) event.getServiceReference()))				listener.serviceChanged(event);			return;		}		ServiceReferenceImpl reference = (ServiceReferenceImpl) event.getServiceReference();		if (Debug.DEBUG && Debug.DEBUG_EVENTS) {			String listenerName = this.getClass().getName() + "@" + Integer.toHexString(this.hashCode()); //$NON-NLS-1$			Debug.println("filterServiceEvent(" + listenerName + ", \"" + filter + "\", " + reference.registration.properties + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$		}		if (filter.match(reference) && (allservices || context.isAssignableTo((ServiceReferenceImpl) event.getServiceReference()))) {			if (Debug.DEBUG && Debug.DEBUG_EVENTS) {				String listenerName = listener.getClass().getName() + "@" + Integer.toHexString(listener.hashCode()); //$NON-NLS-1$				Debug.println("dispatchFilteredServiceEvent(" + listenerName + ")"); //$NON-NLS-1$ //$NON-NLS-2$			}			listener.serviceChanged(event);		}	}