public void doWork()
        {
            Partition partition = server.getPartition(request.ObjectKey.PartitionId);
            Dictionary <string, ServerCommunicationService.ServerCommunicationServiceClient> PartitionReplicas = partition.getReplicas();

            lockReplicas(PartitionReplicas, this.request.ObjectKey);
            write_new_value_locally(partition, request);
            WriteReply reply = write_new_value_replicas(PartitionReplicas, request);

            server.setWriteResult(request, reply);
        }
        public void doWork()
        {
            Partition partition = server.getPartition(request.ObjectKey.PartitionId);
            Dictionary <string, ServerCommunicationService.ServerCommunicationServiceClient> PartitionReplicas = partition.getReplicas();

            atomicWriteLocallyAndUpdateClock(partition);

            int clock = partition.getClock();

            Console.WriteLine(">>> PartitionClock=" + clock);
            Console.WriteLine(">>> Start Updating value and clock on replicas...");
            WriteReply reply = write_new_value_replicas(PartitionReplicas, request, clock);

            server.setWriteResult(request, reply);
        }