docs: @Override
  	public void draw(final Canvas canvas, final Projection pj) {
  		if (mPendingFocusChangedEvent && mOnFocusChangeListener != null)
  			mOnFocusChangeListener.onFocusChanged(this, mFocusedItem);
  		mPendingFocusChangedEvent = false;
  
  		final int size = Math.min(this.mInternalItemList.size(), mDrawnItemsLimit);
  
  		if (mInternalItemDisplayedList == null || mInternalItemDisplayedList.length != size) {
  			mInternalItemDisplayedList = new boolean[size];
  		}
  
  		/* Draw in backward cycle, so the items with the least index are on the front. */
  		for (int i = size - 1; i >= 0; i--) {
  			final Item item = getItem(i);
  			if (item == null) {
  				continue;
  			}
  
              pj.toPixels(item.getPoint(), mCurScreenCoords);
  			calculateItemRect(item, mCurScreenCoords, itemRect);
  
  			mInternalItemDisplayedList[i] = onDrawItem(canvas,item, mCurScreenCoords, pj);
          }
      }