docs: public static boolean getPropertyAsBoolean(String name) throws MissingPropertyException {
          if (PropertiesManager.props == null) loadProps();
          boolean retValue = false;
          String value = getProperty(name);
          if (value != null) {
              if (value.equalsIgnoreCase("true")
                      || value.equalsIgnoreCase("yes")
                      || value.equalsIgnoreCase("y")
                      || value.equalsIgnoreCase("on")) {
                  retValue = true;
              } else if (value.equalsIgnoreCase("false")
                      || value.equalsIgnoreCase("no")
                      || value.equalsIgnoreCase("n")
                      || value.equalsIgnoreCase("off")) {
                  retValue = false;
              } else {
                  // this method's historical behavior, maintained here, is to return false
                  // for all values that did not match on of the true values above.
                  log.error(
                          "property ["
                                  + name
                                  + "] is being accessed as a boolean "
                                  + "but had non-canonical value ["
                                  + value
                                  + "].  Returning it as false, "
                                  + "but this may be a property misconfiguration.");
              }
          } else {
              log.fatal(
                      "property ["
                              + name
                              + "] is being accessed as a boolean "
                              + "but was null.  Returning false.  However, it should not have been "
                              + "possible to get here because getProperty() throws a runtime "
                              + "exception or returns a non-null value.");
          }
          return retValue;
      }