code: public static MetadataHandler getDefaultMetadataHandler(Connection conn) {
          MetadataHandler result = null;
          Constructor<?> constructor = null;
  
          Class<?> clazz = instance().defaultMetadataHandler;
  
          try {
              constructor = clazz.getConstructor(Connection.class, boolean.class);
              result = (MetadataHandler) constructor.newInstance(conn, false);
          } catch (SecurityException e) {
              throw new MjdbcRuntimeException(ERROR_MH_INIT_FAILED, e);
          } catch (NoSuchMethodException e) {
              throw new MjdbcRuntimeException(ERROR_MH_INIT_FAILED, e);
          } catch (IllegalArgumentException e) {
              throw new MjdbcRuntimeException(ERROR_MH_INIT_FAILED, e);
          } catch (InstantiationException e) {
              throw new MjdbcRuntimeException(ERROR_MH_INIT_FAILED, e);
          } catch (IllegalAccessException e) {
              throw new MjdbcRuntimeException(ERROR_MH_INIT_FAILED, e);
          } catch (InvocationTargetException e) {
              throw new MjdbcRuntimeException(ERROR_MH_INIT_FAILED, e);
          }
  
          return result;
      }
docs: Creates new {@link MetadataHandler} implementation instance based on default statement handler
  implementation class set via {@link #setDefaultMetadataHandler(Class)}
  
  @param conn SQL Connection
  @return new {@link MetadataHandler} implementation instance