*/
@SuppressWarnings("unchecked")
protected <T> Key<T> postSaveGetKey(final T entity, final DBObject dbObj, final DBCollection dbColl,
final Map<Object, DBObject> involvedObjects) {
if (dbObj.get(Mapper.ID_KEY) == null) {
throw new MappingException("Missing _id after save!");
}
mapper.updateKeyInfo(entity, dbObj, createCache());
postSaveOperations(involvedObjects);
final Key<T> key = new Key<T>(dbColl.getName(), mapper.getId(entity));