anchor.diff:                  ok ->
                       case lists:member(IndexNode, UpdatedPartitions) of
                           false ->
  -                            lager:info("Adding leader: ~p, update: ~p",
  -                                       [IndexNode, UpdatedPartitions]),
                               NewUpdatedPartitions = lists:append(UpdatedPartitions,
                                                                   [IndexNode]),
                               SD1 = SD0#state{updated_partitions=NewUpdatedPartitions},
  
positive.code:                  S0=#state{num_to_ack=NumToAck, prepare_time=PrepareTime}) ->
      MaxPrepareTime = max(PrepareTime, ReceivedPrepareTime),
      case NumToAck of 1 ->
              lager:info("ClockSI: start committing... Commit time: ~w.",
                         [MaxPrepareTime]),
              {next_state, committing, S0#state{prepare_time=MaxPrepareTime,
                                                commit_time=MaxPrepareTime,
                                                state=committing}, 0};
          _ ->
              lager:info("ClockSI: Keep collecting prepare replies."),
              {next_state, receive_prepared, S0#state
               {num_to_ack=NumToAck-1, prepare_time=MaxPrepareTime}}
      end;
  
negative.code:     NumToAck = length(UpdatedPartitions),
      case NumToAck of
          0 ->
              {next_state, reply_to_client, SD0#state{state=committed}, 0};
          _ ->
              clocksi_vnode:commit(UpdatedPartitions, Transaction, CommitTime),
  