@Override public void deleteObject(String objectId, Boolean allVersions, String user) { StoredObject obj = fStoredObjectMap.get(objectId); if (null == obj) { throw new CmisObjectNotFoundException( "Cannot delete object with id " + objectId + ". Object does not exist."); } if (obj instanceof FolderImpl) { deleteFolder(objectId, user); } else if (obj instanceof DocumentVersion) { DocumentVersion vers = (DocumentVersion) obj; VersionedDocument parentDoc = vers.getParentDocument(); boolean otherVersionsExists; if (allVersions != null && allVersions) { otherVersionsExists = false; List<DocumentVersion> allVers = parentDoc.getAllVersions(); for (DocumentVersion ver : allVers) { fStoredObjectMap.remove(ver.getId()); } } else { fStoredObjectMap.remove(objectId); otherVersionsExists = parentDoc.deleteVersion(vers); } if (!otherVersionsExists) { fStoredObjectMap.remove(parentDoc.getId()); } } else { fStoredObjectMap.remove(objectId); } }