docs: protected BaseContainer getBaseContainer(Integer containerIndex, PackingPlan packing) {
      BaseContainer container = new BaseContainer();
  
      container.name = TaskUtils.getTaskNameForContainerIndex(containerIndex);
  
      container.runAsUser = Context.role(config);
      container.description = String.format("Container %d for topology %s",
          containerIndex, Context.topologyName(config));
  
      // Fill in the resources requirement for this container
      fillResourcesRequirementForBaseContainer(container, containerIndex, packing);
  
      // Force running as shell
      container.shell = true;
  
      // Infinite retries
      container.retries = Integer.MAX_VALUE;
  
      // The dependencies for the container
      container.dependencies = new ArrayList<>();
      String topologyPath =
          Runtime.schedulerProperties(runtime).getProperty(Key.TOPOLOGY_PACKAGE_URI.value());
      String heronCoreReleasePath = Context.corePackageUri(config);
  
      container.dependencies.add(topologyPath);
      container.dependencies.add(heronCoreReleasePath);
      return container;
    }