code: public void addModificationObserver (String path, ModificationObserver obs)
      {
          ObservedResource resource = _observed.get(path);
          if (resource == null) {
              File file = getResourceFile(path);
              if (file == null) {
                  return; // only resource files will ever be modified
              }
              _observed.put(path, resource = new ObservedResource(file));
          }
          resource.observers.add(obs);
      }
docs: Adds a modification observer for the specified resource.  Note that only a weak reference to
  the observer will be retained, and thus this will not prevent the observer from being
  garbage-collected.