docs: public static List<RepositoryConfigValidationResult> validateRepositoryPropertiesFile(Properties repoProperties) throws InstallException {
  
          List<RepositoryConfigValidationResult> validationResults = new ArrayList<RepositoryConfigValidationResult>();
          // Retrieves the Repository Properties file
          File repoPropertiesFile = new File(getRepoPropertiesFileLocation());
          Map<String, String> configMap = new HashMap<String, String>();
          Map<String, Integer> lineMap = new HashMap<String, Integer>();
  
          if (repoPropertiesFile.exists() && repoPropertiesFile.isFile()) {
              logger.log(Level.FINE, Messages.INSTALL_KERNEL_MESSAGES.getLogMessage("LOG_VALIDATING", getRepoPropertiesFileLocation()));
              //Load repository properties
              FileInputStream repoPropertiesInput = null;
              BufferedReader repoPropertiesReader = null;
              try {
                  repoPropertiesInput = new FileInputStream(repoPropertiesFile);
                  repoPropertiesReader = new BufferedReader(new InputStreamReader(repoPropertiesInput));
                  String line;
                  int lineNum = 0;
                  //Validate configurations in the repositories.properties file
                  while ((line = repoPropertiesReader.readLine()) != null) {
                      lineNum++;
                      validateRepositoryPropertiesLine(repoProperties, line, lineNum, configMap, lineMap, validationResults);
                  }
                  //Missing Host
                  if (configMap.containsKey(PROXY_HOST)) {
                      int ln = lineMap.get(PROXY_HOST);
                      if (!configMap.containsKey(PROXY_PORT)) {
                          validationResults.add(new RepositoryConfigValidationResult(ln, ValidationFailedReason.MISSING_PORT, Messages.INSTALL_KERNEL_MESSAGES.getLogMessage("MSG_VALIDATION_MISSING_PORT_VALUE",
                                                                                                                                                                             configMap.get(PROXY_HOST))));
                      } else {
                          /**
                           * verify proxy host url along with the port number
                           */
                          String proxyHost = repoProperties.getProperty(InstallConstants.REPO_PROPERTIES_PROXY_HOST);
                          String proxyPort = repoProperties.getProperty(InstallConstants.REPO_PROPERTIES_PROXY_PORT);
                          try {
                              //Trim any trailing whitespaces
                              proxyHost = proxyHost.trim();
                              proxyPort = proxyPort.trim();
                              URL proxyUrl = null;
                              if (proxyHost.toLowerCase().contains("://")) {
                                  proxyUrl = new URL(proxyHost + ":" + proxyPort);
                                  if (!proxyUrl.getProtocol().toLowerCase().equals("http"))
                                      validationResults.add(new RepositoryConfigValidationResult(ln, ValidationFailedReason.INVALID_HOST, Messages.INSTALL_KERNEL_MESSAGES.getLogMessage("MSG_VALIDATION_INVALID_HOST",
                                                                                                                                                                                         configMap.get(PROXY_HOST))));
                              } else {
                                  new URL("http://" + proxyHost + ":" + proxyPort);
                              }
  
                          } catch (MalformedURLException e) {
                              validationResults.add(new RepositoryConfigValidationResult(ln, ValidationFailedReason.INVALID_HOST, Messages.INSTALL_KERNEL_MESSAGES.getLogMessage("MSG_VALIDATION_INVALID_HOST",
                                                                                                                                                                                 configMap.get(PROXY_HOST))));
                          }
                      }
                  } else {
                      if (configMap.containsKey(PROXY_PORT) || configMap.containsKey(PROXY_USER) || configMap.containsKey(PROXY_PASSWORD)) {
                          int ln = 0;
                          if (lineMap.containsKey(PROXY_PORT))
                              ln = lineMap.get(PROXY_PORT);
                          else if (lineMap.containsKey(PROXY_USER))
                              ln = lineMap.get(PROXY_USER);
                          else
                              ln = lineMap.get(PROXY_PASSWORD);
                          validationResults.add(new RepositoryConfigValidationResult(ln, ValidationFailedReason.MISSING_HOST, Messages.INSTALL_KERNEL_MESSAGES.getLogMessage("MSG_VALIDATION_MISSING_HOST")));
                      }
                  }
              } catch (IOException e) {
                  throw new InstallException(Messages.INSTALL_KERNEL_MESSAGES.getLogMessage("ERROR_TOOL_REPOSITORY_PROPS_NOT_LOADED",
                                                                                            getRepoPropertiesFileLocation()), InstallException.IO_FAILURE);
              } finally {
                  InstallUtils.close(repoPropertiesInput);
                  InstallUtils.close(repoPropertiesReader);
              }
              logger.log(Level.FINE, Messages.INSTALL_KERNEL_MESSAGES.getLogMessage("LOG_VALIDATION_DONE"));
          }
  
          return validationResults;
  
      }