class OpenShiftExtensionAdapter implements ExtensionAdapter<OpenShiftClient>, InternalExtensionAdapter {

  @Override
  public Class<OpenShiftClient> getExtensionType() {
    return OpenShiftClient.class;
  }

  @Override
  public OpenShiftClient adapt(Client client) {
    return new OpenShiftClientImpl(client);
  }

  @Override
  public void registerHandlers(Handlers handlers) {
    handlers.register(BuildConfig.class, BuildConfigOperationsImpl::new);
    handlers.register(Build.class, BuildOperationsImpl::new);
    handlers.register(DeploymentConfig.class, DeploymentConfigOperationsImpl::new);
    handlers.register(RoleBinding.class, RoleBindingOperationsImpl::new);
    handlers.register(Template.class, TemplateOperationsImpl::new);
    handlers.register(Project.class, ProjectOperationsImpl::new);
  }

  @Override
  public void registerClients(ClientFactory factory) {<FILL_FUNCTION_BODY>}

}

    factory.register(OpenShiftConfigAPIGroupDSL.class, new OpenShiftConfigAPIGroupClient());
    factory.register(OpenShiftClusterAutoscalingAPIGroupDSL.class, new OpenShiftClusterAutoscalingAPIGroupClient());
    factory.register(OpenShiftHiveAPIGroupDSL.class, new OpenShiftHiveAPIGroupClient());
    factory.register(V1beta1ClusterAutoscalingAPIGroupDSL.class,
        new V1beta1OpenShiftClusterAutoscalingAPIGroupClient());
    factory.register(V1ClusterAutoscalingAPIGroupDSL.class, new V1OpenShiftClusterAutoscalingAPIGroupClient());
    factory.register(OpenShiftConsoleAPIGroupDSL.class, new OpenShiftConsoleAPIGroupClient());
    factory.register(OpenShiftOperatorAPIGroupDSL.class, new OpenShiftOperatorAPIGroupClient());
    factory.register(OpenShiftOperatorHubAPIGroupDSL.class, new OpenShiftOperatorHubAPIGroupClient());
    factory.register(MachineConfigurationAPIGroupDSL.class, new OpenShiftMachineConfigurationAPIGroupClient());
    factory.register(OpenShiftMachineAPIGroupDSL.class, new OpenShiftMachineAPIGroupClient());
    factory.register(OpenShiftMonitoringAPIGroupDSL.class, new OpenShiftMonitoringAPIGroupClient());
    factory.register(OpenShiftTunedAPIGroupDSL.class, new OpenShiftTunedAPIGroupClient());
    factory.register(OpenShiftQuotaAPIGroupDSL.class, new OpenShiftQuotaAPIGroupClient());
    factory.register(OpenShiftWhereaboutsAPIGroupDSL.class, new OpenShiftWhereaboutsAPIGroupClient());
    factory.register(OpenShiftStorageVersionMigratorApiGroupDSL.class, new OpenShiftStorageVersionMigratorApiGroupClient());
  
<no_super_class>