docs: public void reconstitute(
                               int startMode,
                               HashMap<String, Object> durableSubscriptionsTable)
                      throws
                      SIIncorrectCallException,
                      SIDiscriminatorSyntaxException,
                      SISelectorSyntaxException,
                      MessageStoreException,
                      SIResourceException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(tc,
                          "reconstitute",
                          new Object[] { new Integer(startMode), durableSubscriptionsTable });
  
          // Reconstitute the static state
          initialise(false,
                     durableSubscriptionsTable);
  
          // There should only be one messageItemStream in the BaseDestinationHandler.
          NonLockingCursor cursor =
                          _baseDestinationHandler.newNonLockingItemStreamCursor(
                                          new ClassEqualsFilter(PubSubMessageItemStream.class));
          _pubsubMessageItemStream = (PubSubMessageItemStream) cursor.next();
  
          // Sanity - A BaseDestinationHandler should not be in the DestinationManager
          // without a PubSubMessageItemStream!
          if (_pubsubMessageItemStream == null)
          {
              SIErrorException e =
                              new SIErrorException(
                                              nls.getFormattedMessage(
                                                                      "DESTINATION_HANDLER_RECOVERY_ERROR_CWSIP0048",
                                                                      new Object[] { _baseDestinationHandler.getName() },
                                                                      null));
  
              FFDCFilter.processException(
                                          e,
                                          "com.ibm.ws.sib.processor.impl.destination.PubSubRealization.reconstitute",
                                          "1:458:1.35.2.4",
                                          this);
  
              SibTr.exception(tc, e);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(tc, "reconstitute", e);
              throw e;
          }
  
          cursor.finished();
  
          _pubsubMessageItemStream.reconstitute(_baseDestinationHandler);
          _localisationManager.setLocal();
  
          cursor =
                          _pubsubMessageItemStream.newNonLockingReferenceStreamCursor(
                                          new ClassEqualsFilter(ProxyReferenceStream.class));
          _proxyReferenceStream = (ProxyReferenceStream) cursor.next();
  
          // Sanity - A BaseDestinationHandler should not be in the DestinationManager
          // without a ProxyReferenceStream in the pub/sub case!
          if (_proxyReferenceStream == null)
          {
              SIErrorException e =
                              new SIErrorException(
                                              nls.getFormattedMessage(
                                                                      "DESTINATION_HANDLER_RECOVERY_ERROR_CWSIP0048",
                                                                      new Object[] { _baseDestinationHandler.getName() },
                                                                      null));
  
              FFDCFilter.processException(
                                          e,
                                          "com.ibm.ws.sib.processor.impl.destination.PubSubRealization.reconstitute",
                                          "1:491:1.35.2.4",
                                          this);
  
              SibTr.exception(tc, e);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(tc, "reconstitute", e);
              throw e;
          }
  
          // PK62569 Increment the reference stream count on the pub/sub item stream
          // (the count is not persisted) to include the proxy reference stream.
          _pubsubMessageItemStream.incrementReferenceStreamCount();
  
          cursor.finished();
  
          createInputHandlersForPubSub();
  
          // recover the durable subscriptions
          reconstituteDurableSubscriptions();
  
          //Venu mock mock
          //comenting this out as there is no proxy handler for now. 
          /*
           * // Call the event created on the Proxy handler code.
           * _messageProcessor.getProxyHandler().topicSpaceCreatedEvent(
           * _baseDestinationHandler);
           */
  
          // Reconstitute source streams for PubSubInputHandler
          _pubSubRemoteSupport.reconstituteSourceStreams(startMode, null);
  
          // IMPORTANT: reconstitute remote durable state last so that
          // any local durable state has already been restored.
          _pubSubRemoteSupport.
                          reconstituteRemoteDurable(startMode, _consumerDispatchersDurable);
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "reconstitute");
      }