LuceneSingleIndexLocation indexLocation = (LuceneSingleIndexLocation) location;
File indexDirectory = new File(indexLocation.getReopenFilename()).getParentFile();
File writeLock = null;
boolean weWroteTheWriteLock = false;
try {
indexLocation.checkLock();
if (indexDirectory.canWrite()) {
writeLock = new File(indexDirectory, "write.lock");
if (writeLock.createNewFile()) {
weWroteTheWriteLock = true;
} else {