docs: @Override
      public List<DataSlice> getPersistentData() throws PersistentDataEncodingException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "getPersistentData");
  
          //Late store of the currentMEArrivalTimestamp.  If the message is never stored
          //in the message store, then there's no point taking the hit of storing the
          //timestamp in the message
          if (!arrivalTimeStored)
          {
              msg.setCurrentMEArrivalTimestamp(currentMEArrivalTimeStamp);
              arrivalTimeStored = true;
          }
          if (producerConnectionUuid != null)
          {
              //see defect 278038
              //Late store of the currentMEArrivalTimestamp.  If the message is never stored
              //in the message store, then there's no point taking the hit
              msg.setConnectionUuid(producerConnectionUuid);
          }
  
          List<DataSlice> data = null;
  
          try
          {
              // Prevent any concurrent JsMessage property changes that may cause
              // a serialization error
              synchronized (messageSyncUpdateLock)
              {
                  //get the message's data in a list of DataSlice objects
                  data = msg.flatten(getOwningMessageStore());
              }
          } catch (MessageEncodeFailedException e)
          {
              FFDCFilter.processException(
                                          e,
                                          "com.ibm.ws.sib.processor.impl.store.items.MessageItem.getPersistentData",
                                          "1:861:1.244.1.40",
                                          this);
  
              SibTr.exception(tc, e);
              SibTr.error(tc, "MESSAGE_CORRUPT_ERROR_CWSIP0262",
                          new Object[] {
                          SIMPUtils.getStackTrace(e)
                          });
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(this, tc, "getPersistentData", e);
  
              throw new PersistentDataEncodingException(
                              nls.getFormattedMessage(
                                                      "MESSAGE_CORRUPT_ERROR_CWSIP0262",
                                                      new Object[] {
                                                      e },
                                                      null),
                              e);
          } catch (MessageStoreException e)
          {
              // No FFDC code needed
              // We dont generate an FFDC here as this is sometimes acceptable behaviour - d542075
  
              SibTr.exception(tc, e);
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(this, tc, "getPersistentData", e);
  
              throw new PersistentDataEncodingException(e);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "getPersistentData");
  
          return data;
      }