Refer to Section 5.1.16 for detailed description about this function.