@Override
  public boolean isAffected(BuildTarget<?> target, @NotNull File file) {
    final Set<File> files = myFiles.isEmpty()? null : myFiles.get(target);
    if (files == null) {
      return isWholeTargetAffected(target) || isIndirectlyAffected(target, file);
    }
    return files.contains(file) || isIndirectlyAffected(target, file);
  }
@Override
  public boolean isAffected(BuildTarget<?> target, @NotNull File file)