public void remove( int offs, int len ) throws BadLocationException {
		boolean proceed = true;

		if ( dontCheck == false ) {
			try {
				String tmp = super.getText(0, offs) + (super.getLength()>(offs+len) ? super.getText(offs+len, super.getLength()-(offs+len)) : "");
				Matcher m = p.matcher(tmp);
				proceed = m.matches();
			} catch (BadLocationException f) {}
		}

		if ( proceed == true ) super.remove( offs, len );
	}