code: @Override
      public void start(Map<String, String> options) throws Exception {
          // This must be done before starting "RebuildServer"
          // rather than after, so any application caches
          // (in particular the hash map held by PIDGenerator)
          // don't get out of sync with the database.
          blankExistingTables();
          try {
              m_server = Rebuild.getServer();
              // now get the connectionpool
              ConnectionPoolManager cpm =
                      (ConnectionPoolManager) m_server
                              .getModule("org.fcrepo.server.storage.ConnectionPoolManager");
              if (cpm == null) {
                  throw new ModuleInitializationException("ConnectionPoolManager not loaded.",
                                                          "ConnectionPoolManager");
              }
              m_connectionPool = cpm.getPool();
              ensureFedoraTables();
              // set m_now, which is both when we are starting this job and the flag
              // that it was started
              m_now = System.currentTimeMillis();
              startStatus(m_now);
              m_context =
                      ReadOnlyContext.getContext("utility", "fedoraAdmin", "", /* null, */
                      ReadOnlyContext.DO_OP);
  
              ILowlevelStorage llstore =
                      (ILowlevelStorage) m_server
                              .getModule("org.fcrepo.server.storage.lowlevel.ILowlevelStorage");
              try {
                  llstore.rebuildObject();
                  llstore.rebuildDatastream();
              } catch (LowlevelStorageException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
  
          } catch (InitializationException ie) {
              logger.error("Error initializing", ie);
              throw ie;
          }
      }
docs: Validate the provided options and perform any necessary startup tasks.