code: static List<URLChecksumEntity> getArtifactDetailsForCurrentPlatformByRole(File downloadFile,
              InstanceType instanceType) throws FileNotFoundException {
          Preconditions.checkNotNull(downloadFile, "The JSON to get artifact details cannot be null");
          List<URLChecksumEntity> artifactDetails = new ArrayList<URLChecksumEntity>();
  
          JsonArray downloads = (new JsonParser()).parse(new FileReader(downloadFile)).getAsJsonArray();
  
          for (int i = 0; i < downloads.size(); i++) {
              JsonObject artifact = (JsonObject) downloads.get(i);
              if (artifact.has(NAME)) {
                  JsonElement platformJson = artifact.has("any") ? artifact.get("any") : artifact.get(getPlatform());
                  JsonArray rolesJson = artifact.has(ROLES) ? artifact.get(ROLES).getAsJsonArray() : new JsonArray();
                  if (platformJson != null) {
                      JsonObject platform = platformJson.getAsJsonObject();
                      // only add the artifact if it is used for the current role/instanceType
                      if (rolesJson.contains(new JsonParser().parse(instanceType.getFriendlyName()))) {
                          String url = platform.get(URL).getAsString();
                          String checksum = platform.get(CHECKSUM).getAsString();
                          URLChecksumEntity entity = getEntityFromProp(URL, url, CHECKSUM, checksum);
                          artifactDetails.add(entity);
                      }
                  }
              }
          }
  
          return artifactDetails;
      }
docs: Utility method to return the {@link ArtifactDetails} as a {@link List} specific to {@link Platform} and by 'role'
  
  @param downloadFile
  containing the artifact details
  @param instanceType
  the {@link InstanceType} of the current instance
  @return A {@link List} containing the URL and CheckSum
  @throws FileNotFoundException