code: public RiakObject setValue(BinaryValue value)
      {
          if (value != null && value.length() == 0)
          {
              throw new IllegalArgumentException("value can not be zero length");
          }
          this.value = value;
          return this;
      }
docs: Set the value for this RiakObject
  <p>
  Note that if {@link RiakObject#setContentType(java.lang.String)} is not
  called a value of {@value #DEFAULT_CONTENT_TYPE} is used.
  </p>
  <br/><b>Thread Safety:</b><br/>
  Unsafe modifications to the supplied BinaryValue's
  underlying byte[] would be a bad thing.
  
  @param value the value to be stored in Riak.
  @return a reference to this object.
  @throws IllegalArgumentException if {@code value} is zero length.