docs: private void restoreJsMessageFromMsgstore(boolean throwExceptionIfNotAvailable)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          {
              SibTr.entry(this, tc, "restoreJsMessageFromMsgstore", Boolean.valueOf(throwExceptionIfNotAvailable));
          }
          restoringJsMessageOnly = true;
  
          // Call a new msgstore method on the Item (?) that will tell msgstore
          // to restore the item
          try
          {
              restoreData(throwExceptionIfNotAvailable);
          } catch (MessageStoreException e)
          {
              // No FFDC code needed
              // set msg as null when specified not to throw Exception when message not available
              if ((e instanceof NotInMessageStore) && !throwExceptionIfNotAvailable)
              {
                  msg = null;
              }
              else
              {
                  // This is bad, if we are here then we don't have our cache and the msgstore can't restore
                  // the message for some reason.
  
                  FFDCFilter.processException(
                                              e,
                                              "com.ibm.ws.sib.processor.impl.store.items.MessageItem.restoreJsMessageFromMsgstore",
                                              "1:3079:1.244.1.40",
                                              this);
  
                  SibTr.exception(tc, e);
  
                  SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0001",
                              new Object[] {
                                            "1:3086:1.244.1.40",
                                            SIMPUtils.getStackTrace(e)
                              });
  
                  SIMPErrorException errorException =
                                  new SIMPErrorException(
                                                  nls.getFormattedMessage(
                                                                          "INTERNAL_MESSAGING_ERROR_CWSIP0001",
                                                                          new Object[] { "com.ibm.ws.sib.processor.impl.store.items.MessageItem", "1:3094:1.244.1.40" },
                                                                          null));
  
                  // TODO : For now we throw a runtime here but we need to look at the stack to see
                  // what this means.
  
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                      SibTr.exit(this, tc, "restoreJsMessageFromMsgstore", e);
  
                  throw errorException;
              }
          } finally
          {
              restoringJsMessageOnly = false;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          {
              SibTr.exit(this, tc, "restoreJsMessageFromMsgstore", msg);
          }
      }