code: private String getAqlQuery(boolean includeVirtualRepos) throws IOException {
          List<String> layersDigest = DockerUtils.getLayersDigests(manifest);
          StringBuilder aqlRequestForDockerSha = new StringBuilder("items.find({")
              .append("\"path\":\"").append(imagePath).append("\",\"$or\":[");
  
          List<String> layersQuery = new ArrayList<String>();
          for (String digest : layersDigest) {
              String shaVersion = DockerUtils.getShaVersion(digest);
              String shaValue = DockerUtils.getShaValue(digest);
  
              String singleFileQuery = String.format("{\"name\": \"%s\"}", DockerUtils.digestToFileName(digest));
  
              if (StringUtils.equalsIgnoreCase(shaVersion, "sha1")) {
                  singleFileQuery = String.format("{\"actual_sha1\": \"%s\"}", shaValue);
              }
              layersQuery.add(singleFileQuery);
          }
  
          aqlRequestForDockerSha.append(StringUtils.join(layersQuery, ","));
          if (includeVirtualRepos) {
              aqlRequestForDockerSha.append("]}).include(\"name\",\"repo\",\"path\",\"actual_sha1\",\"virtual_repos\")");
          } else {
              aqlRequestForDockerSha.append("]}).include(\"name\",\"repo\",\"path\",\"actual_sha1\")");
          }
          return aqlRequestForDockerSha.toString();
      }
docs: Prepare AQL query to get all the manifest layers from Artifactory.
  Needed for build-info sha1/md5 checksum for each artifact and dependency.
  
  @return
  @throws IOException