this.unregistered = false;
	protected ServiceRegistrationImpl(BundleContextImpl context, String[] clazzes, Object service, Dictionary properties) {		this.context = context;		this.bundle = context.bundle;		this.framework = context.framework;		this.clazzes = clazzes; /* must be set before calling createProperties. */		this.service = service;		this.contextsUsing = null;		this.unregistered = false;		this.reference = new ServiceReferenceImpl(this);		synchronized (framework.serviceRegistry) {			serviceid = framework.getNextServiceId(); /* must be set before calling createProperties. */			this.properties = createProperties(properties); /* must be valid after unregister is called. */			if (Debug.DEBUG && Debug.DEBUG_SERVICES) {				Debug.println("registerService[" + bundle + "](" + this + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$			}			framework.serviceRegistry.publishService(context, this);		}		/* must not hold the registrations lock when this event is published */		framework.publishServiceEvent(ServiceEvent.REGISTERED, reference);	}