code: @Override
      public final NonLockingCursor newNonLockingCursor(Filter filter) throws MessageStoreException
      {
          if (_rootMembership != null)
          {
              return _rootMembership.newNonLockingItemStreamCursor(filter);
          }
          else
          {
              MessageStoreUnavailableException msue;
              if (!_startupExceptions.isEmpty())
              {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled())
                      SibTr.event(this, tc, "Operation not possible as MessageStore failed to start!");
                  msue = new MessageStoreUnavailableException("Operation not possible as MessageStore failed to start!", _startupExceptions.get(0));
              }
              else
              {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled())
                      SibTr.event(this, tc, "Operation not possible as MessageStore is unavailable!");
                  msue = new MessageStoreUnavailableException("Operation not possible as MessageStore is unavailable!");
              }
  
              throw msue;
          }
      }
docs: /*
  (non-Javadoc)
  
  @see com.ibm.ws.sib.msgstore.MessageStore#newNonLockingCursor(com.ibm.ws.sib.msgstore.Filter)