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());
			if (autoComboBox != null)
			{
				autoComboBox.fireActionEvent();
			}
			current = s2;
		}