docs: public final ItemReference findFirstMatching(final Filter filter) throws MessageStoreException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "findFirstMatching", filter);
  
          ReferenceCollection ic = ((ReferenceCollection) _getMembership());
          if (null == ic)
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(this, tc, "findFirstMatching");
              throw new NotInMessageStore();
          }
          ItemReference item = null;
          if (ic != null)
          {
              item = (ItemReference) ic.findFirstMatching(filter);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "findFirstMatching", item);
          return item;
      }