docs: private List<Resolvable> resolve(List<Resolvable> images) {
          List<Resolvable> resolved = new ArrayList<>();
          // First pass: Pick all data images and all without dependencies
          for (Resolvable config : images) {
              List<String> volumesOrLinks = extractDependentImagesFor(config);
              if (volumesOrLinks == null) {
                  // A data image only or no dependency. Add it to the list of data image which can be always
                  // created first.
                  updateProcessedImages(config);
                  resolved.add(config);
              } else {
                  secondPass.add(config);
              }
          }
  
          // Next passes: Those with dependencies are checked whether they already have been visited.
          return secondPass.size() > 0 ? resolveRemaining(resolved) : resolved;
      }