code: @SuppressWarnings("unchecked")
      private static Deserializer<?> getDeserializer(Configuration conf) {
          String deserializerClassName = conf.get(HBaseBackfillMerger.CONFKEY_DESERIALIZER);
          if (deserializerClassName == null) {
              throw new RuntimeException("Configuration didn't set " + deserializerClassName);
          }
          try {
              Class<?> deserializerClass = Class.forName(deserializerClassName);
  
              if (!Deserializer.class.isAssignableFrom(deserializerClass)) {
                  final String errMsg = "The provided deserializer class " +
                          conf.get(HBaseBackfillMerger.CONFKEY_DESERIALIZER) + "doesn't implement " +
                          Deserializer.class.getName();
                  log.error(errMsg);
              }
  
              return ((Class<? extends Deserializer<?>>) deserializerClass).newInstance();
          } catch (Exception e) {
              log.error("Couldn't instantiate deserializer", e);
              throw new RuntimeException(e);
          }
      }
docs: Get the deserializer class name from the job config, instantiate it, and return the instance.
  
  @throws RuntimeException if something goes wrong.