public async Task getNearbyToilets(ParseGeoPoint location, Boolean shouldSkip) { if (currentLocation.Latitude != location.Latitude || currentLocation.Longitude != location.Longitude) { //New location, so empty data _parseToilets.Clear(); currentLocation = location; } var query = new ParseQuery<Toilet>(); query = query.WhereNear("Location", location); query = query.Limit(20); if (shouldSkip) { query = query.Skip(skipCount); skipCount += 20; } IEnumerable<Toilet> result = await query.FindAsync(); if (shouldSkip) { result.ToList().ForEach(_parseToilets.Add); } else { _parseToilets.Clear(); result.ToList().ForEach(_parseToilets.Add); } foreach (Toilet toilet in _parseToilets) { toilet.searchLocationPoint = location; } }