Refactored per Jetbrains guidance, http://youtrack.jetbrains.com/issue/TW-32366.