code: @Override
      public void write(ByteBuffer keybuff, List<Mutation> value) throws IOException
      {
          Range<Token> range = ringCache.getRange(keybuff);
  
          // get the client for the given range, or create a new one
          RangeClient client = clients.get(range);
          if (client == null)
          {
              // haven't seen keys for this range: create new client
              client = new RangeClient(ringCache.getEndpoint(range));
              client.start();
              clients.put(range, client);
          }
  
          for (Mutation amut : value)
              client.put(Pair.create(keybuff, amut));
          if (progressable != null)
              progressable.progress();
          if (context != null)
              HadoopCompat.progress(context);
      }
docs: If the key is to be associated with a valid value, a mutation is created
  for it with the given column family and columns. In the event the value
  in the column is missing (i.e., null), then it is marked for
  {@link Deletion}. Similarly, if the entire value for a key is missing
  (i.e., null), then the entire key is marked for {@link Deletion}.
  </p>
  
  @param keybuff
  the key to write.
  @param value
  the value to write.
  @throws IOException