class AbstractVector implements Vector {

    @Override public boolean equals(Object obj) {
        if (this == obj)
            return true;

        if (obj == null || getClass() != obj.getClass())
            return false;

        AbstractVector that = (AbstractVector)obj;

        return (sto != null ? sto.equals(that.sto) : that.sto == null);
    }

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

}