Refer to Section 5.4.4 for detailed description about this function.