code: public AtomicValue<byte[]>   trySet(final byte[] newValue) throws Exception
      {
          MutableAtomicValue<byte[]>  result = new MutableAtomicValue<byte[]>(null, null, false);
  
          MakeValue                   makeValue = new MakeValue()
          {
              @Override
              public byte[] makeFrom(byte[] previous)
              {
                  return newValue;
              }
          };
          tryOptimistic(result, makeValue);
          if ( !result.succeeded() && (mutex != null) )
          {
              tryWithMutex(result, makeValue);
          }
  
          return result;
      }
docs: Attempt to atomically set the value to the given value. Remember to always
  check {@link AtomicValue#succeeded()}.
  
  @param newValue the value to set
  @return value info
  @throws Exception ZooKeeper errors