@Override
        public boolean equals(Object obj) {
            if (obj == null) {
                return false;
            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            final Rule other = (Rule) obj;
            if (!Objects.equals(this.expression, other.expression)) {
                return false;
            }
            return Objects.equals(this.replacement, other.replacement);
        }
Apply the rule against the input string, returning the modified
string or null if the rule didn't apply (and no modifications were
made)

@param input the input string
@return the modified string if this rule applied, or null if the
input was not modified by this rule
generator-parent/generator-translator/src/main/java/com/speedment/generator/translator/util/Pluralis.java