code: public static Pusher getPusher(String pusherClassName, String brokers, String topic, Optional<Config> config) {
      try {
        Class<?> pusherClass = Class.forName(pusherClassName);
  
       return (Pusher) GobblinConstructorUtils.invokeLongestConstructor(pusherClass,
            brokers, topic, config);
      } catch (ReflectiveOperationException e) {
        throw new RuntimeException("Could not instantiate kafka pusher", e);
      }
    }
docs: Create a {@link Pusher}
  @param pusherClassName the {@link Pusher} class to instantiate
  @param brokers brokers to connect to
  @param topic the topic to write to
  @param config additional configuration for configuring the {@link Pusher}
  @return a {@link Pusher}