private void initFinder(String findString, boolean isHexString, boolean searchForward,
                            boolean ignoreCase)
    {
        if (!searchForward)
            caretStickToStart = true;
        if (finder == null || !findString.equals(previousFindString) ||
            isHexString != previousFindStringWasHex || ignoreCase != previousFindIgnoredCase) {
            previousFindString = findString;
            previousFindStringWasHex = isHexString;
            previousFindIgnoredCase = ignoreCase;

            if (isHexString) {
                finder = new BinaryTextFinder(hexStringToByte(findString), content);
            } else {
                finder = new BinaryTextFinder(findString, content);
                if (ignoreCase)
                    finder.setCaseSensitive(false);
            }
            finder.setNewStart(getCaretPos());
        }
        if (previousFindEnd != getCaretPos()) {
            finder.setNewStart(getCaretPos());
        }
        finder.setDirectionForward(searchForward);
    }
Gets the selection start and end points as long values

@return 2 elements long array, first one the start point (inclusive), second one the end point
        (exclusive)
plugins/org.jkiss.dbeaver.ui.editors.hex/src/org/jkiss/dbeaver/ui/editors/binary/HexEditControl.java