code: public boolean getBoolean(String key, boolean defaultValue)
      {
          String tmp = properties.getProperty(key);
  
          if (tmp == null)
          {
              logger.debug("No value for key \"" + key + "\", using default "
                      + defaultValue + ".");
              properties.put(key, String.valueOf(defaultValue));
              return defaultValue;
          }
  
          for (int i = 0; i < trueValues.length; i++)
          {
              if (tmp.equalsIgnoreCase(trueValues[i]))
              {
                  return true;
              }
          }
  
          for (int i = 0; i < falseValues.length; i++)
          {
              if (tmp.equalsIgnoreCase(falseValues[i]))
              {
                  return false;
              }
          }
  
          logger.warn(
                  "Value \""
                  + tmp
                  + "\" is illegal for key \""
                  + key
                  + "\" (should be a boolean, using default value "
                  + defaultValue
                  + ")");
          return defaultValue;
      }
docs: Returns the boolean value for the specified key. If no value for this key
  is found in the configuration or the value is not an legal boolean
  <code>defaultValue</code> is returned.
  
  @see #trueValues
  @see #falseValues
  
  @param key the key
  @param defaultValue the default Value
  @return the value for the key, or <code>defaultValue</code>