'Commit any pending configuration actions. If a configuration
conflict is detected in the pending configuration actions, this method
will raise a :exc:`ConfigurationConflictError`; within the traceback
of this error will be information about the source of the conflict,
usually including file names and line numbers of the cause of the
configuration conflicts.
.. warning::
You should think very carefully before manually invoking
``commit()``. Especially not as part of any reusable configuration
methods. Normally it should only be done by an application author at
the end of configuration in order to override certain aspects of an
addon.'

def commit(self):

    self.begin()
    try:
        self.action_state.execute_actions(introspector=self.introspector)
    finally:
        self.end()
    self.action_state = ActionState()
