code: public static boolean isTrue(Object o)
      {
          if (o == null)
          {
              return false;
          }
  
          if (o instanceof Boolean)
          {
              return (Boolean) o;
          }
  
          return TRUE_LITERALS.contains(o.toString().toLowerCase(Locale.US));
      }
docs: Checks if a String represents <code>true</code> or <code>false</code>
  according to Asterisk's logic. <br>
  The original implementation is <code>util.c</code> is as follows: <br>
  
  <pre>
  int ast_true(const char *s)
  {
  if (!s || ast_strlen_zero(s))
  return 0;
  <br>
  if (!strcasecmp(s, &quot;yes&quot;) ||
  !strcasecmp(s, &quot;true&quot;) ||
  !strcasecmp(s, &quot;y&quot;) ||
  !strcasecmp(s, &quot;t&quot;) ||
  !strcasecmp(s, &quot;1&quot;) ||
  !strcasecmp(s, &quot;on&quot;))
  return -1;
  <br>
  return 0;
  }
  </pre>
  
  <br>
  To support the dnd property of
  {@link org.asteriskjava.manager.event.ZapShowChannelsEvent} this method
  also consideres the string "Enabled" as true.
  
  @param o the Object (usually a String) to check for <code>true</code>.
  @return <code>true</code> if s represents <code>true</code>,
  <code>false</code> otherwise.