code: public <T> T as(Class<T> clazz, T defaultValue) {
        if (isNull()) {
           return defaultValue;
        }
        T value = as(clazz);
        if (value == null) {
           return defaultValue;
        }
        return value;
     }
docs: Converts the underlying object to the given class type.
  
  @param <T>          the type parameter
  @param clazz        The class to convert to
  @param defaultValue The value to return if the wrapped value is null or cannot be converted
  @return This object as the given type or null if the wrapped object is null