code: public T build() {
          C clientObject = client;
          if (clientObject == null) {
              clientObject = createClient();
          }
  
          return factory.create(clientObject);
      }
docs: Builds a new service object with the given parameters.
  
  @return the newly-built service object