class DefaultMultiValue implements MultiValue {

    @Override
    public String toStringInline() {
        Object[] rawValues = unwrap();
        StringBuilder sb = new StringBuilder(INLINE_TO_STRING_LENGTH);
        sb.append('[');

        for (int i = 0; i < rawValues.length; ++i) {
            if (i > 0) {
                sb.append(", ");
            }

            Object v = rawValues[i];

            if (v instanceof Object[]) {
                sb.append(Arrays.toString((Object[]) v));
            } else {
                sb.append(v);
            }
        }

        sb.append(']');
        return sb.toString();
    }

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

}