code: public static Boolean getBooleanValue(Map<String, Object> yamlObject, String key, boolean allowsEmpty)
              throws YamlConvertException {
          Object obj = getObjectValue(yamlObject, key, allowsEmpty);
          if (obj == null) {
              if (allowsEmpty) {
                  return null;
              } else {
                  throw new YamlConvertException(String.format(MSG_MUST_BE_BOOLEAN, key, obj));
              }
          } else if (obj.toString().equalsIgnoreCase("true")) {
              return Boolean.TRUE;
          } else if (obj.toString().equalsIgnoreCase("false")) {
              return Boolean.FALSE;
          } else {
              throw new YamlConvertException(String.format(MSG_MUST_BE_BOOLEAN, key, obj));
          }
      }
docs: if allowsEmpty, returns null for the case no key entry or null value