public RepositoryItem createRepositoryItem(String id) {
// TODO The file is not written until outputstream is closed. There is a
// potentially data race with this unique test
if (!gridFS.find(idQuery(id)).isEmpty()) {
throw new DuplicateItemException(id);
}
GridFSInputFile dbFile = gridFS.createFile(id);
dbFile.setId(id);
return createRepositoryItem(dbFile);