docs: public final Item getReferredItem() throws SevereMessageStoreException
      {
          if (null == _item)
          {
              if (null == _referredMembership)
              {
                  // may be because it has not been set as a result
                  // of restore from DB
                  ReferenceMembership m = (ReferenceMembership)_getMembership();
                  if (null == m)
                  {
                      throw new NotInMessageStore();
                  }
                  if (null != m)
                  {
                      long refID = m.getReferencedID();
                      if (NO_ID != refID)
                      {
                          MessageStore messageStore = getOwningMessageStore();
                          if (null != messageStore)
                          {
                              _referredMembership = (ItemMembership) messageStore.getMembership(refID);
                          }
                      }
                  }
              }
              if (null != _referredMembership)
              {
                  _item = (Item) _referredMembership.getItem();
              }
          }
          return _item;
      }