int i = 1;
    protected void refetch() {        EODatabaseDataSource ds = (EODatabaseDataSource) dataSource();        EOFetchSpecification spec = ds.fetchSpecificationForFetch();        EOEditingContext ec = ds.editingContext();                int rowCount = ERXEOAccessUtilities.rowCountForFetchSpecification(ec, spec);                int start = (currentBatchIndex()-1) * numberOfObjectsPerBatch();        int end = start + numberOfObjectsPerBatch();        if (numberOfObjectsPerBatch() == 0) {            start = 0;            end = rowCount;        }                if(end > rowCount) {            end = rowCount;        }                setObjectArray(new FakeArray(rowCount));                if(numberOfObjectsPerBatch() == 0) {            _batchCount = 0;        } else if(rowCount == 0) {            _batchCount = 1;        } else {            _batchCount = (rowCount - 1) / numberOfObjectsPerBatch() + 1;        }                spec.setSortOrderings(sortOrderings());                // fetch the primary keys        int i = 1;        NSArray primKeys = ERXEOControlUtilities.primaryKeyValuesInRange(ec, spec, start, end);        NSArray objects = ERXEOControlUtilities.faultsForRawRowsFromEntityInEditingContext(primKeys, spec.entityName(), ec);        //NSArray objects = ERXEOControlUtilities.objectsInRange(ec, spec, start, end);        _displayedObjects = objects;    }