if (iw != null) {
iw.commit(commitUserData);
} else {
IndexReader r = getRunData().getIndexReader();
if (r != null) {
r.commit(commitUserData);
r.decRef();
} else {
throw new IllegalStateException("neither IndexWriter nor IndexReader is currently open");
}
}