...
/**
* Adds an element to the set.
* @param iElementToAdd
* The element to add to the set.
* <br><b>Cyclic reference<b>: A copy of <tt>iElementToAdd</tt> is kept and
* AddRef'ed. It is Released either when the element is removed from the set,
* or by the CATSO destructor.
* @param iCheckIfThere
* A flag to check if <tt>iElementToAdd</tt> is already in the set.
* <br><b>Legal values<b>: A non null value to check if <tt>iElementToAdd</tt>
* is already in the set and to add it only if it is not,
* and 0 to add it without check at the end of the set, which is faster.
*/
virtual void AddElement(CATBaseUnknwon * iElementToAdd, int iCheckIfThere=1);
/**
* Creates a state.
* @param iId
* The resource identifier used to retrieve the state prompt in the command
* message file.
* @return
* The state.
* <br><b>Cyclic reference</b>: A pointer to the state is kept and
* released at the end of the command before the command destructor call.
* <br><b>Lifecycle rules deviation</b>: This method doesn't AddRef the
* returned value.
*/
virtual CATDialogState* AddDialogState(const CATString &iId);
...