code: @Nonnull
    public EChange put (@Nullable final ELEMENTTYPE aElement)
    {
      if (m_nAvailable < m_nCapacity)
      {
        if (m_nWritePos >= m_nCapacity)
          m_nWritePos = 0;
        m_aElements[m_nWritePos] = aElement;
        m_nWritePos++;
        m_nAvailable++;
        return EChange.CHANGED;
      }
      else
        if (m_bAllowOverwrite)
        {
          if (m_nWritePos >= m_nCapacity)
            m_nWritePos = 0;
          m_aElements[m_nWritePos] = aElement;
          m_nWritePos++;
          return EChange.CHANGED;
        }
  
      return EChange.UNCHANGED;
    }
docs: Add a new element into the ring buffer
  
  @param aElement
  The element to be added. May be <code>null</code>.
  @return {@link EChange#CHANGED} if the element was successfully added or if
  allow overwrite is active and the element was overwritten.