Removed type annotations for StringIO family in favor of python-skeletons
do not create empty jars
do not commit in closed project
do not log PCE
cleanup
do not call commit for closed project
notnull
IDEA-115272 Lots of [partial] incoming changes, and NPE in CommittedChangesCache
IDEA-115015 Ctrl-Shift-T doesnt offer to create test class
cleanup
IDEA-115116 Correct highlighting range in case of generics
IDEA-107733 run scripts without make. Add . to classpath
1.	Project import uses "chain-of-responsibility" pattern for GradleProjectResolverExtension.
2.	Project import can reuse Gradle Tooling connection. But in fact, it's not needed to deal with it in a GradleProjectResolverExtension, since it already has all information it needs about gradle build models
3.	 GradleProjectResolverExtension can provide extra JVM args for core logic to deal with Tooling API
see com.android.tools.idea.gradle.project.AndroidGradleProjectResolver#getExtraJvmArgs method
4.	GradleProjectResolverExtension may provide extra project model classes to retrieve for core logic
e.g. com.android.builder.model.AndroidProject
see com.android.tools.idea.gradle.project.AndroidGradleProjectResolver#getExtraProjectModelClasses method
5.	GradleProjectResolverExtension may contribute to extension specific UserFriendlyError parser.
see com.android.tools.idea.gradle.project.AndroidGradleProjectResolver#getUserFriendlyError method
6.	BuildActionExecuter used if it supports by user’s  Gradle version otherwise fallback to ModelBuilder.
7.	Extension point added for ExternalSystemTaskNotificationListener to listen any task events
8.	onSuccess and onFailure methods added to ExternalSystemTaskNotificationListener
NPE
merge completion variants with same method erasures
testdata for IDEA-54197
plugin advertiser: do not suggest to restart if no plugins were installed/enabled
plugin advertiser: do not suggest to enable by already ignored facets
plugin advertiser: sort suggested plugins by name
plugin advertiser: no border over plugin name