code: @Override
      public int getStorageStrategy()
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "getStorageStrategy");
  
          int storageStrategy;
  
          Reliability rel = getReliability();
          if (rel == Reliability.BEST_EFFORT_NONPERSISTENT)
          {
              storageStrategy = STORE_NEVER;
          }
          else
          {
              // If the message has a reliability of Assured the storage strategy is
              // STORE_ALWAYS except when this message is for pubsub and only has
              // non-durable references. In this case the references will be
              // STORE_MAYBE as there is no need to make the message more robust.
              if ((maintainPersistence != 0)
                  && (rel == Reliability.RELIABLE_PERSISTENT))
              {
                  storageStrategy = STORE_EVENTUALLY;
              }
              else if ((maintainPersistence != 0)
                       && (rel == Reliability.ASSURED_PERSISTENT))
              {
                  storageStrategy = STORE_ALWAYS;
              }
              else
              {
                  storageStrategy = STORE_MAYBE;
              }
          }
  
          // ensure value does not exceed maximum permitted, eg not
          // possible to store assured on a temporary destination
          storageStrategy =
                          storageStrategy < maxStorageStrategy
                                          ? storageStrategy
                                          : maxStorageStrategy;
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "getStorageStrategy", Integer.valueOf(storageStrategy));
  
          return storageStrategy;
      }
docs: /*
  (non-Javadoc)
  
  @see com.ibm.ws.sib.store.AbstractItem#getStorageStrategy()