docs: protected synchronized void streamingSlopPut(ByteArray key,
                                                   Versioned<byte[]> value,
                                                   String storeName,
                                                   int failedNodeId) throws IOException {
  
          Slop slop = new Slop(storeName,
                               Slop.Operation.PUT,
                               key,
                               value.getValue(),
                               null,
                               failedNodeId,
                               new Date());
  
          ByteArray slopKey = slop.makeKey();
          Versioned<byte[]> slopValue = new Versioned<byte[]>(slopSerializer.toBytes(slop),
                                                              value.getVersion());
  
          Node failedNode = adminClient.getAdminClientCluster().getNodeById(failedNodeId);
          HandoffToAnyStrategy slopRoutingStrategy = new HandoffToAnyStrategy(adminClient.getAdminClientCluster(),
                                                                              true,
                                                                              failedNode.getZoneId());
          // node Id which will receive the slop
          int slopDestination = slopRoutingStrategy.routeHint(failedNode).get(0).getId();
  
          VAdminProto.PartitionEntry partitionEntry = VAdminProto.PartitionEntry.newBuilder()
                                                                                .setKey(ProtoUtils.encodeBytes(slopKey))
                                                                                .setVersioned(ProtoUtils.encodeVersioned(slopValue))
                                                                                .build();
  
          VAdminProto.UpdatePartitionEntriesRequest.Builder updateRequest = VAdminProto.UpdatePartitionEntriesRequest.newBuilder()
                                                                                                                     .setStore(SLOP_STORE)
                                                                                                                     .setPartitionEntry(partitionEntry);
  
          DataOutputStream outputStream = nodeIdStoreToOutputStreamRequest.get(new Pair<String, Integer>(SLOP_STORE,
                                                                                                         slopDestination));
  
          if(nodeIdStoreInitialized.get(new Pair<String, Integer>(SLOP_STORE, slopDestination))) {
              ProtoUtils.writeMessage(outputStream, updateRequest.build());
          } else {
              ProtoUtils.writeMessage(outputStream,
                                      VAdminProto.VoldemortAdminRequest.newBuilder()
                                                                       .setType(VAdminProto.AdminRequestType.UPDATE_PARTITION_ENTRIES)
                                                                       .setUpdatePartitionEntries(updateRequest)
                                                                       .build());
              outputStream.flush();
              nodeIdStoreInitialized.put(new Pair<String, Integer>(SLOP_STORE, slopDestination), true);
  
          }
  
          throttler.maybeThrottle(1);
  
      }