/** * Deletes a blip from this thread, deleting that blip's replies. */ void deleteBlip(WaveletBasedConversationBlip blipToDelete, boolean shouldDeleteSelfIfEmpty) { Preconditions.checkArgument(blips.containsKey(blipToDelete.getId()), "Can't delete blip not from this thread"); blipToDelete.deleteThreads(); manifestThread.removeBlip(blipToDelete.getManifestBlip()); blipToDelete.clearContent(); if (shouldDeleteSelfIfEmpty) { deleteSelfIfEmpty(); } }