/** * Set {@link GroupDelta#putShouldSync(boolean)}, and file internally based on updated state. */ public void setShouldSync(GroupDelta child, boolean shouldSync, boolean attemptRemove) { child.putShouldSync(shouldSync); if (shouldSync) { if (attemptRemove) { mUnsyncedGroups.remove(child); } mSyncedGroups.add(child); Collections.sort(mSyncedGroups, sIdComparator); } else { if (attemptRemove) { mSyncedGroups.remove(child); } mUnsyncedGroups.add(child); } }