Fixed empty DocIdSetIterator

Change-Id: I322b10563b92898ce662788277761c356eac9221
diff --git a/src/main/java/de/ids_mannheim/korap/cache/VirtualCorpusCache.java b/src/main/java/de/ids_mannheim/korap/cache/VirtualCorpusCache.java
index 6f93974..e1bef61 100644
--- a/src/main/java/de/ids_mannheim/korap/cache/VirtualCorpusCache.java
+++ b/src/main/java/de/ids_mannheim/korap/cache/VirtualCorpusCache.java
@@ -16,6 +16,8 @@
 import java.util.regex.Pattern;
 
 import org.apache.lucene.index.LeafReaderContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import de.ids_mannheim.korap.IndexInfo;
 import de.ids_mannheim.korap.Krill;
@@ -33,6 +35,9 @@
  */
 public class VirtualCorpusCache {
 
+    public final static Logger log = LoggerFactory
+            .getLogger(VirtualCorpusCache.class);
+    
     public static Pattern vcNamePattern = Pattern.compile("[a-zA-Z0-9]+[a-zA-Z_0-9-.]+");
 
     public static String CACHE_LOCATION = "vc-cache";
@@ -150,7 +155,7 @@
                     return docBitsSupplier.supplyDocBits(context,
                             context.reader().getLiveDocs());
                 }
-                catch (IOException | QueryException e) {
+                catch (Exception e) {
                     throw new RuntimeException(e);
                 }
             });
diff --git a/src/main/java/de/ids_mannheim/korap/collection/VirtualCorpusFilter.java b/src/main/java/de/ids_mannheim/korap/collection/VirtualCorpusFilter.java
index 4d7d9aa..15f9ec6 100644
--- a/src/main/java/de/ids_mannheim/korap/collection/VirtualCorpusFilter.java
+++ b/src/main/java/de/ids_mannheim/korap/collection/VirtualCorpusFilter.java
@@ -4,6 +4,7 @@
 
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.search.DocIdSet;
+import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.search.Filter;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.FixedBitSet;
@@ -96,7 +97,10 @@
                 }
             }
             else {
-                bitset.or(docIdSet.iterator());
+                DocIdSetIterator docIdSetIterator = docIdSet.iterator();
+                if (docIdSetIterator != null) {
+                    bitset.or(docIdSetIterator);
+                }
                 if (cbi.isNegative()) {
                     bitset.flip(0, maxDoc);
                 }