Refer to Section 10.9.3 for detailed description about this function.