OmniaGM commented on code in PR #12577: URL: https://github.com/apache/kafka/pull/12577#discussion_r1015481020
########## connect/mirror-client/src/main/java/org/apache/kafka/connect/mirror/MirrorClientConfig.java: ########## @@ -69,6 +74,17 @@ public ReplicationPolicy replicationPolicy() { return getConfiguredInstance(REPLICATION_POLICY_CLASS, ReplicationPolicy.class); } + @SuppressWarnings("unchecked") + ForwardingAdmin getForwardingAdmin(Map<String, Object> config) { + try { + return Utils.newParameterizedInstance( Review Comment: Yes, however, based on my understanding `Configurable` class, 1. `Configurable` usually has no logic in the constructor and doesn't have any parameters passed to the constructor either. Instead, configurations are passed to `Configurable.configure(Map<String, ?> props)` which `getConfiguredInstance` calls after initialize an instance of `Configurable`. 2. Subclasses of `Configurable` aren't forced to implement `configure` and also aren't forced to call `super.configure` as part of the implementation of `configure`. I can change it to `Configurable` if you prefer this, but my point is that `Configurable` doesn't force the subclasses to inheart the initialization or configure logic as they are part of `configure` and not the constructor. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org