code: @Nonnegative
    public int pos (@Nonnegative final int nNewPos)
    {
      ValueEnforcer.isBetweenInclusive (nNewPos, "NewPos", 0, m_aObjs.size ());
      final int nOldPos = m_nPos;
      m_nPos = nNewPos;
      return nOldPos;
    }
docs: Sets the current position.
  
  @param nNewPos
  New position to use
  @return the old value of the current position.
  @throws IllegalArgumentException
  if the new position value is illegal.
  @see #pos()