public boolean markDirtyIfNotDeleted(@Nullable CompileContext context,
                                       CompilationRound round,
                                       File file,
                                       final BuildRootDescriptor rd,
                                       @Nullable StampsStorage<? extends StampsStorage.Stamp> stampStorage) throws IOException {
    final boolean marked = getDelta(rd.getTarget()).markRecompileIfNotDeleted(rd, file);
    if (marked && stampStorage != null) {
      stampStorage.removeStamp(file, rd.getTarget());
    }
    if (marked) {
      final FilesDelta roundDelta = getRoundDelta(round == CompilationRound.NEXT? NEXT_ROUND_DELTA_KEY : CURRENT_ROUND_DELTA_KEY, context);
      if (roundDelta != null) {
        if (isInCurrentContextTargets(context, rd)) {
          roundDelta.markRecompile(rd, file);
        }
      }
    }
    return marked;
  }
public boolean markDirtyIfNotDeleted(@Nullable CompileContext context,
                                       CompilationRound round,
                                       File file,
                                       final BuildRootDescriptor rd,
                                       @Nullable StampsStorage<? extends StampsStorage.Stamp> stampStorage)