@Override
  public void filesGenerated(@NotNull FileGeneratedEvent event) {
    final ProjectDescriptor pd = myContext.getProjectDescriptor();
    final BuildFSState fsState = pd.fsState;
    for (Pair<String, String> pair : event.getPaths()) {
      final String relativePath = pair.getSecond();
      final File file = relativePath.equals(".") ? new File(pair.getFirst()) : new File(pair.getFirst(), relativePath);
      for (BuildRootDescriptor desc : pd.getBuildRootIndex().findAllParentDescriptors(file, myContext)) {
        if (!event.getSourceTarget().equals(desc.getTarget())) {
          // do not mark files belonging to the target that originated the event
          // It is assumed that those files will be explicitly marked dirty by particular builder, if needed.
          try {
            fsState.markDirty(myContext, file, desc, pd.getProjectStamps().getStampStorage(), false);
          }
          catch (IOException ignored) {
          }
        }
      }
    }
  }
@Override
  public void filesGenerated(@NotNull FileGeneratedEvent event)