anchor.diff:                                      [CalcPid, pid_current_function(CalcPid)]),
               State;
           false ->
  -            Pid = push_nci(Digraph, digraph:no_vertices(Digraph), Limits),
  -            nci_watchdog(Pid, CalcTimeout),
  -            State#?STATE{calc_pid = Pid}
  +            case Dirty of
  +                false ->
  +                    ?DEBUG("Skipping NCI Calculation, no new data"),
  +                    State;
  +                _ ->
  +                    Pid = push_nci(Digraph, digraph:no_vertices(Digraph),
  +                                                                    Limits),
  +                    nci_watchdog(Pid, CalcTimeout),
  +                    State#?STATE{calc_pid = Pid, dirty = false}
  +            end
       end,
       {noreply, NewState, hibernate};
   handle_cast(clean_data, State = #?STATE{
  
positive.code:                                     data_max_age = DataMaxAge}) ->
      DateTime = calendar:universal_time(),
      clean(Digraph, DateTime, DataMaxAge),
      {noreply, State, hibernate};
  handle_cast({stop_nci, CalcPid}, State = #?STATE{calc_pid = CalcPid}) ->
      do_stop_nci(CalcPid),
      {noreply, State#?STATE{calc_pid = no_process}};
  handle_cast({stop_nci, _}, State) ->
      {noreply, State};
  handle_cast(Msg, State) ->
  
negative.code:             G.
  
  do_stop_nci(no_process) ->
      noop;
  do_stop_nci(Pid) when is_pid(Pid) ->
      case calculating(Pid) of
          true ->
              ?WARNING("NCI Calculation timeout ~p(~s)~n",
                  [Pid, pid_current_function(Pid)]),
              exit(Pid, timeout),
              stopped;
          false ->
              noop
      end.
  
  calculating(no_process) ->
  