code: private static SchemaStoreItemStream getSchemaStore(MessageStore msgStore) throws MessageStoreException {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(tc, "getSchemaStore");
  
      // Check the local cache first.
      SchemaStoreItemStream store = schemaStores.get(msgStore);
  
      // Not in the local cache, so try to find it in the MessageStore
      if (store == null) {
        Filter filter = new Filter() {
          public boolean filterMatches(AbstractItem item) {
            return (item instanceof SchemaStoreItemStream);
          }
        };
        store = (SchemaStoreItemStream)msgStore.findFirstMatching(filter);
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled() && store != null) SibTr.debug(tc, "Schema store found in message store");
  
        // Not in the MessageStore, so try to create a new one
        if (store == null) {
          store = new SchemaStoreItemStream();
          msgStore.add(store, msgStore.getTransactionFactory().createAutoCommitTransaction());
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, "New schema store created");
        }
  
        schemaStores.put(msgStore, store);
  
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "getSchemaStore");
      return store;
    }
docs: SchemaStore for a particular ME.