Describe the mechanism of Priority Inversion. How does it occur, and how do priority inheritance protocols resolve it?