docs: private Queue<ImageConfiguration> prepareStart(ServiceHub hub, QueryService queryService, RunService runService, Set<String> imageAliases)
          throws DockerAccessException, MojoExecutionException {
          final Queue<ImageConfiguration> imagesWaitingToStart = new ArrayDeque<>();
          for (StartOrderResolver.Resolvable resolvable : runService.getImagesConfigsInOrder(queryService, getResolvedImages())) {
              final ImageConfiguration imageConfig = (ImageConfiguration) resolvable;
  
              // Still to check: How to work with linking, volumes, etc ....
              //String imageName = new ImageName(imageConfig.getName()).getFullNameWithTag(registry);
              RunImageConfiguration runConfig = imageConfig.getRunConfiguration();
  
              RegistryService.RegistryConfig registryConfig = getRegistryConfig(pullRegistry);
              ImagePullManager pullManager = getImagePullManager(determinePullPolicy(runConfig), autoPull);
  
              hub.getRegistryService().pullImageWithPolicy(imageConfig.getName(), pullManager, registryConfig,
                                                           queryService.hasImage(imageConfig.getName()));
  
              NetworkConfig config = runConfig.getNetworkingConfig();
              List<String> bindMounts = extractBindMounts(runConfig.getVolumeConfiguration());
              List<VolumeConfiguration> volumes = getVolumes();
              if(!bindMounts.isEmpty() && volumes != null) {
                  runService.createVolumesAsPerVolumeBinds(hub, bindMounts, volumes);
              }
              if (autoCreateCustomNetworks && config.isCustomNetwork()) {
                  runService.createCustomNetworkIfNotExistant(config.getCustomNetwork());
              }
              imagesWaitingToStart.add(imageConfig);
              updateAliasesSet(imageAliases, imageConfig.getAlias());
          }
          return imagesWaitingToStart;
      }