// Path: src/main/java/org/killbill/billing/plugin/simpletax/util/ShortToStringStyle.java
// public static final ToStringStyle SHORT_STYLE = new ShortToStringStyle();


import static org.killbill.billing.plugin.simpletax.util.ShortToStringStyle.SHORT_STYLE;
import java.math.BigDecimal;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.joda.time.LocalDate;
                .append(name, rhs.name)//
                .append(taxItemDescription, rhs.taxItemDescription)//
                .append(startingOn, rhs.startingOn)//
                .append(stoppingOn, rhs.stoppingOn)//
                .append(country, rhs.country)//
                .isEquals()) {
            return false;
        }
        // Custom processing BigDecimal equality ignoring scale
        if (rate == null) {
            return rhs.rate == null;
        }
        return rate.compareTo(rhs.rate) == 0;
    }

    @Override
    public int hashCode() {
        return new HashCodeBuilder()//
                .append(name)//
                .append(taxItemDescription)//
                // Custom processing BigDecimal hash ignoring scale
                .append(rate == null ? 0 : rate.toString())//
                .append(startingOn)//
                .append(stoppingOn)//
                .append(country)//
                .toHashCode();
    }

    @Override
    public String toString() {
// Path: src/main/java/org/killbill/billing/plugin/simpletax/util/ShortToStringStyle.java
// public static final ToStringStyle SHORT_STYLE = new ShortToStringStyle();


// Path: src/main/java/org/killbill/billing/plugin/simpletax/internal/TaxCode.java
import static org.killbill.billing.plugin.simpletax.util.ShortToStringStyle.SHORT_STYLE;
import java.math.BigDecimal;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.joda.time.LocalDate;

                .append(name, rhs.name)//
                .append(taxItemDescription, rhs.taxItemDescription)//
                .append(startingOn, rhs.startingOn)//
                .append(stoppingOn, rhs.stoppingOn)//
                .append(country, rhs.country)//
                .isEquals()) {
            return false;
        }
        // Custom processing BigDecimal equality ignoring scale
        if (rate == null) {
            return rhs.rate == null;
        }
        return rate.compareTo(rhs.rate) == 0;
    }

    @Override
    public int hashCode() {
        return new HashCodeBuilder()//
                .append(name)//
                .append(taxItemDescription)//
                // Custom processing BigDecimal hash ignoring scale
                .append(rate == null ? 0 : rate.toString())//
                .append(startingOn)//
                .append(stoppingOn)//
                .append(country)//
                .toHashCode();
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, SHORT_STYLE)//