protected boolean findEntry() {
            keywordOffsetArray = new Vector<Integer>();
            boolean matchCase = Search.getMatchCase();
            searchKeyword = Search.getSearchString();
            
            styledText.redraw();
            
            String str;
            Pattern p;
            
            if (!matchCase)
            {
                str = styledText.getText().toLowerCase();
                p = Pattern.compile(searchKeyword.toLowerCase());
            }
            else
            {
                str = styledText.getText();
                p = Pattern.compile(searchKeyword);
            }
            
            Matcher m = p.matcher(str);

            while (m.find()) { // find next match
                int match = m.start();
                if (!keywordOffsetArray.contains(m.start()))
                {
                    // add offset of match to array
                    keywordOffsetArray.add(match);
                }
            }
                // jump to first match
                if (!keywordOffsetArray.isEmpty())
                {
                    if (!searchKeyword.isEmpty())
                    {
                        mntmFindNext.setEnabled(true);
                    }
                    
                    styledText.setTopIndex(styledText.getLineAtOffset(keywordOffsetArray.get(0) - searchKeyword.length()));
                    offsetIndex++;
                    Search.shlSearch.setVisible(false);
                    return true;

                }
                else
                {
                    return false;
                }
    }