code: public static JournalReader getInstance(Map<String, String> parameters,
                                              String role,
                                              JournalRecoveryLog recoveryLog,
                                              ServerInterface server)
              throws ModuleInitializationException {
  
          try {
              Object journalReader =
                      JournalHelper
                              .createInstanceAccordingToParameter(PARAMETER_JOURNAL_READER_CLASSNAME,
                                                                  new Class[] {
                                                                          Map.class,
                                                                          String.class,
                                                                          JournalRecoveryLog.class,
                                                                          ServerInterface.class},
                                                                  new Object[] {
                                                                          parameters,
                                                                          role,
                                                                          recoveryLog,
                                                                          server},
                                                                  parameters);
              logger.info("JournalReader is " + journalReader.toString());
              return (JournalReader) journalReader;
          } catch (JournalException e) {
              String msg = "Can't create JournalReader";
              logger.error(msg, e);
              throw new ModuleInitializationException(msg, role, e);
          }
      }
docs: Create an instance of the proper JournalReader child class, as determined
  by the server parameters.