+ /**
+ * Attempt to select all of the children of a Selection implementor.
+ * Not all Selection implementors support this operation (for instance,
+ * implementations which support only "single selection" do not support this operation).
+ *
+ * @returns \c True if successful, \c False otherwise.
+ */
+ boolean selectAll ();
+ /**
+ * Attempt to clear all selections (i.e. deselect all children) of a Selection.
+ * Not all Selection implementations allow the removal of all selections.
+ *
+ * @note this operation may fail if the object must have at least one selected child,
+ * if the user does not have permission to change the selection, or if the Selection
+ * does not have ::State::STATE_SENSITIVE.
+ *
+ * @returns \c True if the selections were successfully cleared, \c False otherwise.
+ */
+ boolean clearSelection ();
+ /**
+ * Remove a child from the selected children list of a Selection,
+ * if the child is currently selected.
+ *
+ * @note unlike deselectSelectedChild, \c childIndex is the zero-offset
+ * index into the Accessible instance's list of children,
+ * not the index into the 'selected child list'.
+ *
+ * @param childIndex: a long integer (the zero offset index into the Accessible
+ * object's list of children) indicating which child of the
+ * Selection is to be selected.
+ *
+ * @returns \c True if the child was successfully selected,
+ * \c False otherwise.
+ *
+ * @see deselectSelectedChild
+ *
+ * @since AT-SPI 1.8.0
+ */
+ boolean deselectChild (in long childIndex);