code: public static Character coerceToCharacter(Object pValue,
                                                Logger pLogger)
              throws ELException {
          if (pValue == null ||
                  "".equals(pValue)) {
              return PrimitiveObjects.getCharacter((char) 0);
          } else if (pValue instanceof Character) {
              return (Character) pValue;
          } else if (pValue instanceof Boolean) {
              if (pLogger.isLoggingError()) {
                  pLogger.logError(Constants.BOOLEAN_TO_CHARACTER, pValue);
              }
              return PrimitiveObjects.getCharacter((char) 0);
          } else if (pValue instanceof Number) {
              return PrimitiveObjects.getCharacter
                      ((char) ((Number) pValue).shortValue());
          } else if (pValue instanceof String) {
              String str = (String) pValue;
              return PrimitiveObjects.getCharacter(str.charAt(0));
          } else {
              if (pLogger.isLoggingError()) {
                  pLogger.logError
                          (Constants.COERCE_TO_CHARACTER,
                                  pValue.getClass().getName());
              }
              return PrimitiveObjects.getCharacter((char) 0);
          }
      }
docs: Coerces a value to a Character