class DefaultMultiValue implements MultiValue {

    @Override
    public ValueHolder getHolder(int position) {
        Object obj = getAbstractHolder(position);

        if (obj instanceof ValueHolder) {
            return (ValueHolder) obj;
        }

        throw new GettingWrongTypeException(position, "AbstractHolder", obj);
    }

    public  DefaultMultiValue(Object[] values);
    public  DefaultMultiValue(Object[] values, Map<String, Integer> indexMap);
    public  DefaultMultiValue(ParameterEntryKey key, Object[] values, Map<String, Integer> indexMap);

}