code: public static boolean toBooleanValue(Object o, boolean defaultValue) {
  	if (o instanceof Boolean) return ((Boolean) o).booleanValue();
  	else if (o instanceof Double) return toBooleanValue(((Double) o).doubleValue());
  	else if (o instanceof Number) return toBooleanValue(((Number) o).doubleValue());
  	else if (o instanceof String) {
  	    Boolean b = toBoolean(o.toString(), null);
  	    if (b != null) return b;
  	}
  	// else if(o instanceof Clob) return toBooleanValueEL(toStringEL(o));
  	else if (o instanceof Castable) {
  	    return ((Castable) o).castToBoolean(Caster.toBoolean(defaultValue)).booleanValue();
  
  	}
  	else if (o == null) return toBooleanValue("", defaultValue);
  	else if (o instanceof ObjectWrap) return toBooleanValue(((ObjectWrap) o).getEmbededObject(toBoolean(defaultValue)), defaultValue);
  
  	return defaultValue;
      }
docs: cast a Object to a boolean value (primitive value type), Exception Less
  
  @param o Object to cast
  @param defaultValue
  @return casted boolean value