@Override public void remove(FilterBypass fb,
                                         int          offset,
                                         int          length)
                                  throws BadLocationException {
                // special case if the removal is due to BACK SPACE
                if ((offset > 0) && (offset == getCaretPosition())) {
                    AWTEvent ev = EventQueue.getCurrentEvent();
                    if ((ev instanceof KeyEvent)
                            && (((KeyEvent) ev).getKeyCode()
                                == KeyEvent.VK_BACK_SPACE)) {
                        --offset;
                        ++length;
                        setCaretPosition(offset);
                    }
                }

                super.remove(fb, offset, length);
                editorUpdated();
            }
@Override public void remove(FilterBypass fb,
                                         int          offset,
                                         int          length)