@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);
		}
	}
@ 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.
{