@SuppressWarnings("unchecked")
public <T> void watch(final Class<T> clazz, final AttributeFilter filter,
final ServiceWatcher<? super T> watcher) {
registerListener(clazz).addWatcher(
null == filter ? watcher : new FilteredServiceWatcher(filter, watcher));
}