} else if (Double[].class.equals(type)) {
return type.cast(property.getValuesAsArray(context().getValueFactories().getDoubleFactory()));
} else if (BigDecimal[].class.equals(type)) {
return type.cast(property.getValuesAsArray(context().getValueFactories().getDecimalFactory()));
} else if (InputStream[].class.equals(type)) {
final BinaryFactory binaryFactory = context().getValueFactories().getBinaryFactory();
InputStream[] result = property.getValuesAsArray(new Property.ValueTypeTransformer<InputStream>() {
@Override
public InputStream transform( Object value ) {
try {
BinaryValue binaryValue = binaryFactory.create(value);
return binaryValue.getStream();
} catch (RepositoryException e) {
throw new RuntimeException(e);
}
}