docs: private void checkVOMSOptions(ProxyInfoParams params,
      List<VOMSAttribute> attributes, X509Certificate[] proxyChain,
      File proxyFilePath) {
  
      if (params.hasACOptions() && attributes.isEmpty())
        throw new VOMSError("No VOMS attributes found!");
  
      if (params.containsOption(PrintOption.ACSUBJECT)
        && !params.containsOption(PrintOption.ALL_OPTIONS)) {
  
        for (VOMSAttribute a : attributes)
          logger.printMessage(OpensslNameUtilities.getOpensslSubjectString(a
            .getHolder()));
  
      }
  
      if (params.containsOption(PrintOption.ACTIMELEFT)
        && !params.containsOption(PrintOption.ALL_OPTIONS)) {
  
        for (VOMSAttribute a : attributes) {
  
          long notAfterInMSec = TimeUtils
            .getTimeLeft(a.getVOMSAC().getNotAfter());
  
          long notAfterInSec = TimeUnit.MILLISECONDS.toSeconds(notAfterInMSec);
  
          logger.printMessage(String.valueOf(notAfterInSec));
  
        }
  
      }
  
      if (params.containsOption(PrintOption.ACISSUER)
        && !params.containsOption(PrintOption.ALL_OPTIONS)) {
  
        for (VOMSAttribute a : attributes)
          logger.printMessage(OpensslNameUtilities.getOpensslSubjectString(a
            .getAACertificates()[0].getSubjectX500Principal()));
  
      }
  
      if (params.containsOption(PrintOption.ACSERIAL)
        && !params.containsOption(PrintOption.ALL_OPTIONS)) {
  
        for (VOMSAttribute a : attributes)
          logger.printMessage(a.getVOMSAC().getSerialNumber().toString());
  
      }
  
      if (params.containsOption(PrintOption.AC_EXISTS)) {
  
        boolean foundRequestedAC = false;
  
        for (VOMSAttribute a : attributes) {
          if (params.getACVO().equals(a.getVO())) {
            foundRequestedAC = true;
            break;
          }
        }
  
        if (!foundRequestedAC)
          throw new VOMSError("AC not found for VO " + params.getACVO());
  
      }
  
      if (params.containsOption(PrintOption.VONAME)
        && !params.containsOption(PrintOption.ALL_OPTIONS)) {
  
        for (VOMSAttribute a : attributes)
          logger.printMessage(a.getVO());
      }
  
      if (params.containsOption(PrintOption.FQAN)
        && !params.containsOption(PrintOption.ALL_OPTIONS)) {
  
        for (VOMSAttribute a : attributes) {
          for (String f : a.getFQANs())
            logger.printMessage(f);
        }
  
      }
  
      if (params.containsOption(PrintOption.SERVER_URI)
        && !params.containsOption(PrintOption.ALL_OPTIONS)) {
  
        for (VOMSAttribute a : attributes) {
          logger.formatMessage("%s:%s\n", a.getHost(), a.getPort());
        }
      }
  
    }