code: public final <T extends Expression> T as(@NonNull Class<T> clazz) {
      return isInstance(clazz) ? clazz.cast(this) : null;
    }
docs: Tries to convert the expression into a specific implementation.
  
  @param <T>   The implementation to convert to
  @param clazz Class information for the implementation to convert to
  @return The expression as the given implementation or null if could not convert.