class SingleRow extends Grid {

    @Override
    protected final boolean appendVisibleItems(int toLimit, boolean oneColumnMode) {
        if (mProvider.getCount() == 0) {
            return false;
        }
        if (!oneColumnMode && checkAppendOverLimit(toLimit)) {
            // not in one column mode, return immediately if over limit
            return false;
        }
        boolean filledOne = false;
        for (int index = getStartIndexForAppend(); index < mProvider.getCount(); index++) {
            int size = mProvider.createItem(index, true, mTmpItem, false);
            int edge;
            if (mFirstVisibleIndex < 0 || mLastVisibleIndex< 0) {
                edge = mReversedFlow ? Integer.MAX_VALUE : Integer.MIN_VALUE;
                mLastVisibleIndex = mFirstVisibleIndex = index;
            } else {
                if (mReversedFlow) {
                    edge = mProvider.getEdge(index - 1) - mProvider.getSize(index - 1) - mSpacing;
                } else {
                    edge = mProvider.getEdge(index - 1) + mProvider.getSize(index - 1) + mSpacing;
                }
                mLastVisibleIndex = index;
            }
            mProvider.addItem(mTmpItem[0], index, size, 0, edge);
            filledOne = true;
            if (oneColumnMode || checkAppendOverLimit(toLimit)) {
                break;
            }
        }
        return filledOne;
    }

      SingleRow();

}