public static Map<String, Set<Integer>> markDropped(final Collection<Geocache> caches) {
        return withAccessLock(() -> {

            final SQLiteStatement remove = PreparedStatement.REMOVE_FROM_ALL_LISTS.getStatement();
            final Map<String, Set<Integer>> oldLists = new HashMap<>();

            database.beginTransaction();
            try {
                final Set<String> geocodes = new HashSet<>(caches.size());
                for (final Geocache cache : caches) {
                    oldLists.put(cache.getGeocode(), loadLists(cache.getGeocode()));

                    remove.bindString(1, cache.getGeocode());
                    remove.execute();
                    geocodes.add(cache.getGeocode());

                    cache.getLists().clear();
                }
                clearVisitDate(geocodes);
                clearLogsOffline(caches);

                database.setTransactionSuccessful();
            } finally {
                database.endTransaction();
            }

            return oldLists;
        });
    }
Loads all Waypoints in the coordinate rectangle.
main/src/main/java/cgeo/geocaching/storage/DataStore.java