class AbstractVector implements Vector {

    @Override public <T> T foldMap(IgniteBiFunction<T, Double, T> foldFun, IgniteDoubleFunction<Double> mapFun,
        T zeroVal) {
        T res = zeroVal;
        int len = size();

        for (int i = 0; i < len; i++)
            res = foldFun.apply(res, mapFun.apply(storageGet(i)));

        return res;
    }

    public  AbstractVector(VectorStorage sto);
    public  AbstractVector(boolean readOnly, VectorStorage sto);
    public  AbstractVector();

}