led by the editor infrastructure. Historically, this was possible by subclassing
  editor actions such as <code>DefaultKeyTypedAction</code> or <code>InsertBrakeAction</code>
  and overwriting their <code>performAction</code> method. This however is not very
  flexible approach. It's main drawback is that modules can't easily intercept
  key typed events handled in editors (eg. <code>EditorKit</code>s) that are provided
  by other modules. The Typing Hooks SPI addresses these drawbacks while providing
  sem