docs: private int lowestNonNullIndex(int iTargetPosition)
      {
          Object bookmark = null;
          int iBookmarkIndex = iTargetPosition;
          while (bookmark == null)
          {
              int iArrayIndex = m_gridList.listToArrayIndex(iBookmarkIndex);
              iBookmarkIndex =  m_gridList.arrayToListIndex(iArrayIndex);   // Lowest valid bookmark
              bookmark = m_gridList.elementAt(iBookmarkIndex);
              if (bookmark == null)
              {
                  if (iBookmarkIndex == 0)
                      return -1;  // None found
                  iBookmarkIndex--;
                  if (m_gridBuffer != null)
                      bookmark = m_gridBuffer.elementAt(iBookmarkIndex);  // Check to see if it's in this list
              }
          }
          return iBookmarkIndex;  // Valid bookmark, return it.
      }