code: public void registerDereferencedListener(Provider.DereferenceListener dereferenceListener) {
          if (dereferenceListeners == null) {
              dereferenceListeners = new CopyOnWriteArrayList<>();
          }
          dereferenceListeners.add(dereferenceListener);
      }
docs: Register {@link Provider.DereferenceListener} which will be called when the provider's
  instance is dereferenced.
  
  @param dereferenceListener The listener