code: public static SanePasswordProvider usingSanePassFile(String passwordFile) {
      return Strings.isNullOrEmpty(passwordFile)
          ? new SaneClientAuthentication()
          : new SaneClientAuthentication(passwordFile);
    }
docs: Returns a password provider that uses the given file in SANE password file format. As described
  in the man page for {@code scanimage(1)}, the file should contain one entry per line, each
  entry being in the following format:
  
  <pre>
  user:password:resourceName
  </pre>
  
  @param passwordFile the path to the password file