code: private StatementHandler getStatementHandler(Class<? extends StatementHandler> statementHandlerClazz) {
          StatementHandler result = null;
          Constructor<? extends StatementHandler> constructor = null;
  
          Class<? extends StatementHandler> clazz = statementHandlerClazz;
  
          try {
              constructor = clazz.getConstructor(Overrider.class);
              result = constructor.newInstance(overrider);
          } catch (SecurityException e) {
              throw new MjdbcRuntimeException(ERROR_SH_INIT_FAILED, e);
          } catch (NoSuchMethodException e) {
              throw new MjdbcRuntimeException(ERROR_SH_INIT_FAILED, e);
          } catch (IllegalArgumentException e) {
              throw new MjdbcRuntimeException(ERROR_SH_INIT_FAILED, e);
          } catch (InstantiationException e) {
              throw new MjdbcRuntimeException(ERROR_SH_INIT_FAILED, e);
          } catch (IllegalAccessException e) {
              throw new MjdbcRuntimeException(ERROR_SH_INIT_FAILED, e);
          } catch (InvocationTargetException e) {
              throw new MjdbcRuntimeException(ERROR_SH_INIT_FAILED, e);
          }
  
          return result;
      }
docs: Creates new StatementHandler instance
  
  @param statementHandlerClazz StatementHandler implementation class
  @return new StatementHandler implementation instance