private void collectSearchdataCallback(final ArrayList<BasePreferenceFragment.PrefSearchDescriptor> data) {
        synchronized (searchIndex) {
            searchIndex.addAll(data);
            if (StringUtils.isNotBlank(delayedOpenPreference)) {
                for (BasePreferenceFragment.PrefSearchDescriptor pref : data) {
                    if (StringUtils.equals(delayedOpenPreference, pref.prefKey)) {
                        openRequestedFragment(pref.baseKey, delayedOpenPreference);
                        delayedOpenPreference = null;
                        break;
                    }
                }
            }
        }
    }
This method sets the fragment given by its base key,
and optionally starts scrolling to a preference identified by its key
main/src/main/java/cgeo/geocaching/settings/SettingsActivity.java