code: static void loadSchemas(MessageStore msgStore, long[] schemaIds) throws MessageRestoreFailedException {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(tc, "loadSchemas");
      try {
        // Get the SchemaStore reference, creating a new one if necessary
        SchemaStoreItemStream schemaStore = getSchemaStore(msgStore);
  
        // Check for any unknown schemas
        for (int i = 0; i < schemaIds.length; i++) {
          if (JMFRegistry.instance.retrieve(schemaIds[i]) == null) {
            if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, "Restoring schema:" + schemaIds[i]);
            JMFRegistry.instance.register(schemaStore.findSchema(schemaIds[i]));
          }
        }
      } catch (MessageStoreException e) {
        FFDCFilter.processException(e, "loadSchemas", "105");
        throw new MessageRestoreFailedException(e);
      } catch (JMFException e) {
        FFDCFilter.processException(e, "loadSchemas", "108");
        throw new MessageRestoreFailedException(e);
      }
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "loadSchemas");
    }
docs: decode the message that are not already in the JMF registry must be reloaded