public static void appendToIndividualRoute(@NonNull final Collection<? extends INamedGeoCoordinate> items) {
        withAccessLock(() -> {

            init();
            database.beginTransaction();
            try {
                // get max existing precedence
                int maxPrecedence = -1;
                try {
                    maxPrecedence = (int) PreparedStatement.MAX_ROUTE_PRECEDENCE.getStatement().simpleQueryForLong();
                } catch (Exception ignore) {
                }
                // append new items
                final SQLiteStatement insertRouteItem = PreparedStatement.INSERT_ROUTEITEM.getStatement();
                for (INamedGeoCoordinate item : items) {
                    insertRouteItemHelper(insertRouteItem, new RouteItem(item), ++maxPrecedence);
                }
                database.setTransactionSuccessful();
            } catch (final Exception e) {
                Log.e("Appending to individual route failed", e);
            } finally {
                database.endTransaction();
            }
        });
    }
Persists the given {@code Route} into the database.

@param route a route to save
main/src/main/java/cgeo/geocaching/storage/DataStore.java