code: private static GoogleCredentials getCredentialsWithScopes(final List<String> scopes)
        throws IOException {
      GoogleCredentials credentials = null;
  
      // first check whether the environment variable is set
      final String googleCredentialsPath = System.getenv("HELIOS_GOOGLE_CREDENTIALS");
      if (googleCredentialsPath != null) {
        final File file = new File(googleCredentialsPath);
        if (file.exists()) {
          try (final FileInputStream s = new FileInputStream(file)) {
            credentials = GoogleCredentials.fromStream(s);
            LOG.info("Using Google Credentials from file: " + file.getAbsolutePath());
          }
        }
      }
  
      // fallback to application default credentials
      if (credentials == null) {
        credentials = GoogleCredentials.getApplicationDefault();
        LOG.info("Using Google Application Default Credentials");
      }
  
      return scopes.isEmpty() ? credentials : credentials.createScoped(scopes);
    }
docs: Attempt to load Google Credentials with specified scopes.
  <ol>
  <li>First check to see if the environment variable HELIOS_GOOGLE_CREDENTIALS is set
  and points to a readable file</li>
  <li>Otherwise check if Google Application Default Credentials (ADC) can be loaded</li>
  </ol>
  
  <p>Note that we use a special environment variable of our own in addition to any environment
  variable that the ADC loading uses (GOOGLE_APPLICATION_CREDENTIALS) in case there is a need
  for the user to use the latter env var for some other purpose.
  
  @return Return a {@link GoogleCredentials}