in pulsar-client-kafka-compat/pulsar-client-kafka_0_8/src/main/java/org/apache/kafka/clients/producer/PulsarKafkaProducer.java [226:240]
public <T> T newInstance(String key, Class<T> t, VerifiableProperties properties) {
Class<?> c = null;
try {
c = Class.forName(key);
} catch (ClassNotFoundException | NoClassDefFoundError e) {
throw new IllegalArgumentException("class not found for :" + key);
}
if (c == null)
return null;
Object o = newInstance(c, properties);
if (!t.isInstance(o)) {
throw new IllegalArgumentException(c.getName() + " is not an instance of " + t.getName());
}
return t.cast(o);
}