code: @Override
  	public <T> T firstValue(final Class<? extends T> aClazz) {
  		Property property=getProperty();
  		if(property==null) {
  			return null;
  		}
  		LiteralValueExtractor<T> extractor =LiteralValueExtractor.newInstance(aClazz);
  		for(Value value:property) {
  			value.accept(extractor);
  			if(extractor.isAvailable()) {
  				break;
  			}
  		}
  		return extractor.getValue();
  	}
docs: {@inheritDoc}