public Set<String> getFiles() {
        final Set<String> result = new HashSet<String>();

        for (FileWrapper f : mySources.keySet()) {
          result.add(f.getName());
        }

        return result;
      }
      public Set<String> getRemovedFiles(final Properties past) {
        final Set<String> result = new HashSet<String>();

        if (past != null) {
          for (FileWrapper was : past.mySources.keySet()) {
            final FileWrapper now = mySources.get(was);

            if (now == null) {
              result.add(was.getName());
            }
          }
        }

        return result;
      }
      public Set<String> getOutdatedFiles(final Properties past) {
        final Set<String> result = new HashSet<String>();

        for (FileWrapper now : mySources.keySet()) {
          final FileWrapper than = past == null ? null : past.mySources.get(now);

          if (than == null
              || than.getStamp() < now.getStamp()
              || affectedFiles.contains(now.getName())) {
            result.add(now.getName());
          }
        }

        return result;
      }