code: private ListenerToken addDocumentChangeListener(
          Executor executor,
          DocumentChangeListener listener,
          String docID) {
          // NOTE: caller method is synchronized.
          DocumentChangeNotifier docNotifier = docChangeNotifiers.get(docID);
          if (docNotifier == null) {
              docNotifier = new DocumentChangeNotifier((Database) this, docID);
              docChangeNotifiers.put(docID, docNotifier);
          }
          final ChangeListenerToken token = docNotifier.addChangeListener(executor, listener);
          token.setKey(docID);
          return token;
      }
docs: Document changes: