docs: @Override
      public final long getUniqueTickCount() throws PersistenceException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "getUniqueTickCount");
  
          if (_tickCountGenerator != null)
          {
              long key = AbstractItem.NO_ID;
  
              key = _tickCountGenerator.getUniqueValue();
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(this, tc, "getUniqueTickCount", Long.valueOf(key));
              return key;
          }
          else
          {
              MessageStoreUnavailableException msue;
              if (!_startupExceptions.isEmpty())
              {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled())
                      SibTr.event(this, tc, "Operation not possible as MessageStore failed to start!");
                  msue = new MessageStoreUnavailableException("Operation not possible as MessageStore failed to start!", _startupExceptions.get(0));
              }
              else
              {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled())
                      SibTr.event(this, tc, "Operation not possible as MessageStore is unavailable!");
                  msue = new MessageStoreUnavailableException("Operation not possible as MessageStore is unavailable!");
              }
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(this, tc, "getUniqueTickCount");
              throw msue;
          }
      }