public Properties(
          final List<String> sources, final String output, final Set<String> excludes) {
        myRoots = new HashSet<String>(sources);
        final DirectoryScanner.Result result =
            DirectoryScanner.getFiles(myRoots, excludes, ProjectWrapper.this);

        mySources = new HashMap<FileWrapper, FileWrapper>();

        for (FileWrapper fw : result.getFiles()) {
          mySources.put(fw, fw);
        }

        myOutput = output;
        updateOutputStatus();
      }