framework/application/api/src/main/java/org/ldp4j/application/vocabulary/ImmutableTerm.java
@Override
	public <V> V as(Class<? extends V> valueClass) {
		try {
			return TypeAdapter.adapt(this, valueClass);
		} catch (CannotAdaptClassesException e) {
			throw new UnsupportedOperationException("Class '"+getClass().getCanonicalName()+" cannot be transformed to '"+valueClass.getCanonicalName()+"'",e);
		}
	}
@Override
	public <V> V as(Class<? extends V> valueClass) {
		try {
			return TypeAdapter.adapt(this, valueClass);
		} catch (CannotAdaptClassesException e) {
			throw new UnsupportedOperationException("Class '"+getClass().getCanonicalName()+" cannot be transformed to '"+valueClass.getCanonicalName()+"'",e);
		}
	}
{@inheritDoc} <br>
This method may be overridden, though it typically isn't necessary or
desirable. An term type should override this method when a more specific
value types are supported.