code: public DockerContainerObjectBuilder<T> withContainerObjectConfiguration(ContainerObjectConfiguration configuration) {
          if (configuration == null) {
              throw new IllegalArgumentException("configuration cannot be null");
          }
          if (configuration != null && !(configuration instanceof CubeContainerObjectConfiguration)) {
              throw new IllegalArgumentException(
                  String.format("container object configuration received of type %s, but only %s is supported",
                      configuration.getClass().getSimpleName(), CubeContainerObjectConfiguration.class.getSimpleName()));
          }
          this.providedConfiguration =
              configuration != null ? ((CubeContainerObjectConfiguration) configuration).getCubeContainerConfiguration()
                  : null;
  
          return this;
      }
docs: Specifies a configuration (can be partial) to be used to override the default configuration set using annotations
  on the container object. The received configuration will be merged with the configuration extracted from the
  container object, and the resulting configuration will be used to build the docker container.
  <p>
  Currently only supports instances of {@link CubeContainerObjectConfiguration}
  
  @param configuration
  partial configuration to override default container object cube configuration
  
  @return the current builder instance
  
  @see CubeContainerObjectConfiguration
  @see CubeContainer