class RippleAmount {

  @JsonProperty("currency")
  private String currency;

  @JsonProperty("counterparty")
  private String counterparty;

  @JsonProperty("value")
  private BigDecimal value;

  public String getCurrency() {
    return currency;
  }

  public void setCurrency(final String value) {
    currency = value;
  }

  public String getCounterparty() {
    return counterparty;
  }

  public void setCounterparty(final String value) {
    counterparty = value;
  }

  // issuer is the old term for counterparty
  // still used in the payment json as of v1.8.1
  @JsonProperty("issuer")
  public void setIssuer(final String value) {
    counterparty = value;
  }

  @JsonSerialize(using = ToStringSerializer.class)
  public BigDecimal getValue() {
    return value;
  }

  public void setValue(final BigDecimal value) {
    this.value = value;
  }

  @Override
  public String toString() {<FILL_FUNCTION_BODY>}
}

    return String.format(
        "%s [currency=%s, counterparty=%s, value=%s]",
        getClass().getSimpleName(), currency, counterparty, value);
  
<no_super_class>