code: public <T extends Client<? extends Options, ? extends OptionsBuilder, ? extends RequestBuilder>> T newClient(Class<? extends Client> clientClass) {
          Client client;
          try {
              client = clientClass.newInstance();
              return (T) client;
          } catch (Exception e) {
              throw new RuntimeException(e);
          }
      }
docs: Return a new {@link Client} instance
  
  @param clientClass the runtime instance class of {@link Client} instance that is returned
  @return a new {@link Client} instance