private boolean track(ServiceReference ref){ if(ref == null){ throw new NullPointerException(); } if(ref.equals(myReference)){ return true; } T tracked = OSGiUtils.getService(myClass, myContext, ref); if(tracked == null){ return false; } T old = myTrackedClass; untrack(myReference); myReference = ref; myTrackedClass = tracked; firePropertyChange(PROP_SERVICE_TRACKED, old, myTrackedClass); return true; } }