while ((incount < str.length()) && (count < this.getMaxLength())) { if ((mapped = getMappingCode(str, incount++)) != 0) {
while ((incount < str.length()) && (count < out.length)) { mapped = getMappingCode(str, incount++); if (mapped != 0) {
    public String soundex(String str) {        if (str == null) {            return null;        }        str = this.clean(str);        if (str.length() == 0) {            return str;        }        char out[] = { '0', '0', '0', '0' };        char last, mapped;        int incount = 1, count = 1;        out[0] = str.charAt(0);        last = getMappingCode(str, 0);        while ((incount < str.length()) && (count < this.getMaxLength())) {            if ((mapped = getMappingCode(str, incount++)) != 0) {                if ((mapped != '0') && (mapped != last)) {                    out[count++] = mapped;                }                last = mapped;            }        }        return new String(out);    }