protected PyObject get(final int i) {
        if (this.dimensions.length < 1) { throw Py
                .IndexError("too few dimensions"); }
        final int newStart = this.start + this.fixIndex(i, 0) * this.strides[0];
        final int[] newDimensions = new int[this.dimensions.length - 1];
        final int[] newStrides = new int[this.dimensions.length - 1];
        for (int j = 0; j < this.dimensions.length - 1; j++) {
            newDimensions[j] = this.dimensions[j + 1];
            newStrides[j] = this.strides[j + 1];
        }
        return PyMultiarray.returnValue(new PyMultiarray(
                this.data,
                this._typecode,
                newStart,
                newDimensions,
                newStrides));
    }