in src/main/java/org/apache/sling/graphql/core/engine/SlingDataFetcherSelector.java [133:145]
private void unbindSlingDataFetcher(ServiceReference<SlingDataFetcher<Object>> reference) {
synchronized (dataFetchers) {
String name = (String) reference.getProperty(SlingDataFetcher.NAME_SERVICE_PROPERTY);
if (StringUtils.isNotEmpty(name)) {
TreeSet<ServiceReferenceObjectTuple<SlingDataFetcher<Object>>> fetchers = dataFetchers.get(name);
if (fetchers != null) {
Optional<ServiceReferenceObjectTuple<SlingDataFetcher<Object>>> tupleToRemove =
fetchers.stream().filter(tuple -> reference.equals(tuple.getServiceReference())).findFirst();
tupleToRemove.ifPresent(fetchers::remove);
}
}
}
}