@Override
	public void insertString(int i, String s, AttributeSet attributeset)
		throws BadLocationException {
	    if (s == null || "".equals(s)) {
		return;
	    }
	    String s1 = getText(0, i);
	    String s2 = getMatch(s1 + s);
	    int j = (i + s.length()) - 1;
	    if (isStrict && s2 == null) {
		s2 = getMatch(s1);
		j--;
	    } else if (!isStrict && s2 == null) {
		super.insertString(i, s, attributeset);
		return;
	    }
	    if (autoComboBox != null && s2 != null) {
		autoComboBox.setSelectedValue(s2);
	    }
	    super.remove(0, getLength());
	    super.insertString(0, s2, attributeset);
	    setSelectionStart(j + 1);
	    setSelectionEnd(getLength());
	}