Fixes tests - adds adds null pointer check.
diff --git a/src/org/waveprotocol/box/server/waveserver/AbstractSearchProviderImpl.java b/src/org/waveprotocol/box/server/waveserver/AbstractSearchProviderImpl.java
index e026a81..b5e81ad 100644
--- a/src/org/waveprotocol/box/server/waveserver/AbstractSearchProviderImpl.java
+++ b/src/org/waveprotocol/box/server/waveserver/AbstractSearchProviderImpl.java
@@ -20,6 +20,7 @@
 package org.waveprotocol.box.server.waveserver;
 
 import com.google.common.base.Function;
+import com.google.common.base.Preconditions;
 import com.google.common.collect.LinkedHashMultimap;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -139,6 +140,7 @@
   protected boolean isWaveletMatchesCriteria(ReadableWaveletData wavelet, ParticipantId user,
       ParticipantId sharedDomainParticipantId, boolean isAllQuery)
           throws WaveletStateException {
+    Preconditions.checkNotNull(wavelet);
     // If it is user data wavelet for the user - return true.
     if (IdUtil.isUserDataWavelet(wavelet.getWaveletId()) && wavelet.getCreator().equals(user)) {
       return true;
@@ -158,7 +160,7 @@
     // explicit or implicit participant and therefore has access permission.
     return true;
   }
-  
+
   /**
    * Ensures that each wave in the current waves view has the user data wavelet by always adding
    *  it to the view.
diff --git a/src/org/waveprotocol/box/server/waveserver/SimpleSearchProviderImpl.java b/src/org/waveprotocol/box/server/waveserver/SimpleSearchProviderImpl.java
index d0104b6..9884daf 100644
--- a/src/org/waveprotocol/box/server/waveserver/SimpleSearchProviderImpl.java
+++ b/src/org/waveprotocol/box/server/waveserver/SimpleSearchProviderImpl.java
@@ -20,6 +20,7 @@
 package org.waveprotocol.box.server.waveserver;
 
 import com.google.common.base.Function;
+import com.google.common.base.Preconditions;
 import com.google.common.collect.LinkedHashMultimap;
 import com.google.common.collect.Lists;
 import com.google.inject.Inject;
@@ -97,7 +98,7 @@
         createWavesViewToFilter(user, isAllQuery);
     Function<ReadableWaveletData, Boolean> filterWaveletsFunction =
         createFilterWaveletsFunction(user, isAllQuery, withParticipantIds, creatorParticipantIds);
-    
+
     ensureWavesHaveUserDataWavelet(currentUserWavesView, user);
 
     List<WaveViewData> results =
@@ -142,7 +143,8 @@
       @Override
       public Boolean apply(ReadableWaveletData wavelet) {
         try {
-          return isWaveletMatchesCriteria(wavelet, user, sharedDomainParticipantId,
+          return wavelet != null
+              && isWaveletMatchesCriteria(wavelet, user, sharedDomainParticipantId,
               withParticipantIds, creatorParticipantIds, isAllQuery);
         } catch (WaveletStateException e) {
           LOG.warning(
@@ -169,6 +171,7 @@
   protected boolean isWaveletMatchesCriteria(ReadableWaveletData wavelet, ParticipantId user,
       ParticipantId sharedDomainParticipantId, List<ParticipantId> withList,
       List<ParticipantId> creatorList, boolean isAllQuery) throws WaveletStateException {
+    Preconditions.checkNotNull(wavelet);
     // Filter by creator. This is the fastest check so we perform it first.
     for (ParticipantId creator : creatorList) {
       if (!creator.equals(wavelet.getCreator())) {