class BytesValue {

  @Override
  public int hashCode() {
    int h = this.hash;
    if (h == 0 && this.value.length > 0) {
      for (final byte byteValue : this.value) {
        h = 31 * h + byteValue;
      }
      this.hash = h;
    }
    return h;
  }

  public  BytesValue(final byte[] bytes);
  public  BytesValue(final String encoded, final Decoder decoder);

}