[netbeans] 01/01: Import Debian patch 8.2+dfsg1-1

Markus Koschany apo at moszumanska.debian.org
Mon Dec 26 16:52:25 UTC 2016


This is an automated email from the git hooks/post-receive script.

apo pushed a commit to branch experimental
in repository netbeans.

commit b63a3f36f51e5221091dc273094bf4aecb57e86d
Merge: bf77143 a5f48b0
Author: Markus Koschany <apo at debian.org>
Date:   Mon Dec 26 16:33:40 2016 +0100

    Import Debian patch 8.2+dfsg1-1

 .pc/.quilt_patches                                 |     1 -
 .pc/.quilt_series                                  |     1 -
 .pc/.version                                       |     1 -
 .../modules/css/lib/NbParseTreeBuilder.java        |   500 -
 .pc/applied-patches                                |    35 -
 .../db/dataview/output/DataViewTableUI.java        |   658 -
 .../modules/db/dataview/output/DataViewUI.java     |   589 -
 .../db/dataview/table/ResultSetJXTable.java        |   519 -
 .../o.eclipse.jgit/nbproject/project.xml           |    28 -
 .../ui/customizer/vmo/gen/CommandLineParser.java   |  1285 -
 .pc/netbeans-build.patch/nbbuild/build.xml         |  1943 -
 .../nbbuild/cluster.properties                     |  1528 -
 .../source/parsing/CachingArchiveClassLoader.java  |   266 -
 .../hudson/ui/APITokenConnectionAuthenticator.java |   242 -
 .../nbproject/project.properties                   |   103 -
 .../cnd.discovery/external/binaries-list           |     1 -
 .../cnd.remote/external/binaries-list              |     1 -
 .../cordova.platforms.ios/external/binaries-list   |     5 -
 .../db.drivers/external/binaries-list              |     3 -
 .../dlight.remote.impl/external/binaries-list      |     6 -
 .../extexecution.process/external/binaries-list    |     3 -
 .../html.validation/external/binaries-list         |     9 -
 .../javascript2.editor/external/binaries-list      |     3 -
 .../libs.clank/external/binaries-list              |     6 -
 .../libs.groovy/external/binaries-list             |     1 -
 .../libs.javacapi/external/binaries-list           |     1 -
 .../libs.javacimpl/external/binaries-list          |     1 -
 .../libs.jna.platform/external/binaries-list       |     1 -
 .../libs.jna/external/binaries-list                |     1 -
 .../libs.nashorn/external/binaries-list            |     2 -
 .../external/binaries-list                         |     2 -
 .../external/binaries-list                         |     4 -
 .../libs.svnClientAdapter/external/binaries-list   |     1 -
 .../maven.embedder/external/binaries-list          |     4 -
 .../maven/external/binaries-list                   |     2 -
 .../nbbuild/external/binaries-list                 |     2 -
 .../net.java.html.boot.fx/external/binaries-list   |     1 -
 .../external/binaries-list                         |     1 -
 .../net.java.html.boot/external/binaries-list      |     1 -
 .../net.java.html.geo/external/binaries-list       |     1 -
 .../net.java.html.json/external/binaries-list      |     1 -
 .../net.java.html.sound/external/binaries-list     |     1 -
 .../net.java.html/external/binaries-list           |     1 -
 .../netbinox/external/binaries-list                |     2 -
 .../o.apache.commons.lang/external/binaries-list   |     1 -
 .../external/binaries-list                         |     3 -
 .../external/binaries-list                         |     1 -
 .../o.eclipse.core.jobs/external/binaries-list     |     1 -
 .../o.eclipse.core.net/external/binaries-list      |     1 -
 .../external/binaries-list                         |     1 -
 .../o.eclipse.core.runtime/external/binaries-list  |     1 -
 .../o.eclipse.equinox.app/external/binaries-list   |     1 -
 .../external/binaries-list                         |     1 -
 .../external/binaries-list                         |     1 -
 .../external/binaries-list                         |     1 -
 .../external/binaries-list                         |     1 -
 .../o.eclipse.jgit.java7/external/binaries-list    |     1 -
 .../o.eclipse.jgit/external/binaries-list          |     1 -
 .../external/binaries-list                         |     1 -
 .../external/binaries-list                         |     1 -
 .../external/binaries-list                         |     1 -
 .../external/binaries-list                         |     1 -
 .../external/binaries-list                         |     1 -
 .../external/binaries-list                         |     1 -
 .../external/binaries-list                         |     1 -
 .../external/binaries-list                         |     1 -
 .../external/binaries-list                         |     1 -
 .../o.n.html.ko4j/external/binaries-list           |     1 -
 .../php.project/external/binaries-list             |     1 -
 .../nbproject/project.properties                   |     6 -
 .../extexecution.process/nbproject/project.xml     |    64 -
 .../extexecution/process/ProcessesImpl.java        |    62 -
 .../ide/launcher/netbeans.conf                     |    63 -
 .../ide/launcher/unix/netbeans                     |   253 -
 .../db.sql.visualeditor/build.xml                  |    43 -
 .../jemmy/nbproject/project.properties             |    49 -
 .../libs.jaxb/nbproject/project.properties         |    61 -
 .../css.editor/nbproject/project.properties        |    59 -
 .../db.drivers/nbproject/project.properties        |    49 -
 .../derby/nbproject/project.properties             |    55 -
 .../html.editor/nbproject/project.properties       |    54 -
 .../j2ee.eclipselink/nbproject/project.properties  |    55 -
 .../libs.swingx/nbproject/project.properties       |    45 -
 .../nbproject/project.properties                   |    47 -
 .../o.apache.tools.ant.module/build.xml            |   225 -
 .../o.apache.tools.ant.module/external/build.xml   |    53 -
 .../o.n.bootstrap/nbproject/project.properties     |    58 -
 .../nbbuild/build.properties                       |   254 -
 .../nbbuild/cluster.properties                     |  1540 -
 .../net.java.html/build.xml                        |     5 -
 .../junitlib/nbproject/project.properties          |    10 -
 .../nbbuild/cluster.properties                     |  1532 -
 .../libs.jna.platform/nbproject/project.properties |    46 -
 .../libs.jna/nbproject/project.properties          |    57 -
 .../src/org/netbeans/libs/jna/Installer.java       |    55 -
 .../nbbuild/cluster.properties                     |  1530 -
 .../libs.testng/nbproject/project.properties       |    50 -
 .../o.jdesktop.layout/nbproject/project.properties |    47 -
 .../windows-launcher-src/Makefile                  |    86 -
 .../nbproject/Makefile-app.exe.mk                  |   102 -
 .../nbproject/Makefile-app64.exe.mk                |   102 -
 .../ide/launcher/windows/nblauncher.cpp            |   609 -
 .../o.n.bootstrap/launcher/windows/Makefile        |    90 -
 .../launcher/windows/nbproject/Makefile-nbexec.mk  |   120 -
 .../windows/nbproject/Makefile-nbexec64.mk         |   120 -
 .../o.n.bootstrap/launcher/windows/utilsfuncs.cpp  |   473 -
 .../o.eclipse.jgit/nbproject/project.xml           |    28 -
 .../apisupport.kit/nbproject/project.xml           |    74 -
 .../editor.kit/nbproject/project.xml               |   153 -
 .../ide.kit/nbproject/project.xml                  |   323 -
 .../java.kit/nbproject/project.xml                 |   385 -
 .../xsl/nbproject/project.xml                      |   270 -
 .../modules/java/hints/spiimpl/Utilities.java      |  1623 -
 .../svnkit/SvnKitClientAdapterFactory.java         |    94 -
 .../modules/updatecenters/resources/mf-layer.xml   |    87 -
 .../org/netbeans/api/java/source/SourceUtils.java  |  1437 -
 .../xml.jaxb.api/nbproject/project.properties      |    54 -
 .pc/netbeans-xsl-httpserver.patch/xsl/manifest.mf  |     7 -
 .../netbeans/modules/netbinox/JarBundleFile.java   |   377 -
 .../org/netbeans/modules/netbinox/Netbinox.java    |   243 -
 .../org/netbeans/nbbuild/UpdateTracking.java       |   620 -
 .../org/netbeans/modules/ant/browsetask/antlib.xml |    39 +
 ant.browsetask/manifest.mf                         |     2 +-
 ant.debugger/nbproject/project.properties          |     2 +-
 .../netbeans/modules/ant/debugger/AntDebugger.java |     6 +-
 .../netbeans/modules/ant/debugger/IOManager.java   |    33 +-
 ant.freeform/manifest.mf                           |     2 +-
 ant.grammar/manifest.mf                            |     2 +-
 ant.kit/build.xml                                  |    39 +
 ant.kit/manifest.mf                                |     2 +-
 ant.kit/nbproject/project.properties               |    37 +
 ant.kit/nbproject/project.xml                      |    39 +
 .../org/netbeans/modules/ant/kit/Bundle.properties |    37 +
 api.annotations.common/build.xml                   |    53 +-
 api.annotations.common/manifest.mf                 |     2 +-
 .../org-netbeans-api-annotations-common.sig        |     2 +-
 api.annotations.common/nbproject/project.xml       |    39 +
 .../annotations/common/resources/Bundle.properties |    37 +
 api.debugger.jpda/apichanges.xml                   |    16 +
 api.debugger.jpda/manifest.mf                      |     2 +-
 .../nbproject/org-netbeans-api-debugger-jpda.sig   |    18 +-
 .../org/netbeans/api/debugger/jpda/package.html    |    64 +-
 .../netbeans/spi/debugger/jpda/EditorContext.java  |     4 +-
 .../spi/debugger/jpda/SmartSteppingCallback.java   |   150 +
 .../spi/debugger/jpda/SourcePathProvider.java      |     4 +-
 .../org/netbeans/spi/debugger/jpda/package.html    |    64 +-
 api.debugger/apichanges.xml                        |    16 +
 api.debugger/manifest.mf                           |     2 +-
 .../nbproject/org-netbeans-api-debugger.sig        |    36 +-
 .../org/netbeans/api/debugger/ActionsManager.java  |    12 +-
 .../org/netbeans/api/debugger/DebuggerManager.java |    21 +
 .../src/org/netbeans/api/debugger/Properties.java  |    31 +-
 .../src/org/netbeans/api/debugger/Watch.java       |    29 +-
 .../src/org/netbeans/api/debugger/package.html     |    64 +-
 .../debugger/registry/DebuggerProcessor.java       |     7 +
 .../src/org/netbeans/spi/debugger/package.html     |    64 +-
 api.htmlui/arch.xml                                |    41 +-
 api.htmlui/build.xml                               |    39 +
 api.htmlui/manifest.mf                             |     2 +-
 api.htmlui/nbproject/org-netbeans-api-htmlui.sig   |    80 +
 api.htmlui/nbproject/project.properties            |    37 +
 api.htmlui/nbproject/project.xml                   |    49 +
 .../org/netbeans/modules/htmlui/Bundle.properties  |    37 +
 .../netbeans/modules/htmlui/FreeGeoProvider.java   |   127 +
 .../modules/htmlui/FreeGeoProviderTest.java        |   120 +
 api.intent/arch.xml                                |    39 +
 api.intent/build.xml                               |    39 +
 api.intent/manifest.mf                             |     2 +-
 api.intent/nbproject/org-netbeans-api-intent.sig   |   118 +
 api.intent/nbproject/project.properties            |    37 +
 api.intent/nbproject/project.xml                   |    39 +
 .../src/org/netbeans/api/intent/Bundle.properties  |    37 +
 api.io/apichanges.xml                              |    10 +-
 api.io/arch.xml                                    |    39 +
 api.io/build.xml                                   |    39 +
 api.io/manifest.mf                                 |     4 +-
 api.io/nbproject/org-netbeans-api-io.sig           |   358 +
 api.io/nbproject/project.properties                |    37 +
 api.io/nbproject/project.xml                       |    39 +
 api.io/src/org/netbeans/api/io/Bundle.properties   |    37 +
 api.java.classpath/apichanges.xml                  |    16 +
 api.java.classpath/build.xml                       |    39 +
 api.java.classpath/manifest.mf                     |     2 +-
 .../nbproject/org-netbeans-api-java-classpath.sig  |    47 +-
 api.java.classpath/nbproject/project.properties    |    37 +
 api.java.classpath/nbproject/project.xml           |    41 +-
 .../netbeans/api/java/classpath/Bundle.properties  |    37 +
 .../org/netbeans/api/java/classpath/ClassPath.java |   145 +-
 .../org/netbeans/api/java/classpath/package.html   |    42 +-
 .../api/java/queries/SourceForBinaryQuery.java     |    15 +-
 .../modules/java/classpath/ClassPathAccessor.java  |    30 +-
 .../SimplePathResourceImplementation.java          |     8 +-
 .../spi/java/classpath/ClassPathFactory.java       |     2 +-
 .../org/netbeans/spi/java/classpath/package.html   |    16 +-
 .../java/classpath/support/ClassPathSupport.java   |     2 +-
 .../spi/java/classpath/support/package.html        |    16 +-
 .../netbeans/api/java/classpath/ClassPathTest.java |    29 +-
 .../api/java/queries/SourceForBinaryQueryTest.java |     8 +-
 .../SimplePathResourceImplementationTest.java      |    11 +-
 api.java/apichanges.xml                            |    15 +
 api.java/manifest.mf                               |     2 +-
 api.java/nbproject/org-netbeans-api-java.sig       |    49 +-
 .../api/java/queries/SourceLevelQuery.java         |   115 +-
 .../src/org/netbeans/api/java/queries/package.html |    16 +-
 .../src/org/netbeans/spi/java/queries/package.html |    16 +-
 .../api/java/queries/SourceLevelQueryTest.java     |    36 +
 api.knockout/arch.xml                              |    39 +
 api.knockout/build.xml                             |    39 +
 api.knockout/manifest.mf                           |     2 +-
 .../nbproject/org-netbeans-api-knockout.sig        |    40 +
 api.knockout/nbproject/project.properties          |    38 +
 api.knockout/nbproject/project.xml                 |    39 +
 .../org/netbeans/spi/knockout/Bundle.properties    |    37 +
 api.maven/manifest.mf                              |     2 +-
 api.maven/nbproject/org-netbeans-api-maven.sig     |    55 +
 api.mobility/manifest.mf                           |     2 +-
 api.progress.compat8/build.xml                     |    39 +
 api.progress.compat8/manifest.mf                   |     4 +-
 api.progress.compat8/nbproject/project.properties  |    37 +
 api.progress.compat8/nbproject/project.xml         |    39 +
 .../src/api/progress/compat8/Bundle.properties     |    37 +
 api.progress.nb/arch.xml                           |    45 +-
 api.progress.nb/build.xml                          |    39 +
 api.progress.nb/manifest.mf                        |     2 +-
 .../nbproject/org-netbeans-api-progress-nb.sig     |   113 +-
 api.progress.nb/nbproject/project.properties       |    37 +
 api.progress.nb/nbproject/project.xml              |    39 +
 .../org/netbeans/api/progress/nb/Bundle.properties |    37 +
 .../org/netbeans/api/progress/RunOffEDTTest.java   |    56 +-
 api.progress/manifest.mf                           |     2 +-
 .../nbproject/org-netbeans-api-progress.sig        |    63 +-
 .../netbeans/api/progress/aggregate/package.html   |    75 +-
 .../src/org/netbeans/api/progress/package.html     |    75 +-
 .../modules/progress/spi/RunOffEDTProvider.java    |     2 +-
 api.search/arch.xml                                |    45 +-
 api.search/build.xml                               |    39 +
 api.search/manifest.mf                             |     2 +-
 api.search/nbproject/org-netbeans-api-search.sig   |     2 +-
 api.search/nbproject/project.properties            |    37 +
 api.search/nbproject/project.xml                   |    39 +
 .../src/org/netbeans/api/search/Bundle.properties  |    37 +
 .../netbeans/modules/search/BasicSearchForm.java   |     3 +-
 .../search/ui/AbstractSearchResultsPanel.form      |     2 +-
 .../search/ui/AbstractSearchResultsPanel.java      |     2 +-
 .../modules/search/ui/ResultsOutlineSupport.java   |     2 +-
 .../test/modules/search/BasicSearchTest.java       |     5 -
 .../modules/search/matcher/Bundle.properties       |    37 +
 api.templates/apichanges.xml                       |     2 +-
 api.templates/arch.xml                             |    43 +-
 api.templates/build.xml                            |    39 +
 api.templates/manifest.mf                          |     2 +-
 .../nbproject/org-netbeans-api-templates.sig       |   162 +
 api.templates/nbproject/project.properties         |    37 +
 api.templates/nbproject/project.xml                |    39 +
 .../netbeans/api/templates/CreateDescriptor.java   |     2 +-
 .../netbeans/modules/templates/Bundle.properties   |    37 +
 .../modules/templates/SCFTHandlerTest.java         |    22 +-
 .../src/org/netbeans/modules/templates/utf8.xml    |     8 +-
 api.visual/apichanges.xml                          |     2 +-
 api.visual/manifest.mf                             |     2 +-
 api.visual/nbproject/org-netbeans-api-visual.sig   |     4 +-
 .../org/netbeans/api/visual/action/package.html    |    16 +-
 .../org/netbeans/api/visual/anchor/package.html    |    16 +-
 .../org/netbeans/api/visual/animator/package.html  |    16 +-
 .../org/netbeans/api/visual/border/package.html    |    16 +-
 .../org/netbeans/api/visual/export/package.html    |    18 +-
 .../netbeans/api/visual/graph/layout/package.html  |    16 +-
 .../src/org/netbeans/api/visual/graph/package.html |    16 +-
 .../src/org/netbeans/api/visual/laf/package.html   |    16 +-
 .../org/netbeans/api/visual/layout/package.html    |    16 +-
 .../src/org/netbeans/api/visual/model/package.html |    16 +-
 .../src/org/netbeans/api/visual/package.html       |    16 +-
 .../src/org/netbeans/api/visual/print/package.html |    16 +-
 .../org/netbeans/api/visual/router/package.html    |    16 +-
 .../src/org/netbeans/api/visual/vmd/package.html   |    16 +-
 .../api/visual/widget/doc-files/documentation.html |    16 +-
 .../api/visual/widget/general/package.html         |    16 +-
 .../org/netbeans/api/visual/widget/package.html    |    16 +-
 .../bugs/GraphLayoutListenerRemoval197502Test.java |    11 -
 api.web.webmodule/manifest.mf                      |     2 +-
 .../nbproject/org-netbeans-api-web-webmodule.sig   |     2 +-
 .../modules/web/api/webmodule/package.html         |    16 +-
 .../modules/web/spi/webmodule/package.html         |    16 +-
 .../modules/web/webmodule/Bundle.properties        |     2 +-
 api.xml.ui/build.xml                               |    39 +
 api.xml.ui/manifest.mf                             |     2 +-
 api.xml.ui/nbproject/project.properties            |    37 +
 api.xml.ui/nbproject/project.xml                   |    39 +
 .../src/org/netbeans/api/xml/cookies/package.html  |    77 +-
 .../src/org/netbeans/api/xml/ui/Bundle.properties  |    37 +
 .../src/org/netbeans/spi/xml/cookies/package.html  |    75 +-
 api.xml/apichanges.xml                             |     2 +-
 api.xml/arch.xml                                   |    49 +-
 api.xml/doc/overview.html                          |    75 +-
 api.xml/manifest.mf                                |     2 +-
 api.xml/nbproject/org-netbeans-api-xml.sig         |   156 +-
 .../src/org/netbeans/api/xml/actions/package.html  |    75 +-
 .../src/org/netbeans/api/xml/options/package.html  |    75 +-
 api.xml/src/org/netbeans/api/xml/package.html      |    75 +-
 .../src/org/netbeans/api/xml/parsers/package.html  |    75 +-
 .../src/org/netbeans/api/xml/resources/XML.html    |    16 +-
 .../src/org/netbeans/api/xml/services/package.html |    75 +-
 api.xml/src/org/netbeans/spi/xml/package.html      |    75 +-
 .../src/org/netbeans/spi/xml/services/package.html |    75 +-
 .../org/netbeans/modules/apisupport/ant/antlib.xml |    39 +
 apisupport.ant/manifest.mf                         |     2 +-
 .../apisupport/project/NbProjectProviderImpl.java  |   104 +-
 .../java/hints/errors/SearchModuleDependency.java  |    11 +-
 .../project/resources/emptyApplication.html        |    16 +-
 .../apisupport/project/resources/emptyModule.html  |    16 +-
 .../apisupport/project/resources/emptySuite.html   |    16 +-
 .../modules/apisupport/project/resources/layer.xml |    39 +
 .../project/resources/libraryModule.html           |    16 +-
 .../resources/license-cddl-netbeans-sun.txt        |     4 +-
 .../project/suite/resources/platform.xsl           |    39 +
 .../project/ui/customizer/AddModulePanel.java      |    16 +-
 .../project/universe/HarnessVersion.java           |     8 +-
 .../CustomerDBAccess/build.xml                     |    45 +-
 .../CustomerDBAccess/nbproject/project.properties  |    37 +
 .../CustomerDBAccess/nbproject/project.xml         |    39 +
 .../CustomerDBAccess/src/META-INF/eclipselink.xml  |    39 +
 .../CustomerDBAccess/src/META-INF/toplink.xml      |    39 +
 .../CustomerDBAccessLibrary/build.xml              |    39 +
 .../nbproject/project.properties                   |    37 +
 .../CustomerDBAccessLibrary/nbproject/project.xml  |    39 +
 .../nbproject/suite.properties                     |    37 +
 .../netbeans/modules/customerdb/Bundle.properties  |    37 +
 .../CustomerEditor/build.xml                       |    39 +
 .../CustomerEditor/nbproject/platform.properties   |    37 +
 .../CustomerEditor/nbproject/project.properties    |    37 +
 .../CustomerEditor/nbproject/project.xml           |    39 +
 .../CustomerEditor/nbproject/suite.properties      |    37 +
 .../modules/customereditor/Bundle.properties       |    37 +
 .../customereditor/EditorTopComponentSettings.xml  |    39 +-
 .../customereditor/EditorTopComponentWstcref.xml   |    39 +-
 .../org/netbeans/modules/customereditor/layer.xml  |     2 +-
 .../CustomerViewer/build.xml                       |    39 +
 .../CustomerViewer/nbproject/platform.properties   |    37 +
 .../CustomerViewer/nbproject/project.properties    |    37 +
 .../CustomerViewer/nbproject/project.xml           |    39 +
 .../CustomerViewer/nbproject/suite.properties      |    37 +
 .../modules/customerviewer/Bundle.properties       |    37 +
 .../CustomerTopComponentSettings.xml               |    39 +-
 .../customerviewer/CustomerTopComponentWstcref.xml |    39 +-
 .../org/netbeans/modules/customerviewer/layer.xml  |     2 +-
 .../org/netbeans/core/startup/Bundle.properties    |    37 +
 .../core/windows/view/ui/Bundle.properties         |    37 +
 .../crud-sample-application/build.xml              |    39 +
 .../derbyclient-library/build.xml                  |    39 +
 .../nbproject/project.properties                   |    37 +
 .../derbyclient-library/nbproject/project.xml      |    39 +
 .../derbyclient-library/nbproject/suite.properties |    37 +
 .../modules/derbyclientlibrary/Bundle.properties   |    37 +
 .../nbproject/platform.properties                  |    37 +
 .../crud-sample-application/nbproject/platform.xml |    39 +
 .../nbproject/project.properties                   |    37 +
 .../crud-sample-application/nbproject/project.xml  |    39 +
 apisupport.crudsample/manifest.mf                  |     2 +-
 apisupport.crudsample/nbproject/project.properties |    37 +
 apisupport.crudsample/nbproject/project.xml        |    39 +
 .../apisupport/crudsample/Bundle.properties        |    37 +
 .../crudsample/SampleAppDescription.html           |    16 +-
 .../modules/apisupport/crudsample/layer.xml        |     2 +-
 .../external/binaries-list                         |     0
 .../feedreader-suite/FeedReader/build.xml          |    39 +
 .../FeedReader/nbproject/project.properties        |    39 +-
 .../FeedReader/nbproject/project.xml               |    39 +
 .../FeedReader/nbproject/suite.properties          |    37 +
 apisupport.feedreader/feedreader-suite/build.xml   |    39 +
 .../feedreader-suite/jdom/build.xml                |    39 +
 .../jdom/nbproject/project.properties              |    37 +
 .../feedreader-suite/jdom/nbproject/project.xml    |    39 +
 .../jdom/nbproject/suite.properties                |    37 +
 .../feedreader-suite/nbproject/platform.properties |    37 +
 .../feedreader-suite/nbproject/platform.xml        |    39 +
 .../feedreader-suite/nbproject/project.properties  |    37 +
 .../feedreader-suite/nbproject/project.xml         |    39 +
 .../feedreader-suite/rome-fetcher/build.xml        |    39 +
 .../rome-fetcher/nbproject/project.properties      |    37 +
 .../rome-fetcher/nbproject/project.xml             |    39 +
 .../rome-fetcher/nbproject/suite.properties        |    37 +
 .../feedreader-suite/rome/build.xml                |    39 +
 .../rome/nbproject/project.properties              |    37 +
 .../feedreader-suite/rome/nbproject/project.xml    |    39 +
 .../rome/nbproject/suite.properties                |    37 +
 apisupport.feedreader/manifest.mf                  |     2 +-
 .../apisupport/feedreader/Bundle.properties        |    37 +
 .../feedreader/FeedReaderDescription.html          |    16 +-
 .../external/binaries-list                         |     0
 apisupport.harness/manifest.mf                     |     2 +-
 apisupport.harness/release/etc/Info.plist          |    39 +
 apisupport.harness/release/etc/app.conf            |    36 +
 apisupport.harness/release/launchers/app.sh        |    39 +-
 apisupport.harness/windows-launcher-src/Makefile   |    45 +-
 apisupport.harness/windows-launcher-src/app.cpp    |     3 +-
 apisupport.harness/windows-launcher-src/app.rc     |    36 +
 .../windows-launcher-src/applauncher.cpp           |     3 +-
 .../windows-launcher-src/applauncher.h             |     3 +-
 .../nbproject/Makefile-app.exe.mk                  |   102 -
 .../nbproject/Makefile-app64.exe.mk                |   102 -
 .../nbproject/Makefile-impl.mk                     |   133 -
 .../nbproject/Makefile-variables.mk                |    35 -
 .../nbproject/Package-app.exe.bash                 |    75 -
 .../nbproject/Package-app64.exe.bash               |    75 -
 .../nbproject/configurations.xml                   |    39 +
 .../nbproject/project.properties                   |    37 +
 .../windows-launcher-src/nbproject/project.xml     |    39 +
 apisupport.installer.maven/build.xml               |    39 +
 apisupport.installer.maven/manifest.mf             |     2 +-
 .../nbproject/project.properties                   |    37 +
 apisupport.installer.maven/nbproject/project.xml   |    39 +
 .../apisupport/installer/maven/Bundle.properties   |    37 +
 apisupport.installer/build.xml                     |    39 +
 apisupport.installer/manifest.mf                   |     2 +-
 apisupport.installer/nbproject/project.properties  |    37 +
 apisupport.installer/nbproject/project.xml         |    39 +
 .../modules/apisupport/installer/Bundle.properties |    37 +
 .../apisupport/installer/ui/Bundle.properties      |    38 +
 apisupport.kit/build.xml                           |    39 +
 apisupport.kit/manifest.mf                         |     2 +-
 apisupport.kit/nbproject/project.properties        |    37 +
 apisupport.kit/nbproject/project.xml               |    43 +-
 apisupport.kit/release/VERSION.txt                 |     2 +-
 .../modules/apisupport/kit/Bundle.properties       |    37 +
 apisupport.osgidemo/manifest.mf                    |     2 +-
 apisupport.osgidemo/nbproject/project.properties   |    37 +
 apisupport.osgidemo/nbproject/project.xml          |    39 +
 .../org/netbeans/core/startup/Bundle.properties    |    37 +
 .../core/windows/view/ui/Bundle.properties         |    37 +
 apisupport.osgidemo/osgidemo/build.xml             |    39 +
 .../osgidemo/nbproject/platform.properties         |    38 +
 .../osgidemo/nbproject/platform.xml                |    39 +
 .../osgidemo/nbproject/project.properties          |    37 +
 apisupport.osgidemo/osgidemo/nbproject/project.xml |    39 +
 apisupport.osgidemo/osgidemo/showbundles/build.xml |    39 +
 .../showbundles/nbproject/project.properties       |    37 +
 .../osgidemo/showbundles/nbproject/project.xml     |    39 +
 .../showbundles/nbproject/suite.properties         |    37 +
 .../demo/osgi/showbundles/Bundle.properties        |    37 +
 .../ShowBundlesTopComponentSettings.xml            |    39 +-
 .../showbundles/ShowBundlesTopComponentWstcref.xml |    39 +-
 .../org/netbeans/demo/osgi/showbundles/layer.xml   |    39 +
 .../modules/apisupport/osgidemo/Bundle.properties  |    37 +
 .../apisupport/osgidemo/SampleAppDescription.html  |    16 +-
 .../osgidemo/SampleFelixDescription.html           |    16 +-
 .../netbeans/modules/apisupport/osgidemo/layer.xml |     2 +-
 .../PaintApp-suite/ColorChooser/build.xml          |    39 +
 .../ColorChooser/nbproject/project.properties      |    37 +
 .../ColorChooser/nbproject/project.xml             |    39 +
 .../ColorChooser/nbproject/suite.properties        |    37 +
 apisupport.paintapp/PaintApp-suite/Paint/build.xml |    39 +
 .../Paint/nbproject/project.properties             |    39 +-
 .../PaintApp-suite/Paint/nbproject/project.xml     |    39 +
 .../Paint/nbproject/suite.properties               |    37 +
 .../Paint/src/org/netbeans/paint/layer.xml         |    39 +
 apisupport.paintapp/PaintApp-suite/build.xml       |    39 +
 .../PaintApp-suite/nbproject/platform.properties   |    38 +
 .../PaintApp-suite/nbproject/platform.xml          |    39 +
 .../PaintApp-suite/nbproject/project.properties    |    37 +
 .../PaintApp-suite/nbproject/project.xml           |    39 +
 apisupport.paintapp/manifest.mf                    |     2 +-
 .../modules/apisupport/paintapp/Bundle.properties  |    37 +
 .../apisupport/paintapp/PaintAppDescription.html   |    16 +-
 .../netbeans/modules/apisupport/paintapp/layer.xml |     2 +-
 apisupport.project/manifest.mf                     |     2 +-
 .../project/ui/resources/hidden-resolver.xml       |    39 +
 apisupport.refactoring/build.xml                   |    39 +
 apisupport.refactoring/manifest.mf                 |     2 +-
 apisupport.restsample/manifest.mf                  |     2 +-
 apisupport.restsample/nbproject/project.properties |    37 +
 apisupport.restsample/nbproject/project.xml        |    39 +
 .../org/netbeans/core/startup/Bundle.properties    |    37 +
 .../core/windows/view/ui/Bundle.properties         |    37 +
 .../rest-sample-application/build.xml              |    39 +
 .../nbproject/platform.properties                  |    38 +
 .../nbproject/project.properties                   |    37 +
 .../rest-sample-application/nbproject/project.xml  |    39 +
 .../rest-sample-module/build.xml                   |    39 +
 .../nbproject/platform.properties                  |    38 +
 .../nbproject/project.properties                   |    37 +
 .../rest-sample-module/nbproject/project.xml       |    39 +
 .../rest-sample-module/nbproject/suite.properties  |    37 +
 .../apisupport/restsample/Bundle.properties        |    37 +
 .../restsample/RESTSampleDescription.html          |    11 +-
 .../modules/apisupport/restsample/layer.xml        |     2 +-
 apisupport.wizards/build.xml                       |    39 +
 apisupport.wizards/manifest.mf                     |     2 +-
 apisupport.wizards/nbproject/project.properties    |    37 +
 apisupport.wizards/nbproject/project.xml           |    39 +
 .../project/ui/wizard/action/newAction.html        |    16 +-
 .../ui/wizard/codegenerator/newCodeGenerator.html  |    16 +-
 .../apisupport/project/ui/wizard/html/newHTML.html |    20 +-
 .../project/ui/wizard/javahint/Bundle.properties   |    37 +
 .../project/ui/wizard/javahint/javaHint.html       |    16 +-
 .../project/ui/wizard/layer/newLayer.html          |    39 +
 .../librarydescriptor/emptyLibraryDescriptor.html  |    16 +-
 .../project/ui/wizard/loader/newLoader.html        |    16 +-
 .../ui/wizard/moduleinstall/newModuleInstall.html  |    16 +-
 .../project/ui/wizard/options/newOptions.html      |    16 +-
 .../project/ui/wizard/project/Bundle.properties    |    39 +-
 .../project/ui/wizard/project/newProject.html      |    16 +-
 .../ui/wizard/quicksearch/newQuickSearch.html      |    16 +-
 .../ui/wizard/updatecenter/newUpdateCenter.html    |    16 +-
 .../project/ui/wizard/winsys/newLayout.html        |    16 +-
 .../apisupport/project/ui/wizard/winsys/newTC.html |    16 +-
 .../project/ui/wizard/winsys/polishing.xsl         |    41 +-
 .../project/ui/wizard/wizard/newWizard.html        |    16 +-
 applemenu/build.xml                                |     1 +
 applemenu/manifest.mf                              |     2 +-
 applemenu/src/com/apple/eawt/AboutHandler.java     |    56 +
 applemenu/src/com/apple/eawt/AppEvent.java         |    96 +
 applemenu/src/com/apple/eawt/AppEventListener.java |    52 +
 applemenu/src/com/apple/eawt/Application.java      |    38 +-
 .../src/com/apple/eawt/ApplicationAdapter.java     |    63 -
 applemenu/src/com/apple/eawt/ApplicationEvent.java |    60 -
 .../src/com/apple/eawt/ApplicationListener.java    |    62 -
 applemenu/src/com/apple/eawt/CocoaComponent.java   |    61 -
 applemenu/src/com/apple/eawt/OpenFilesHandler.java |    55 +
 applemenu/src/com/apple/eawt/OpenURIHandler.java   |    56 +
 .../src/com/apple/eawt/PreferencesHandler.java     |    55 +
 .../src/com/apple/eawt/PrintFilesHandler.java      |    55 +
 applemenu/src/com/apple/eawt/QuitHandler.java      |    55 +
 applemenu/src/com/apple/eawt/QuitResponse.java     |    55 +
 applemenu/src/com/apple/eawt/QuitStrategy.java     |    54 +
 applemenu/src/java/awt/Desktop.java                |    62 +
 applemenu/src/java/awt/desktop/AboutEvent.java     |    51 +
 applemenu/src/java/awt/desktop/AboutHandler.java   |    53 +
 applemenu/src/java/awt/desktop/AppEvent.java       |    55 +
 applemenu/src/java/awt/desktop/FilesEvent.java     |    57 +
 applemenu/src/java/awt/desktop/OpenFilesEvent.java |    53 +
 .../src/java/awt/desktop/OpenFilesHandler.java     |    53 +
 .../src/java/awt/desktop/PreferencesEvent.java     |    53 +
 .../src/java/awt/desktop/PreferencesHandler.java   |    53 +
 applemenu/src/java/awt/desktop/QuitEvent.java      |    51 +
 applemenu/src/java/awt/desktop/QuitHandler.java    |    53 +
 applemenu/src/java/awt/desktop/QuitResponse.java   |    54 +
 applemenu/src/java/awt/desktop/QuitStrategy.java   |    54 +
 .../modules/applemenu/ApplePopupFactory.java       |   453 -
 .../org/netbeans/modules/applemenu/Install.java    |    38 +-
 .../modules/applemenu/NbApplicationAdapter.java    |   107 +-
 .../applemenu/NbApplicationAdapterJDK8.java        |   106 +
 .../applemenu/NbApplicationAdapterJDK9.java        |   109 +
 autoupdate.cli/build.xml                           |     9 +-
 autoupdate.cli/manifest.mf                         |     2 +-
 autoupdate.cli/nbproject/project.properties        |     9 +-
 autoupdate.cli/nbproject/project.xml               |     9 +-
 .../modules/autoupdate/cli/ModuleOptions.java      |     2 +-
 autoupdate.pluginimporter/build.xml                |    39 +
 autoupdate.pluginimporter/manifest.mf              |     2 +-
 .../nbproject/project.properties                   |    37 +
 autoupdate.pluginimporter/nbproject/project.xml    |    39 +
 .../autoupdate/pluginimporter/Bundle.properties    |    37 +
 .../autoupdate/pluginimporter/Installer.java       |     2 +-
 autoupdate.services/build.xml                      |    45 +-
 .../libsrc/org/netbeans/updater/ModuleUpdater.java |     4 +-
 .../updater/resources/autoupdate-catalog-1_0.dtd   |    39 +
 .../updater/resources/autoupdate-catalog-2_0.dtd   |    39 +
 .../updater/resources/autoupdate-catalog-2_2.dtd   |    39 +
 .../updater/resources/autoupdate-catalog-2_3.dtd   |    39 +
 .../updater/resources/autoupdate-catalog-2_4.dtd   |    39 +
 .../updater/resources/autoupdate-catalog-2_5.dtd   |    39 +
 .../updater/resources/autoupdate-catalog-2_6.dtd   |    39 +
 .../updater/resources/autoupdate-catalog-2_7.dtd   |    39 +
 .../updater/resources/autoupdate-info-1_0.dtd      |    39 +
 .../updater/resources/autoupdate-info-2_0.dtd      |    39 +
 .../updater/resources/autoupdate-info-2_2.dtd      |    39 +
 .../updater/resources/autoupdate-info-2_3.dtd      |    39 +
 .../updater/resources/autoupdate-info-2_4.dtd      |    39 +
 .../updater/resources/autoupdate-info-2_5.dtd      |    39 +
 .../updater/resources/autoupdate-info-2_7.dtd      |    39 +
 autoupdate.services/manifest.mf                    |     2 +-
 .../org-netbeans-modules-autoupdate-services.sig   |     6 +-
 autoupdate.services/nbproject/project.properties   |    37 +
 autoupdate.services/nbproject/project.xml          |    39 +
 autoupdate.services/src/META-INF/translate.names   |    37 +
 .../src/org/netbeans/api/autoupdate/package.html   |    75 +-
 .../modules/autoupdate/services/Bundle.properties  |    39 +-
 .../services/resources/Bundle.properties           |    37 +
 .../autoupdate/updateprovider/Bundle.properties    |    37 +
 .../autoupdate/updateprovider/NetworkAccess.java   |    72 +-
 .../doc-files/autoupdate-catalog-2_4.dtd           |    39 +
 .../autoupdate/doc-files/autoupdate-info-2_4.dtd   |    39 +
 .../src/org/netbeans/spi/autoupdate/package.html   |    75 +-
 .../src/org/netbeans/api/autoupdate/mf-layer.xml   |    12 +-
 autoupdate.ui/apichanges.xml                       |     6 +-
 autoupdate.ui/arch.xml                             |    45 +-
 autoupdate.ui/build.xml                            |    39 +
 autoupdate.ui/manifest.mf                          |     2 +-
 .../org-netbeans-modules-autoupdate-ui.sig         |     2 +-
 autoupdate.ui/nbproject/project.properties         |    37 +
 autoupdate.ui/nbproject/project.xml                |    39 +
 .../modules/autoupdate/ui/Bundle.properties        |    37 +
 .../autoupdate/ui/actions/Bundle.properties        |    37 +
 .../autoupdate/ui/resources/Bundle.properties      |    37 +
 .../autoupdate/ui/wizards/Bundle.properties        |    37 +
 beans/nbproject/project.properties                 |     2 +-
 .../beans/addproperty/AddPropertyConfig.java       |     2 +-
 .../modules/beans/addproperty/Bundle.properties    |    39 +-
 .../modules/beans/resources/templates/Bean.html    |    75 +-
 .../beans/resources/templates/BeanInfo.html        |    75 +-
 .../modules/beans/resources/templates/Beans.html   |    75 +-
 .../beans/resources/templates/Customizer.html      |    75 +-
 .../beans/resources/templates/PropertyEditor.html  |    75 +-
 beans/sub.locale.xml                               |    41 +-
 .../data/projects/Beans/nbproject/build-impl.xml   |     2 +-
 .../netbeans/test/beans/operators/AddProperty.java |    41 +-
 bugtracking.bridge/build.xml                       |    39 +
 bugtracking.bridge/manifest.mf                     |     2 +-
 bugtracking.bridge/nbproject/project.properties    |    37 +
 bugtracking.bridge/nbproject/project.xml           |    39 +
 .../netbeans/modules/bugtracking/bridge/layer.xml  |    39 +
 bugtracking.commons/build.xml                      |    39 +
 bugtracking.commons/manifest.mf                    |     2 +-
 bugtracking.commons/nbproject/project.properties   |    37 +
 bugtracking.commons/nbproject/project.xml          |    39 +
 .../modules/bugtracking/issuetable/IssueTable.java |     7 +-
 bugtracking.commons/var/bugtracking/storage        |   Bin 10 -> 0 bytes
 bugtracking/arch.xml                               |    45 +-
 bugtracking/build.xml                              |    39 +
 bugtracking/manifest.mf                            |     2 +-
 .../nbproject/org-netbeans-modules-bugtracking.sig |     5 +-
 bugtracking/nbproject/project.properties           |    39 +-
 bugtracking/nbproject/project.xml                  |    39 +
 .../netbeans/modules/bugtracking/IssueImpl.java    |    11 +-
 .../modules/bugtracking/RepositoryImpl.java        |    48 +
 .../modules/bugtracking/RepositoryRegistry.java    |   110 +-
 .../src/org/netbeans/modules/bugtracking/layer.xml |    39 +
 .../modules/bugtracking/settings/Bundle.properties |    37 +
 .../bugtracking/spi/BugtrackingSupport.java        |     9 +-
 .../bugtracking/tasks/TaskSchedulingManager.java   |    47 +-
 .../bugtracking/ui/issue/IssueTopComponent.java    |     3 +-
 .../ui/issue/IssueTopComponentSettings.xml         |    39 +-
 .../ui/issue/IssueTopComponentWstcref.xml          |    39 +-
 .../ui/query/QueryTopComponentSettings.xml         |    39 +-
 .../ui/query/QueryTopComponentWstcref.xml          |    39 +-
 .../bugtracking/ui/search/Bundle.properties        |     2 +-
 .../bugtracking/ui/search/QuickSearchComboBar.java |    35 +-
 .../bugtracking/ui/search/QuickSearchPopup.java    |    63 +-
 .../ui/selectors/RepositoryFormPanel.java          |     1 +
 .../ui/selectors/RepositorySelectorBuilder.java    |     3 +-
 .../modules/bugtracking/util/IssueFinderUtils.java |     3 +
 .../modules/bugtracking/RepositoryImplTest.java    |   119 +
 .../bugtracking/RepositoryRegistryTest.java        |     2 +
 .../org/netbeans/modules/bugtracking/TestKit.java  |    32 +
 .../netbeans/modules/bugtracking/TestQuery.java    |     2 +-
 bugtracking/var/bugtracking/storage                |   Bin 10 -> 0 bytes
 bugzilla.exceptionreporter/build.xml               |    39 +
 bugzilla.exceptionreporter/manifest.mf             |     2 +-
 .../nbproject/project.properties                   |    37 +
 bugzilla.exceptionreporter/nbproject/project.xml   |    39 +
 bugzilla/build.xml                                 |    39 +
 bugzilla/manifest.mf                               |     2 +-
 bugzilla/nbproject/project.properties              |    37 +
 bugzilla/nbproject/project.xml                     |    49 +-
 .../bugzilla/commands/BugzillaExecutor.java        |    22 +-
 .../modules/bugzilla/issue/BugzillaIssue.java      |    18 +-
 .../modules/bugzilla/issue/Bundle.properties       |     2 +-
 .../modules/bugzilla/issue/CommentsPanel.java      |    24 +-
 .../modules/bugzilla/issue/IssuePanel.java         |     4 +-
 .../modules/bugzilla/query/QueryController.java    |    39 +-
 .../modules/bugzilla/query/QueryPanel.java         |     4 -
 .../modules/bugzilla/query/ControllerTest.java     |     1 +
 c.google.guava/build.xml                           |    44 +
 c.google.guava/external/binaries-list              |     1 +
 ...m.google.guava-15.0.0.v201403281430-license.txt |   208 +
 c.google.guava/manifest.mf                         |     1 +
 c.google.guava/nbproject/project.properties        |    40 +
 c.google.guava/nbproject/project.xml               |    54 +
 c.googlecode.javaewah.JavaEWAH/build.xml           |    39 +
 .../external/binaries-list                         |     0
 .../nbproject/project.properties                   |    37 +
 .../nbproject/project.xml                          |    39 +
 .../external/binaries-list                         |     0
 .../external/binaries-list                         |     0
 c.jcraft.jzlib/nbproject/project.properties        |     2 +-
 classfile/closure/build.xml                        |    39 +
 classfile/closure/nbproject/project.properties     |    37 +
 classfile/closure/nbproject/project.xml            |    39 +
 .../modules/classfile/closure/Closure.java         |     6 +-
 classfile/manifest.mf                              |     2 +-
 .../src/org/netbeans/modules/classfile/Access.java |     6 +-
 .../org/netbeans/modules/classfile/Annotation.java |     6 +-
 .../modules/classfile/AnnotationComponent.java     |     6 +-
 .../modules/classfile/ArrayElementValue.java       |     2 +
 .../netbeans/modules/classfile/AttributeMap.java   |     6 +-
 .../modules/classfile/BootstrapMethod.java         |     4 +-
 .../org/netbeans/modules/classfile/ByteCodes.java  |     6 +-
 .../netbeans/modules/classfile/CPClassInfo.java    |     6 +-
 .../netbeans/modules/classfile/CPDoubleInfo.java   |     6 +-
 .../org/netbeans/modules/classfile/CPEntry.java    |     6 +-
 .../netbeans/modules/classfile/CPFieldInfo.java    |     6 +-
 .../modules/classfile/CPFieldMethodInfo.java       |     6 +-
 .../netbeans/modules/classfile/CPFloatInfo.java    |     6 +-
 .../netbeans/modules/classfile/CPIntegerInfo.java  |     6 +-
 .../modules/classfile/CPInterfaceMethodInfo.java   |     6 +-
 .../modules/classfile/CPInvokeDynamicInfo.java     |     6 +-
 .../org/netbeans/modules/classfile/CPLongInfo.java |     6 +-
 .../modules/classfile/CPMethodHandleInfo.java      |     6 +-
 .../netbeans/modules/classfile/CPMethodInfo.java   |     6 +-
 .../modules/classfile/CPMethodTypeInfo.java        |     6 +-
 .../src/org/netbeans/modules/classfile/CPName.java |     6 +-
 .../modules/classfile/CPNameAndTypeInfo.java       |     6 +-
 .../netbeans/modules/classfile/CPStringInfo.java   |     6 +-
 .../org/netbeans/modules/classfile/CPUTF8Info.java |     6 +-
 .../modules/classfile/ClassElementValue.java       |     2 +
 .../org/netbeans/modules/classfile/ClassFile.java  |     6 +-
 .../src/org/netbeans/modules/classfile/Code.java   |     6 +-
 .../netbeans/modules/classfile/ConstantPool.java   |     6 +-
 .../modules/classfile/ConstantPoolReader.java      |     6 +-
 .../netbeans/modules/classfile/ElementValue.java   |     6 +-
 .../modules/classfile/EnclosingMethod.java         |     6 +-
 .../modules/classfile/EnumElementValue.java        |     2 +
 .../modules/classfile/ExceptionTableEntry.java     |     6 +-
 .../src/org/netbeans/modules/classfile/Field.java  |     6 +-
 .../org/netbeans/modules/classfile/InnerClass.java |     6 +-
 .../classfile/InvalidClassFormatException.java     |     6 +-
 .../modules/classfile/LocalVariableTableEntry.java |     6 +-
 .../classfile/LocalVariableTypeTableEntry.java     |     6 +-
 .../src/org/netbeans/modules/classfile/Method.java |     6 +-
 .../modules/classfile/NestedElementValue.java      |     2 +
 .../org/netbeans/modules/classfile/Parameter.java  |     6 +-
 .../modules/classfile/PrimitiveElementValue.java   |     2 +
 .../org/netbeans/modules/classfile/Variable.java   |     6 +-
 .../org/netbeans/modules/classfile/package.html    |    75 +-
 classfile/test/Closure.java                        |     6 +-
 classfile/test/ElapsedTimer.java                   |     6 +-
 classfile/test/PrintClass.java                     |     6 +-
 classfile/test/PrintClassFile.java                 |     6 +-
 classfile/test/ScanJar.java                        |     6 +-
 .../test/unit/src/regression/Issue219426Test.java  |    43 +-
 cloud.amazon/build.xml                             |    39 +
 cloud.amazon/manifest.mf                           |     2 +-
 cloud.amazon/nbproject/project.properties          |    37 +
 cloud.amazon/nbproject/project.xml                 |    39 +
 .../modules/cloud/amazon/Bundle.properties         |    37 +
 .../cloud/amazon/ui/AmazonWizardComponent.java     |     4 +-
 .../cloud/amazon/ui/serverplugin/Bundle.properties |    39 +-
 cloud.common/build.xml                             |    39 +
 cloud.common/manifest.mf                           |     2 +-
 cloud.common/nbproject/project.properties          |    37 +
 cloud.common/nbproject/project.xml                 |    39 +
 .../modules/cloud/common/Bundle.properties         |    37 +
 cnd.analysis.api/build.xml                         |    39 +
 cnd.analysis.api/manifest.mf                       |     2 +-
 cnd.analysis.api/nbproject/project.properties      |    37 +
 cnd.analysis.api/nbproject/project.xml             |    50 +-
 .../modules/cnd/analysis/api/AbstractAnalyzer.java |    40 +-
 .../analysis/api/AbstractCustomizerProvider.java   |    40 +-
 .../cnd/analysis/api/AbstractHintsPanel.java       |    40 +-
 .../modules/cnd/analysis/api/AnalyzerRequest.java  |    40 +-
 .../modules/cnd/analysis/api/AnalyzerResponse.java |    40 +-
 .../modules/cnd/analysis/api/Bundle.properties     |    37 +
 .../cnd/analysis/api/CodeAuditProviderImpl.java    |    39 +-
 .../netbeans/modules/cnd/analysis/api/layer.xml    |    39 +
 .../cnd/analysis/api/options/Bundle.properties     |    37 +
 .../api/options/HintsOptionsPanelController.java   |     9 +-
 .../cnd/analysis/api/options/HintsPanel.java       |   262 +-
 .../cnd/analysis/api/options/HintsPanelLogic.java  |     9 +-
 cnd.analysis.impl/build.xml                        |    39 +
 cnd.analysis.impl/manifest.mf                      |     2 +-
 cnd.analysis.impl/nbproject/project.properties     |    37 +
 cnd.analysis.impl/nbproject/project.xml            |    39 +
 .../modules/cnd/analysis/impl/ScopeProvider.java   |    39 +-
 .../cnd/analysis/impl/resources/Bundle.properties  |    37 +
 cnd.antlr/build.xml                                |    58 +-
 cnd.antlr/nbproject/project.properties             |    39 +-
 cnd.antlr/nbproject/project.xml                    |    39 +
 .../modules/cnd/antlr/CharScannerNoEx.java         |    47 +-
 .../org/netbeans/modules/cnd/antlr/Context.java    |    47 +-
 .../netbeans/modules/cnd/antlr/LLkParserNoEx.java  |    47 +-
 .../modules/cnd/antlr/MatchExceptionState.java     |    47 +-
 .../org/netbeans/modules/cnd/antlr/TokenImpl.java  |    47 +-
 .../netbeans/modules/cnd/antlr/TreeParserNoEx.java |    47 +-
 cnd.api.model/nbproject/project.properties         |    39 +-
 cnd.api.model/nbproject/project.xml                |    45 +-
 .../CsmExpressionBasedSpecializationParameter.java |    11 -
 .../cnd/api/model/CsmInitializerListContainer.java |    13 +-
 .../modules/cnd/api/model/CsmOffsetableName.java   |    11 -
 .../cnd/api/model/CsmSpecializationParameter.java  |    11 -
 .../netbeans/modules/cnd/api/model/CsmType.java    |     5 +
 .../model/CsmTypeBasedSpecializationParameter.java |    11 -
 .../cnd/api/model/resources/Bundle.properties      |     2 +-
 .../api/model/services/CsmClassifierResolver.java  |   303 -
 .../model/services/CsmFileLanguageProvider.java    |    62 -
 .../modules/cnd/api/model/services/CsmTypes.java   |   221 -
 .../api/model/support/CsmClassifierResolver.java   |   313 +
 .../api/model/support/CsmFileLanguageProvider.java |    62 +
 .../modules/cnd/api/model/support/CsmTypes.java    |   237 +
 .../cnd/api/model/util/CsmBaseUtilities.java       |    53 +-
 .../cnd/spi/model/CsmBaseUtilitiesProvider.java    |    59 +-
 .../modules/cnd/spi/model/TypesProvider.java       |     2 +-
 cnd.api.project/build.xml                          |    39 +
 cnd.api.project/nbproject/project.properties       |    39 +-
 cnd.api.project/nbproject/project.xml              |    83 +-
 .../cnd/api/project/DefaultSystemSettings.java     |    14 +-
 .../modules/cnd/api/project/IncludePath.java       |   134 +
 .../modules/cnd/api/project/NativeFileItem.java    |    29 +-
 .../modules/cnd/api/project/NativeFileItemSet.java |     8 +-
 .../modules/cnd/api/project/NativeFileSearch.java  |     3 +-
 .../modules/cnd/api/project/NativeProject.java     |    27 +-
 .../cnd/api/project/NativeProjectItemsAdapter.java |     2 +-
 .../api/project/NativeProjectItemsListener.java    |     3 +-
 .../cnd/api/project/NativeProjectSupport.java      |   100 +-
 .../project/support/NativeFileItemSetProvider.java |   138 +-
 cnd.api.remote.ui/build.xml                        |    44 +
 cnd.api.remote.ui/manifest.mf                      |     6 +
 cnd.api.remote.ui/nbproject/project.properties     |    40 +
 cnd.api.remote.ui/nbproject/project.xml            |   190 +
 .../cnd/api/remote/ui/RemoteFileChooserUtil.java   |   285 +
 .../api/remote/ui/SelectHostWizardProvider.java    |    89 +
 .../modules/cnd/api/remote/ui/ServerListUI.java    |   156 +
 .../cnd/api/remote/ui/resources/Bundle.properties  |    39 +
 .../remote/ui/SelectHostWizardProviderFactory.java |    54 +
 cnd.api.remote/build.xml                           |    39 +
 cnd.api.remote/nbproject/project.properties        |    39 +-
 cnd.api.remote/nbproject/project.xml               |    73 +-
 .../modules/cnd/api/remote/RemoteFileUtil.java     |   224 -
 .../cnd/api/remote/SelectHostWizardProvider.java   |    89 -
 .../modules/cnd/api/remote/ServerListUI.java       |   156 -
 .../remote/SelectHostWizardProviderFactory.java    |    54 -
 cnd.apt/nbproject/project.properties               |    39 +-
 cnd.apt/nbproject/project.xml                      |    50 +-
 .../org/netbeans/modules/cnd/apt/Bundle.properties |     2 +-
 .../modules/cnd/apt/debug/APTTraceFlags.java       |     2 +-
 .../apt/impl/support/APTHandlersSupportImpl.java   |    10 +-
 .../apt/impl/support/APTIncludeResolverImpl.java   |     5 +-
 .../apt/impl/support/APTMacroParamExpansion.java   |    15 +-
 .../modules/cnd/apt/impl/support/aptlexer.g        |    16 +-
 .../support/clank/APTToClankCompilationDB.java     |    22 +-
 .../apt/impl/support/clank/ClankDriverImpl.java    |     6 -
 .../clank/ClankFileObjectBasedFileSystem.java      |    52 +-
 .../support/clank/ClankFileSystemProviderImpl.java |    42 +-
 .../support/clank/ClankIncludeHandlerImpl.java     |    26 +-
 .../support/clank/ClankMacroExpandedToken.java     |   182 +
 .../impl/support/clank/ClankMemoryBufferImpl.java  |    47 +-
 .../apt/impl/support/clank/ClankPPCallback.java    |    82 +-
 .../apt/impl/support/clank/ClankToAPTToken.java    |    25 +-
 .../apt/impl/support/clank/ClankToAPTUtils.java    |    61 +-
 .../modules/cnd/apt/support/APTAbstractWalker.java |    11 +-
 .../modules/cnd/apt/support/APTExpandedStream.java |     2 +-
 .../modules/cnd/apt/support/APTFileSearch.java     |     3 +-
 .../cnd/apt/support/APTHandlersSupport.java        |     4 +-
 .../modules/cnd/apt/support/APTIncludeFake.java    |    13 +-
 .../cnd/apt/support/APTIncludePathStorage.java     |     8 +-
 .../modules/cnd/apt/support/APTSystemStorage.java  |     3 +-
 .../modules/cnd/apt/support/APTWalker.java         |     7 +-
 .../modules/cnd/apt/support/IncludeDirEntry.java   |    17 +-
 .../modules/cnd/apt/support/api/StartEntry.java    |     6 +
 .../cnd/apt/support/lang/APTFortranEOSFilter.java  |    17 +-
 .../cnd/apt/support/lang/APTFortranFilterEx.java   |     2 +-
 .../cnd/apt/support/lang/APTGnuCpp11Filter.java    |     9 +
 .../cnd/apt/support/lang/APTStdCFilter.java        |     5 +
 .../support/spi/APTFileSearchImplementation.java   |     4 +-
 .../netbeans/modules/cnd/apt/utils/APTUtils.java   |    27 +-
 .../cnd/apt/impl/support/clank/ClankToAPTTest.java |    11 +-
 cnd.asm/build.xml                                  |    47 +-
 cnd.asm/nbproject/project.properties               |    39 +-
 cnd.asm/nbproject/project.xml                      |    41 +-
 .../org/netbeans/modules/cnd/asm/base/amd64.xml    |    57 +-
 .../org/netbeans/modules/cnd/asm/base/sparc5.xml   |    41 +-
 .../cnd/asm/core/assistance/Bundle.properties      |    37 +
 .../cnd/asm/core/dataobjects/Bundle.properties     |    37 +
 .../cnd/asm/core/resources/Bundle.properties       |    52 +-
 .../resources/NavigatorTopComponentSettings.xml    |    39 +
 .../resources/NavigatorTopComponentWstcref.xml     |    39 +
 .../core/resources/NetBeans-Asm-fontsColors.xml    |    69 +-
 .../modules/cnd/asm/core/resources/asm-file.html   |    11 +-
 .../modules/cnd/asm/core/resources/il-file.html    |    13 +-
 .../modules/cnd/asm/core/resources/layer.xml       |    50 +-
 .../modules/cnd/asm/core/ui/menu/Bundle.properties |    37 +
 .../modules/cnd/asm/core/ui/top/Bundle.properties  |    41 +-
 cnd.callgraph/build.xml                            |    39 +
 cnd.callgraph/nbproject/project.properties         |    39 +-
 cnd.callgraph/nbproject/project.xml                |    39 +
 .../modules/cnd/callgraph/Bundle.properties        |    37 +
 .../callgraph/CallGraphTopComponentSettings.xml    |    39 +-
 .../cnd/callgraph/CallGraphTopComponentWstcref.xml |    39 +-
 .../modules/cnd/callgraph/impl/Bundle.properties   |    37 +
 .../modules/cnd/callgraph/impl/CallGraphPanel.java |     3 +-
 .../modules/cnd/callgraph/impl/CallGraphScene.java |    44 +-
 .../cnd/callgraph/impl/RelativePathRouter.java     |    40 +-
 .../org/netbeans/modules/cnd/callgraph/layer.xml   |    39 +
 .../cnd/callgraph/support/Bundle.properties        |    37 +
 cnd.classview/nbproject/project.properties         |    39 +-
 cnd.classview/nbproject/project.xml                |    51 +-
 .../modules/cnd/classview/ClassifierKeyArray.java  |     2 +-
 .../cnd/classview/actions/Bundle.properties        |     2 +-
 .../cnd/classview/model/ClassifierNode.java        |     2 +-
 .../cnd/classview/resources/Bundle.properties      |     2 +-
 .../cnd/classview/resources/classview.wstcref      |    39 +
 .../cnd/classview/resources/component.settings     |    39 +
 cnd.cncppunit/build.xml                            |    39 +
 cnd.cncppunit/nbproject/project.properties         |    41 +-
 cnd.cncppunit/nbproject/project.xml                |    61 +-
 .../modules/cnd/cncppunit/Bundle.properties        |    37 +
 .../modules/cnd/cncppunit/LibraryChecker.java      |     7 +-
 .../editor/filecreation/TestCUnitIterator.java     |     2 +-
 .../editor/filecreation/TestCppUnitIterator.java   |     2 +-
 .../org/netbeans/modules/cnd/cncppunit/layer.xml   |    39 +
 .../cnd/cncppunit/resources/cppunitrunner.html     |    75 +-
 .../cnd/cncppunit/resources/cppunittest.html       |    75 +-
 .../cnd/cncppunit/resources/cunittest-c.html       |    75 +-
 .../cnd/cncppunit/resources/test-cppunit.html      |    11 +-
 .../cnd/cncppunit/resources/test-cunit.html        |    11 +-
 .../modules/cnd/cncppunit/resources/testFiles.html |    11 +-
 cnd.completion/nbproject/project.properties        |    41 +-
 cnd.completion/nbproject/project.xml               |    55 +-
 .../cnd/completion/cplusplus/CsmFinderFactory.java |     2 +-
 .../cnd/completion/cplusplus/CsmFinderImpl.java    |     2 +-
 .../completion/cplusplus/NbCsmCompletionQuery.java |    13 +-
 .../cplusplus/ext/CompletionSupport.java           |   444 +-
 .../completion/cplusplus/ext/CsmCompletion.java    |   124 +-
 .../cplusplus/ext/CsmCompletionExpression.java     |    41 +-
 .../cplusplus/ext/CsmCompletionQuery.java          |   727 +-
 .../cplusplus/ext/CsmCompletionTokenProcessor.java |   347 +-
 .../cplusplus/ext/CsmExpandedTokenProcessor.java   |     2 +-
 .../completion/cplusplus/ext/CsmResultItem.java    |     2 +-
 .../hyperlink/CsmAbstractHyperlinkProvider.java    |     2 +-
 .../hyperlink/CsmDefineHyperlinkProvider.java      |    20 +-
 .../cplusplus/hyperlink/CsmHyperlinkProvider.java  |     4 +-
 .../hyperlink/CsmIncludeHyperlinkProvider.java     |    19 +-
 .../cplusplus/hyperlink/LineHyperlinkProvider.java |     2 +-
 .../cnd/completion/csm/CompletionResolver.java     |     2 +
 .../cnd/completion/csm/CompletionResolverImpl.java |    19 +-
 .../cnd/completion/csm/CompletionUtilities.java    |    37 +-
 .../cnd/completion/csm/CsmContextUtilities.java    |   337 +-
 .../cnd/completion/csm/CsmOffsetResolver.java      |    34 +-
 .../completion/csm/CsmProjectContentResolver.java  |   288 +-
 .../cnd/completion/csm/CsmStatementResolver.java   |    65 +-
 .../cnd/completion/impl/xref/ReferenceImpl.java    |     2 +-
 .../completion/impl/xref/ReferencesSupport.java    |    15 +-
 .../includes/CsmIncludeCompletionQuery.java        |    45 +-
 .../keywords/CsmKeywordCompletionItem.java         |     9 +-
 .../keywords/CsmKeywordsCompletionProvider.java    |    14 +-
 .../cnd/completion/options/Bundle.properties       |    37 +
 .../cnd/completion/templates/Bundle.properties     |    37 +
 .../templates/CppCodeTemplateProcessor.java        |     3 +
 cnd.completion/test/popular-commands.sh            |    37 +-
 .../hyperlink/BasicHyperlinkTestCase/bug246684.cpp |     9 +
 .../hyperlink/BasicHyperlinkTestCase/bug255900.cpp |     5 +
 .../hyperlink/BasicHyperlinkTestCase/bug255900.h   |     5 +
 .../hyperlink/BasicHyperlinkTestCase/bug256296.cpp |    10 +
 .../hyperlink/BasicHyperlinkTestCase/bug257031.cpp |    17 +
 .../hyperlink/BasicHyperlinkTestCase/bug257647.cpp |    16 +
 .../hyperlink/BasicHyperlinkTestCase/bug258143.cpp |    91 +
 .../hyperlink/BasicHyperlinkTestCase/bug258511.cpp |    10 +
 .../hyperlink/BasicHyperlinkTestCase/bug267275.cpp |    11 +
 .../hyperlink/BasicHyperlinkTestCase/bug267382.cpp |    21 +
 .../ClassMembersHyperlinkTestCase/bug242719.cpp    |    28 +
 .../ClassMembersHyperlinkTestCase/bug246680.c      |    13 +
 .../ClassMembersHyperlinkTestCase/bug255898.c      |     5 +
 .../ClassMembersHyperlinkTestCase/bug255898.h      |     5 +
 .../ClassMembersHyperlinkTestCase/bug255903.c      |    22 +
 .../ClassMembersHyperlinkTestCase/bug257821.c      |    21 +
 .../ClassMembersHyperlinkTestCase/bug257822.c      |    26 +
 .../ClassMembersHyperlinkTestCase/bug262407.cpp    |     8 +
 .../hyperlink/Cpp11TemplatesTestCase/bug257038.cpp |    47 +
 .../hyperlink/Cpp11TemplatesTestCase/bug262801.cpp |    18 +
 .../hyperlink/Cpp11TemplatesTestCase/bug267502.cpp |    26 +
 .../hyperlink/Cpp11TemplatesTestCase/bug267655.cpp |    43 +
 .../hyperlink/Cpp11TestCase/bug247031.cpp          |    59 +
 .../hyperlink/Cpp11TestCase/bug256058.cpp          |   111 +
 .../hyperlink/Cpp11TestCase/bug256739.cpp          |    19 +
 .../hyperlink/Cpp11TestCase/bug257616.cpp          |    12 +
 .../hyperlink/Cpp11TooltipsTestCase/bug257827.cpp  |    12 +
 .../hyperlink/Cpp11TooltipsTestCase/bug261006.cpp  |    16 +
 .../hyperlink/Cpp11TooltipsTestCase/bug261517.cpp  |     9 +
 .../src/bug257028.cpp                              |    11 +
 .../src/bug257032.cpp                              |     8 +
 .../src/bug267668.cpp                              |    10 +
 .../sys_include/bug257028_1.h                      |     6 +
 .../sys_include/bug257032.h                        |     9 +
 .../sys_include2/bug257028_2.h                     |    17 +
 .../sys_include2/bug267668.h                       |    14 +
 .../NamespacesHyperlinkTestCase/bug256058_2.cpp    |    19 +
 .../NamespacesHyperlinkTestCase/bug257187.cpp      |    12 +
 .../TemplateSpecializationsTestCase/bug216095.cpp  |    20 +
 .../TemplateSpecializationsTestCase/bug256700.cpp  |    47 +
 .../TemplateSpecializationsTestCase/bug262586.cpp  |    85 +
 .../cnd/completion/CCBasicCompletionTestCase.java  |     3 +-
 .../completion/SmartCompletionInQuoteTestCase.java |    11 -
 .../completion/TemplateInstantiationTestCase.java  |    11 -
 .../hyperlink/BasicHyperlinkTestCase.java          |   143 +-
 .../hyperlink/ClassMembersHyperlinkTestCase.java   |   153 +-
 .../hyperlink/Cpp11TemplatesTestCase.java          |    21 +
 .../cplusplus/hyperlink/Cpp11TestCase.java         |    65 +-
 .../cplusplus/hyperlink/Cpp11TooltipsTestCase.java |    48 +
 .../hyperlink/InstantiationHyperlinkTestCase.java  |    18 +-
 .../LibrariesContentHyperlinkTestCase.java         |    12 +
 .../hyperlink/NamespacesHyperlinkTestCase.java     |    70 +-
 .../hyperlink/TemplateSpecializationsTestCase.java |    52 +-
 cnd.debugger.common2/build.xml                     |    41 +-
 cnd.debugger.common2/manifest.mf                   |     2 +-
 cnd.debugger.common2/nbproject/project.properties  |    40 +-
 cnd.debugger.common2/nbproject/project.xml         |   121 +-
 .../cnd/debugger/common2/DbgActionHandler.java     |    10 +-
 .../debugger/common2/DbgAttachActionHandler.java   |    89 +
 .../common2/DbgAttachActionHandlerFactory.java     |    84 +
 .../common2/NativeDebuggerManagerAccessor.java     |    82 +
 .../debugger/common2/debugger/Bundle.properties    |     1 +
 .../debugger/common2/debugger/EvalAnnotation.java  |    16 +-
 .../cnd/debugger/common2/debugger/LocalModel.java  |     1 +
 .../common2/debugger/ModelChangeDelegator.java     |   107 +-
 .../debugger/common2/debugger/NativeDebugger.java  |     4 +-
 .../common2/debugger/NativeDebuggerImpl.java       |    76 +-
 .../common2/debugger/NativeDebuggerInfo.java       |    30 +
 .../common2/debugger/NativeDebuggerManager.java    |   138 +-
 .../debugger/NativePinWatchValueProvider.java      |   153 +
 .../cnd/debugger/common2/debugger/ToolTipView.java |   399 +-
 .../cnd/debugger/common2/debugger/WatchBag.java    |    26 +-
 .../cnd/debugger/common2/debugger/WatchModel.java  |    84 +-
 .../debugger/common2/debugger/WatchVariable.java   |     2 +-
 .../actions/AttachOutputActionProvider.java        |    10 +-
 .../common2/debugger/actions/AttachPanel.java      |    27 +-
 .../debugger/actions/CompileDebugAction.java       |     2 +-
 .../common2/debugger/actions/ProjectSupport.java   |    10 +-
 .../common2/debugger/assembly/Disassembly.java     |    20 +-
 .../debugger/breakpoints/BreakpointBag.java        |    26 +-
 .../debugger/breakpoints/BreakpointFilter.java     |     4 +-
 .../debugger/breakpoints/BreakpointManager.java    |     4 +-
 .../debugger/breakpoints/types/LineBreakpoint.java |     4 +
 .../breakpoints/types/LineBreakpointPanel.java     |     9 +-
 .../common2/debugger/io/ConsoleTopComponent.java   |     4 +-
 .../debugger/io/DebuggerExternalTerminal.java      |    21 +-
 .../cnd/debugger/common2/debugger/io/IOProxy.java  |    15 +-
 .../common2/debugger/io/NewTermComponent.java      |     6 +-
 .../common2/debugger/io/PioTopComponent.java       |     4 +-
 .../common2/debugger/io/TermComponentFactory.java  |     2 +-
 .../debugger/options/DbgProfileNodeProvider.java   |     6 +-
 .../components/DisassemblerWindow.settings         |    41 +-
 .../resources/components/EvaluationWindow.settings |    41 +-
 .../resources/components/MemoryWindow.settings     |    41 +-
 .../resources/components/RegistersWindow.settings  |    41 +-
 .../common2/resources/debugconfiguration-1_0.dtd   |    45 +-
 .../common2/resources/debugoptions-1_0.dtd         |    41 +-
 .../debugger/common2/resources/filesystems.wstcref |    39 +
 .../groups/debugger/DisassemblerWindow.wstcgrp     |    39 +
 .../groups/debugger/EvaluationWindow.wstcgrp       |    39 +
 .../resources/groups/debugger/MemoryWindow.wstcgrp |    39 +
 .../groups/debugger/RegistersWindow.wstcgrp        |    39 +
 .../cnd/debugger/common2/resources/layer.xml       |     4 +-
 .../modes/debugger/EvaluationWindow.wstcref        |    39 +
 .../resources/modes/debugger/MemoryWindow.wstcref  |    39 +
 .../modes/debugger/RegistersWindow.wstcref         |    39 +
 .../modes/editor/DisassemblerWindow.wstcref        |    39 +
 .../modes/output/ConsoleTopComponentWstcref.xml    |    39 +-
 .../modes/output/PioTopComponentWstcref.xml        |    39 +-
 .../resources/modes/output/callstack.wstcref       |    39 +
 .../common2/resources/modes/output/locals.wstcref  |    39 +
 .../resources/modes/output/navigatorTC.wstcref     |    39 +
 .../resources/modes/output/sessions.wstcref        |    39 +
 .../common2/resources/modes/output/threads.wstcref |    39 +
 .../common2/resources/modes/output/watches.wstcref |    39 +
 .../cnd/debugger/common2/utils/ExecutorCND.java    |    91 +-
 .../cnd/debugger/common2/utils/PsProvider.java     |    46 +-
 .../utils/options/OptionDirectoriesEditor.java     |     5 +-
 .../utils/options/OptionDirectoryEditor.java       |     3 +-
 .../common2/debugger/EvalAnnotationTest.java       |    29 +-
 cnd.debugger.gdb2/build.xml                        |    39 +
 cnd.debugger.gdb2/nbproject/project.properties     |    39 +-
 cnd.debugger.gdb2/nbproject/project.xml            |    52 +-
 .../org.netbeans.spi.viewmodel.ColumnModel         |     1 +
 .../ToolTipView/javax.swing.AbstractButton         |     2 +
 ....netbeans.spi.viewmodel.AsynchronousModelFilter |     2 +
 .../org.netbeans.spi.viewmodel.ColumnModel         |     0
 .../org.netbeans.spi.viewmodel.NodeActionsProvider |     3 +
 .../org.netbeans.spi.viewmodel.NodeModelFilter     |     4 +
 .../org.netbeans.spi.viewmodel.TableModel          |     3 +
 .../org.netbeans.spi.viewmodel.TreeExpansionModel  |     3 +
 .../org.netbeans.spi.viewmodel.TreeModel           |     3 +
 .../modules/cnd/debugger/gdb2/GdbDebuggerImpl.java |  2382 +-
 .../modules/cnd/debugger/gdb2/GdbDisassembly.java  |    10 +-
 .../debugger/gdb2/GdbPinWatchValueProvider.java    |    59 +
 .../modules/cnd/debugger/gdb2/GdbUtils.java        |     7 +-
 .../modules/cnd/debugger/gdb2/GdbVariable.java     |     2 +
 .../cnd/debugger/gdb2/GdbVersionPeculiarity.java   |    57 +-
 .../modules/cnd/debugger/gdb2/GdbWatch.java        |     1 +
 .../netbeans/modules/cnd/debugger/gdb2/Tap.java    |    34 +-
 .../modules/cnd/debugger/gdb2/ValuePresenter.java  |    21 +-
 .../modules/cnd/debugger/gdb2/mi/MIRecord.java     |     2 +-
 .../modules/cnd/debugger/gdb2/mi/package.html      |    39 +
 .../gdb2/peculiarity/PeculiarityTestCase.java      |    35 +-
 cnd.discovery/build.xml                            |     2 +-
 cnd.discovery/external/binaries-list               |     1 +
 cnd.discovery/nbproject/project.properties         |    41 +-
 cnd.discovery/nbproject/project.xml                |   105 +-
 .../modules/cnd/discovery/Bundle.properties        |     2 +-
 .../cnd/discovery/api/BuildTraceSupport.java       |   189 +-
 .../modules/cnd/discovery/api/Configuration.java   |     6 +
 .../discovery/api/DiscoveryExtensionInterface.java |     2 +-
 .../modules/cnd/discovery/api/DriverFactory.java   |   230 +-
 .../modules/cnd/discovery/api/ProjectImpl.java     |    14 +-
 .../modules/cnd/discovery/api/QtInfoProvider.java  |    85 +-
 .../buildsupport/BuildProjectActionHandler.java    |    84 +-
 .../BuildProjectActionHandlerFactory.java          |     7 +-
 .../buildsupport/ToolsWrapperUtility.java          |   258 +
 .../org/netbeans/modules/cnd/discovery/layer.xml   |     6 +-
 .../cnd/discovery/performance/Bundle.properties    |    39 +-
 .../performance/NotifyProjectProblem.java          |     3 +
 .../cnd/discovery/performance/StatisticPanel.java  |    12 +-
 .../cnd/discovery/projectimport/Bundle.properties  |    13 +-
 .../projectimport/CreateDependencies.java          |    34 +-
 .../discovery/projectimport/ExecuteCommand.java    |   116 +-
 .../cnd/discovery/projectimport/FollowUp.form      |     2 +-
 .../cnd/discovery/projectimport/FollowUp.java      |     2 +
 .../discovery/projectimport/ImportExecutable.java  |    50 +-
 .../cnd/discovery/projectimport/ImportProject.java |   321 +-
 .../discovery/services/DiscoveryManagerImpl.java   |    20 +-
 .../services/UserOptionsProviderImpl.java          |    29 +-
 .../discovery/wizard/BuildActionsProviderImpl.java |    22 +-
 .../modules/cnd/discovery/wizard/Bundle.properties |     4 +-
 .../cnd/discovery/wizard/DiscoveryExtension.java   |    26 +-
 .../discovery/wizard/DiscoveryWizardAction.java    |     3 +-
 .../wizard/DiscoveryWizardDescriptor.java          |    56 +-
 .../wizard/ExpandableEditableComboBox.java         |   116 +
 .../cnd/discovery/wizard/ProviderControl.java      |    16 +-
 .../cnd/discovery/wizard/SelectProviderPanel.form  |     2 +-
 .../cnd/discovery/wizard/SelectProviderPanel.java  |    38 +-
 .../discovery/wizard/api/DiscoveryDescriptor.java  |    29 +
 .../discovery/wizard/api/support/Bundle.properties |     2 +-
 .../wizard/api/support/ProjectBridge.java          |    96 +-
 .../wizard/support/impl/Bundle.properties          |     2 +-
 .../cnd/discovery/project/MakeProjectTestBase.java |    47 +-
 .../project/cases/SimpleScriptTestCase.java        |     2 +-
 cnd.discovery/tools/BuildTrace/Makefile            |    42 +
 cnd.discovery/tools/BuildTrace/compile.bash        |    44 +
 .../BuildTrace/nbproject/Makefile-SunOS-Previse.mk |     7 +-
 .../nbproject/Makefile-SunOS-Previse_64.mk         |    78 +
 .../BuildTrace/nbproject/Makefile-SunOS-x86.mk     |     5 -
 .../BuildTrace/nbproject/Makefile-SunOS-x86_64.mk  |     5 -
 .../tools/BuildTrace/nbproject/Makefile-impl.mk    |     4 +-
 .../BuildTrace/nbproject/Makefile-variables.mk     |     8 +
 .../nbproject/Package-SunOS-Previse_64.bash        |    76 +
 .../tools/BuildTrace/nbproject/configurations.xml  |    87 +-
 .../tools/BuildTrace/nbproject/launcher.properties |    80 +
 .../tools/BuildTrace/nbproject/project.properties  |    37 +
 .../tools/BuildTrace/nbproject/project.xml         |    43 +
 cnd.discovery/tools/BuildTrace/test.awk            |    23 +
 cnd.discovery/tools/BuildTrace/test.bash           |    74 +
 cnd.discovery/tools/ToolsWrapperUnix/wrapper       |    18 +
 cnd.discovery/tools/ToolsWrapperWidows/Makefile    |   147 +
 .../nbproject/Makefile-Unix_64.mk                  |    84 +
 .../nbproject/Makefile-Windows_32.mk               |    84 +
 .../ToolsWrapperWidows/nbproject/Makefile-impl.mk  |   133 +
 .../nbproject/Makefile-variables.mk                |    35 +
 .../nbproject/Package-Unix_64.bash                 |    76 +
 .../nbproject/Package-Windows_32.bash              |    76 +
 .../nbproject/configurations.xml                   |   113 +
 .../nbproject/launcher.properties                  |    61 +
 .../tools/ToolsWrapperWidows/nbproject/project.xml |    68 +
 cnd.discovery/tools/ToolsWrapperWidows/src/args.c  |   161 +
 cnd.dwarfdiscovery/build.xml                       |     2 +-
 cnd.dwarfdiscovery/nbproject/project.properties    |    39 +-
 cnd.dwarfdiscovery/nbproject/project.xml           |    73 +-
 .../modules/cnd/dwarfdiscovery/Bundle.properties   |     2 +-
 .../cnd/dwarfdiscovery/RemoteJavaExecution.java    |    43 +-
 .../dwarfdiscovery/provider/AnalyzeExecLog.java    |    45 +-
 .../dwarfdiscovery/provider/AnalyzeExecutable.java |    10 +-
 .../cnd/dwarfdiscovery/provider/AnalyzeFolder.java |     8 +-
 .../dwarfdiscovery/provider/AnalyzeMakeLog.java    |    46 +-
 .../dwarfdiscovery/provider/BaseDwarfProvider.java |    17 +-
 .../cnd/dwarfdiscovery/provider/BaseProvider.java  |    21 +-
 .../cnd/dwarfdiscovery/provider/Bundle.properties  |     6 +-
 .../cnd/dwarfdiscovery/provider/ExecLogReader.java |    98 +-
 .../cnd/dwarfdiscovery/provider/MakeLogReader.java |    61 +-
 .../dwarfdiscovery/provider/RelocatableImpl.java   |    14 +-
 .../provider/CompileLineServiceTest.java           |    16 +-
 .../dwarfdiscovery/provider/LddServiceTest.java    |    24 +-
 cnd.dwarfdump/build.xml                            |     2 +-
 cnd.dwarfdump/build_cli.xml                        |     2 +-
 cnd.dwarfdump/nbproject/project.properties         |    39 +-
 cnd.dwarfdump/nbproject/project.xml                |    41 +
 .../modules/cnd/dwarfdump/CompilationUnit.java     |    14 +-
 .../modules/cnd/dwarfdump/CompileLineService.java  |     8 +-
 .../org/netbeans/modules/cnd/dwarfdump/Dwarf.java  |    17 +-
 .../netbeans/modules/cnd/dwarfdump/LddService.java |     2 +-
 .../modules/cnd/dwarfdump/elf/ElfHeader.java       |    26 +-
 .../modules/cnd/dwarfdump/elf/SectionHeader.java   |    20 +-
 .../cnd/dwarfdump/reader/ByteStreamReader.java     |     2 +-
 .../modules/cnd/dwarfdump/reader/ElfReader.java    |    17 +-
 .../cnd/dwarfdump/reader/MyRandomAccessFile.java   |    33 +-
 .../cnd/dwarfdump/resources/Bundle.properties      |     2 +-
 .../cnd/dwarfdump/source/DefaultDriver.java        |     7 +-
 .../modules/cnd/dwarfdump/source/Driver.java       |    18 +
 .../modules/cnd/dwarfdump/trace/TraceDwarf.java    |     2 +-
 cnd.editor/build.xml                               |    39 +
 cnd.editor/nbproject/project.properties            |    39 +-
 cnd.editor/nbproject/project.xml                   |    75 +-
 .../netbeans/modules/cnd/editor/Bundle.properties  |    37 +
 .../modules/cnd/editor/cos/COSRedirectorImpl.java  |     6 +-
 .../cnd/editor/cplusplus/BracketCompletion.java    |     8 +
 .../modules/cnd/editor/indent/CppIndentTask.java   |    19 +
 .../modules/cnd/editor/indent/IndentSupport.java   |     2 +-
 .../src/org/netbeans/modules/cnd/editor/layer.xml  |    52 +-
 .../modules/cnd/editor/options/Bundle.properties   |   316 +-
 .../modules/cnd/editor/options/EditorOptions.java  |     4 +-
 .../cnd/editor/options/EditorPropertySheet.java    |    28 +-
 .../modules/cnd/editor/reformat/BracesStack.java   |    14 +-
 .../cnd/editor/reformat/ContextDetector.java       |     3 +
 .../cnd/editor/reformat/ExtendedTokenSequence.java |    63 +
 .../cnd/editor/reformat/ReformatterImpl.java       |    72 +-
 .../modules/cnd/editor/reformat/StackEntry.java    |   159 +-
 .../editor/resources/DefaultKeyBindings-Mac.xml    |     4 +-
 .../cnd/editor/resources/DefaultKeyBindings.xml    |     6 +-
 .../resources/cplusplus/SAMPLE_AlignBraces.c       |    39 -
 .../resources/cplusplus/SAMPLE_AlignBraces.cpp     |    49 -
 .../editor/resources/cplusplus/SAMPLE_BlankLines.c |    20 -
 .../resources/cplusplus/SAMPLE_BlankLines.cpp      |    21 -
 .../cnd/editor/resources/cplusplus/SAMPLE_Spaces.c |    35 -
 .../editor/resources/cplusplus/SAMPLE_Spaces.cpp   |    41 -
 .../resources/cplusplus/SAMPLE_TabsIndents.c       |    40 -
 .../resources/cplusplus/SAMPLE_TabsIndents.cpp     |    45 -
 .../fortran/Netbeans-Fortran-fontsColors.xml       |     2 +-
 .../cnd/editor/cplusplus/FormatterTestCase.java    |   140 +-
 .../cnd/editor/cplusplus/IndentTestCase.java       |    51 +
 cnd.gotodeclaration/build.xml                      |     2 +-
 cnd.gotodeclaration/nbproject/project.properties   |    39 +-
 cnd.gotodeclaration/nbproject/project.xml          |    51 +-
 .../cnd/gotodeclaration/symbol/Bundle.properties   |    37 +
 .../symbol/CppSymbolDescriptor.java                |    56 +-
 .../gotodeclaration/symbol/CppSymbolProvider.java  |    57 +-
 .../cnd/gotodeclaration/type/CppTypeProvider.java  |     2 +-
 .../element/providers/CppSymbolBaseTestCase.java   |     7 +-
 cnd.highlight/build.xml                            |     2 +-
 cnd.highlight/nbproject/project.properties         |    39 +-
 cnd.highlight/nbproject/project.xml                |    59 +-
 .../modules/cnd/highlight/error/Bundle.properties  |     2 +-
 .../highlight/error/IdentifierErrorProvider.java   |     2 +-
 .../cnd/highlight/error/includes/Bundle.properties |     2 +-
 .../error/includes/ErrorIncludeDialog.java         |    50 +-
 .../cnd/highlight/hints/NoMatchingConstructor.java |    23 +
 .../cnd/highlight/hints/NonVirtualMethod.java      |    27 +-
 .../hints/formatstring/FormatStringAudit.java      |   236 +-
 .../hints/formatstring/FormattedPrintFunction.java |    18 +-
 .../highlight/hints/formatstring/Utilities.java    |    46 +-
 .../cnd/highlight/resources/Bundle.properties      |     2 +-
 .../cnd/highlight/resources/DefaultKeyBindings.xml |    18 +-
 .../modules/cnd/highlight/resources/layer.xml      |     9 +-
 .../cnd/highlight/security/FunctionUsageAudit.java |   106 +-
 .../cnd/highlight/semantic/Bundle.properties       |     2 +-
 .../semantic/MarkOccurrencesHighlighter.java       |    10 +-
 .../modules/cnd/highlight/semantic/ModelUtils.java |     4 +-
 .../semantic/SemanticEntitiesProvider.java         |    11 +-
 .../cnd/highlight/semantic/SemanticEntity.java     |     2 +-
 .../highlight/semantic/SemanticHighlighter.java    |    14 +-
 .../highlight/semantic/actions/Bundle.properties   |     4 +-
 .../semantic/actions/GotoNextOccurrenceAction.java |     3 +-
 .../semantic/actions/GotoPrevOccurrenceAction.java |     3 +-
 .../options/SemanticHighlightingOptionsPanel.java  |     2 +-
 .../UnresolvedIdentifierTest/bug257030.cpp.dat     |     1 +
 .../UnresolvedIdentifierTest/iz155459.cpp.dat      |     2 +
 .../FormatStringTest/src_bug254476.c.dat           |     1 +
 .../FormatStringTest/src_bug257545.c.dat           |     1 +
 .../FormatStringTest/src_bug267505.cpp.dat         |     1 +
 .../src_general_negative_test.cpp.dat              |    39 +
 .../error/MissingGuardBlockTest/bug257048.h        |     4 +
 .../error/UnresolvedIdentifierTest/bug257030.cpp   |     8 +
 .../formatstring/FormatStringTest/src/bug254435.c  |     7 +
 .../FormatStringTest/src/bug254469.cpp             |    18 +
 .../formatstring/FormatStringTest/src/bug254472.c  |    13 +
 .../FormatStringTest/src/bug254475.cpp             |    12 +
 .../formatstring/FormatStringTest/src/bug254476.c  |     7 +
 .../formatstring/FormatStringTest/src/bug254500.c  |     9 +
 .../formatstring/FormatStringTest/src/bug254508.c  |     7 +
 .../formatstring/FormatStringTest/src/bug254545.c  |    16 +
 .../formatstring/FormatStringTest/src/bug254580.c  |    14 +
 .../FormatStringTest/src/bug254803.cpp             |    10 +
 .../formatstring/FormatStringTest/src/bug255083.c  |    10 +
 .../formatstring/FormatStringTest/src/bug255270.c  |     9 +
 .../formatstring/FormatStringTest/src/bug255378.c  |     7 +
 .../formatstring/FormatStringTest/src/bug255693.c  |     7 +
 .../formatstring/FormatStringTest/src/bug256254.c  |    10 +
 .../formatstring/FormatStringTest/src/bug256321.c  |     6 +
 .../formatstring/FormatStringTest/src/bug257545.c  |     5 +
 .../FormatStringTest/src/bug259130.cpp             |     7 +
 .../FormatStringTest/src/bug267505.cpp             |     7 +
 .../FormatStringTest/src/general_negative_test.cpp |    54 +
 .../FormatStringTest/src/general_positive_test.cpp |   126 +
 .../FormatStringTest/sys_includes/stdio.h          |     1 +
 .../error/ErrorHighlightingBaseTestCase.java       |    33 +
 .../cnd/highlight/error/MissingGuardBlockTest.java |    56 +
 .../error/UnresolvedCpp11IdentifierTest.java       |    10 +
 .../highlight/error/UnresolvedIdentifierTest.java  |    35 +-
 .../hints/formatstring/FormatStringTest.java       |   151 +
 .../semantic/SemanticHighlightingTestBase.java     |     2 +-
 cnd.indexing/build.xml                             |    39 +
 cnd.indexing/nbproject/project.properties          |    39 +-
 cnd.indexing/nbproject/project.xml                 |    39 +
 .../modules/cnd/indexing/Bundle.properties         |    37 +
 cnd.kit/build.xml                                  |    39 +
 cnd.kit/bundle-check.sh                            |    46 +-
 cnd.kit/findbugs.sh                                |    37 +-
 cnd.kit/hudson/transplant.sh                       |    37 +-
 cnd.kit/i18n-check-local.sh                        |    37 +-
 cnd.kit/i18n-check.sh                              |    37 +-
 cnd.kit/misc-build.xml                             |    13 +-
 cnd.kit/nbproject/project.properties               |     2 +-
 cnd.kit/nbproject/project.xml                      |    85 +-
 cnd.kit/release/VERSION.txt                        |     2 +-
 cnd.kit/testdist-runner.sh                         |    37 +
 cnd.lexer/build.xml                                |    39 +
 cnd.lexer/nbproject/project.properties             |    39 +-
 cnd.lexer/nbproject/project.xml                    |    40 +
 .../netbeans/cnd/api/lexer/CndLexerUtilities.java  |     8 +-
 .../src/org/netbeans/cnd/api/lexer/CppTokenId.java |     7 +-
 .../src/org/netbeans/cnd/api/lexer/Filter.java     |    11 -
 .../org/netbeans/modules/cnd/lexer/CppLexer.java   |    11 -
 .../netbeans/modules/cnd/lexer/PreprocLexer.java   |    11 -
 .../modules/cnd/lexer/CndLexerUnitTest.java        |    11 -
 .../modules/cnd/lexer/CppLexerBatchTestCase.java   |   468 +-
 cnd.makeproject.source.bridge/build.xml            |    39 +
 .../nbproject/project.properties                   |    39 +-
 .../nbproject/project.xml                          |    69 +-
 .../bridge/DocumentLanguageFlavorProvider.java     |    63 +-
 .../source/bridge/resources/Bundle.properties      |    37 +
 cnd.makeproject.ui/build.xml                       |    44 +
 cnd.makeproject.ui/manifest.mf                     |     7 +
 cnd.makeproject.ui/nbproject/project.properties    |    39 +
 cnd.makeproject.ui/nbproject/project.xml           |   479 +
 .../api/ui/DatabaseProjectProviderEx.java          |    52 +
 .../modules/cnd/makeproject/api/ui/ItemEx.java     |   348 +
 .../api/ui/LogicalViewNodeProvider.java            |     0
 .../api/ui/LogicalViewNodeProviders.java           |     0
 .../api/ui/MakeProjectCustomizerAdaptor.java       |   122 +
 .../api/ui/MakeProjectCustomizerEx.java            |    59 +
 .../api/ui/MakeProjectLookupProviders.java         |    56 +
 .../api/ui/actions/AddExistingItemAction.java      |   242 +
 .../makeproject/api/ui}/actions/Bundle.properties  |     0
 .../api/ui/actions/MakeProjectPublicUtils.java     |    60 +
 .../api/ui/actions/NewFolderAction.java            |   137 +
 .../api/ui/configurations/BooleanNodeProp.java     |    91 +
 .../ui/configurations/BooleanReverseNodeProp.java  |    95 +
 .../api/ui/configurations/ComboStringNodeProp.java |   178 +
 .../api/ui/configurations/CustomizerNode.java      |   107 +
 .../ui/configurations/CustomizerNodeProvider.java  |    54 +
 .../configurations/CustomizerRootNodeProvider.java |   102 +
 .../ui/configurations/DebuggerCustomizerNode.java  |    51 +
 .../api/ui/configurations/IntNodeProp.java         |   171 +
 .../configurations/PrioritizedCustomizerNode.java  |    62 +
 .../api/ui/configurations/StringPanel.form         |    36 +
 .../api/ui/configurations/StringPanel.java         |   116 +
 .../api/ui/wizard/IteratorExtension.java           |   107 +
 .../api/ui/wizard/ProjectWizardPanels.java         |    91 +
 .../makeproject/api/ui/wizard/WizardConstants.java |   168 +
 .../cnd/makeproject/ui/AddExternalItemAction.java  |   133 +
 .../modules/cnd/makeproject/ui/AnnotatedNode.java  |     0
 .../cnd/makeproject/ui/BaseMakeViewChildren.java   |   208 +
 .../modules/cnd/makeproject/ui/BrokenLinks.java    |   157 +
 .../makeproject/ui/BrokenReferencesSupport.java    |   594 +
 .../cnd/makeproject/ui/BrokenViewItemNode.java     |   179 +
 .../ui/BrokenViewItemRefreshSupport.java           |     0
 .../modules/cnd/makeproject/ui/Bundle.properties   |   224 +
 .../ui/DefaultMakeProjectLocationProviderImpl.java |    76 +
 .../makeproject/ui/EnvProjectProblemsProvider.java |   319 +
 .../cnd/makeproject/ui/ExternalFilesChildren.java  |    85 +
 .../cnd/makeproject/ui/ExternalFilesNode.java      |   120 +
 .../cnd/makeproject/ui/FolderSearchInfo.java       |   169 +
 .../modules/cnd/makeproject/ui/LoadingNode.java    |     0
 .../ui/LogicalFolderExtendedDelete.java            |     0
 .../cnd/makeproject/ui/LogicalFolderNode.java      |   588 +
 .../cnd/makeproject/ui/LogicalViewChildren.java    |   251 +
 .../makeproject/ui/MakeCustomizerProviderImpl.java |   408 +
 .../makeproject/ui/MakeLogicalViewProvider.java    |   570 +
 .../makeproject/ui/MakeLogicalViewRootNode.java    |   567 +
 .../ui/MakeLogicalViewRootNodeBroken.java          |   100 +
 .../ui/MakeProjectFileProviderFactory.java         |   475 +
 .../makeproject/ui/MakeProjectGeneratorImpl.java   |   364 +
 .../cnd/makeproject/ui/MakeProjectSearchInfo.java  |   154 +
 .../cnd/makeproject/ui/MakeTemplateListener.java   |   281 +
 .../cnd/makeproject/ui/NodeActionFactory.java      |   249 +
 .../makeproject/ui/ProjectNodesRefreshSupport.java |     0
 .../cnd/makeproject/ui/ProjectTabBridge.java       |     0
 .../cnd/makeproject/ui/PropertiesFolderAction.java |   119 +
 .../cnd/makeproject/ui/PropertiesItemAction.java   |   139 +
 .../makeproject/ui/RefreshableItemsContainer.java  |     0
 .../makeproject/ui/RemoteDevelopmentAction.java    |   266 +
 .../cnd/makeproject/ui/RemoteSyncActions.java      |   561 +
 .../cnd/makeproject/ui/RemoveFolderAction.java     |   103 +
 .../cnd/makeproject/ui/RemoveItemAction.java       |   101 +
 .../cnd/makeproject/ui/ResolveEnvVarPanel.form     |     0
 .../cnd/makeproject/ui/ResolveEnvVarPanel.java     |   182 +
 .../cnd/makeproject/ui/ResolveReferencePanel.form  |     0
 .../cnd/makeproject/ui/ResolveReferencePanel.java  |     0
 .../cnd/makeproject/ui/SelectExecutablePanel.form  |     0
 .../cnd/makeproject/ui/SelectExecutablePanel.java  |   494 +
 .../cnd/makeproject/ui/SetConfigurationAction.java |   159 +
 .../ui/TemplateAttributesProviderImpl.java         |   171 +
 .../cnd/makeproject/ui/ViewFolderPasteType.java    |   231 +
 .../modules/cnd/makeproject/ui/ViewItemNode.java   |   466 +
 .../cnd/makeproject/ui/ViewItemPasteType.java      |   288 +
 .../ui/actions/AddExistingFolderItemsAction.java   |   228 +
 .../makeproject/ui/actions/BatchBuildAction.java   |    85 +
 .../cnd/makeproject/ui/actions/Bundle.properties   |   300 +
 .../ui/actions/ConfigurationManagerAction.java     |    85 +
 .../ui/actions/ContextAwareWrapperAction.java      |     0
 .../ui/actions/CreateProjectAction.java            |    80 +
 .../makeproject/ui/actions/DebugDialogAction.java  |   219 +
 .../makeproject/ui/actions/DebugTestAction.java    |   129 +
 .../ui}/actions/DefaultProjectCopyPanel.form       |     0
 .../ui/actions/DefaultProjectCopyPanel.java        |   476 +
 .../ui}/actions/DefaultProjectDeletePanel.form     |     0
 .../ui/actions/DefaultProjectDeletePanel.java      |   236 +
 .../DefaultProjectOperationsImplementation.java    |   471 +
 .../ui}/actions/DefaultProjectRenamePanel.form     |     0
 .../ui/actions/DefaultProjectRenamePanel.java      |   372 +
 .../cnd/makeproject/ui/actions/FileProxy.java      |   247 +
 .../ui/actions/MakeProjectActionsSupport.java      |    91 +
 .../ui/actions/MakeProjectBuildHostAction.java     |     0
 .../ui/actions/MakeProjectConfigurationAction.java |     0
 .../ui/actions/MakeProjectContextAwareAction.java  |     0
 .../actions/MakeProjectManageLaunchersAction.java  |    97 +
 .../ui/actions/MoreBuildActionsAction.java         |     0
 .../ui/actions/NewTestActionFactory.java           |   441 +
 .../makeproject/ui/actions/RunDialogAction.java    |   265 +
 .../cnd/makeproject/ui/actions/RunDialogPanel.form |   386 +
 .../cnd/makeproject/ui/actions/RunDialogPanel.java |  1233 +
 .../cnd/makeproject/ui/actions/RunTestAction.java  |   142 +
 .../makeproject/ui/actions/StepIntoTestAction.java |   131 +
 .../ui/configurations/Bundle.properties            |   527 +
 .../ui/configurations/CompilerSetNodeProp.java     |   259 +
 .../ui/configurations/DebuggerChooserNodeProp.java |   150 +
 .../DebuggerChooserProviderImpl.java               |   127 +
 .../ui/configurations/DevelopmentHostNodeProp.java |   200 +
 .../ui/configurations/FormattingPropPanel.form     |   146 +
 .../ui/configurations/FormattingPropPanel.java     |   427 +
 .../ui/configurations/LibrariesNodeProp.java       |   169 +
 .../ui/configurations/LibrariesPanel.java          |   413 +
 .../ui/configurations/LibraryOptionPanel.form      |    87 +
 .../ui/configurations/LibraryOptionPanel.java      |   189 +
 .../ui/configurations/LicenseHeadersPanel.form     |   151 +
 .../ui/configurations/LicenseHeadersPanel.java     |   479 +
 .../configurations/LicensePanelContentHandler.java |   101 +
 .../configurations/MacroExpandedEditorPanel.form   |    81 +
 .../configurations/MacroExpandedEditorPanel.java   |   170 +
 .../ui/configurations/MakeArtifactChooser.form     |    75 +
 .../ui/configurations/MakeArtifactChooser.java     |   394 +
 .../ui/configurations/OptionsEditorPanel.form      |   108 +
 .../ui/configurations/OptionsEditorPanel.java      |   211 +
 .../ui/configurations/OptionsNodeProp.java         |   170 +
 .../PackagingAddingFilesProgressPanel.form         |    80 +
 .../PackagingAddingFilesProgressPanel.java         |   141 +
 .../PackagingAdditionalInfoPanel.java              |   134 +
 .../ui/configurations/PackagingFiles4Panel.java    |    62 +
 .../configurations/PackagingFilesOuterPanel.form   |   559 +
 .../configurations/PackagingFilesOuterPanel.java   |   662 +
 .../ui/configurations/PackagingFilesPanel.java     |   753 +
 .../ui/configurations/PackagingInfoOuterPanel.form |    79 +
 .../ui/configurations/PackagingInfoOuterPanel.java |   148 +
 .../ui/configurations/PackagingInfoPanel.java      |   451 +
 .../ui/configurations/PackagingNewEntryPanel.form  |   138 +
 .../ui/configurations/PackagingNewEntryPanel.java  |   274 +
 .../ui/configurations/PackagingNewLinkPanel.form   |   107 +
 .../ui/configurations/PackagingNewLinkPanel.java   |   181 +
 .../ui/configurations/PackagingNodeProp.java       |   164 +
 .../ui/configurations/PackagingPanel.form          |    37 +
 .../ui/configurations/PackagingPanel.java          |   188 +
 .../ui/configurations/PkgConfigLibrary.form        |    84 +
 .../ui/configurations/PkgConfigLibrary.java        |   357 +
 .../ui/configurations/PlatformSpecificProp.java    |   186 +
 .../PrependToolCollectionPathNodeProp.java         |   109 +
 .../ui/configurations/ProjectPropPanel.form        |   195 +
 .../ui/configurations/ProjectPropPanel.java        |   362 +
 .../makeproject/ui/configurations/RWECheckBox.java |    80 +
 .../configurations/RemoteSyncFactoryNodeProp.java  |   126 +
 .../configurations/RequiredProjectsNodeProp.java   |   168 +
 .../ui/configurations/RequiredProjectsPanel.java   |   221 +
 .../cnd/makeproject/ui/configurations/StateCA.java |    92 +
 .../ui/configurations/StateCANodeProp.java         |   174 +
 .../makeproject/ui/configurations/StdLibPanel.form |    50 +
 .../makeproject/ui/configurations/StdLibPanel.java |   168 +
 .../ui/configurations/StringListNodeProp.java      |   158 +
 .../ui/configurations/StringNodeProp.java          |   120 +
 .../ui/configurations/StringRONodeProp.java        |    67 +
 .../ui/configurations/TableEditorPanel.java        |   411 +
 .../ui/configurations/VectorNodeProp.java          |   163 +
 .../customizer/ArchiverGeneralCustomizerNode.java  |   164 +
 .../ui/customizer/AssemblerCustomizerNode.java     |   132 +
 .../ui/customizer/BasicCompilerCustomizerNode.java |    82 +
 .../ui/customizer/BuildCustomizerNode.java         |   116 +
 .../makeproject/ui/customizer/Bundle.properties    |   500 +
 .../ui/customizer/CCCCompilerCustomizerNode.java   |   197 +
 .../ui/customizer/CCCompilerCustomizerNode.java    |   221 +
 .../ui/customizer/CCompilerCustomizerNode.java     |   205 +
 .../customizer/CodeAssistanceCustomizerNode.java   |   165 +
 .../ui/customizer/CompileCustomizerNode.java       |    92 +
 .../customizer/CustomBuildItemCustomizerNode.java  |    74 +
 .../ui/customizer/CustomToolCustomizerNode.java    |    75 +
 .../ui/customizer/DevelopmentHostCustomizer.java   |   149 +
 .../ui/customizer/FolderNodeFactory.java           |   131 +
 .../ui/customizer/FormattingCustomizerNode.java    |    81 +
 .../customizer/FortranCompilerCustomizerNode.java  |   140 +
 .../ui/customizer/GeneralCustomizerNode.java       |    80 +
 .../ui/customizer/GeneralFolderCustomizerNode.java |    73 +
 .../ui/customizer/GeneralItemCustomizerNode.java   |    80 +
 .../makeproject/ui/customizer/ItemNodeFactory.java |   325 +
 .../ui/customizer/LaunchersCustomizerNode.java     |    81 +
 .../ui/customizer/LicenseCustomizerNode.java       |   202 +
 .../ui/customizer/LinkerGeneralCustomizerNode.java |   265 +
 .../cnd/makeproject/ui/customizer/MakeContext.java |   252 +
 .../makeproject/ui/customizer/MakeCustomizer.form  |   165 +
 .../makeproject/ui/customizer/MakeCustomizer.java  |   853 +
 .../ui/customizer/MakefileCustomizerNode.java      |   420 +
 .../ui/customizer/PackagingCustomizerNode.java     |   224 +
 .../ui/customizer/PreBuildCustomizerNode.java      |   262 +
 .../ui/customizer/ProjectNodeFactory.java          |   334 +
 .../makeproject/ui/customizer/PropertyNode.java    |    86 +
 .../ui/customizer/PropertyNodeChildren.java        |    81 +
 .../ui/customizer/ProxyItemConfiguration.java      |   150 +
 .../ui/customizer/QtCustomizerNode.java            |   136 +
 .../customizer/RequiredProjectsCustomizerNode.java |    90 +
 .../ui/customizer/SharedItemConfiguration.java     |    79 +
 .../makeproject/ui/dialogs/AutoConfirmImpl.java    |    68 +
 .../ui/dialogs/BatchConfigurationSelectorImpl.java |   152 +
 .../cnd/makeproject/ui/dialogs/Bundle.properties   |   111 +
 .../ui/dialogs/ConfigurationWarningPanel.form      |    86 +
 .../ui/dialogs/ConfigurationWarningPanel.java      |   132 +
 .../ui/dialogs/ConfirmCreateConnectionImpl.java    |    66 +
 .../ui/dialogs/ConfirmExtensionsImpl.form          |   128 +
 .../ui/dialogs/ConfirmExtensionsImpl.java          |   269 +
 .../ui/dialogs/ConfirmPlatformMismatchImpl.java    |    78 +
 .../makeproject/ui/dialogs/ConfirmVersionImpl.java |    83 +
 .../ui/dialogs/ForbidBuildAnalyzerImpl.java        |    87 +
 .../ui/dialogs/NotifyCantConnectImpl.java          |    64 +
 .../ui/dialogs/ResolveRfsLibraryImpl.java          |    78 +
 .../editor/CndDocumentCodeStyleProviderImpl.java   |    81 +
 .../ui/launchers/actions/Bundle.properties         |   101 +
 .../ui/launchers/actions/LauncherAction.java       |   289 +
 .../ui/launchers/actions/LaunchersConfig.java      |   689 +
 .../ui/launchers/actions/LaunchersPanel.form       |   440 +
 .../ui/launchers/actions/LaunchersPanel.java       |  1257 +
 .../ui/launchers/actions/ManageLaunchers.java      |    64 +
 .../launchers/actions/resources/common_private.png |   Bin 0 -> 837 bytes
 .../launchers/actions/resources/common_public.png  |   Bin 0 -> 796 bytes
 .../actions/resources/launcher_private.png         |   Bin 0 -> 825 bytes
 .../actions/resources/launcher_public.png          |   Bin 0 -> 680 bytes
 .../cnd/makeproject/ui/options/Bundle.properties   |     0
 .../ui/options/ProjectOptionsPanel.form            |     0
 .../ui/options/ProjectOptionsPanel.java            |   326 +
 .../ui/options/ProjectOptionsPanelController.java  |     0
 .../cnd/makeproject/ui/resources/Bundle.properties |    40 +
 .../makeproject/ui/resources/MakeOptions.settings  |    47 +
 .../cnd/makeproject/ui/resources/binary.html       |    48 +
 .../ui/resources/brokenIncludeBadge.png            |   Bin
 .../ui/resources/brokenProjectBadge.gif            |   Bin
 .../cnd/makeproject/ui/resources/desktop.html      |    48 +
 .../cnd/makeproject/ui/resources/exclamation.gif   |   Bin
 .../cnd/makeproject/ui/resources/general.gif       |   Bin
 .../makeproject/ui/resources/importantFolder.gif   |   Bin
 .../ui/resources/importantFolderOpened.gif         |   Bin
 .../modules/cnd/makeproject/ui/resources/layer.xml |   593 +
 .../cnd/makeproject/ui/resources/libraries.gif     |   Bin
 .../ui/resources/logicalFilesFolder.gif            |   Bin
 .../ui/resources/logicalFilesFolderOpened.gif      |   Bin
 .../cnd/makeproject/ui/resources/makefile.html     |    48 +
 .../makeproject/ui/resources/newApplication.html   |    48 +
 .../ui/resources/newDynamicLibrary.html            |    48 +
 .../makeproject/ui/resources/newFullRemote.html    |    49 +
 .../makeproject/ui/resources/newQtApplication.html |    50 +
 .../ui/resources/newQtDynamicLibrary.html          |    50 +
 .../ui/resources/newQtStaticLibrary.html           |    50 +
 .../makeproject/ui/resources/newStaticLibrary.html |    48 +
 .../cnd/makeproject/ui/resources/rerun-mod.png     |   Bin
 .../modules/cnd/makeproject/ui/resources/rerun.png |   Bin
 .../modules/cnd/makeproject/ui/resources/stop.png  |   Bin
 .../modules/cnd/makeproject/ui/resources/test.gif  |   Bin
 .../cnd/makeproject/ui/resources/testContainer.gif |   Bin
 .../cnd/makeproject/ui/resources/testFolder.gif    |   Bin
 .../makeproject/ui/resources/testFolderOpened.gif  |   Bin
 .../cnd/makeproject/ui/resources/tree_folder.gif   |   Bin
 .../cnd/makeproject/ui/resources/waitNode.gif      |   Bin
 .../makeproject/ui/runprofiles/Bundle.properties   |   110 +
 .../ui/runprofiles/ConsoleIntNodeProp.java         |   124 +
 .../ui/runprofiles/DirectoryChooserPanel.form      |    69 +
 .../ui/runprofiles/DirectoryChooserPanel.java      |   151 +
 .../cnd/makeproject/ui/runprofiles/EnvPanel.form   |   111 +
 .../cnd/makeproject/ui/runprofiles/EnvPanel.java   |   266 +
 .../ui/runprofiles/EventsProcessorActionsImpl.java |   263 +
 .../makeproject/ui/runprofiles/ListTableModel.java |   180 +
 .../makeproject/ui/runprofiles/RerunArguments.form |    60 +
 .../makeproject/ui/runprofiles/RerunArguments.java |   139 +
 .../ui/runprofiles/RunProfileNodeProvider.java     |   370 +
 .../cnd/makeproject/ui/utils/Bundle.properties     |    94 +
 .../makeproject/ui/utils/ConfSelectorPanel.form    |     0
 .../makeproject/ui/utils/ConfSelectorPanel.java    |     0
 .../ui/utils/DirectoryChooserInnerPanel.java       |   171 +
 .../ui/utils/DirectoryChooserPanel.form            |     0
 .../ui/utils/DirectoryChooserPanel.java            |   357 +
 .../ui/utils/ExpandableEditableComboBox.java       |   117 +
 .../makeproject/ui/utils/LongOperationImpl.java    |    77 +
 .../cnd/makeproject/ui/utils/PathPanel.form        |     0
 .../cnd/makeproject/ui/utils/PathPanel.java        |   171 +
 .../ui/utils/ProgressHandleFactoryImpl.java        |    78 +
 .../ui/utils/ResolveBuildToolsFactoryImpl.java     |   100 +
 .../makeproject/ui/utils/RunActionSupportImpl.java |    68 +
 .../cnd/makeproject/ui/utils/StringListPanel.form  |     0
 .../cnd/makeproject/ui/utils/StringListPanel.java  |     0
 .../cnd/makeproject/ui/utils/TokenizerFactory.java |   292 +
 .../makeproject/ui/wizards/BjamScripSupport.java   |     0
 .../ui/wizards/BuildActionsDescriptorPanel.java    |   143 +
 .../makeproject/ui/wizards/BuildActionsPanel.form  |     0
 .../makeproject/ui/wizards/BuildActionsPanel.java  |   528 +
 .../cnd/makeproject/ui/wizards/Bundle.properties   |   483 +
 .../makeproject/ui/wizards/CmakeScriptSupport.java |   193 +
 .../ui/wizards/ConfigureScriptSupport.java         |     0
 .../ui/wizards/FileListEditorPanel.form            |     0
 .../ui/wizards/FileListEditorPanel.java            |   424 +
 .../cnd/makeproject/ui/wizards/FolderEntry.java    |     0
 .../ui/wizards/MakeSampleProjectIterator.java      |   203 +
 .../makeproject/ui/wizards/MakeScriptSupport.java  |   165 +
 .../ui/wizards/NewMakeProjectWizardIterator.java   |   606 +
 .../ui/wizards/NewProjectWizardUtils.java          |   159 +
 .../makeproject/ui/wizards/NinjaScriptSupport.java |     0
 .../ui/wizards/PanelConfigureProject.java          |   195 +
 .../ui/wizards/PanelConfigureProjectVisual.form    |     0
 .../ui/wizards/PanelConfigureProjectVisual.java    |     0
 .../ui/wizards/PanelProjectLocationVisual.form     |     0
 .../ui/wizards/PanelProjectLocationVisual.java     |  1467 +
 .../ParserConfigurationDescriptorPanel.java        |   143 +
 .../ui/wizards/ParserConfigurationPanel.form       |     0
 .../ui/wizards/ParserConfigurationPanel.java       |   558 +
 .../ui/wizards/PreBuildActionDescriptorPanel.java  |   146 +
 .../ui/wizards/PreBuildActionPanel.form            |     0
 .../ui/wizards/PreBuildActionPanel.java            |   848 +
 .../makeproject/ui/wizards/QmakeScriptSupport.java |   201 +
 .../makeproject/ui/wizards/SconsScriptSupport.java |     0
 .../makeproject/ui/wizards/SelectBinaryPanel.java  |   212 +
 .../ui/wizards/SelectBinaryPanelVisual.form        |   233 +
 .../ui/wizards/SelectBinaryPanelVisual.java        |  1297 +
 .../ui/wizards/SelectModeDescriptorPanel.java      |   506 +
 .../makeproject/ui/wizards/SelectModePanel.form    |   251 +
 .../makeproject/ui/wizards/SelectModePanel.java    |   716 +
 .../cnd/makeproject/ui/wizards/SettingsPanel.java  |     0
 .../makeproject/ui/wizards/SourceFilesPanel.form   |     0
 .../makeproject/ui/wizards/SourceFilesPanel.java   |   476 +
 .../ui/wizards/SourceFoldersDescriptorPanel.java   |   143 +
 .../makeproject/ui/wizards/SourceFoldersPanel.form |     0
 .../makeproject/ui/wizards/SourceFoldersPanel.java |   182 +
 .../cnd/makeproject/ui/wizards/WizardStorage.java  |     0
 .../makeproj-with-link-PRJ-65-Makefile.mk          |     0
 .../nbproject/Makefile-Default.mk                  |     0
 .../nbproject/Makefile-impl.mk                     |     0
 .../nbproject/Package-Default.bash                 |     0
 .../nbproject/configurations.xml                   |     0
 .../nbproject/project.properties                   |     0
 .../nbproject/project.xml                          |     0
 .../Project_65_Test/makeproj-with-links/Makefile   |     0
 .../makeproj-with-links/makeproj-with-links-main.c |     0
 .../makeproj-with-links/real_dir1/file2.c          |     0
 .../makeproj-with-links/real_dir2/file2.c          |     0
 .../cnd/makeproject/Project_65_Test/pre-process.sh |     0
 .../modules/cnd/makeproject/Project_65_Test.java   |   115 +
 .../ui/configurations/QmakeProjectWriterTest.java  |   194 +
 .../ui/configurations/StringListNodePropTest.java  |   131 +
 .../ui/wizards/MakeSampleProjectIteratorTest.java  |   376 +
 cnd.makeproject/build.xml                          |     2 +-
 cnd.makeproject/manifest.mf                        |     2 +-
 cnd.makeproject/nbproject/project.properties       |    41 +-
 cnd.makeproject/nbproject/project.xml              |   201 +-
 .../samples_src/args/nbproject/configurations.xml  |    39 +
 .../samples_src/args/nbproject/project.xml         |    39 +
 .../fractal/nbproject/configurations.xml           |    39 +
 .../samples_src/fractal/nbproject/project.xml      |    39 +
 .../samples_src/freeway/FreewayWindow.cc           |     2 +-
 cnd.makeproject/samples_src/freeway/README.txt     |     6 +-
 cnd.makeproject/samples_src/freeway/callbacks.cc   |     6 +-
 cnd.makeproject/samples_src/freeway/main.cc        |     2 +-
 .../freeway/nbproject/configurations.xml           |    39 +
 .../samples_src/freeway/nbproject/project.xml      |    39 +
 .../samples_src/hello/nbproject/configurations.xml |    39 +
 .../samples_src/hello/nbproject/project.xml        |    39 +
 .../hello1lib/nbproject/configurations.xml         |    39 +
 .../hello1lib/nbproject/project.properties         |    37 +
 .../helloapp/hello1lib/nbproject/project.xml       |    39 +
 .../hello2lib/nbproject/configurations.xml         |    39 +
 .../hello2lib/nbproject/project.properties         |    37 +
 .../helloapp/hello2lib/nbproject/project.xml       |    39 +
 .../hello3lib/nbproject/configurations.xml         |    39 +
 .../hello3lib/nbproject/project.properties         |    37 +
 .../helloapp/hello3lib/nbproject/project.xml       |    39 +
 .../hello4lib/nbproject/configurations.xml         |    39 +
 .../hello4lib/nbproject/project.properties         |    37 +
 .../helloapp/hello4lib/nbproject/project.xml       |    39 +
 .../helloapp/main/nbproject/configurations.xml     |    39 +
 .../helloapp/main/nbproject/project.properties     |    37 +
 .../helloapp/main/nbproject/project.xml            |    39 +
 .../hellocmake/nbproject/configurations.xml        |    43 +-
 .../samples_src/hellocmake/nbproject/project.xml   |    39 +
 .../helloqt/nbproject/configurations.xml           |    39 +
 .../samples_src/helloqt/nbproject/project.xml      |    39 +
 .../samples_src/io/nbproject/configurations.xml    |    39 +
 .../samples_src/io/nbproject/project.xml           |    39 +
 .../lexyacc/nbproject/configurations.xml           |    39 +
 .../samples_src/lexyacc/nbproject/project.xml      |    39 +
 .../samples_src/mp/nbproject/configurations.xml    |    39 +
 .../samples_src/mp/nbproject/project.xml           |    39 +
 .../samples_src/pi/nbproject/configurations.xml    |    42 +
 .../samples_src/pi/nbproject/project.properties    |    37 +
 .../samples_src/pi/nbproject/project.xml           |    39 +
 .../samples_src/quote/nbproject/configurations.xml |    39 +
 .../samples_src/quote/nbproject/project.properties |    37 +
 .../samples_src/quote/nbproject/project.xml        |    39 +
 cnd.makeproject/samples_src/sample.cookbook.txt    |     4 +-
 .../welcome/nbproject/configurations.xml           |    39 +
 .../samples_src/welcome/nbproject/project.xml      |    39 +
 .../cnd/makeproject/BrokenReferencesSupport.java   |   605 -
 .../modules/cnd/makeproject/Bundle.properties      |    68 +-
 .../ConfigurationDescriptorProviderImpl.java       |     1 +
 .../modules/cnd/makeproject/ConfirmExtensions.form |   128 -
 .../modules/cnd/makeproject/ConfirmExtensions.java |   223 -
 .../modules/cnd/makeproject/ConnectionHelper.java  |    23 +-
 ...rojectOperationsImplementationExecutorImpl.java |   427 +
 .../cnd/makeproject/DefaultSystemSettingsImpl.java |    30 +-
 .../makeproject/EnvProjectProblemsProvider.java    |   319 -
 .../modules/cnd/makeproject/ItemRedirector.java    |    33 +-
 .../cnd/makeproject/LaunchersRegistryAccessor.java |    81 -
 .../cnd/makeproject/MakeActionProvider.java        |  2167 --
 .../cnd/makeproject/MakeActionProviderImpl.java    |  2007 +
 .../MakeBasedProjectFactorySingleton.java          |     4 +-
 .../makeproject/MakeConfigurationSaveListener.java |    54 -
 .../modules/cnd/makeproject/MakeOptions.java       |    18 +-
 .../modules/cnd/makeproject/MakeProject.java       |  2016 -
 .../makeproject/MakeProjectClassPathProvider.java  |    17 +-
 .../makeproject/MakeProjectEncodingQueryImpl.java  |     2 +
 .../MakeProjectFileProviderFactory.java            |   665 -
 .../cnd/makeproject/MakeProjectGeneratorImpl.java  |   408 -
 .../cnd/makeproject/MakeProjectHelperImpl.java     |   321 +-
 .../modules/cnd/makeproject/MakeProjectImpl.java   |  1910 +
 .../MakeProjectLayerDescriptorProvider.java        |     5 +-
 .../cnd/makeproject/MakeProjectOperations.java     |    21 +-
 .../cnd/makeproject/MakeProjectTypeImpl.java       |    30 +-
 .../modules/cnd/makeproject/MakeProjectUtils.java  |   116 -
 .../cnd/makeproject/MakeSharabilityQuery.java      |   187 -
 .../cnd/makeproject/MakeSharabilityQueryImpl.java  |   184 +
 .../modules/cnd/makeproject/MakeSources.java       |     5 +-
 .../cnd/makeproject/MakeTemplateListener.java      |   280 -
 .../cnd/makeproject/NativeProjectProvider.java     |   741 +-
 .../cnd/makeproject/NativeProjectSettingsImpl.java |    33 +-
 .../PathMapperProjectMetadataFactory.java          |    80 +-
 .../modules/cnd/makeproject/SmartOutputStream.java |   192 -
 .../StandardHeadersProjectMetadataFactory.java     |   137 +
 .../netbeans/modules/cnd/makeproject/TempEnv.java  |   158 -
 .../TemplateAttributesProviderImpl.java            |   120 -
 .../actions/AddExistingFolderItemsAction.java      |   228 -
 .../cnd/makeproject/actions/BatchBuildAction.java  |    85 -
 .../cnd/makeproject/actions/Bundle.properties      |   260 -
 .../actions/ConfigurationManagerAction.java        |    82 -
 .../makeproject/actions/CreateProjectAction.java   |    80 -
 .../cnd/makeproject/actions/DebugDialogAction.java |   224 -
 .../cnd/makeproject/actions/DebugTestAction.java   |   116 -
 .../actions/DefaultProjectCopyPanel.java           |   469 -
 .../actions/DefaultProjectDeletePanel.java         |   236 -
 .../DefaultProjectOperationsImplementation.java    |   823 -
 .../actions/DefaultProjectRenamePanel.java         |   365 -
 .../modules/cnd/makeproject/actions/FileProxy.java |   247 -
 .../makeproject/actions/NewTestActionFactory.java  |   441 -
 .../cnd/makeproject/actions/RunDialogAction.java   |   282 -
 .../cnd/makeproject/actions/RunTestAction.java     |   130 -
 .../makeproject/actions/StepIntoTestAction.java    |   118 -
 .../cnd/makeproject/api/BuildActionsProvider.java  |    11 +-
 .../modules/cnd/makeproject/api/Bundle.properties  |   104 +-
 .../cnd/makeproject/api/CodeStyleWrapper.java      |    86 +
 .../api/DefaultProjectActionHandler.java           |   199 +-
 ...ultProjectOperationsImplementationExecutor.java |    56 +
 .../makeproject/api/LaunchersRegistryAccessor.java |    80 +
 .../cnd/makeproject/api/MakeActionProvider.java    |    60 +
 .../modules/cnd/makeproject/api/MakeArtifact.java  |    18 +-
 .../api/MakeCommandFlagsProviderFactory.java       |    20 +-
 .../makeproject/api/MakeCustomizerProvider.java    |   384 +-
 .../modules/cnd/makeproject/api/MakeProject.java   |    77 +
 .../cnd/makeproject/api/MakeProjectCustomizer.java |     8 -
 .../api/MakeProjectCustomizerAdaptor.java          |   122 -
 .../makeproject/api/MakeProjectFileProvider.java   |   341 +
 .../makeproject/api/MakeProjectLookupProvider.java |    52 +
 .../cnd/makeproject/api/MakeProjectOptions.java    |    79 +
 .../cnd/makeproject/api/MakeProjectType.java       |    63 +
 .../cnd/makeproject/api/MakeSharabilityQuery.java  |    50 +
 .../cnd/makeproject/api/ProjectActionEvent.java    |    46 +-
 .../cnd/makeproject/api/ProjectActionSupport.java  |   356 +-
 .../cnd/makeproject/api/ProjectGenerator.java      |   424 -
 .../cnd/makeproject/api/ProjectSupport.java        |     4 +-
 .../cnd/makeproject/api/RunDialogPanel.form        |   386 -
 .../cnd/makeproject/api/RunDialogPanel.java        |  1239 -
 .../modules/cnd/makeproject/api/TempEnv.java       |   158 +
 .../api/actions/AddExistingItemAction.java         |   247 -
 .../makeproject/api/actions/NewFolderAction.java   |   133 -
 .../api/configurations/ArchiverConfiguration.java  |    92 +-
 .../api/configurations/AssemblerConfiguration.java |    67 +-
 .../configurations/BasicCompilerConfiguration.java |   705 +-
 .../api/configurations/BooleanConfiguration.java   |     7 +-
 .../api/configurations/Bundle.properties           |   318 +-
 .../configurations/CCCCompilerConfiguration.java   |   528 +-
 .../configurations/CCCompilerConfiguration.java    |   147 +-
 .../api/configurations/CCompilerConfiguration.java |   131 +-
 .../CodeAssistanceConfiguration.java               |    92 +-
 .../api/configurations/CompileConfiguration.java   |    26 +-
 .../configurations/CompilerSet2Configuration.java  |    53 +-
 .../api/configurations/Configuration.java          |    24 +-
 .../configurations/ConfigurationDescriptor.java    |     2 +
 .../ConfigurationDescriptorProvider.java           |    47 +-
 .../api/configurations/Configurations.java         |    24 +-
 .../configurations/CustomToolConfiguration.java    |    18 -
 .../api/configurations/CustomizerNodeProvider.java |    55 -
 .../DebuggerChooserConfiguration.java              |    66 +-
 .../DevelopmentHostConfiguration.java              |    32 +-
 .../cnd/makeproject/api/configurations/Folder.java |    90 +-
 .../api/configurations/FolderConfiguration.java    |    47 -
 .../FortranCompilerConfiguration.java              |    69 +-
 .../InheritedBooleanConfiguration.java             |     3 +
 .../api/configurations/IntConfiguration.java       |     6 +-
 .../cnd/makeproject/api/configurations/Item.java   |   619 +-
 .../api/configurations/ItemConfiguration.java      |   176 +-
 .../api/configurations/LibrariesConfiguration.java |    17 +
 .../api/configurations/LibraryItem.java            |    80 +-
 .../api/configurations/LinkerConfiguration.java    |   237 +-
 .../api/configurations/MakeConfiguration.java      |    90 +-
 .../MakeConfigurationDescriptor.java               |   151 +-
 .../api/configurations/MakeLogicalViewModel.java   |    74 +
 .../api/configurations/MakefileConfiguration.java  |   350 +-
 .../api/configurations/OptionsConfiguration.java   |     8 +-
 .../api/configurations/PackagingConfiguration.java |   201 +-
 .../makeproject/api/configurations/Platform.java   |   106 +
 .../makeproject/api/configurations/Platforms.java  |    99 +
 .../api/configurations/PreBuildConfiguration.java  |   177 -
 .../api/configurations/QmakeConfiguration.java     |    78 +-
 .../api/configurations/StringConfiguration.java    |     7 +-
 .../api/configurations/VectorConfiguration.java    |     4 +-
 .../api/configurations/ui/BooleanNodeProp.java     |    89 -
 .../configurations/ui/BooleanReverseNodeProp.java  |    93 -
 .../api/configurations/ui/ComboStringNodeProp.java |   178 -
 .../api/configurations/ui/CustomizerNode.java      |   107 -
 .../ui/CustomizerRootNodeProvider.java             |   103 -
 .../configurations/ui/DebuggerCustomizerNode.java  |    51 -
 .../api/configurations/ui/IntNodeProp.java         |   169 -
 .../ui/PrioritizedCustomizerNode.java              |    62 -
 .../api/configurations/ui/StringPanel.form         |    36 -
 .../api/configurations/ui/StringPanel.java         |   116 -
 .../cnd/makeproject/api/launchers/Launcher.java    |   213 +
 .../api/launchers/LauncherActionHadlerFactory.java |   140 +
 .../api/launchers/LauncherExecutor.java            |   339 +
 .../launchers/LaunchersProjectMetadataFactory.java |   173 +
 .../api/launchers/LaunchersRegistry.java           |   216 +
 .../api/launchers/LaunchersRegistryFactory.java    |    70 +
 .../makeproject/api/runprofiles/Bundle.properties  |    35 +-
 .../api/runprofiles/ConsoleIntNodeProp.java        |   123 -
 .../api/runprofiles/DirectoryChooserPanel.form     |    69 -
 .../api/runprofiles/DirectoryChooserPanel.java     |   151 -
 .../cnd/makeproject/api/runprofiles/Env.java       |     4 +-
 .../makeproject/api/runprofiles/RunProfile.java    |   307 +-
 .../makeproject/api/support/MakePathMatcher.java   |     4 +-
 .../api/support/MakeProjectGenerator.java          |   139 +-
 .../makeproject/api/support/MakeProjectHelper.java |     7 +
 .../api/support/MakeProjectOptionsFormat.java      |   137 +
 .../api/support/MakeProjectPublicUtils.java        |    60 -
 .../makeproject/api/support/MakeProjectUtils.java  |   139 +
 .../makeproject/api/support/SmartOutputStream.java |   219 +
 .../cnd/makeproject/api/wizards/BuildSupport.java  |     1 -
 .../makeproject/api/wizards/CommonUtilities.java   |    10 +-
 .../DefaultMakeProjectLocationProvider.java        |    95 +
 .../makeproject/api/wizards/IteratorExtension.java |   107 -
 .../api/wizards/MakeSampleProjectGenerator.java    |   613 +
 .../api/wizards/PostProjectCreationProcessor.java  |    51 +
 .../makeproject/api/wizards/PreBuildSupport.java   |    40 +-
 .../makeproject/api/wizards/ProjectGenerator.java  |   417 +
 .../api/wizards/ProjectWizardPanels.java           |    91 -
 .../makeproject/api/wizards/WizardConstants.java   |   166 -
 .../makeproject/configurations/Bundle.properties   |     2 -
 .../CommonConfigurationXMLCodec.java               |    85 +-
 .../ConfigurationMakefileWriter.java               |   110 +-
 .../configurations/ConfigurationWarningPanel.form  |    86 -
 .../configurations/ConfigurationWarningPanel.java  |   132 -
 .../configurations/ConfigurationXMLCodec.java      |    48 +-
 .../configurations/ConfigurationXMLReader.java     |    67 +-
 .../configurations/ConfigurationXMLWriter.java     |    10 +-
 .../cnd/makeproject/configurations/CppUtils.java   |   102 +-
 .../configurations/QmakeProjectWriter.java         |     2 +-
 .../configurations/ui/Bundle.properties            |   534 -
 .../configurations/ui/CompilerSetNodeProp.java     |   259 -
 .../configurations/ui/DebuggerChooserNodeProp.java |   146 -
 .../configurations/ui/DevelopmentHostNodeProp.java |   200 -
 .../configurations/ui/FormattingPropPanel.form     |   146 -
 .../configurations/ui/FormattingPropPanel.java     |   427 -
 .../configurations/ui/LibrariesNodeProp.java       |   169 -
 .../configurations/ui/LibrariesPanel.java          |   420 -
 .../configurations/ui/LibraryOptionPanel.form      |    87 -
 .../configurations/ui/LibraryOptionPanel.java      |   189 -
 .../ui/MacroExpandedEditorPanel.form               |    81 -
 .../ui/MacroExpandedEditorPanel.java               |   170 -
 .../configurations/ui/MakeArtifactChooser.form     |    78 -
 .../configurations/ui/MakeArtifactChooser.java     |   395 -
 .../configurations/ui/OptionsEditorPanel.form      |   108 -
 .../configurations/ui/OptionsEditorPanel.java      |   210 -
 .../configurations/ui/OptionsNodeProp.java         |   170 -
 .../ui/PackagingAddingFilesProgressPanel.form      |    80 -
 .../ui/PackagingAddingFilesProgressPanel.java      |   140 -
 .../ui/PackagingAdditionalInfoPanel.java           |   132 -
 .../configurations/ui/PackagingFiles4Panel.java    |    62 -
 .../ui/PackagingFilesOuterPanel.form               |   559 -
 .../ui/PackagingFilesOuterPanel.java               |   660 -
 .../configurations/ui/PackagingFilesPanel.java     |   762 -
 .../configurations/ui/PackagingInfoOuterPanel.form |    79 -
 .../configurations/ui/PackagingInfoOuterPanel.java |   148 -
 .../configurations/ui/PackagingInfoPanel.java      |   456 -
 .../configurations/ui/PackagingNewEntryPanel.form  |   138 -
 .../configurations/ui/PackagingNewEntryPanel.java  |   280 -
 .../configurations/ui/PackagingNewLinkPanel.form   |   107 -
 .../configurations/ui/PackagingNewLinkPanel.java   |   178 -
 .../configurations/ui/PackagingNodeProp.java       |   165 -
 .../configurations/ui/PackagingPanel.form          |    37 -
 .../configurations/ui/PackagingPanel.java          |   191 -
 .../configurations/ui/PkgConfigLibrary.form        |    84 -
 .../configurations/ui/PkgConfigLibrary.java        |   357 -
 .../configurations/ui/PlatformSpecificProp.java    |   186 -
 .../configurations/ui/ProjectPropPanel.form        |   195 -
 .../configurations/ui/ProjectPropPanel.java        |   367 -
 .../makeproject/configurations/ui/RWECheckBox.java |    80 -
 .../ui/RemoteSyncFactoryNodeProp.java              |   126 -
 .../ui/RequiredProjectsNodeProp.java               |   169 -
 .../configurations/ui/RequiredProjectsPanel.java   |   226 -
 .../cnd/makeproject/configurations/ui/StateCA.java |    92 -
 .../configurations/ui/StateCANodeProp.java         |   174 -
 .../makeproject/configurations/ui/StdLibPanel.form |    50 -
 .../makeproject/configurations/ui/StdLibPanel.java |   140 -
 .../configurations/ui/StringListNodeProp.java      |   158 -
 .../configurations/ui/StringNodeProp.java          |   118 -
 .../configurations/ui/TableEditorPanel.java        |   418 -
 .../configurations/ui/VectorNodeProp.java          |   163 -
 .../cnd/makeproject/execution/Bundle.properties    |    61 -
 .../cnd/makeproject/execution/LDErrorParser.java   |    58 +-
 .../cnd/makeproject/launchers/Launcher.java        |   188 -
 .../launchers/LauncherActionHadlerFactory.java     |   140 -
 .../makeproject/launchers/LauncherExecutor.java    |   266 -
 .../launchers/LaunchersProjectMetadataFactory.java |   145 -
 .../makeproject/launchers/LaunchersRegistry.java   |   216 -
 .../launchers/LaunchersRegistryFactory.java        |    35 -
 .../launchers/actions/Bundle.properties            |    48 -
 .../launchers/actions/LauncherAction.java          |   254 -
 .../launchers/resources/simple-launcher.template   |     2 +
 .../cnd/makeproject/options/Bundle.properties      |    64 +
 .../makeproject/options/DependencyChecking.java    |    81 +
 .../makeproject/options/FixUnresolvedInclude.java  |    86 +
 .../cnd/makeproject/options/FullFileIndexer.java   |    81 +
 .../makeproject/options/RebuildPropsChanged.java   |    80 +
 .../makeproject/options/ResolveSymbolicLinks.java  |    86 +
 .../cnd/makeproject/options/ReuseOutputTab.java    |    81 +
 .../options/SaveModifiedBeforBuild.java            |    87 +
 .../options/ShowConfigurationWarning.java          |    80 +
 .../cnd/makeproject/options/ViewBinaryFiles.java   |    81 +
 .../cnd/makeproject/packaging/DummyPackager.java   |    13 +
 .../cnd/makeproject/packaging/RPMPackager.java     |     2 +-
 .../modules/cnd/makeproject/platform/Platform.java |   106 -
 .../cnd/makeproject/platform/PlatformGeneric.java  |     3 +-
 .../cnd/makeproject/platform/PlatformLinux.java    |    24 +-
 .../cnd/makeproject/platform/PlatformMacOSX.java   |     3 +-
 .../cnd/makeproject/platform/PlatformNone.java     |     3 +-
 .../cnd/makeproject/platform/PlatformSolaris.java  |    23 +-
 .../cnd/makeproject/platform/PlatformWindows.java  |     3 +-
 .../cnd/makeproject/platform/Platforms.java        |    99 -
 .../resources/c_standard_headers_indexer.c         |    75 +
 .../resources/cpp_standard_headers_indexer.cpp     |   135 +
 .../modules/cnd/makeproject/resources/layer.xml    |   346 +
 .../makeproject/{ui => }/resources/makeProject.gif |   Bin
 .../{ui => }/resources/makeProjectOpen.gif         |   Bin
 .../{ui => }/resources/projects-Qt-dynamic.png     |   Bin
 .../{ui => }/resources/projects-Qt-static.png      |   Bin
 .../makeproject/{ui => }/resources/projects-Qt.png |   Bin
 .../{ui => }/resources/projects-database.png       |   Bin
 .../resources/projects-managed-dynamic.png         |   Bin
 .../{ui => }/resources/projects-managed-static.png |   Bin
 .../{ui => }/resources/projects-managed.png        |   Bin
 .../resources/projects-unmanaged-dynamic.png       |   Bin
 .../resources/projects-unmanaged-static.png        |   Bin
 .../{ui => }/resources/projects-unmanaged.png      |   Bin
 .../cnd/makeproject/resources/samples/args.html    |    48 +
 .../cnd/makeproject/resources/samples/fractal.html |    46 +
 .../cnd/makeproject/resources/samples/freeway.html |    50 +
 .../cnd/makeproject/resources/samples/hello.html   |    45 +
 .../makeproject/resources/samples/helloapp.html    |    48 +
 .../makeproject/resources/samples/hellocmake.html  |    48 +
 .../cnd/makeproject/resources/samples/helloqt.html |    49 +
 .../cnd/makeproject/resources/samples/io.html      |    48 +
 .../cnd/makeproject/resources/samples/lexyacc.html |    45 +
 .../cnd/makeproject/resources/samples/mp.html      |    48 +
 .../cnd/makeproject/resources/samples/pi.html      |    45 +
 .../cnd/makeproject/resources/samples/quote.html   |    48 +
 .../cnd/makeproject/resources/samples/welcome.html |    48 +
 .../cnd/makeproject/runprofiles/Bundle.properties  |    42 -
 .../runprofiles/RunProfileNodeProvider.java        |   113 -
 .../makeproject/runprofiles/ui/Bundle.properties   |    77 -
 .../cnd/makeproject/runprofiles/ui/EnvPanel.form   |   111 -
 .../cnd/makeproject/runprofiles/ui/EnvPanel.java   |   269 -
 .../makeproject/runprofiles/ui/ListTableModel.java |   173 -
 .../makeproject/runprofiles/ui/RerunArguments.form |    60 -
 .../makeproject/runprofiles/ui/RerunArguments.java |   139 -
 .../makeproject/spi/DatabaseProjectProvider.java   |     4 -
 .../makeproject/spi/DebuggerChooserProvider.java   |   100 +
 .../IncludePathExpansionProvider.java              |     3 +-
 .../PostProjectCreationProcessor.java              |    52 -
 .../spi/configurations/UserOptionsProvider.java    |     3 +-
 .../cnd/makeproject/ui/AddExternalItemAction.java  |   132 -
 .../cnd/makeproject/ui/BaseMakeViewChildren.java   |   216 -
 .../modules/cnd/makeproject/ui/BrokenLinks.java    |   167 -
 .../cnd/makeproject/ui/BrokenViewItemNode.java     |   183 -
 .../modules/cnd/makeproject/ui/Bundle.properties   |   195 -
 .../cnd/makeproject/ui/ExternalFilesChildren.java  |    85 -
 .../cnd/makeproject/ui/ExternalFilesNode.java      |   120 -
 .../cnd/makeproject/ui/FolderSearchInfo.java       |   169 -
 .../cnd/makeproject/ui/LogicalFolderNode.java      |   596 -
 .../cnd/makeproject/ui/LogicalViewChildren.java    |   250 -
 .../makeproject/ui/MakeLogicalViewProvider.java    |   519 -
 .../makeproject/ui/MakeLogicalViewRootNode.java    |   550 -
 .../ui/MakeLogicalViewRootNodeBroken.java          |   100 -
 .../cnd/makeproject/ui/NodeActionFactory.java      |   263 -
 .../cnd/makeproject/ui/PropertiesFolderAction.java |   120 -
 .../cnd/makeproject/ui/PropertiesItemAction.java   |   139 -
 .../makeproject/ui/RemoteDevelopmentAction.java    |   268 -
 .../cnd/makeproject/ui/RemoteSyncActions.java      |   564 -
 .../cnd/makeproject/ui/RemoveFolderAction.java     |    99 -
 .../cnd/makeproject/ui/RemoveItemAction.java       |    99 -
 .../cnd/makeproject/ui/ResolveEnvVarPanel.java     |   183 -
 .../cnd/makeproject/ui/SelectExecutablePanel.java  |   488 -
 .../cnd/makeproject/ui/SetConfigurationAction.java |   154 -
 .../cnd/makeproject/ui/ViewFolderPasteType.java    |   232 -
 .../modules/cnd/makeproject/ui/ViewItemNode.java   |   478 -
 .../cnd/makeproject/ui/ViewItemPasteType.java      |   291 -
 .../cnd/makeproject/ui/actions/Bundle.properties   |    40 -
 .../ui/actions/MakeProjectActionsSupport.java      |    91 -
 .../customizer/ArchiverGeneralCustomizerNode.java  |    70 -
 .../ui/customizer/AssemblerCustomizerNode.java     |    85 -
 .../ui/customizer/BuildCustomizerNode.java         |    70 -
 .../makeproject/ui/customizer/Bundle.properties    |   109 -
 .../ui/customizer/CCCompilerCustomizerNode.java    |    96 -
 .../ui/customizer/CCompilerCustomizerNode.java     |    96 -
 .../customizer/CodeAssistanceCustomizerNode.java   |    76 -
 .../ui/customizer/CompileCustomizerNode.java       |    71 -
 .../customizer/CustomBuildItemCustomizerNode.java  |    74 -
 .../ui/customizer/DevelopmentHostCustomizer.java   |   149 -
 .../ui/customizer/FolderNodeFactory.java           |    97 -
 .../ui/customizer/FormattingCustomizerNode.java    |    81 -
 .../customizer/FortranCompilerCustomizerNode.java  |    86 -
 .../ui/customizer/GeneralCustomizerNode.java       |    80 -
 .../ui/customizer/GeneralFolderCustomizerNode.java |    73 -
 .../ui/customizer/GeneralItemCustomizerNode.java   |    80 -
 .../makeproject/ui/customizer/ItemNodeFactory.java |   156 -
 .../ui/customizer/LinkerGeneralCustomizerNode.java |   100 -
 .../cnd/makeproject/ui/customizer/MakeContext.java |   252 -
 .../makeproject/ui/customizer/MakeCustomizer.form  |   165 -
 .../makeproject/ui/customizer/MakeCustomizer.java  |   853 -
 .../ui/customizer/MakefileCustomizerNode.java      |    69 -
 .../ui/customizer/PackagingCustomizerNode.java     |    69 -
 .../ui/customizer/PreBuildCustomizerNode.java      |    71 -
 .../ui/customizer/ProjectNodeFactory.java          |   320 -
 .../makeproject/ui/customizer/PropertyNode.java    |    86 -
 .../ui/customizer/PropertyNodeChildren.java        |    81 -
 .../ui/customizer/ProxyItemConfiguration.java      |   146 -
 .../ui/customizer/QtCustomizerNode.java            |    63 -
 .../customizer/RequiredProjectsCustomizerNode.java |    69 -
 .../ui/customizer/SharedItemConfiguration.java     |    79 -
 .../makeproject/ui/options/DependencyChecking.java |    81 -
 .../ui/options/FixUnresolvedInclude.java           |    86 -
 .../makeproject/ui/options/FullFileIndexer.java    |    80 -
 .../ui/options/ProjectOptionsPanel.java            |   338 -
 .../ui/options/RebuildPropsChanged.java            |    80 -
 .../ui/options/ResolveSymbolicLinks.java           |    86 -
 .../cnd/makeproject/ui/options/ReuseOutputTab.java |    81 -
 .../ui/options/SaveModifiedBeforBuild.java         |    87 -
 .../ui/options/ShowConfigurationWarning.java       |    80 -
 .../makeproject/ui/options/ViewBinaryFiles.java    |    81 -
 .../makeproject/ui/resources/MakeOptions.settings  |     8 -
 .../cnd/makeproject/ui/resources/binary.html       |    49 -
 .../cnd/makeproject/ui/resources/desktop.html      |    49 -
 .../modules/cnd/makeproject/ui/resources/layer.xml |   890 -
 .../cnd/makeproject/ui/resources/makefile.html     |    49 -
 .../makeproject/ui/resources/newApplication.html   |    49 -
 .../ui/resources/newDynamicLibrary.html            |    49 -
 .../makeproject/ui/resources/newFullRemote.html    |    50 -
 .../makeproject/ui/resources/newQtApplication.html |    49 -
 .../ui/resources/newQtDynamicLibrary.html          |    49 -
 .../ui/resources/newQtStaticLibrary.html           |    49 -
 .../makeproject/ui/resources/newStaticLibrary.html |    49 -
 .../cnd/makeproject/ui/resources/samples/args.html |    49 -
 .../makeproject/ui/resources/samples/fractal.html  |    12 -
 .../makeproject/ui/resources/samples/freeway.html  |    51 -
 .../makeproject/ui/resources/samples/hello.html    |    11 -
 .../makeproject/ui/resources/samples/helloapp.html |    49 -
 .../ui/resources/samples/hellocmake.html           |    49 -
 .../makeproject/ui/resources/samples/helloqt.html  |    48 -
 .../cnd/makeproject/ui/resources/samples/io.html   |    49 -
 .../makeproject/ui/resources/samples/lexyacc.html  |    11 -
 .../cnd/makeproject/ui/resources/samples/mp.html   |    49 -
 .../cnd/makeproject/ui/resources/samples/pi.html   |    11 -
 .../makeproject/ui/resources/samples/quote.html    |    49 -
 .../makeproject/ui/resources/samples/welcome.html  |    49 -
 .../cnd/makeproject/ui/utils/Bundle.properties     |    92 -
 .../ui/utils/DirectoryChooserInnerPanel.java       |   171 -
 .../ui/utils/DirectoryChooserPanel.java            |   351 -
 .../cnd/makeproject/ui/utils/PathPanel.java        |   172 -
 .../cnd/makeproject/ui/utils/TokenizerFactory.java |   253 -
 .../ui/wizards/BuildActionsDescriptorPanel.java    |   143 -
 .../makeproject/ui/wizards/BuildActionsPanel.java  |   524 -
 .../cnd/makeproject/ui/wizards/Bundle.properties   |   502 -
 .../makeproject/ui/wizards/CmakeScriptSupport.java |   192 -
 .../ui/wizards/FileListEditorPanel.java            |   428 -
 .../ui/wizards/MakeSampleProjectGenerator.java     |   617 -
 .../ui/wizards/MakeSampleProjectIterator.java      |   192 -
 .../makeproject/ui/wizards/MakeScriptSupport.java  |   164 -
 .../ui/wizards/NewMakeProjectWizardIterator.java   |   613 -
 .../ui/wizards/NewProjectWizardUtils.java          |   158 -
 .../ui/wizards/PanelConfigureProject.java          |   195 -
 .../ui/wizards/PanelProjectLocationVisual.java     |  1476 -
 .../ParserConfigurationDescriptorPanel.java        |   143 -
 .../ui/wizards/ParserConfigurationPanel.java       |   558 -
 .../ui/wizards/PreBuildActionDescriptorPanel.java  |   146 -
 .../ui/wizards/PreBuildActionPanel.java            |   855 -
 .../makeproject/ui/wizards/QmakeScriptSupport.java |   200 -
 .../makeproject/ui/wizards/SelectBinaryPanel.java  |   216 -
 .../ui/wizards/SelectBinaryPanelVisual.form        |   233 -
 .../ui/wizards/SelectBinaryPanelVisual.java        |  1321 -
 .../ui/wizards/SelectModeDescriptorPanel.java      |   501 -
 .../makeproject/ui/wizards/SelectModePanel.form    |   236 -
 .../makeproject/ui/wizards/SelectModePanel.java    |   727 -
 .../makeproject/ui/wizards/SourceFilesPanel.java   |   476 -
 .../ui/wizards/SourceFoldersDescriptorPanel.java   |   143 -
 .../makeproject/ui/wizards/SourceFoldersPanel.java |   182 -
 .../uiapi/CancellableProgressHandleFactory.java    |    68 +
 .../cnd/makeproject/uiapi/ConfirmSupport.java      |   330 +
 .../DefaultProjectOperationsImplementationUI.java  |    87 +
 .../makeproject/uiapi/EventsProcessorActions.java  |   132 +
 .../cnd/makeproject/uiapi/LongOperation.java       |   139 +
 .../cnd/makeproject/uiapi/NodePesentation.java     |    48 +
 .../cnd/makeproject/uiapi/RunActionSupport.java    |    70 +
 .../modules/cnd/makeproject/MakeActionTest.java    |     4 +-
 .../modules/cnd/makeproject/Project_65_Test.java   |   109 -
 .../modules/cnd/makeproject/RunCommandTest.java    |     5 +
 .../api/configurations/ConfigurationTest.java      |     5 +
 .../api/configurations/QmakeConfigurationTest.java |     7 +-
 .../ConfigurationMakefileWriterTest.java           |    39 +-
 .../configurations/QmakeProjectWriterTest.java     |   194 -
 .../configurations/ui/StringListNodePropTest.java  |   101 -
 .../ui/wizards/MakeSampleProjectIteratorTest.java  |   381 -
 cnd.mixeddev/manifest.mf                           |     2 +-
 cnd.mixeddev/nbproject/project.properties          |    37 +
 cnd.mixeddev/nbproject/project.xml                 |    73 +-
 cnd.mixeddev/release/VERSION.txt                   |     2 +-
 .../modules/cnd/mixeddev/Bundle.properties         |    41 +
 .../modules/cnd/mixeddev/MixedDevUtils.java        |   229 +-
 .../cnd/mixeddev/debugger/Bundle.properties        |     1 -
 .../cnd/mixeddev/debugger/CndSessionChanger.java   |   118 +-
 .../java/AbstractJavaToCppHyperlinkProvider.java   |    20 +-
 .../modules/cnd/mixeddev/java/JNASupport.java      |     6 +-
 .../modules/cnd/mixeddev/java/JNISupport.java      |    52 +-
 .../cnd/mixeddev/java/JavaContextSupport.java      |    51 +-
 .../mixeddev/java/JavaToCppHyperlinkProvider.java  |     4 +-
 .../actions/AbstractCopyJNIAccessCodeAction.java   |     7 +-
 .../java/jni/actions/AbstractJNIAction.java        |    56 +-
 .../AttachToJavaWithNativeDebuggerAction.java      |   131 +
 .../jni/actions/CopyJNICallMethodCodeAction.java   |    18 +-
 .../jni/actions/CopyJNIGetFieldCodeAction.java     |    17 +-
 .../jni/actions/CopyJNISetFieldCodeAction.java     |    17 +-
 .../java/jni/actions/CopyJNISignatureAction.java   |    15 +-
 .../actions/GenerateHeaderForJNIClassAction.java   |    68 +-
 .../cnd/mixeddev/java/jni/ui/Bundle.properties     |    37 +
 .../cnd/mixeddev/java/model/JavaClassInfo.java     |    13 +
 .../modules/cnd/mixeddev/resources/layer.xml       |    68 +-
 .../cnd/mixeddev/ui/AbstactDynamicMenuAction.java  |   165 +
 .../cnd/mixeddev/ui/MixedDevContextMetaAction.java |    93 +
 .../cnd/mixeddev/ui/MixedDevToolsMetaAction.java   |    90 +
 .../modules/cnd/mixeddev/wizard/Bundle.properties  |    47 +
 .../cnd/mixeddev/wizard/GenerateProjectAction.java |    12 +-
 .../modules/cnd/mixeddev/wizard/Generator.java     |    93 +-
 .../mixeddev/wizard/LocationJNIWizardPanel.java    |     8 +-
 .../wizard/PanelProjectLocationVisual.form         |   133 +-
 .../wizard/PanelProjectLocationVisual.java         |   181 +-
 cnd.model.jclank.bridge/build.xml                  |    39 +
 cnd.model.jclank.bridge/manifest.mf                |     2 +-
 .../nbproject/project.properties                   |    37 +
 cnd.model.jclank.bridge/nbproject/project.xml      |    43 +-
 .../jclank/bridge/impl/CsmJClankCompilationDB.java |    50 +-
 .../jclank/bridge/impl/CsmJClankSerivicesImpl.java |     8 +-
 .../jclank/bridge/resources/Bundle.properties      |    37 +
 .../trace/JClankTraceCompilationDBAction.java      |     4 +-
 cnd.model.services/build.xml                       |    39 +
 cnd.model.services/nbproject/project.properties    |    39 +-
 cnd.model.services/nbproject/project.xml           |    56 +-
 .../api/model/services/CsmExpressionEvaluator.java |    11 -
 .../api/model/services/CsmExpressionResolver.java  |    24 +-
 .../cnd/api/model/services/CsmFileInfoQuery.java   |    32 +-
 .../cnd/api/model/services/CsmFileReferences.java  |    48 +-
 .../cnd/api/model/services/CsmIncludeResolver.java |    11 -
 .../model/services/CsmInstantiationProvider.java   |    48 +-
 .../cnd/api/model/services/CsmMacroExpansion.java  |    13 +-
 .../cnd/api/model/services/CsmResolveContext.java  |    12 +
 .../modules/cnd/api/model/services/CsmSelect.java  |    27 +
 .../cnd/api/model/services/CsmSymbolResolver.java  |    19 +-
 .../api/model/services/CsmVirtualInfoQuery.java    |    32 +-
 .../cnd/api/model/services/CsmVisibilityQuery.java |    11 -
 .../cnd/api/model/syntaxerr/AuditPreferences.java  |    41 +-
 .../modules/cnd/api/model/syntaxerr/CodeAudit.java |     9 +-
 .../cnd/api/model/syntaxerr/CodeAuditProvider.java |     9 +-
 .../cnd/api/model/syntaxerr/CsmErrorProvider.java  |     2 +-
 .../model/xref/CsmIncludeHierarchyResolver.java    |     2 +-
 .../cnd/api/model/xref/CsmReferenceSupport.java    |    11 -
 .../xref/CsmTemplateBasedReferencedObject.java     |    11 -
 .../services/CsmExpressionEvaluatorProvider.java   |    11 -
 .../services/CsmMacroExpansionDocProvider.java     |    11 -
 .../services/CsmMacroExpansionViewProvider.java    |    11 -
 .../cnd/spi/model/services/CsmSelectProvider.java  |     3 +
 .../services/CsmSymbolResolverImplementation.java  |    13 +-
 .../model/services/CsmVisibilityQueryProvider.java |    11 -
 .../modules/cnd/xref/impl/ObjectReferenceImpl.java |    11 -
 .../cnd/xref/impl/ReferenceSupportImpl.java        |    13 +-
 cnd.modeldiscovery/build.xml                       |     2 +-
 cnd.modeldiscovery/nbproject/project.properties    |    39 +-
 cnd.modeldiscovery/nbproject/project.xml           |    59 +-
 .../modules/cnd/modeldiscovery/Bundle.properties   |     2 +-
 .../cnd/modeldiscovery/provider/AnalyzeModel.java  |     6 +
 .../cnd/modeldiscovery/provider/Bundle.properties  |     2 +-
 .../cnd/modeldiscovery/provider/ModelSource.java   |     5 +-
 .../cnd/modeldiscovery/provider/PkgConfigImpl.java |     2 +-
 cnd.modelimpl/copy_failed_as_etalons.sh            |    37 +-
 cnd.modelimpl/copy_failed_tests_data.sh            |    37 +-
 cnd.modelimpl/drd/config/config.xml                |    39 +
 cnd.modelimpl/drd/config/hb-config.xml             |    39 +
 cnd.modelimpl/drd/drd.properties                   |    37 +
 .../external/binaries-list                         |     0
 cnd.modelimpl/nbproject/pmd.settings               |    39 +
 cnd.modelimpl/nbproject/project.properties         |    39 +-
 cnd.modelimpl/nbproject/project.xml                |    59 +-
 cnd.modelimpl/run.sh                               |     2 +-
 .../content/file/FileComponentDeclarations.java    |    10 +-
 .../cnd/modelimpl/content/file/FileContent.java    |     4 +-
 .../content/file/FileContentSignature.java         |    16 +-
 .../content/project/DeclarationContainer.java      |    43 +
 .../modelimpl/content/project/GraphContainer.java  |     6 +-
 .../modules/cnd/modelimpl/csm/CastUtils.java       |     1 +
 .../modules/cnd/modelimpl/csm/ClassImpl.java       |    44 +-
 .../csm/ClassImplFunctionSpecialization.java       |     2 +-
 .../cnd/modelimpl/csm/ClassImplSpecialization.java |     6 +-
 .../modules/cnd/modelimpl/csm/DeclTypeImpl.java    |    16 +-
 ...ExpressionBasedSpecializationParameterImpl.java |    11 -
 .../modules/cnd/modelimpl/csm/FunctionDDImpl.java  |     7 +-
 .../cnd/modelimpl/csm/FunctionDefinitionImpl.java  |     4 +-
 .../modules/cnd/modelimpl/csm/FunctionImpl.java    |    23 +-
 .../modules/cnd/modelimpl/csm/FunctionImplEx.java  |    57 +-
 .../modules/cnd/modelimpl/csm/Instantiation.java   |   160 +-
 .../modules/cnd/modelimpl/csm/MethodImpl.java      |     6 +-
 .../modules/cnd/modelimpl/csm/NameHolder.java      |     1 +
 .../cnd/modelimpl/csm/NamespaceDefinitionImpl.java |    22 +-
 .../modules/cnd/modelimpl/csm/NamespaceImpl.java   |    15 +-
 .../modules/cnd/modelimpl/csm/NestedType.java      |    12 +-
 .../netbeans/modules/cnd/modelimpl/csm/NoType.java |    12 +-
 .../modelimpl/csm/SpecializationDescriptor.java    |    11 -
 .../modules/cnd/modelimpl/csm/SystemMacroImpl.java |     4 +
 .../modelimpl/csm/TemplateParameterTypeImpl.java   |    16 +-
 .../modules/cnd/modelimpl/csm/TemplateUtils.java   |     8 +-
 .../csm/TypeBasedSpecializationParameterImpl.java  |    23 +-
 .../modules/cnd/modelimpl/csm/TypeFactory.java     |   166 +-
 .../modules/cnd/modelimpl/csm/TypeFunPtrImpl.java  |    21 +-
 .../modules/cnd/modelimpl/csm/TypeImpl.java        |   160 +-
 .../modules/cnd/modelimpl/csm/TypedefImpl.java     |     2 +
 .../cnd/modelimpl/csm/core/AstRenderer.java        |    60 +-
 .../modules/cnd/modelimpl/csm/core/AstUtil.java    |    72 +-
 .../cnd/modelimpl/csm/core/Bundle.properties       |     2 +-
 .../csm/core/CsmStandaloneFileProviderImpl.java    |    80 +-
 .../cnd/modelimpl/csm/core/DeepReparsingUtils.java |    45 +-
 .../cnd/modelimpl/csm/core/ErrorDirectiveImpl.java |     4 +-
 .../modules/cnd/modelimpl/csm/core/FileImpl.java   |    46 +-
 .../csm/core/FilePreprocessorConditionState.java   |     2 +-
 .../cnd/modelimpl/csm/core/LibProjectImpl.java     |     2 +-
 .../cnd/modelimpl/csm/core/LibraryManager.java     |    10 +-
 .../modules/cnd/modelimpl/csm/core/ModelImpl.java  |     2 +-
 .../csm/core/NativeProjectListenerImpl.java        |     3 +-
 .../cnd/modelimpl/csm/core/OffsetableBase.java     |    83 +-
 .../modelimpl/csm/core/ParseFinishNotificator.java |    11 -
 .../cnd/modelimpl/csm/core/PositionManager.java    |    21 +-
 .../cnd/modelimpl/csm/core/ProjectBase.java        |    89 +-
 .../modelimpl/csm/core/ProjectBaseWithEditing.java |   406 +
 .../cnd/modelimpl/csm/core/ProjectImpl.java        |   343 +-
 .../modules/cnd/modelimpl/csm/core/Utils.java      |     4 +-
 .../csm/deep/DeclarationStatementImpl.java         |    36 +-
 .../cnd/modelimpl/csm/deep/ForStatementImpl.java   |     1 +
 .../csm/deep/LazyCompoundStatementImpl.java        |     6 +-
 .../cnd/modelimpl/csm/deep/LazyStatementImpl.java  |    72 +-
 .../csm/deep/LazyTryCatchStatementImpl.java        |     6 +-
 .../cnd/modelimpl/csm/deep/StatementBase.java      |    14 +-
 .../cnd/modelimpl/csm/resolver/Resolver3.java      |   112 +-
 .../impl/services/ClassifierResolverImpl.java      |    47 +-
 .../impl/services/CsmSymbolResolverImpl.java       |    26 +-
 .../impl/services/ExpressionEvaluator.java         |    11 -
 .../impl/services/FileElementsCollector.java       |    69 +-
 .../modelimpl/impl/services/FileInfoQueryImpl.java |   163 +-
 .../impl/services/FileSearchProviderImpl.java      |    21 +-
 .../services/FunctionDefinitionResolverImpl.java   |    84 +
 .../impl/services/IncludeResolverImpl.java         |    22 +-
 .../impl/services/InstantiationProviderImpl.java   |   262 +-
 .../modelimpl/impl/services/LabelResolverImpl.java |    11 -
 .../services/MacroExpansionDocProviderImpl.java    |    21 +-
 .../cnd/modelimpl/impl/services/SelectImpl.java    |    15 +
 .../modelimpl/impl/services/TypesProviderImpl.java |     5 +-
 .../impl/services/evaluator/VariableProvider.java  |     7 +-
 .../impl/services/evaluator/parser/Evaluator.g     |    40 +
 .../modules/cnd/modelimpl/parser/CPPParserEx.java  |    56 +-
 .../modules/cnd/modelimpl/parser/CPPSymbol.java    |    42 +-
 .../cnd/modelimpl/parser/CppParserActionImpl.java  |     6 +
 .../cnd/modelimpl/parser/ParserProviderImpl.java   |     7 +-
 .../parser/apt/APTTokenStreamProducer.java         |     1 +
 .../parser/clank/ClankTokenStreamProducer.java     |    48 +-
 .../cnd/modelimpl/parser/clank/MacroReference.java |    43 +-
 .../modules/cnd/modelimpl/parser/cppparser.g       |   187 +-
 .../modelimpl/parser/spi/TokenStreamProducer.java  |     9 +-
 .../cnd/modelimpl/platform/Bundle.properties       |     2 +-
 .../cnd/modelimpl/platform/CndParserFactory.java   |     5 +-
 .../cnd/modelimpl/platform/CndParserResult.java    |    32 +-
 .../modules/cnd/modelimpl/platform/CsmEvent.java   |     2 +-
 .../cnd/modelimpl/platform/CsmEventDispatcher.java |    87 +-
 .../cnd/modelimpl/platform/CsmEventListener.java   |     1 +
 .../cnd/modelimpl/platform/ModelSupport.java       |    38 +-
 .../modelimpl/platform/ProgressListenerImpl.java   |     2 +-
 .../repository/OffsetableDeclarationKey.java       |    22 +-
 .../cnd/modelimpl/repository/PersistentUtils.java  |     6 +-
 .../cnd/modelimpl/repository/RepositoryUtils.java  |     2 +-
 .../cnd/modelimpl/resources/Bundle.properties      |     2 +-
 .../modelimpl/syntaxerr/ParserErrorProvider.java   |     2 +-
 .../cnd/modelimpl/trace/CodeModelDiagnostic.java   |    44 +-
 .../cnd/modelimpl/trace/NativeProjectProvider.java |    66 +-
 .../modules/cnd/modelimpl/trace/TraceModel.java    |    26 +-
 .../cnd/modelimpl/trace/TraceModelBase.java        |    51 +-
 .../modules/cnd/modelimpl/trace/TraceXRef.java     |    35 +-
 cnd.modelimpl/test/popular-commands.sh             |    37 +-
 .../core/SmartParseHeaderTest/mixed_1.clank.err    |     4 +-
 .../trace/FileModel2Test/bug205292.cpp.dat         |     2 +-
 .../modelimpl/trace/FileModel2Test/bug229069.c.dat |  2334 +-
 .../trace/FileModel2Test/bug246693.cpp.dat         |    54 +
 .../trace/FileModel2Test/bug248661_2.cpp.dat       |    32 +
 .../modelimpl/trace/FileModel2Test/bug255724.c.dat |    64 +
 .../trace/FileModel2Test/bug256281.cpp.dat         |    22 +
 .../modelimpl/trace/FileModel2Test/bug256516.c.dat |    33 +
 .../trace/FileModel2Test/bug256516.cpp.dat         |    41 +
 .../trace/FileModel2Test/bug257152.cpp.dat         |   169 +
 .../trace/FileModel2Test/bug257152c.c.dat          |    64 +
 .../modelimpl/trace/FileModel2Test/bug258327.c.dat |    78 +
 .../trace/FileModel2Test/bug260774.cpp.dat         |    88 +
 .../trace/FileModel2Test/bug267668Enums.cpp.dat    |    31 +
 .../trace/FileModel2Test/bug267668Enums.cpp.err    |     1 +
 .../trace/FileModel2Test/c_namespaces.c.dat        |    24 +-
 .../modelimpl/trace/FileModel2Test/iz175324.cc.dat |     4 +-
 .../trace/FileModel2Test/iz197997.cc.clank.err     |    12 +
 .../trace/FileModel3Test/align_local_assert.c.dat  |    71 +
 .../trace/FileModel3Test/align_local_assert.c.err  |     0
 .../modelimpl/trace/FileModel3Test/atomic.c.dat    |    36 +
 .../modelimpl/trace/FileModel3Test/atomic.c.err    |     0
 .../preproc_incomplete_if_directives.cpp.clank.err |     8 +-
 .../trace/FileModelCpp11Test/bug254133.cpp.dat     |    38 +
 .../trace/FileModelTest/parser_recover.cc.err      |     2 +-
 .../trace/FileModelTest/resolver_ns_general.cc.dat |     8 +-
 .../resolver_ns_using_declaration.cc.dat           |     8 +-
 .../trace/FileModelTest/templateParams.h.dat       |     4 +-
 .../modelimpl/trace/FileModel2Test/bug246693.cpp   |    10 +
 .../modelimpl/trace/FileModel2Test/bug248661_2.cpp |    11 +
 .../cnd/modelimpl/trace/FileModel2Test/bug255724.c |    15 +
 .../modelimpl/trace/FileModel2Test/bug256281.cpp   |     3 +
 .../cnd/modelimpl/trace/FileModel2Test/bug256516.c |     5 +
 .../modelimpl/trace/FileModel2Test/bug256516.cpp   |     4 +
 .../modelimpl/trace/FileModel2Test/bug257152.cpp   |    43 +
 .../modelimpl/trace/FileModel2Test/bug257152c.c    |     8 +
 .../cnd/modelimpl/trace/FileModel2Test/bug258327.c |    19 +
 .../modelimpl/trace/FileModel2Test/bug260774.cpp   |    12 +
 .../trace/FileModel2Test/bug267668Enums.cpp        |     7 +
 .../trace/FileModel2Test/bug267668Enums.inc        |     2 +
 .../cnd/modelimpl/trace/FileModel2Test/iz175324.cc |     2 +-
 .../trace/FileModel3Test/align_local_assert.c      |    13 +
 .../cnd/modelimpl/trace/FileModel3Test/atomic.c    |     4 +
 .../cnd/modelimpl/trace/FileModel3Test/atomic_2.c  |     4 +
 .../cnd/modelimpl/trace/FileModel3Test/delay.c     |     6 +-
 .../trace/FileModelCpp11Test/bug254133.cpp         |    12 +
 .../csm/core/ModifyDocumentTestCaseBase.java       |     4 +
 .../impl/services/IncludeResolverImplTestCase.java |    11 -
 .../MacroExpansionDocProviderImplBaseTestCase.java |    11 -
 .../services/MacroExpansionExpandTestCase.java     |    11 -
 .../MacroExpansionNextPrevMacroTestCase.java       |    11 -
 .../services/MacroExpansionOffsetsTestCase.java    |    11 -
 .../impl/services/MacroExpansionSpanTestCase.java  |    11 -
 .../services/MacroExpansionTablesTestCase.java     |    11 -
 .../services/MacroExpansionUsagesTestCase.java     |    11 -
 .../impl/services/MacroUsagesTestCase.java         |     2 +-
 .../modelimpl/impl/services/SelectTestBase.java    |     6 +-
 .../recovery/base/RecoveryTestCaseBase.java        |    36 +-
 .../cnd/modelimpl/test/ProjectBasedTestCase.java   |    75 +-
 .../cnd/modelimpl/trace/FileModel2Test.java        |    58 +
 .../cnd/modelimpl/trace/FileModel3Test.java        |    13 +
 .../cnd/modelimpl/trace/FileModelCpp11Test.java    |     5 +
 .../cnd/modelimpl/trace/TraceModelTestBase.java    |    10 +-
 .../code-completion-test-result-analyzer/build.xml |    69 -
 .../manifest.mf                                    |     3 -
 .../nbproject/build-impl.xml                       |   629 -
 .../nbproject/genfiles.properties                  |     8 -
 .../nbproject/project.properties                   |    61 -
 .../nbproject/project.xml                          |    16 -
 .../MyHandler.java                                 |   276 -
 cnd.modelimpl/test/whitebox/dm-utils/build.xml     |   108 -
 cnd.modelimpl/test/whitebox/dm-utils/build_cli.xml |    89 -
 cnd.modelimpl/test/whitebox/dm-utils/manifest.mf   |     5 -
 .../whitebox/dm-utils/nbproject/build-impl.xml     |   629 -
 .../dm-utils/nbproject/genfiles.properties         |     8 -
 .../whitebox/dm-utils/nbproject/project.properties |    58 -
 .../test/whitebox/dm-utils/nbproject/project.xml   |    16 -
 .../whitebox/dm-utils/src/modelutils/Config.java   |   160 -
 .../dm-utils/src/modelutils/FileCodeModel.java     |    73 -
 .../src/modelutils/FileCodeModelDeclaration.java   |   101 -
 .../test/whitebox/dwarf-classview/build.xml        |   108 -
 .../test/whitebox/dwarf-classview/build_cli.xml    |   114 -
 .../test/whitebox/dwarf-classview/manifest.mf      |     3 -
 .../test/whitebox/dwarf-classview/manifest_cli.mf  |     3 -
 .../dwarf-classview/nbproject/build-impl.xml       |   635 -
 .../dwarf-classview/nbproject/genfiles.properties  |     8 -
 .../dwarf-classview/nbproject/project.properties   |    66 -
 .../whitebox/dwarf-classview/nbproject/project.xml |    34 -
 .../src/test/dwarfclassview/ClassViewDocument.java |    55 -
 .../src/test/dwarfclassview/ClassViewDumper.java   |   485 -
 .../src/test/dwarfclassview/ClassViewElement.java  |    89 -
 .../src/test/dwarfclassview/ConfigFile.java        |   113 -
 .../src/test/dwarfclassview/consts/KIND.java       |    87 -
 .../src/test/dwarfclassview/consts/NodeATTR.java   |    79 -
 .../kindresolver/GlobalScopeKindResolver.java      |    63 -
 .../kindresolver/InClassKindResolver.java          |    84 -
 .../dwarfclassview/kindresolver/KindResolver.java  |   130 -
 .../test/whitebox/dwarf-classview/xml/allTree.xsl  |   227 -
 .../test/whitebox/dwarf-classview/xml/style.css    |    72 -
 .../test/whitebox/dwarf-classview/xml/tree.js      |   249 -
 cnd.modelimpl/test/whitebox/dwarf-dump/build.xml   |   108 -
 .../test/whitebox/dwarf-dump/build_cli.xml         |   120 -
 cnd.modelimpl/test/whitebox/dwarf-dump/manifest.mf |     5 -
 .../whitebox/dwarf-dump/nbproject/build-impl.xml   |   635 -
 .../dwarf-dump/nbproject/genfiles.properties       |     8 -
 .../dwarf-dump/nbproject/project.properties        |    66 -
 .../test/whitebox/dwarf-dump/nbproject/project.xml |    34 -
 .../dwarf-dump/src/test/dwarfdump/DwarfDump.java   |   231 -
 .../test/whitebox/dwarf-vs-model/build.xml         |   110 -
 .../test/whitebox/dwarf-vs-model/build_cli.xml     |   202 -
 .../test/whitebox/dwarf-vs-model/configure_all.sh  |    91 -
 .../test/whitebox/dwarf-vs-model/manifest.mf       |     3 -
 .../dwarf-vs-model/nbproject/build-impl.xml        |   647 -
 .../dwarf-vs-model/nbproject/genfiles.properties   |    11 -
 .../nbproject/profiler-build-impl.xml              |   131 -
 .../dwarf-vs-model/nbproject/project.properties    |    84 -
 .../whitebox/dwarf-vs-model/nbproject/project.xml  |    82 -
 .../test/whitebox/dwarf-vs-model/popular-commands  |   112 -
 .../test/whitebox/dwarf-vs-model/prepare_all.sh    |   108 -
 .../test/whitebox/dwarf-vs-model/run_all.sh        |   130 -
 .../src/dwarfvsmodel/ComparationResult.java        |   104 -
 .../src/dwarfvsmodel/ComparisonUtils.java          |   303 -
 .../dwarf-vs-model/src/dwarfvsmodel/Config.java    |   408 -
 .../src/dwarfvsmodel/ConfigFile.java               |   123 -
 .../dwarf-vs-model/src/dwarfvsmodel/DMFlags.java   |    96 -
 .../dwarf-vs-model/src/dwarfvsmodel/DMUtils.java   |    75 -
 .../dwarf-vs-model/src/dwarfvsmodel/DwarfList.java |   345 -
 .../dwarf-vs-model/src/dwarfvsmodel/DwarfTree.java |   161 -
 .../src/dwarfvsmodel/DwarfVsModelMain.java         |   334 -
 .../dwarf-vs-model/src/dwarfvsmodel/FileInfo.java  |   184 -
 .../src/dwarfvsmodel/ModelComparator.java          |   835 -
 .../dwarf-vs-model/src/dwarfvsmodel/ModelList.java |   220 -
 .../dwarf-vs-model/src/dwarfvsmodel/ModelTree.java |   223 -
 .../dwarf-vs-model/src/dwarfvsmodel/Node.java      |   178 -
 .../dwarf-vs-model/src/dwarfvsmodel/Tracer.java    |   191 -
 .../test/whitebox/dwarf-vs-model/summary.sh        |   151 -
 .../test/whitebox/dwarf-vs-model/test/bodies.cc    |   294 -
 .../test/whitebox/dwarf-vs-model/test/classes.cc   |    67 -
 .../test/whitebox/dwarf-vs-model/test/classes2.cc  |    62 -
 .../test/whitebox/dwarf-vs-model/test/classes2.h   |    70 -
 .../test/whitebox/dwarf-vs-model/test/classes3.cc  |    66 -
 .../test/whitebox/dwarf-vs-model/test/classes3.h   |    72 -
 .../whitebox/dwarf-vs-model/test/inc/options.h     |    52 -
 .../whitebox/dwarf-vs-model/test/namespaces.cc     |    67 -
 .../test/whitebox/dwarf-vs-model/test/namespaces.h |    53 -
 .../test/whitebox/dwarf-vs-model/test/operators.cc |    69 -
 .../test/whitebox/dwarf-vs-model/test/operators.h  |    59 -
 .../test/whitebox/dwarf-vs-model/test/options.cc   |    53 -
 .../test/whitebox/dwarf-vs-model/test/overloads.cc |    68 -
 .../test/whitebox/dwarf-vs-model/test/overloads.h  |    55 -
 .../test/whitebox/dwarf-vs-model/test/test.cfg     |    53 -
 .../test/whitebox/dwarf-vs-model/test/test.sh      |   181 -
 .../test/whitebox/elsa-result-analyser/build.xml   |    69 -
 .../test/whitebox/elsa-result-analyser/manifest.mf |     3 -
 .../elsa-result-analyser/nbproject/build-impl.xml  |   629 -
 .../nbproject/genfiles.properties                  |     8 -
 .../nbproject/project.properties                   |    61 -
 .../elsa-result-analyser/nbproject/project.xml     |    16 -
 .../src/ElsaResultAnalyser/AstNode.java            |  1778 -
 .../src/ElsaResultAnalyser/Declaration.java        |    83 -
 .../src/ElsaResultAnalyser/Lexer.java              |   482 -
 .../src/ElsaResultAnalyser/Main.java               |   159 -
 .../src/ElsaResultAnalyser/Offset.java             |    97 -
 .../src/ElsaResultAnalyser/Parser.java             |   185 -
 .../src/ElsaResultAnalyser/Token.java              |    73 -
 .../src/ElsaResultAnalyser/TokenTable.java         |   888 -
 cnd.modelimpl/test/whitebox/model-dump/build.xml   |   108 -
 .../test/whitebox/model-dump/build_cli.xml         |   185 -
 cnd.modelimpl/test/whitebox/model-dump/manifest.mf |     3 -
 .../whitebox/model-dump/nbproject/build-impl.xml   |   647 -
 .../model-dump/nbproject/genfiles.properties       |     8 -
 .../model-dump/nbproject/project.properties        |    85 -
 .../test/whitebox/model-dump/nbproject/project.xml |    82 -
 .../src/modeldump/FileCodeModelReader.java         |   137 -
 .../model-dump/src/modeldump/ModelDump.java        |   316 -
 .../scripts/analyze-test-results-for-project.sh    |    46 -
 cnd.modelimpl/test/whitebox/scripts/c++            |    47 -
 cnd.modelimpl/test/whitebox/scripts/cc             |    47 -
 cnd.modelimpl/test/whitebox/scripts/countfiles.sh  |   138 -
 cnd.modelimpl/test/whitebox/scripts/g++            |    48 -
 cnd.modelimpl/test/whitebox/scripts/gcc            |    47 -
 .../scripts/generate-golden-data-for-files.sh      |    94 -
 .../scripts/generate-golden-data-for-pp-files.sh   |    83 -
 .../scripts/generate-golden-data-for-pp-project.sh |    19 -
 .../scripts/generate-golden-data-for-project.sh    |    19 -
 .../whitebox/scripts/preprocessor-for-project/c++  |    82 -
 .../whitebox/scripts/preprocessor-for-project/cc   |    82 -
 .../whitebox/scripts/preprocessor-for-project/g++  |    83 -
 .../whitebox/scripts/preprocessor-for-project/gcc  |    82 -
 .../preprocessor-for-project/preprocess-project.sh |    34 -
 .../preprocess-project2.sh                         |    34 -
 cnd.modelimpl/test/whitebox/scripts/substitute.sh  |    72 -
 cnd.modelimpl/test/whitebox/scripts/test-report.sh |   134 -
 cnd.modelimpl/test/whitebox/scripts/test-run.sh    |    67 -
 cnd.modelimpl/test/whitebox/scripts/test.sh        |   462 -
 cnd.modelui/build.xml                              |     2 +-
 cnd.modelui/nbproject/project.properties           |    39 +-
 cnd.modelui/nbproject/project.xml                  |    64 +
 .../netbeans/modules/cnd/modelui/Bundle.properties |     2 +-
 .../modules/cnd/modelui/actions/Bundle.properties  |     3 +-
 .../actions/CleanupCachePseudoOptionProcessor.java |   121 +
 .../modelui/actions/ForceReparseProjectAction.java |    71 +
 .../src/org/netbeans/modules/cnd/modelui/layer.xml |    11 +-
 .../modules/cnd/modelui/parsing/Bundle.properties  |     4 +-
 .../modelui/parsing/ParsingProblemResolver.java    |     3 +
 .../modules/cnd/modelui/switcher/Bundle.properties |     4 +-
 .../cnd/modelui/switcher/SwitchProjectAction.java  |     5 +-
 .../modules/cnd/modelui/trace/Bundle.properties    |     6 +-
 cnd.modelutil/nbproject/project.properties         |    39 +-
 cnd.modelutil/nbproject/project.xml                |    81 +-
 .../modules/cnd/modelutil/CsmUtilities.java        |   114 +-
 .../cnd/modelutil/resources/Bundle.properties      |     2 +-
 .../modules/cnd/modelutil/resources/layer.xml      |     2 +-
 cnd.navigation/build.xml                           |    39 +
 cnd.navigation/nbproject/project.properties        |    39 +-
 cnd.navigation/nbproject/project.xml               |    51 +-
 .../cnd/navigation/callgraph/Bundle.properties     |    37 +
 .../callgraph/CallGraphModelFactoryImpl.java       |     5 +-
 .../modules/cnd/navigation/callgraph/CallImpl.java |    44 +-
 .../cnd/navigation/callgraph/CallModelImpl.java    |    39 +-
 .../cnd/navigation/callgraph/FunctionImpl.java     |    16 +-
 .../cnd/navigation/callgraph/VariableImpl.java     |    30 +-
 .../cnd/navigation/docview/DocViewPanel.java       |     3 +
 .../navigation/macroview/MacroExpansionPanel.java  |    11 -
 .../macroview/MacroExpansionViewUtils.java         |    11 -
 .../services/MacroExpansionViewProviderImpl.java   |    13 +-
 .../navigation/overrides/ComputeAnnotations.java   |    48 +-
 .../navigation/overrides/OverrideTaskFactory.java  |     2 +-
 .../resources/HierarchyTopComponentSettings.xml    |    39 +
 .../resources/HierarchyTopComponentWstcref.xml     |    39 +
 .../MacroExpansionTopComponentSettings.xml         |    39 +
 .../MacroExpansionTopComponentWstcref.xml          |    39 +
 .../cnd/navigation/resources/cnd_navigation.wsgrp  |    39 +
 .../modules/cnd/navigation/resources/layer.xml     |    39 +
 cnd.qnavigator/nbproject/project.properties        |    39 +-
 cnd.qnavigator/nbproject/project.xml               |    39 +
 .../qnavigator/navigator/CppDeclarationNode.java   |    68 +-
 .../qnavigator/navigator/GoToDefinitionAction.java |    89 +
 cnd.refactoring/build.xml                          |    39 +
 cnd.refactoring/nbproject/project.properties       |    39 +-
 cnd.refactoring/nbproject/project.xml              |    51 +-
 .../actions/CsmRefactoringActionsProvider.java     |     2 +-
 .../actions/InstantRenamePerformer.java            |     7 +-
 .../actions/RefactoringActionsProvider.java        |    11 +-
 .../refactoring/codegen/ConstructorGenerator.java  |     2 +-
 .../codegen/CopyConstructorGenerator.java          |     2 +-
 .../codegen/DelegateMethodGenerator.java           |     2 +-
 .../refactoring/codegen/GetterSetterGenerator.java |     2 +-
 .../codegen/ImplementOverrideMethodGenerator.java  |     2 +-
 .../cnd/refactoring/codegen/OperatorGenerator.java |   167 +-
 .../completion/delegate/Bundle.properties          |    37 +
 .../completion/implmethod/Bundle.properties        |    37 +
 .../CsmImplementsMethodCompletionItem.java         |    11 +-
 .../completion/overridemethod/Bundle.properties    |    38 +
 .../CsmOverrideMethodCompletionItem.java           |    21 +-
 .../refactoring/hints/AssignmentVariableFix.java   |    40 +-
 .../cnd/refactoring/hints/Bundle.properties        |    37 +
 .../hints/IntroduceVariableBaseFix.java            |    40 +-
 .../refactoring/hints/IntroduceVariableFix.java    |    40 +-
 .../cnd/refactoring/hints/StatementFinder.java     |     2 +-
 .../hints/infrastructure/Bundle.properties         |    37 +
 .../introduce/ExtendedIntroduceVariableFix.java    |    40 +-
 .../refactoring/introduce/IntroduceFieldFix.java   |    40 +-
 .../introduce/IntroduceMethodPanel.java            |    10 +-
 .../org/netbeans/modules/cnd/refactoring/layer.xml |    39 +
 .../cnd/refactoring/plugins/Bundle.properties      |     1 +
 .../plugins/CsmModificationRefactoringPlugin.java  |     2 +-
 .../refactoring/plugins/CsmRefactoringPlugin.java  |     3 +-
 .../plugins/CsmRenameRefactoringPlugin.java        |    17 +-
 .../refactoring/support/CsmRefactoringUtils.java   |    40 +-
 .../refactoring/support/ModificationResult.java    |    24 +-
 .../modules/cnd/refactoring/ui/InsertPoint.java    |    40 +-
 .../cnd/refactoring/ui/RenameRefactoringUI.java    |     9 +
 .../modules/cnd/refactoring/ui/WhereUsedPanel.java |    16 +-
 .../actions/InstantRenamePerformerTestCase.java    |    11 -
 .../CsmWhereUsedQueryPluginTestCaseBase.java       |    11 -
 .../plugins/WhereUsedInQuoteTestCase.java          |    11 -
 .../refactoring/test/RefactoringBaseTestCase.java  |    11 -
 cnd.remote.projectui/build.xml                     |    39 +
 cnd.remote.projectui/nbproject/project.properties  |    39 +-
 cnd.remote.projectui/nbproject/project.xml         |    77 +-
 .../modules/cnd/remote/projectui/Bundle.properties |    37 +
 .../cnd/remote/projectui/actions/Bundle.properties |    37 +
 .../actions/NewRemoteProjectPerformer.java         |     2 +-
 .../cnd/remote/projectui/resources/layer.xml       |   133 +-
 .../cnd/remote/projectui/toolbar/Bundle.properties |    37 +
 .../toolbar/RemoteHostActionPerformer.java         |     2 +-
 .../remote/projectui/wizard/cnd/Bundle.properties  |     4 +-
 .../wizard/cnd/NewMakeProjectWizardIterator.java   |    17 +-
 .../projectui/wizard/ide/TemplatesPanelGUI.java    |     4 +
 cnd.remote.ui/build.xml                            |    44 +
 cnd.remote.ui/manifest.mf                          |     6 +
 cnd.remote.ui/nbproject/project.properties         |    39 +
 cnd.remote.ui/nbproject/project.xml                |   494 +
 .../modules/cnd/remote/actions/Bundle.properties   |     0
 .../cnd/remote/actions/OpenRemoteFileAction.java   |     0
 .../remote/actions/OpenRemoteFilePerformer.java    |     0
 .../remote/actions/OpenRemoteProjectAction.java    |     0
 .../remote/actions/OpenRemoteProjectPerformer.java |     0
 .../cnd/remote/actions/RemoteHelpAction.java       |     0
 .../cnd/remote/actions/RemoteOpenHelper.java       |   406 +
 .../cnd/remote/actions/SetDefaultAction.java       |     0
 .../cnd/remote/actions/base/Bundle.properties      |    38 +
 .../remote/actions/base/RemoteActionPerformer.java |   142 +
 .../remote/actions/base/RemoteOpenActionBase.java  |   154 +
 .../cnd/remote/sync/download/Bundle.properties     |     0
 .../cnd/remote/sync/download/FileDownloadInfo.java |     0
 .../cnd/remote/sync/download/HostUpdates.java      |   334 +
 .../sync/download/HostUpdatesPersistence.java      |     0
 .../sync/download/HostUpdatesRegistryImpl.java     |    64 +
 .../sync/download/HostUpdatesRequestPanel.java     |   352 +
 .../modules/cnd/remote/sync/download/check.png     |   Bin
 .../modules/cnd/remote/sync/download/error.png     |   Bin
 .../cnd/remote/sync/download/remote-updates.png    |   Bin
 .../modules/cnd/remote/ui/Bundle.properties        |   135 +
 .../modules/cnd/remote/ui/EditPathMapDialog.form   |   222 +
 .../modules/cnd/remote/ui/EditPathMapDialog.java   |     0
 .../cnd/remote/ui/EditServerListDialog.form        |     0
 .../cnd/remote/ui/EditServerListDialog.java        |   581 +
 .../cnd/remote/ui/FixRemotePathMapperUIImpl.java   |    61 +
 .../cnd/remote/ui/HostPropertiesDialog.form        |     0
 .../cnd/remote/ui/HostPropertiesDialog.java        |   316 +
 .../cnd/remote/ui/impl/RemoteSyncNotifierImpl.java |   164 +
 .../remote/ui/networkneighbour/Bundle.properties   |     0
 .../ui/networkneighbour/HostSelectionPanel.form    |     0
 .../ui/networkneighbour/HostSelectionPanel.java    |     0
 .../remote/ui/networkneighbour/NeighbourHost.java  |     0
 .../ui/networkneighbour/NeighbourHostNode.java     |     0
 .../ui/networkneighbour/NeighbourhoodRootNode.java |     0
 .../networkneighbour/NetworkNeighbourhoodList.java |     0
 .../ui/networkneighbour/NetworkRegistry.java       |     0
 .../remote/ui/networkneighbour/PortTextField.java  |     0
 .../cnd/remote/ui/proxysettings/Bundle.properties  |     0
 .../ui/proxysettings/ProxySettingsPanel.form       |     0
 .../ui/proxysettings/ProxySettingsPanel.java       |   196 +
 .../cnd/remote/ui/resources/Bundle.properties      |    39 +
 .../modules/cnd/remote/ui/server/Bundle.properties |    69 +
 .../cnd/remote/ui/server/RemoteServerListUI.java   |   196 +
 .../modules/cnd/remote/ui/setup/Bundle.properties  |    41 +
 .../remote/ui/setup/CreateHostVisualPanel0.form    |     0
 .../remote/ui/setup/CreateHostVisualPanel0.java    |     0
 .../remote/ui/setup/CreateHostWizardIterator.java  |   275 +
 .../remote/ui/setup/CreateHostWizardPanel0.java    |   137 +
 .../cnd/remote/ui/setup/TextComponentWriter.java   |    99 +
 .../modules/cnd/remote/ui/wizard/Bundle.properties |    93 +
 .../cnd/remote/ui/wizard/CreateHostData.java       |   122 +
 .../remote/ui/wizard/CreateHostVisualPanel1.form   |     0
 .../remote/ui/wizard/CreateHostVisualPanel1.java   |   250 +
 .../remote/ui/wizard/CreateHostVisualPanel2.form   |     0
 .../remote/ui/wizard/CreateHostVisualPanel2.java   |   408 +
 .../remote/ui/wizard/CreateHostVisualPanel3.form   |   249 +
 .../remote/ui/wizard/CreateHostVisualPanel3.java   |   308 +
 .../ui/wizard/CreateHostVisualPanelBase.java       |    61 +
 .../remote/ui/wizard/CreateHostWizardPanel1.java   |     0
 .../remote/ui/wizard/CreateHostWizardPanel2.java   |   198 +
 .../remote/ui/wizard/CreateHostWizardPanel3.java   |    99 +
 .../remote/ui/wizard/RemoteHostSetupProvider.java  |    92 +
 .../remote/ui/wizard/RemoteHostSetupWorker.java    |    83 +
 .../remote/ui/wizard/SelectHostVisualPanel.form    |     0
 .../remote/ui/wizard/SelectHostVisualPanel.java    |     0
 .../remote/ui/wizard/SelectHostWizardPanel.java    |   212 +
 .../SelectHostWizardProviderFactoryImpl.java       |   102 +
 .../cnd/spi/remote/ui/HostSetupWorkerUI.java       |    55 +
 .../modules/remote/ui/AddToFavoritesAction.java    |   453 +
 .../modules/remote/ui/AddToolchainAction.java      |    68 +
 .../netbeans/modules/remote/ui/Bundle.properties   |    94 +
 .../netbeans/modules/remote/ui/ConnectAction.java  |   117 +
 .../modules/remote/ui/DisconnectAction.java        |     0
 .../netbeans/modules/remote/ui/FileSystemNode.java |     0
 .../modules/remote/ui/FileSystemNodeProvider.java  |     0
 .../modules/remote/ui/FileSystemRootNode.java      |     0
 .../netbeans/modules/remote/ui/FsTestActions.java  |     0
 .../org/netbeans/modules/remote/ui/FsTests.java    |     0
 .../modules/remote/ui/HostListRootNode.java        |   229 +
 .../org/netbeans/modules/remote/ui/HostNode.java   |   243 +
 .../modules/remote/ui/HostNodesProvider.java       |     0
 .../modules/remote/ui/HostPropertiesAction.java    |     0
 .../modules/remote/ui/NewRemoteProjectAction.java  |    90 +
 .../modules/remote/ui/NotConnectedNode.java        |     0
 .../modules/remote/ui/OpenRemoteProjectAction.java |   272 +
 .../modules/remote/ui/OpenTerminalAction.java      |     0
 .../modules/remote/ui/PathMapperAction.java        |     0
 .../netbeans/modules/remote/ui/RefreshAction.java  |     0
 .../modules/remote/ui/RemoveHostAction.java        |   101 +
 .../modules/remote/ui/RemoveToolchainAction.java   |     0
 .../modules/remote/ui/RestoreToolchainsAction.java |     0
 .../modules/remote/ui/SetDefaultHostAction.java    |     0
 .../remote/ui/SetDefaultToolchainAction.java       |     0
 .../modules/remote/ui/ShowToolchainsAction.java    |     0
 .../modules/remote/ui/SingleHostAction.java        |     0
 .../modules/remote/ui/StatisticsActions.java       |     0
 .../modules/remote/ui/ToolchainListRootNode.java   |   239 +
 .../modules/remote/ui/ToolchainNodeProvider.java   |     0
 .../org/netbeans/modules/remote/ui/connected.png   |   Bin
 .../netbeans/modules/remote/ui/connected_host.png  |   Bin
 .../netbeans/modules/remote/ui/disconnected.png    |   Bin
 .../modules/remote/ui/disconnected_host.png        |   Bin
 .../src/org/netbeans/modules/remote/ui/fs.gif      |   Bin
 .../src/org/netbeans/modules/remote/ui/fs_open.gif |   Bin
 .../netbeans/modules/remote/ui/not_set_up_host.png |   Bin
 .../src/org/netbeans/modules/remote/ui/servers.png |   Bin
 .../netbeans/modules/remote/ui/single_server.png   |   Bin
 .../src/org/netbeans/modules/remote/ui/tool.png    |   Bin
 .../modules/remote/ui/tools_collection.gif         |   Bin
 .../RemoteBuildUpdatesDownloadTestCase.java        |   233 +
 .../cnd/remote/ui/test/RemoteDevelopmentTest.java  |    71 +
 .../cnd/remote/ui/wizard/HostSetupTestCase.java    |     0
 .../api/ui/RemoteFileSystemViewTestCase.java       |     0
 cnd.remote/build.xml                               |    65 +
 cnd.remote/external/binaries-list                  |     7 +
 cnd.remote/nbproject/project.properties            |    39 +-
 cnd.remote/nbproject/project.xml                   |   201 +-
 cnd.remote/release/bin/rfs_test_env.sh             |    37 +-
 .../netbeans/modules/cnd/remote/Bundle.properties  |    37 +
 .../RemoteSyncFactoryDefaultProviderImpl.java      |    73 +
 .../cnd/remote/actions/RemoteOpenHelper.java       |   406 -
 .../cnd/remote/actions/base/Bundle.properties      |     1 -
 .../remote/actions/base/RemoteActionPerformer.java |   141 -
 .../remote/actions/base/RemoteOpenActionBase.java  |   154 -
 .../remote/compilers/CompilerSetScriptManager.java |    12 +-
 .../compilers/RemoteCompilerSetProvider.java       |    23 +-
 .../cnd/remote/mapper/FixRemotePathMapper.java     |    84 +
 .../remote/mapper/HostMappingProviderLinux.java    |     2 +-
 .../remote/mapper/HostMappingProviderSamba.java    |     4 +-
 .../remote/mapper/HostMappingProviderSolaris.java  |     4 +-
 .../mapper/HostMappingProviderUnixAbstract.java    |    24 +-
 .../remote/mapper/HostMappingProviderWindows.java  |     2 +-
 .../mapper/HostMappingProviderWindowsUnixNFS.java  |     2 +-
 .../mapper/RemoteHostInfoProviderFactory.java      |     2 +-
 .../modules/cnd/remote/mapper/RemotePathMap.java   |    33 +-
 .../modules/cnd/remote/mapper/WindowsSupport.java  |     7 +-
 .../cnd/remote/server/RemoteServerList.java        |     5 +-
 .../cnd/remote/server/RemoteServerListUI.java      |   194 -
 .../cnd/remote/server/RemoteServerRecord.java      |    16 +-
 .../cnd/remote/server/RemoteServerSetup.java       |     2 +-
 .../modules/cnd/remote/server/StopWatch.java       |   117 +
 .../cnd/remote/server/X11ForwardingChecker.java    |     2 +-
 .../remote/support/RemoteConnectionSupport.java    |     1 +
 .../cnd/remote/support/RemoteProjectSupport.java   |     1 +
 .../support/RemoteServerListProviderImpl.java      |     5 +
 .../modules/cnd/remote/support/RemoteUtil.java     |   157 -
 .../modules/cnd/remote/sync/Bundle.properties      |    22 -
 .../modules/cnd/remote/sync/FileCollector.java     |    32 +-
 .../netbeans/modules/cnd/remote/sync/FileData.java |     2 +-
 .../modules/cnd/remote/sync/FsSkewNotifier.java    |   157 -
 .../modules/cnd/remote/sync/FtpSyncFactory.java    |     2 +-
 .../modules/cnd/remote/sync/FtpSyncWorker.java     |    18 +-
 .../cnd/remote/sync/FullRemoteSyncWorker.java      |     5 +-
 .../cnd/remote/sync/RemoteBinaryServiceImpl.java   |    11 +-
 .../sync/RemoteBuildProjectActionHandler.java      |    23 +-
 .../RemoteBuildProjectActionHandlerFactory.java    |    35 +-
 .../cnd/remote/sync/RfsLocalController.java        |    39 +-
 .../modules/cnd/remote/sync/RfsSetupProvider.java  |     3 +-
 .../modules/cnd/remote/sync/RfsSyncFactory.java    |     2 +-
 .../modules/cnd/remote/sync/RfsSyncWorker.java     |    57 +-
 .../modules/cnd/remote/sync/SharabilityFilter.java |     2 +-
 .../modules/cnd/remote/sync/SharedSyncFactory.java |     2 +-
 .../modules/cnd/remote/sync/SharedSyncWorker.java  |     3 +-
 .../modules/cnd/remote/sync/SyncUtils.java         |    50 +-
 .../cnd/remote/sync/download/HostUpdates.java      |   335 -
 .../sync/download/HostUpdatesRequestPanel.java     |   352 -
 .../modules/cnd/remote/ui/Bundle.properties        |   135 -
 .../modules/cnd/remote/ui/EditPathMapDialog.form   |   222 -
 .../cnd/remote/ui/EditServerListDialog.java        |   581 -
 .../cnd/remote/ui/HostPropertiesDialog.java        |   316 -
 .../ui/proxysettings/ProxySettingsPanel.java       |   190 -
 .../modules/cnd/remote/ui/setup/Bundle.properties  |     4 -
 .../remote/ui/setup/CreateHostWizardIterator.java  |   272 -
 .../remote/ui/setup/CreateHostWizardPanel0.java    |   137 -
 .../modules/cnd/remote/ui/setup/StopWatch.java     |   117 -
 .../modules/cnd/remote/ui/wizard/Bundle.properties |   101 -
 .../cnd/remote/ui/wizard/CreateHostData.java       |   122 -
 .../remote/ui/wizard/CreateHostVisualPanel1.java   |   248 -
 .../remote/ui/wizard/CreateHostVisualPanel2.java   |   407 -
 .../remote/ui/wizard/CreateHostVisualPanel3.form   |   248 -
 .../remote/ui/wizard/CreateHostVisualPanel3.java   |   301 -
 .../remote/ui/wizard/CreateHostWizardPanel2.java   |   198 -
 .../remote/ui/wizard/CreateHostWizardPanel3.java   |    99 -
 .../cnd/remote/ui/wizard/HostValidatorImpl.java    |   217 -
 .../remote/ui/wizard/RemoteHostSetupProvider.java  |    92 -
 .../remote/ui/wizard/RemoteHostSetupWorker.java    |    83 -
 .../RemoteSyncFactoryDefaultProviderImpl.java      |    73 -
 .../remote/ui/wizard/SelectHostWizardPanel.java    |   212 -
 .../SelectHostWizardProviderFactoryImpl.java       |   102 -
 .../modules/cnd/remote/utils/RemoteUtil.java       |   158 +
 .../modules/cnd/spi/remote/setup/Bundle.properties |    51 +
 .../cnd/spi/remote/setup/HostSetupProvider.java    |     2 +-
 .../cnd/spi/remote/setup/HostSetupWorker.java      |    15 -
 .../cnd/spi/remote/setup/HostValidatorFactory.java |    58 +
 .../cnd/spi/remote/setup/HostValidatorImpl.java    |   215 +
 .../cnd/spi/remote/setup/support/Bundle.properties |    62 +
 .../remote/setup/support/HostUpdatesRegistry.java  |    70 +
 .../remote/setup/support/RemoteSyncNotifier.java   |   140 +
 .../remote/setup/support/TextComponentWriter.java  |    99 -
 .../modules/remote/ui/AddToFavoritesAction.java    |   453 -
 .../modules/remote/ui/AddToolchainAction.java      |    68 -
 .../netbeans/modules/remote/ui/Bundle.properties   |    56 -
 .../netbeans/modules/remote/ui/ConnectAction.java  |   117 -
 .../modules/remote/ui/HostListRootNode.java        |   225 -
 .../org/netbeans/modules/remote/ui/HostNode.java   |   237 -
 .../modules/remote/ui/NewRemoteProjectAction.java  |    84 -
 .../modules/remote/ui/OpenRemoteProjectAction.java |   272 -
 .../modules/remote/ui/RemoveHostAction.java        |   101 -
 .../modules/remote/ui/ToolchainListRootNode.java   |   239 -
 .../modules/cnd/remote/fs/CndFileUtilTestCase.java |    32 +-
 .../cnd/remote/fs/FullRemoteCodeModelTestCase.java |    17 +-
 .../cnd/remote/fs/RemoteCodeModelTestCase.java     |     2 +-
 .../cnd/remote/full/FullRemoteBuildTestCase.java   |     2 +-
 .../remote/pbuild/LinuxTouchRfsBuildTestCase.java  |     2 +-
 .../remote/pbuild/RemoteBuildLinksTestCase.java    |     4 +-
 .../remote/pbuild/RemoteBuildMakefileTestCase.java |     2 +-
 .../RemoteBuildRequiredProjectsTestCase.java       |     2 +-
 .../remote/pbuild/RemoteBuildSamplesTestCase.java  |     2 +-
 .../remote/pbuild/RemoteBuildSharedTestCase.java   |     2 +-
 .../RfsGnuParameterizedRemoteBuildTestCase.java    |     4 +-
 .../remote/pbuild/RfsGnuRemoteBuildTestCase.java   |     2 +-
 .../pbuild/RfsSunStudioRemoteBuildTestCase.java    |     4 +-
 .../cnd/remote/support/TransportTestCase.java      |     2 +-
 .../modules/cnd/remote/support/UploadTestCase.java |     2 +-
 .../remote/sync/AbstractSyncWorkerTestCase.java    |    13 +
 .../cnd/remote/sync/FtpSyncWorkerTestCase.java     |     8 +
 .../remote/sync/RemoteBinaryServiceTestCase.java   |     8 +-
 .../sync/RfsRemoteControllerDeathTestCase.java     |     8 +-
 .../RemoteBuildUpdatesDownloadTestCase.java        |   233 -
 .../cnd/remote/test/RemoteBuildTestBase.java       |     7 +-
 .../cnd/remote/test/RemoteDevelopment3Test.java    |     6 +-
 .../modules/cnd/remote/test/RemoteTestBase.java    |    38 +-
 cnd.remote/tools/Makefile                          |    53 +-
 cnd.remote/tools/Makefile-tools.mk                 |   109 -
 cnd.remote/tools/build.sh                          |    37 +-
 cnd.remote/tools/nbproject/Package-Debug32.bash    |    75 -
 cnd.remote/tools/nbproject/Package-Debug64.bash    |    75 -
 cnd.remote/tools/nbproject/configurations.xml      |   561 +-
 cnd.remote/tools/nbproject/project.properties      |    37 +
 cnd.remote/tools/nbproject/project.xml             |    73 +-
 cnd.remote/tools/rfs_controller.c                  |    27 +-
 cnd.remote/tools/rfs_filedata.c                    |     6 +-
 cnd.remote/tools/rfs_preload.c                     |    42 +-
 cnd.remote/tools/rfs_util.c                        |    10 +
 cnd.remote/tools/rfs_util.h                        |     1 +
 cnd.remote/tools/test/test1.sh                     |    37 +-
 cnd.remote/tools/test/test_pkg_client.c            |    40 +-
 cnd.remote/tools/test/test_rfs_filedata.c          |    40 +-
 cnd.remote/tools/upload_rfs_binaries.bash          |   111 +
 cnd.repository.api/build.xml                       |    39 +
 cnd.repository.api/nbproject/project.properties    |    39 +-
 cnd.repository.api/nbproject/project.xml           |    40 +
 .../modules/cnd/repository/api/Repository.java     |    39 +
 cnd.repository/build.xml                           |     6 +-
 cnd.repository/nbproject/project.properties        |    39 +-
 cnd.repository/nbproject/project.xml               |    51 +-
 .../cnd/repository/AsyncRepositoryWriterImpl.java  |    12 +-
 .../modules/cnd/repository/disk/Bundle.properties  |    37 +
 .../cnd/repository/disk/DoubleFileStorage.java     |     5 +-
 .../cnd/repository/resources/Bundle.properties     |     2 +-
 .../modules/cnd/repository/storage/Storage.java    |     3 +-
 cnd.repository/test/mws-sample/results.xml         |     4 +-
 cnd.repository/test/results.xsl                    |    82 +-
 .../access/RepositoryAccessTestBase.java           |     2 +-
 .../layering/RepositoryRelocationTest.java         |    34 +-
 .../cnd/repository/util/RepositoryTestSupport.java |     2 +-
 cnd.script/build.xml                               |    39 +
 cnd.script/nbproject/project.properties            |    39 +-
 cnd.script/nbproject/project.xml                   |    94 +-
 .../modules/cnd/makefile/loaders/Bundle.properties |     2 -
 .../cnd/makefile/loaders/MakefileDataObject.java   |    15 +-
 .../cnd/makefile/parser/MakefileParser.java        |     8 +-
 .../makefile/parser/MakefileStructureScanner.java  |    16 +-
 .../modules/cnd/makefile/wizard/Bundle.properties  |    12 +-
 .../modules/cnd/script/lexer/CMakeLexer.java       |   428 +-
 .../netbeans/modules/cnd/script/lexer/ShLexer.java |    28 +-
 .../cnd/script/loaders/ShellDataObject.java        |    12 +-
 .../modules/cnd/script/resources/Bundle.properties |    37 +
 .../modules/cnd/script/resources/bashScript.html   |    75 +-
 .../cnd/script/resources/cmakeFontsColors.xml      |    39 +
 .../cnd/script/resources/cmakeIncFontsColors.xml   |    39 +
 .../cnd/script/resources/complexMakefile.html      |    77 +-
 .../modules/cnd/script/resources/cshScript.html    |    75 +-
 .../modules/cnd/script/resources/kshScript.html    |    75 +-
 .../modules/cnd/script/resources/layer.xml         |    49 +-
 .../modules/cnd/script/resources/makefiles.html    |    75 +-
 .../cnd/script/resources/mime-resolver-make.xml    |    26 -
 .../modules/cnd/script/resources/mime-resolver.xml |    44 -
 .../cnd/script/resources/scriptTemplates.html      |    75 +-
 .../modules/cnd/script/resources/shScript.html     |    75 +-
 .../cnd/script/resources/shellFontsColors.xml      |    39 +
 .../modules/cnd/script/resources/zshScript.html    |    75 +-
 cnd.search/build.xml                               |    39 +
 cnd.search/manifest.mf                             |     2 +-
 cnd.search/nbproject/project.properties            |    37 +
 cnd.search/nbproject/project.xml                   |    65 +-
 .../modules/cnd/search/resources/Bundle.properties |    37 +
 .../modules/cnd/search/ui/Bundle.properties        |    37 +
 cnd.simpleunit/build.xml                           |    39 +
 cnd.simpleunit/nbproject/project.properties        |    39 +-
 cnd.simpleunit/nbproject/project.xml               |    71 +-
 .../modules/cnd/simpleunit/Bundle.properties       |    37 +
 .../editor/filecreation/TestSimpleIterator.java    |     2 +-
 .../org/netbeans/modules/cnd/simpleunit/layer.xml  |    45 +-
 .../cnd/simpleunit/resources/simple-test-c.html    |    75 +-
 .../cnd/simpleunit/resources/simple-test-cc.html   |    75 +-
 .../cnd/simpleunit/resources/test-simple-c.html    |    11 +-
 .../cnd/simpleunit/resources/test-simple-cpp.html  |    11 +-
 .../cnd/simpleunit/resources/testFiles.html        |    11 +-
 .../spi/wizard/AbstractUnitTestIterator.java       |     3 +-
 .../cnd/simpleunit/wizard/Bundle.properties        |    37 +
 cnd.source/build.xml                               |    39 +
 cnd.source/nbproject/project.properties            |    39 +-
 cnd.source/nbproject/project.xml                   |    51 +-
 .../netbeans/modules/cnd/source/Bundle.properties  |    11 -
 .../netbeans/modules/cnd/source/CCDataObject.java  |     4 -
 .../netbeans/modules/cnd/source/CDataObject.java   |     3 -
 .../modules/cnd/source/CppEditorSupport.java       |    44 +-
 .../cnd/source/CppEditorSupportProvider.java       |    10 +-
 .../modules/cnd/source/FortranDataObject.java      |     3 -
 .../netbeans/modules/cnd/source/HDataObject.java   |     3 -
 .../modules/cnd/source/SourceDataObject.java       |    13 +-
 .../modules/cnd/source/resources/Bundle.properties |    37 +
 .../modules/cnd/source/resources/layer.xml         |    39 +
 .../modules/cnd/source/spi/CndCookieProvider.java  |    86 -
 .../source/spi/CndDocumentCodeStyleProvider.java   |    54 -
 .../nbproject/project.properties                   |     2 +-
 cnd.spellchecker.bindings/nbproject/project.xml    |    39 +
 .../cnd/spellchecker/bindings/CndTokenList.java    |     2 +-
 cnd.testrunner/build.xml                           |    39 +
 cnd.testrunner/nbproject/project.properties        |     2 +-
 cnd.testrunner/nbproject/project.xml               |    39 +
 .../modules/cnd/testrunner/Bundle.properties       |    37 +
 cnd.toolchain.ui/build.xml                         |    44 +
 cnd.toolchain.ui/manifest.mf                       |     6 +
 cnd.toolchain.ui/nbproject/project.properties      |    39 +
 cnd.toolchain.ui/nbproject/project.xml             |   385 +
 .../cnd/api/toolchain/ui/BuildToolsAction.java     |     0
 .../modules/cnd/api/toolchain/ui/Bundle.properties |    71 +
 .../cnd/api/toolchain/ui/LocalToolsPanelModel.java |     0
 .../cnd/api/toolchain/ui/PathEnvVariables.form     |   255 +
 .../cnd/api/toolchain/ui/PathEnvVariables.java     |   435 +
 .../modules/cnd/api/toolchain/ui/Save.java         |    53 +
 .../cnd/api/toolchain/ui/ServerListUIEx.java       |   114 +
 .../toolchain/ui/ToolsPanelGlobalCustomizer.java   |     0
 .../cnd/api/toolchain/ui/ToolsPanelModel.java      |     0
 .../cnd/api/toolchain/ui/ToolsPanelSupport.java    |   343 +
 .../cnd/toolchain/ui/compiler/Bundle.properties    |     0
 .../ui/compiler/CodeAssistancePanelController.java |     0
 .../toolchain/ui/compiler/ParserSettingsPanel.form |   117 +
 .../toolchain/ui/compiler/ParserSettingsPanel.java |   435 +
 .../cnd/toolchain/ui/compiler/PredefinedPanel.form |     0
 .../cnd/toolchain/ui/compiler/PredefinedPanel.java |   552 +
 .../modules/cnd/toolchain/ui/compiler/key.png      |   Bin
 .../cnd/toolchain/ui/compilerset/Bundle.properties |    50 +
 .../ui/compilerset/FixCodeAssistancePanel.form     |    51 +
 .../ui/compilerset/FixCodeAssistancePanel.java     |   136 +
 .../toolchain/ui/compilerset/NoCompilersPanel.form |    54 +
 .../toolchain/ui/compilerset/NoCompilersPanel.java |   102 +
 .../cnd/toolchain/ui/impl/Bundle.properties        |    46 +
 .../ui/impl/CSMIntializationTaskRunnerImpl.java    |   100 +
 .../cnd/toolchain/ui/impl/CSMNotifierUIImpl.java   |    87 +
 .../cnd/toolchain/ui/impl/OutputListenerImpl.java  |   265 +
 .../ui/impl/OutputListenerProviderImpl.java        |    68 +
 .../cnd/toolchain/ui/impl/ShowInOutputFix.java     |    98 +
 .../toolchain/ui/options/AddCompilerSetPanel.form  |     0
 .../toolchain/ui/options/AddCompilerSetPanel.java  |   710 +
 .../cnd/toolchain/ui/options/Bundle.properties     |   405 +
 .../cnd/toolchain/ui/options/DownloadUtils.java    |     0
 .../ui/options/DuplicateCompilerSetPanel.form      |     0
 .../ui/options/DuplicateCompilerSetPanel.java      |   296 +
 .../ui/options/GlobalToolsPanelModel.java          |     0
 .../toolchain/ui/options/HostToolsPanelModel.java  |     0
 .../toolchain/ui/options/IsChangedListener.java    |    57 +
 .../toolchain/ui/options/ToolCollectionPanel.form  |   711 +
 .../toolchain/ui/options/ToolCollectionPanel.java  |  1509 +
 .../cnd/toolchain/ui/options/ToolsPanel.form       |     0
 .../cnd/toolchain/ui/options/ToolsPanel.java       |  1322 +
 .../toolchain/ui/options/ToolsPanelController.java |     0
 .../cnd/toolchain/ui/options/ToolsUtils.java       |     0
 .../cnd/toolchain/ui/options/VersionCommand.java   |     0
 .../modules/cnd/toolchain/ui/options/cnd_32.png    |   Bin
 .../cnd/toolchain/ui/options/package-info.java     |     0
 .../cnd/toolchain/ui/resources/Bundle.properties   |    39 +
 cnd.toolchain/build.xml                            |    39 +
 cnd.toolchain/nbproject/project.properties         |    41 +-
 cnd.toolchain/nbproject/project.xml                |   208 +-
 .../cnd/api/toolchain/AbstractCompiler.java        |    25 +-
 .../modules/cnd/api/toolchain/Bundle.properties    |     3 +-
 .../modules/cnd/api/toolchain/CompilerFlavor.java  |     7 +-
 .../modules/cnd/api/toolchain/CompilerSet.java     |    26 +-
 .../cnd/api/toolchain/CompilerSetManager.java      |    10 +
 .../netbeans/modules/cnd/api/toolchain/Tool.java   |     4 +-
 .../cnd/api/toolchain/ToolsCacheManager.java       |   106 +
 .../cnd/api/toolchain/resources/Bundle.properties  |    38 +
 .../modules/cnd/api/toolchain/ui/Bundle.properties |    55 -
 .../cnd/api/toolchain/ui/IsChangedListener.java    |    57 -
 .../modules/cnd/api/toolchain/ui/Save.java         |    51 -
 .../cnd/api/toolchain/ui/ServerListUIEx.java       |   113 -
 .../cnd/api/toolchain/ui/ToolsCacheManager.java    |    93 -
 .../cnd/api/toolchain/ui/ToolsPanelSupport.java    |   383 -
 .../modules/cnd/spi/toolchain/Bundle.properties    |     2 +-
 .../spi/toolchain/CSMInitializationTaskRunner.java |    86 +
 .../modules/cnd/spi/toolchain/CSMNotifier.java     |    98 +
 .../cnd/spi/toolchain/CompilerLineConvertor.java   |     4 +-
 .../cnd/spi/toolchain/CompilerSetFactory.java      |    43 +-
 .../spi/toolchain/CompilerSetManagerEvents.java    |    48 +-
 .../cnd/spi/toolchain/ErrorParserProvider.java     |     4 +-
 .../cnd/spi/toolchain/OutputListenerExt.java       |    60 +
 .../cnd/spi/toolchain/OutputListenerProvider.java  |   128 +
 .../modules/cnd/toolchain/Bundle.properties        |    51 +-
 .../cnd/toolchain/ToolsCacheManagerImpl.java       |   390 +
 .../cnd/toolchain/compilers/CCCCompiler.java       |   473 +-
 .../compilers/CompilerDefinitionAccessor.java      |    84 +
 .../toolchain/compilers/FingerprintScanner.java    |    10 +-
 .../cnd/toolchain/compilers/GNUCCCCompiler.java    |    35 +-
 .../cnd/toolchain/compilers/GNUCCCompiler.java     |     1 +
 .../cnd/toolchain/compilers/GNUCCompiler.java      |     1 +
 .../cnd/toolchain/compilers/MsvcCompiler.java      |     9 +-
 .../cnd/toolchain/compilers/OracleCCompiler.java   |     1 +
 .../toolchain/compilers/OracleCCppCompiler.java    |    69 +-
 .../cnd/toolchain/compilers/OracleCppCompiler.java |     1 +
 .../cnd/toolchain/compilers/PersistentList.java    |     2 +-
 .../toolchain/compilers/SPICompilerAccesor.java    |    22 +-
 .../cnd/toolchain/compilers/SunCCCCompiler.java    |    31 +-
 .../cnd/toolchain/compilers/SunCCCompiler.java     |     3 +-
 .../cnd/toolchain/compilers/SunCCompiler.java      |     3 +-
 .../cnd/toolchain/compilerset/Bundle.properties    |     7 +-
 .../cnd/toolchain/compilerset/CompilerSetImpl.java |   106 +-
 .../CompilerSetManagerAccessorImpl.java            |    29 +-
 .../compilerset/CompilerSetManagerImpl.java        |    41 +-
 .../compilerset/CompilerSetPreferences.java        |    40 +-
 .../compilerset/FixCodeAssistancePanel.form        |    51 -
 .../compilerset/FixCodeAssistancePanel.java        |   135 -
 .../toolchain/compilerset/NoCompilersPanel.form    |    54 -
 .../toolchain/compilerset/NoCompilersPanel.java    |   102 -
 .../cnd/toolchain/compilerset/ToolUtils.java       |    56 +-
 .../toolchain/compilerset/ToolchainValidator.java  |    44 +-
 .../toolchain/execution/CompileErrorScanner.java   |     5 +-
 .../cnd/toolchain/execution/ErrorParser.java       |     9 +-
 .../cnd/toolchain/execution/GCCErrorParser.java    |    26 +-
 .../toolchain/execution/OutputListenerImpl.java    |   261 -
 .../cnd/toolchain/execution/ShowInOutputFix.java   |   100 -
 .../org/netbeans/modules/cnd/toolchain/layer.xml   |   233 +-
 .../resources/toolchaindefinition/CLang_mac_c.xml  |    52 +
 .../toolchaindefinition/CLang_mac_cpp.xml          |    52 +
 .../resources/toolchaindefinition/Cygwin_c.xml     |     2 +-
 .../resources/toolchaindefinition/Cygwin_cpp.xml   |     2 +-
 .../resources/toolchaindefinition/GNU_c.xml        |     2 +-
 .../resources/toolchaindefinition/GNU_cpp.xml      |     2 +-
 .../resources/toolchaindefinition/GNU_mac_c.xml    |    51 +
 .../resources/toolchaindefinition/GNU_mac_cpp.xml  |    51 +
 .../resources/toolchaindefinition/GNU_scanner.xml  |     1 +
 .../OSS_5.13_solaris-sparc_flavor.xml              |     2 +-
 .../OSS_5.13_solaris-x86_linux_flavor.xml          |     2 +-
 .../toolchaindefinition/OSS_5.14_linuxGNU_cpp.xml  |   118 +
 .../OSS_5.14_linuxGNU_flavor.xml                   |    52 +
 .../OSS_5.14_linuxGNU_linker.xml                   |    52 +
 .../OSS_5.14_solaris-sparc_c.xml                   |   109 +
 .../OSS_5.14_solaris-sparc_cpp.xml                 |   115 +
 .../OSS_5.14_solaris-sparc_flavor.xml              |    53 +
 .../OSS_5.14_solaris-sparc_fortran.xml             |    80 +
 .../OSS_5.14_solaris-x86_linux_c.xml               |   109 +
 .../OSS_5.14_solaris-x86_linux_cpp.xml             |   115 +
 .../OSS_5.14_solaris-x86_linux_flavor.xml          |    54 +
 .../OSS_5.14_solaris-x86_linux_fortran.xml         |    80 +
 .../toolchaindefinition/OSS_linuxGNU_flavor.xml    |     4 +-
 .../toolchaindefinition/OSS_solaris-sparc_cpp.xml  |     2 +-
 .../OSS_solaris-sparc_flavor.xml                   |     4 +-
 .../OSS_solaris-x86_linux_cpp.xml                  |     2 +-
 .../OSS_solaris-x86_linux_flavor.xml               |     6 +-
 .../OracleDeveloperStudio_flavor.xml               |    51 +
 .../OracleSolarisStudio_flavor.xml                 |    51 -
 .../toolchaindefinition/SunStudio_10_flavor.xml    |     7 +-
 .../toolchaindefinition/SunStudio_11_flavor.xml    |     6 +-
 .../SunStudio_12.1_solaris-sparc_flavor.xml        |     5 +-
 .../SunStudio_12.1_solaris-x86_linux_flavor.xml    |     6 +-
 .../SunStudio_12.2_linuxGNU_flavor.xml             |     3 -
 .../SunStudio_12.2_solaris-sparc_flavor.xml        |     5 +-
 .../SunStudio_12.2_solaris-x86_linux_flavor.xml    |     6 +-
 .../SunStudio_12.3_linuxGNU_flavor.xml             |     3 -
 .../SunStudio_12.3_solaris-sparc_flavor.xml        |     5 +-
 .../SunStudio_12.3_solaris-x86_linux_flavor.xml    |     6 +-
 .../toolchaindefinition/SunStudio_12_flavor.xml    |     7 +-
 .../toolchaindefinition/SunStudio_8_flavor.xml     |     6 +-
 .../toolchaindefinition/SunStudio_9_flavor.xml     |     6 +-
 .../cnd/toolchain/support/CompilerDefinition.java  |   114 +
 .../toolchain/support/ToolchainChangeSupport.java  |    64 +
 .../cnd/toolchain/support/ToolchainUtilities.java  |   309 +
 .../toolchain/ui/compiler/ParserSettingsPanel.form |   109 -
 .../toolchain/ui/compiler/ParserSettingsPanel.java |   432 -
 .../cnd/toolchain/ui/compiler/PredefinedPanel.java |   553 -
 .../toolchain/ui/options/AddCompilerSetPanel.java  |   717 -
 .../cnd/toolchain/ui/options/Bundle.properties     |   389 -
 .../ui/options/DuplicateCompilerSetPanel.java      |   297 -
 .../toolchain/ui/options/ToolCollectionPanel.form  |   696 -
 .../toolchain/ui/options/ToolCollectionPanel.java  |  1478 -
 .../ui/options/ToolsCacheManagerImpl.java          |   354 -
 .../cnd/toolchain/ui/options/ToolsPanel.java       |  1310 -
 .../cnd/toolchain/api/ReadRegistryTestCase.java    |    10 +-
 .../modules/cnd/toolchain/api/ScannerTestCase.java |    53 +-
 .../cnd/toolchain/api/ScriptGeneratorTestCase.java |    49 +-
 .../toolchain/compilers/GNUCCCCompilerTest.java    |    24 +-
 .../toolchain/compilers/SunCCCCompilerTest.java    |    15 +-
 cnd.ui/build.xml                                   |    44 +
 cnd.ui/manifest.mf                                 |     7 +
 cnd.ui/nbproject/project.properties                |    39 +
 cnd.ui/nbproject/project.xml                       |   448 +
 .../cnd/actions/AbstractExecutorRunAction.java     |     0
 .../netbeans/modules/cnd/actions/Bundle.properties |     0
 .../netbeans/modules/cnd/actions/CMakeAction.java  |   238 +
 .../modules/cnd/actions/CompileAction.java         |   369 +
 .../modules/cnd/actions/CompileRunAction.java      |   125 +
 .../modules/cnd/actions/CompileRunActionBase.java  |   261 +
 .../netbeans/modules/cnd/actions/MakeAction.java   |     0
 .../modules/cnd/actions/MakeBaseAction.java        |   295 +
 .../modules/cnd/actions/MakeCleanAction.java       |     0
 .../modules/cnd/actions/MakeTargetAction.java      |     0
 .../netbeans/modules/cnd/actions/QMakeAction.java  |   231 +
 .../modules/cnd/actions/ShellRunAction.java        |   343 +
 .../cnd/actions/StandAloneFileActionProvider.java  |     0
 .../netbeans/modules/cnd/builds/Bundle.properties  |     0
 .../modules/cnd/builds/CMakeExecSupport.java       |     0
 .../modules/cnd/builds/MakeExecSupport.java        |     0
 .../modules/cnd/builds/MakefileTargetProvider.java |     0
 .../modules/cnd/builds/QMakeExecSupport.java       |     0
 .../netbeans/modules/cnd/builds/TargetEditor.form  |     0
 .../netbeans/modules/cnd/builds/TargetEditor.java  |     0
 .../netbeans/modules/cnd/builds/package-info.java  |    44 +
 .../cnd/editor/filecreation/BrowseFolders.form     |    63 +
 .../cnd/editor/filecreation/BrowseFolders.java     |     0
 .../cnd/editor/filecreation/Bundle.properties      |   139 +
 .../editor/filecreation/CCFSrcFileIterator.java    |     0
 .../filecreation/CndClassWizardIterator.java       |     0
 .../filecreation/CndFilePlusWizardIterator.java    |   111 +
 .../editor/filecreation/CndFileWizardIterator.java |   111 +
 .../modules/cnd/editor/filecreation/CndPanel.java  |     0
 .../cnd/editor/filecreation/CndPanelGUI.java       |   219 +
 .../cnd/editor/filecreation/NewCndClassPanel.java  |   137 +
 .../editor/filecreation/NewCndClassPanelGUI.form   |   430 +
 .../editor/filecreation/NewCndClassPanelGUI.java   |   598 +
 .../filecreation/NewCndFileChooserPanel.java       |     0
 .../filecreation/NewCndFileChooserPanelGUI.form    |     0
 .../filecreation/NewCndFileChooserPanelGUI.java    |     0
 .../cnd/editor/filecreation/NewCndFilePanel.java   |   133 +
 .../cnd/editor/filecreation/NewQtFormPanel.java    |     0
 .../cnd/editor/filecreation/NewQtFormPanelGUI.form |     0
 .../cnd/editor/filecreation/NewQtFormPanelGUI.java |     0
 .../cnd/editor/filecreation/PhysicalView.java      |     0
 .../editor/filecreation/QtFormFileIterator.java    |     0
 .../editor/filecreation/SrcFileWizardListener.java |     0
 .../modules/cnd/execution/BinaryExecSupport.java   |     0
 .../modules/cnd/execution/BinaryExecutorIcon.gif   |   Bin
 .../modules/cnd/execution/Bundle.properties        |     0
 .../modules/cnd/execution/CompileExecSupport.java  |     0
 .../modules/cnd/execution/ExecutionSupport.java    |   317 +
 .../modules/cnd/execution/ShellExecSupport.java    |     0
 .../netbeans/modules/cnd/loaders/Bundle.properties |    80 +
 .../modules/cnd/loaders/CMakeDataObject.java       |   114 +
 .../cnd/loaders/CMakeIncludeDataObject.java        |    75 +
 .../modules/cnd/loaders/CMakefileDataIcon.png      |   Bin
 .../cnd/loaders/CndBinaryExecSupportProvider.java  |    93 +
 .../cnd/loaders/CndCompileSupportProvider.java     |    93 +
 .../netbeans/modules/cnd/loaders/CndDataNode.java  |     0
 .../cnd/loaders/CndPropertiesProviderImpl.java     |     0
 .../netbeans/modules/cnd/loaders/CoreElfIcon.gif   |   Bin
 .../netbeans/modules/cnd/loaders/CoreElfNode.java  |     0
 .../modules/cnd/loaders/CoreElfObject.java         |     0
 .../org/netbeans/modules/cnd/loaders/DllIcon.gif   |   Bin
 .../org/netbeans/modules/cnd/loaders/DllNode.java  |     0
 .../netbeans/modules/cnd/loaders/DllObject.java    |     0
 .../netbeans/modules/cnd/loaders/ExeElfObject.java |     0
 .../org/netbeans/modules/cnd/loaders/ExeIcon.gif   |   Bin
 .../netbeans/modules/cnd/loaders/ExeLoader.java    |     0
 .../modules/cnd/loaders/ExeLoaderBeanInfo.java     |     0
 .../org/netbeans/modules/cnd/loaders/ExeNode.java  |     0
 .../netbeans/modules/cnd/loaders/ExeObject.java    |   121 +
 .../cnd/loaders/ExternalProgramOpenCookie.java     |   152 +
 .../netbeans/modules/cnd/loaders/LibraryIcon.gif   |   Bin
 .../modules/cnd/loaders/OrphanedElfNode.java       |     0
 .../modules/cnd/loaders/OrphanedElfObject.gif      |   Bin
 .../modules/cnd/loaders/OrphanedElfObject.java     |     0
 .../modules/cnd/loaders/QtProjectDataObject.java   |   114 +
 .../netbeans/modules/cnd/loaders/QtProjectIcon.png |   Bin
 .../QtResourceCreateFromTemplateHandler.java       |     0
 .../modules/cnd/loaders/QtResourceDataObject.java  |     0
 .../modules/cnd/loaders/QtResourceIcon.png         |   Bin
 .../cnd/loaders/QtTranslationDataObject.java       |     0
 .../modules/cnd/loaders/QtTranslationIcon.png      |   Bin
 .../modules/cnd/loaders/QtUiDataLoader.java        |     0
 .../netbeans/modules/cnd/loaders/QtUiDataNode.java |     0
 .../modules/cnd/loaders/QtUiDataObject.java        |     0
 .../org/netbeans/modules/cnd/loaders/QtUiIcon.png  |   Bin
 .../modules/cnd/loaders/StaticLibraryNode.java     |     0
 .../modules/cnd/loaders/StaticLibraryObject.java   |     0
 .../src/org/netbeans/modules/cnd/loaders/cmake.png |   Bin
 .../netbeans/modules/cnd/loaders/error-badge.gif   |   Bin
 .../modules/cnd/loaders/static_library.gif         |   Bin
 .../org/netbeans/modules/cnd/loaders/unknown.gif   |   Bin
 .../modules/cnd/resources/AddMakeTargetAction.gif  |   Bin
 .../modules/cnd/resources/BinaryExecutor.settings  |    49 +
 .../cnd/resources/DefaultKeyBindings-Mac.xml       |    54 +
 .../modules/cnd/resources/DefaultKeyBindings.xml   |    56 +
 .../netbeans/modules/cnd/resources/MakeAction.gif  |   Bin
 .../modules/cnd/resources/MakeCleanAction.gif      |   Bin
 .../modules/cnd/resources/MakeExecution.gif        |   Bin
 .../modules/cnd/resources/MakefileSettings.gif     |   Bin
 .../cnd/resources/NativeBinaryExecution.gif        |   Bin
 .../org/netbeans/modules/cnd/resources/back.gif    |   Bin
 .../org/netbeans/modules/cnd/resources/blank.gif   |   Bin
 .../org/netbeans/modules/cnd/resources/cFiles.html |    48 +
 .../org/netbeans/modules/cnd/resources/class.html  |    48 +
 .../netbeans/modules/cnd/resources/cmdline.html    |    49 +
 .../netbeans/modules/cnd/resources/cppFiles.html   |    48 +
 .../netbeans/modules/cnd/resources/empty-c.html    |    48 +
 .../netbeans/modules/cnd/resources/empty-cc.html   |    48 +
 .../netbeans/modules/cnd/resources/empty-f90.html  |    48 +
 .../modules/cnd/resources/executeMostRecent.gif    |   Bin
 .../modules/cnd/resources/file_header.html         |    48 +
 .../modules/cnd/resources/file_plus_header.html    |    48 +
 .../modules/cnd/resources/fixed-fortran-f.html     |    49 +
 .../modules/cnd/resources/fortranFiles.html        |    48 +
 .../org/netbeans/modules/cnd/resources/forward.gif |   Bin
 .../modules/cnd/resources/free-fortran-f90.html    |    48 +
 .../org/netbeans/modules/cnd/resources/helpctx.xml |     0
 .../modules/cnd/resources/helpset-decl.xml         |     0
 .../netbeans/modules/cnd/resources/htmlView.gif    |   Bin
 .../netbeans/modules/cnd/resources/intervals.html  |    48 +
 .../org/netbeans/modules/cnd/resources/intgen.html |    48 +
 .../org/netbeans/modules/cnd/resources/intmat.html |    48 +
 .../org/netbeans/modules/cnd/resources/jni.html    |    48 +
 .../netbeans/modules/cnd/resources/jniFiles.html   |    48 +
 .../modules/cnd/resources/makeMostRecent.gif       |   Bin
 .../netbeans/modules/cnd/resources/mf-layer.xml    |   940 +
 .../netbeans/modules/cnd/resources/module-f90.html |    48 +
 .../org/netbeans/modules/cnd/resources/motif.html  |    51 +
 .../netbeans/modules/cnd/resources/qtfiles.html    |    49 +
 .../org/netbeans/modules/cnd/resources/qtform.html |    50 +
 .../netbeans/modules/cnd/resources/qtresource.html |    50 +
 .../modules/cnd/resources/qttranslation.html       |    49 +
 .../netbeans/modules/cnd/resources/simple-c-h.html |    48 +
 .../netbeans/modules/cnd/resources/simple-c.html   |    48 +
 .../modules/cnd/resources/simple-cc-h.html         |    48 +
 .../modules/cnd/resources/simple-cc-qt.html        |    49 +
 .../cnd/resources/simple-cc-standard-header.html   |    48 +
 .../netbeans/modules/cnd/resources/simple-cc.html  |    48 +
 .../modules/cnd/resources/solarisPrograms.html     |    49 +
 .../netbeans/modules/cnd/resources/stdLibrary.gif  |   Bin
 .../cnd/resources/templates/c/empty-c.template     |     0
 .../resources/templates/c/file_header-c.template   |    13 +
 .../resources/templates/c/file_header-h.template   |    16 +
 .../cnd/resources/templates/c/file_header.group    |     2 +
 .../cnd/resources/templates/c/simple-c.template    |     0
 .../cnd/resources/templates/c/simple-h.template    |     0
 .../cnd/resources/templates/cpp/class-cc.template  |     0
 .../cnd/resources/templates/cpp/class-h.template   |     0
 .../cnd/resources/templates/cpp/class.group        |     0
 .../cnd/resources/templates/cpp/empty-cc.template  |     0
 .../templates/cpp/file_header-cc.template          |    13 +
 .../resources/templates/cpp/file_header-h.template |    16 +
 .../cnd/resources/templates/cpp/file_header.group  |     2 +
 .../cnd/resources/templates/cpp/header-h.template  |     0
 .../cnd/resources/templates/cpp/header.template    |     0
 .../cnd/resources/templates/cpp/simple-cc.template |     0
 .../resources/templates/fortran/empty-f90.template |     0
 .../templates/fortran/fixed-fortran-f.template     |     0
 .../templates/fortran/free-fortran-f90.template    |     0
 .../templates/fortran/module-f90.template          |     0
 .../templates/qt/dialog-buttonsbottom.template     |     0
 .../templates/qt/dialog-buttonsright.template      |     0
 .../templates/qt/dialog-nobuttons.template         |     0
 .../cnd/resources/templates/qt/form-cc.template    |     0
 .../cnd/resources/templates/qt/form-h.template     |     0
 .../cnd/resources/templates/qt/mainwindow.template |     0
 .../cnd/resources/templates/qt/resource.template   |     0
 .../cnd/resources/templates/qt/simple-cc.template  |     0
 .../resources/templates/qt/translation.template    |     0
 .../cnd/resources/templates/qt/widget.template     |     0
 .../modules/cnd/settings/Bundle.properties         |     0
 .../netbeans/modules/cnd/settings/CppSettings.java |     0
 .../modules/cnd/settings/MakeSettings.java         |     0
 .../modules/cnd/settings/ShellSettings.java        |     0
 .../modules/cnd/ui/options/Bundle.properties       |    56 +
 .../cnd/ui/options/CndOtherOptionsPanel.form       |     0
 .../cnd/ui/options/CndOtherOptionsPanel.java       |   479 +
 .../ui/options/CndOtherOptionsPanelController.java |     0
 .../modules/cnd/ui/resources/Bundle.properties     |    39 +
 .../compilers/ScannerTestCase/testCygwinLogs.pass  |     0
 .../compilers/ScannerTestCase/testDJGPPLogs.pass   |     0
 .../ScannerTestCase/testGnuCluceneLogs.pass        |     0
 .../ScannerTestCase/testGnuFortranLogs.pass        |     0
 .../compilers/ScannerTestCase/testCygwinLogs.dat   |     0
 .../compilers/ScannerTestCase/testDJGPPLogs.dat    |     0
 .../ScannerTestCase/testGnuCluceneLogs.dat         |     0
 .../ScannerTestCase/testGnuFortranLogs.dat         |     0
 .../cnd/api/compilers/ScannerTestCase/testMSVC.dat |     0
 .../cnd/api/execution/ExecutionSupportTest.java    |   287 +
 .../modules/cnd/api/execution/ExecutionTest.java   |     0
 .../modules/cnd/api/execution/LinkTestCase.java    |     0
 .../cnd/loaders/MakeDataObjectTestCase.java        |     0
 cnd.utils.ui/build.xml                             |    44 +
 cnd.utils.ui/manifest.mf                           |     6 +
 cnd.utils.ui/nbproject/project.properties          |    39 +
 cnd.utils.ui/nbproject/project.xml                 |   245 +
 .../cnd/spi/editor/CsmCodeBlockProvider.java       |     0
 .../cnd/spi/editor/CsmDocGeneratorProvider.java    |     0
 .../modules/cnd/utils/ui/Bundle.properties         |    90 +
 .../modules/cnd/utils/ui/CndUIConstants.java       |     0
 .../modules/cnd/utils/ui/CndUIUtilities.java       |     0
 .../modules/cnd/utils/ui/DocumentAdapter.java      |     0
 .../modules/cnd/utils/ui/EditableComboBox.java     |   202 +
 .../netbeans/modules/cnd/utils/ui/FileChooser.java |     0
 .../modules/cnd/utils/ui/ListEditorPanel.form      |     0
 .../modules/cnd/utils/ui/ListEditorPanel.java      |     0
 .../modules/cnd/utils/ui/ModalMessageDlg.java      |     0
 .../modules/cnd/utils/ui/ModalMessageDlgPane.form  |     0
 .../modules/cnd/utils/ui/ModalMessageDlgPane.java  |     0
 .../netbeans/modules/cnd/utils/ui/PopupUtil.java   |     0
 .../cnd/utils/ui/StringArrayCustomEditor.form      |     0
 .../cnd/utils/ui/StringArrayCustomEditor.java      |     0
 .../cnd/utils/ui/impl/CndUIErrorNotifier.java      |    88 +
 .../utils/ui/impl/LongTaskRunnerUIFactoryImpl.java |    60 +
 .../cnd/utils/ui/impl/LongTaskRunnerUIImpl.java    |    83 +
 .../cnd/utils/ui/resources/Bundle.properties       |    38 +
 cnd.utils/build.xml                                |    39 +
 cnd.utils/manifest.mf                              |     3 +-
 cnd.utils/nbproject/project.properties             |    39 +-
 cnd.utils/nbproject/project.xml                    |    96 +-
 .../modules/cnd/spi/CndCookieProvider.java         |    88 +
 .../cnd/spi/CndDocumentCodeStyleProvider.java      |    54 +
 .../cnd/spi/utils/CndFileSystemProvider.java       |     7 +-
 .../modules/cnd/spi/utils/CndNotifier.java         |   138 +
 .../modules/cnd/spi/utils/LongTaskRunner.java      |    90 +
 .../cnd/spi/utils/LongTaskRunnerFactory.java       |    63 +
 .../netbeans/modules/cnd/utils/Bundle.properties   |    37 +
 .../modules/cnd/utils/CndPathUtilities.java        |    14 +-
 .../org/netbeans/modules/cnd/utils/CndUtils.java   |     4 +-
 .../netbeans/modules/cnd/utils/MIMEExtensions.java |    62 +-
 .../netbeans/modules/cnd/utils/NamedOption.java    |   158 +
 .../cnd/utils/SuspendableFileChangeListener.java   |    63 +-
 .../modules/cnd/utils/UIGesturesSupport.java       |    75 +
 .../modules/cnd/utils/cache/CndFileUtils.java      |    65 +-
 .../cnd/utils/filters/AllBinaryFileFilter.java     |     2 +-
 .../modules/cnd/utils/filters/AllFileFilter.java   |     3 +-
 .../cnd/utils/filters/AllSourceFileFilter.java     |     3 +-
 .../cnd/utils/filters/CCSourceFileFilter.java      |     3 +-
 .../modules/cnd/utils/filters/CMakeFileFilter.java |     3 +-
 .../cnd/utils/filters/CSourceFileFilter.java       |     3 +-
 .../cnd/utils/filters/ConfigureFileFilter.java     |     2 +-
 .../modules/cnd/utils/filters/CoreFileFilter.java  |     3 +-
 .../cnd/utils/filters/ElfExecutableFileFilter.java |     2 +-
 .../utils/filters/ElfStaticLibraryFileFilter.java  |     1 +
 .../cnd/utils/filters/FortranSourceFileFilter.java |     2 +-
 .../cnd/utils/filters/HeaderSourceFileFilter.java  |     2 +-
 .../utils/filters/MacOSXExecutableFileFilter.java  |     2 +-
 .../cnd/utils/filters/MakefileFileFilter.java      |     2 +-
 .../modules/cnd/utils/filters/SconsFileFilter.java |     2 +-
 .../modules/cnd/utils/filters/ShellFileFilter.java |     2 +-
 .../modules/cnd/utils/resources/Bundle.properties  |    49 +
 .../netbeans/modules/cnd/utils/resources/layer.xml |    80 +
 .../utils}/resources/mime-resolver-attr-based.xml  |     0
 .../resources/mime-resolver-content-based.xml      |     0
 .../utils}/resources/mime-resolver-ext-based-c.xml |     0
 .../resources/mime-resolver-ext-based-cpp.xml      |     0
 .../resources/mime-resolver-ext-based-fortran.xml  |     0
 .../utils}/resources/mime-resolver-ext-based-h.xml |     0
 .../resources/mime-resolver-ext-based-qt.xml       |     0
 .../utils}/resources/mime-resolver-ext-based.xml   |     0
 .../utils}/resources/mime-resolver-hex-based.xml   |     0
 .../cnd/utils/resources/mime-resolver-make.xml     |    65 +
 .../utils}/resources/mime-resolver-name-ext.xml    |     0
 .../modules/cnd/utils/resources/mime-resolver.xml  |    83 +
 .../modules/cnd/utils/ui/Bundle.properties         |    53 -
 .../modules/cnd/utils/ui/EditableComboBox.java     |   202 -
 .../netbeans/modules/cnd/utils/ui/NamedOption.java |   158 -
 .../modules/cnd/utils/ui/UIGesturesSupport.java    |    76 -
 .../utils/SuspendableFileChangeListenerTest.java   |     6 +-
 .../cnd/help/GettingStarted/FilesWindow.html       |     4 +-
 .../modules/cnd/help/GettingStarted/Memory.html    |    12 +-
 .../CodeAssistanceWizardP2.html                    |     2 +-
 .../RemoteDevelopmentConfigureHost.html            |     2 +-
 .../org/netbeans/modules/cnd/help/cndTOC.xml       |    39 +
 cnd/javahelp/org/netbeans/modules/cnd/help/map.xml |    39 +
 cnd/manifest.mf                                    |     1 -
 cnd/nbproject/project.properties                   |    41 +-
 cnd/nbproject/project.xml                          |   169 +-
 .../netbeans/modules/cnd/actions/CMakeAction.java  |   224 -
 .../modules/cnd/actions/CompileAction.java         |   356 -
 .../modules/cnd/actions/CompileRunAction.java      |   125 -
 .../modules/cnd/actions/CompileRunActionBase.java  |   261 -
 .../modules/cnd/actions/MakeBaseAction.java        |   280 -
 .../netbeans/modules/cnd/actions/QMakeAction.java  |   217 -
 .../modules/cnd/actions/ShellRunAction.java        |   329 -
 .../cnd/api/utils/CndFileVisibilityQuery.java      |     7 +-
 .../modules/cnd/api/utils/ImportUtils.java         |   303 +
 .../modules/cnd/api/utils/PlatformInfo.java        |     5 +-
 .../netbeans/modules/cnd/api/xml/XMLDecoder.java   |    37 +-
 .../netbeans/modules/cnd/api/xml/XMLDocReader.java |    24 +-
 .../org/netbeans/modules/cnd/api/xml/package.html  |    16 +-
 .../netbeans/modules/cnd/builds/ImportUtils.java   |   303 -
 .../netbeans/modules/cnd/builds/package-info.java  |     5 -
 .../cnd/editor/filecreation/BrowseFolders.form     |    63 -
 .../cnd/editor/filecreation/Bundle.properties      |   136 -
 .../cnd/editor/filecreation/CndPanelGUI.java       |   219 -
 .../cnd/editor/filecreation/NewCndClassPanel.java  |   137 -
 .../editor/filecreation/NewCndClassPanelGUI.form   |   430 -
 .../editor/filecreation/NewCndClassPanelGUI.java   |   581 -
 .../modules/cnd/execution/ExecutionSupport.java    |   317 -
 .../netbeans/modules/cnd/loaders/Bundle.properties |    86 -
 .../modules/cnd/loaders/CMakeDataObject.java       |   120 -
 .../cnd/loaders/CMakeIncludeDataObject.java        |    81 -
 .../cnd/loaders/CndBinaryExecSupportProvider.java  |    95 -
 .../cnd/loaders/CndCompileSupportProvider.java     |    95 -
 .../netbeans/modules/cnd/loaders/ExeObject.java    |   127 -
 .../cnd/loaders/ExternalProgramOpenCookie.java     |   161 -
 .../modules/cnd/loaders/QtProjectDataObject.java   |   122 -
 .../modules/cnd/resources/BinaryExecutor.settings  |    10 -
 .../modules/cnd/resources/Bundle.properties        |    10 +-
 .../cnd/resources/DefaultKeyBindings-Mac.xml       |    54 -
 .../modules/cnd/resources/DefaultKeyBindings.xml   |    56 -
 .../org/netbeans/modules/cnd/resources/cFiles.html |    49 -
 .../org/netbeans/modules/cnd/resources/class.html  |    49 -
 .../netbeans/modules/cnd/resources/cmdline.html    |    50 -
 .../netbeans/modules/cnd/resources/cppFiles.html   |    49 -
 .../netbeans/modules/cnd/resources/empty-c.html    |    49 -
 .../netbeans/modules/cnd/resources/empty-cc.html   |    49 -
 .../netbeans/modules/cnd/resources/empty-f90.html  |    49 -
 .../modules/cnd/resources/fixed-fortran-f.html     |    50 -
 .../modules/cnd/resources/fortranFiles.html        |    49 -
 .../modules/cnd/resources/free-fortran-f90.html    |    49 -
 .../netbeans/modules/cnd/resources/intervals.html  |    49 -
 .../org/netbeans/modules/cnd/resources/intgen.html |    49 -
 .../org/netbeans/modules/cnd/resources/intmat.html |    49 -
 .../org/netbeans/modules/cnd/resources/jni.html    |    49 -
 .../netbeans/modules/cnd/resources/jniFiles.html   |    49 -
 .../netbeans/modules/cnd/resources/mf-layer.xml    |   939 -
 .../netbeans/modules/cnd/resources/module-f90.html |    49 -
 .../org/netbeans/modules/cnd/resources/motif.html  |    52 -
 .../netbeans/modules/cnd/resources/qtfiles.html    |    48 -
 .../org/netbeans/modules/cnd/resources/qtform.html |    49 -
 .../netbeans/modules/cnd/resources/qtresource.html |    49 -
 .../modules/cnd/resources/qttranslation.html       |    48 -
 .../netbeans/modules/cnd/resources/simple-c-h.html |    49 -
 .../netbeans/modules/cnd/resources/simple-c.html   |    49 -
 .../modules/cnd/resources/simple-cc-h.html         |    49 -
 .../modules/cnd/resources/simple-cc-qt.html        |    48 -
 .../cnd/resources/simple-cc-standard-header.html   |    49 -
 .../netbeans/modules/cnd/resources/simple-cc.html  |    49 -
 .../modules/cnd/resources/solarisPrograms.html     |    50 -
 .../modules/cnd/ui/options/Bundle.properties       |    56 -
 .../cnd/ui/options/CndOtherOptionsPanel.java       |   479 -
 .../cnd/api/execution/ExecutionSupportTest.java    |   287 -
 .../netbeans/modules/cnd/test/CndBaseTestCase.java |    61 +-
 code.analysis/arch.xml                             |    45 +-
 code.analysis/build.xml                            |    39 +
 code.analysis/manifest.mf                          |     2 +-
 code.analysis/nbproject/project.properties         |    37 +
 code.analysis/nbproject/project.xml                |    40 +
 .../netbeans/modules/analysis/Bundle.properties    |    37 +
 .../modules/analysis/RunAnalysisAction.java        |     2 +-
 cordova.platforms.android/build.xml                |    39 +
 cordova.platforms.android/manifest.mf              |     2 +-
 .../nbproject/project.properties                   |    37 +
 cordova.platforms.android/nbproject/project.xml    |    39 +
 cordova.platforms.ios/build.xml                    |    39 +
 cordova.platforms.ios/external/binaries-list       |     5 +
 .../iDeviceNativeBinding/Makefile                  |    38 +
 .../nbproject/configurations.xml                   |    39 +
 .../iDeviceNativeBinding/nbproject/project.xml     |    39 +
 cordova.platforms.ios/manifest.mf                  |     2 +-
 cordova.platforms.ios/nbproject/project.properties |    37 +
 cordova.platforms.ios/nbproject/project.xml        |    39 +
 .../cordova/platforms/ios/Command.properties       |    39 +-
 .../modules/cordova/platforms/ios/IOSBrowser.java  |     3 +-
 .../cordova/platforms/ios/IOSDebugTransport.java   |   296 +-
 .../platforms/ios/SimulatorDebugTransport.java     |    13 +-
 .../platforms/ios/WebInspectorJNIBinding.java      |    10 +-
 cordova.platforms/build.xml                        |    39 +
 cordova.platforms/manifest.mf                      |     2 +-
 cordova.platforms/nbproject/project.properties     |    37 +
 cordova.platforms/nbproject/project.xml            |    39 +
 .../modules/cordova/platforms/Bundle.properties    |    37 +
 .../platforms/spi/MobileDebugTransport.java        |    10 +-
 .../CordovaMapsSample/nbproject/project.properties |    37 +
 cordova/CordovaMapsSample/nbproject/project.xml    |    39 +
 .../www/css/images/ajax-loader.png                 |   Bin 366 -> 0 bytes
 .../www/css/images/icons-18-black.png              |   Bin 1948 -> 0 bytes
 .../www/css/images/icons-18-white.png              |   Bin 1958 -> 0 bytes
 .../www/css/images/icons-36-black.png              |   Bin 3748 -> 0 bytes
 .../www/css/images/icons-36-white.png              |   Bin 3746 -> 0 bytes
 .../www/css/jquery.mobile-1.0.1.min.css            |     2 -
 cordova/CordovaMapsSample/www/index.html           |    47 +-
 cordova/CordovaMapsSample/www/js/main.js           |    39 +
 cordova/cordovaprojectupdate/build.xml             |    45 +-
 .../nbproject/project.properties                   |    37 +
 cordova/cordovaprojectupdate/nbproject/project.xml |    39 +
 .../modules/cordova/updatetask/CordovaPlugin.java  |    45 +-
 cordova/manifest.mf                                |     2 +-
 cordova/nbproject/project.properties               |    39 +-
 cordova/nbproject/project.xml                      |    75 +-
 .../netbeans/modules/cordova/CordovaPerformer.java |    56 +-
 .../netbeans/modules/cordova/CordovaPlatform.java  |    62 +-
 .../src/org/netbeans/modules/cordova/config.xml    |    39 +
 .../modules/cordova/options/Bundle.properties      |    40 +
 .../cordova/options/MobilePlatformsPanel.form      |    80 +-
 .../cordova/options/MobilePlatformsPanel.java      |   125 +-
 .../cordova/project/ImportantFilesImpl.java        |    11 +-
 .../cordova/project/MobileConfigurationImpl.java   |     7 +-
 .../netbeans/modules/cordova/resources/layer.xml   |    39 +
 .../modules/cordova/wizard/CordovaTemplate.java    |    10 +
 .../modules/cordova/CordovaPerformerTest.java      |    75 +
 core.browser.webview/build.xml                     |    39 +
 core.browser.webview/nbproject/project.properties  |    39 +-
 core.browser.webview/nbproject/project.xml         |    39 +
 .../core/browser/webview/Bundle.properties         |    37 +
 .../org/netbeans/core/browser/webview/layer.xml    |    39 +
 .../core/browser/webview/webviewBrowser.xml        |    39 +
 core.browser/build.xml                             |    39 +
 core.browser/nbproject/project.properties          |    39 +-
 core.browser/nbproject/project.xml                 |    39 +
 .../netbeans/core/browser/api/Bundle.properties    |    37 +
 core.execution/manifest.mf                         |     2 +-
 .../src/org/netbeans/core/execution/IOTable.java   |     1 +
 .../execution/beaninfo/editors/package-info.java   |    39 +
 .../core/execution/beaninfo/package-info.java      |    39 +
 core.ide/arch.xml                                  |    45 +-
 core.ide/manifest.mf                               |     2 +-
 core.ide/nbproject/org-netbeans-core-ide.sig       |     2 +-
 core.ide/src/META-INF/netbeans/translate.names     |    37 +
 .../core/ide/resources/InitialLayout.wsgrp         |    39 +
 .../org/netbeans/core/ide/resources/Standard.xml   |     2 +-
 .../netbeans/core/ide/resources/services.wstcgrp   |    39 +
 core.io.ui/manifest.mf                             |     2 +-
 core.io.ui/nbproject/project.xml                   |    39 +
 .../src/org/netbeans/core/io/ui/Bundle.properties  |    37 +
 core.io.ui/src/org/netbeans/core/io/ui/layer.xml   |    39 +
 .../netbeans/core/io/ui/resources/output.settings  |    39 +
 .../netbeans/core/io/ui/resources/output.wstcgrp   |    39 +
 .../netbeans/core/io/ui/resources/output.wstcref   |    39 +
 core.kit/build.xml                                 |    39 +
 core.kit/manifest.mf                               |     2 +-
 core.kit/nbproject/project.properties              |    37 +
 core.kit/nbproject/project.xml                     |    39 +
 core.kit/release/VERSION.txt                       |     2 +-
 .../netbeans/modules/core/kit/Bundle.properties    |    37 +
 core.multitabs.project/build.xml                   |    39 +
 .../nbproject/project.properties                   |    39 +-
 core.multitabs.project/nbproject/project.xml       |    39 +
 .../core/multitabs/project/Bundle.properties       |    37 +
 core.multitabs/arch.xml                            |    45 +-
 core.multitabs/build.xml                           |    39 +
 .../nbproject/org-netbeans-core-multitabs.sig      |     4 +-
 core.multitabs/nbproject/project.properties        |    39 +-
 core.multitabs/nbproject/project.xml               |    39 +
 .../org/netbeans/core/multitabs/Bundle.properties  |    37 +
 .../org/netbeans/core/multitabs/Controller.java    |     2 +-
 .../netbeans/core/multitabs/impl/Bundle.properties |    37 +
 .../core/multitabs/impl/TabDataRenderer.java       |     2 +
 .../src/org/netbeans/core/multitabs/layer.xml      |    39 +
 .../core/multitabs/prefs/Bundle.properties         |    37 +
 .../core/multitabs/prefs/InnerTabsPanel.java       |    39 +-
 core.multiview/arch.xml                            |     2 +-
 core.multiview/manifest.mf                         |     2 +-
 .../nbproject/org-netbeans-core-multiview.sig      |     4 +-
 .../org/netbeans/core/api/multiview/package.html   |    77 +-
 .../org/netbeans/core/spi/multiview/package.html   |    81 +-
 .../netbeans/core/spi/multiview/text/package.html  |    75 +-
 core.nativeaccess/build.xml                        |    39 +
 core.nativeaccess/manifest.mf                      |     2 +-
 core.nativeaccess/nbproject/project.properties     |    37 +
 core.nativeaccess/nbproject/project.xml            |    39 +
 core.netigso/manifest.mf                           |     2 +-
 .../nbproject/org-netbeans-core-netigso.sig        |     2 +-
 .../src/org/netbeans/core/netigso/Netigso.java     |     2 +-
 .../src/org/netbeans/core/netigso/spi/package.html |    39 +
 .../src/org/netbeans/core/netigso/NetigsoUtil.java |     4 +-
 core.network/build.xml                             |    39 +
 core.network/manifest.mf                           |     2 +-
 core.network/nbproject/project.xml                 |    39 +
 .../netbeans/core/network/proxy/Bundle.properties  |    37 +
 .../proxy/mac/MacCoreFoundationLibrary.java        |    55 +-
 .../network/proxy/mac/MacNetworkProxyLibrary.java  |    41 +-
 core.osgi/build.xml                                |    39 +
 core.osgi/manifest.mf                              |     2 +-
 core.osgi/nbproject/project.properties             |    37 +
 core.osgi/nbproject/project.xml                    |    39 +
 .../src/org/netbeans/core/osgi/Bundle.properties   |    37 +
 core.output2/manifest.mf                           |     2 +-
 .../src/org/netbeans/core/output2/NbIO.java        |    25 +-
 .../src/org/netbeans/core/output2/layer.xml        |    39 +
 .../core/output2/options/Bundle.properties         |    37 +
 .../core/output2/ui/AbstractOutputPane.java        |    35 +
 .../org/netbeans/core/output2/NbIOFoldTest.java    |    14 +
 core.startup.base/arch.xml                         |    45 +-
 core.startup.base/build.xml                        |    39 +
 core.startup.base/nbproject/project.properties     |    39 +-
 core.startup.base/nbproject/project.xml            |    39 +
 .../netbeans/core/startup/base/Bundle.properties   |    37 +
 core.startup/arch.xml                              |     2 +-
 core.startup/nbproject/project.properties          |     2 +-
 .../org/netbeans/core/startup/Bundle.properties    |     4 +-
 .../netbeans/core/startup/ConsistencyVerifier.java |    11 +-
 .../src/org/netbeans/core/startup/NbInstaller.java |     4 -
 .../src/org/netbeans/core/startup/frame32_dark.gif |   Bin 0 -> 1944 bytes
 .../src/org/netbeans/core/startup/frame48_dark.gif |   Bin 0 -> 3417 bytes
 .../src/org/netbeans/core/startup/frame_dark.gif   |   Bin 0 -> 733 bytes
 .../netbeans/core/startup/module-status-1_0.dtd    |     2 +
 .../src/org/netbeans/core/startup/package.html     |    16 +-
 .../src/org/netbeans/core/startup/splash.gif       |   Bin 127901 -> 128065 bytes
 .../src/org/netbeans/core/startup/splash_dark.gif  |   Bin 0 -> 91716 bytes
 .../startup/ClassLoaderCacheContent.properties     |    37 +
 .../startup/MistakeOnRadimsComputer.properties     |    37 +
 .../startup/PlatformDependencySatisfiedTest.java   |     8 +-
 .../layers/CustomWritableSystemFileSystemTest.java |    15 +-
 core.ui/manifest.mf                                |     2 +-
 .../core/ui/notifications/NotificationImpl.java    |     6 +-
 .../org/netbeans/core/ui/resources/Standard.xml    |     2 +-
 .../netbeans/core/ui/resources/SwingBrowser.xml    |    39 +
 .../netbeans/core/ui/resources/properties.wstcgrp  |    39 +
 .../netbeans/core/ui/resources/properties.wstcref  |    39 +
 .../org/netbeans/core/ui/resources/properties.xml  |    39 +
 .../netbeans/core/ui/warmup/DiagnosticTask.java    |    30 +-
 core.windows/arch.xml                              |    45 +-
 core.windows/manifest.mf                           |     2 +-
 core.windows/src/META-INF/netbeans/translate.names |    37 +
 .../src/org/netbeans/core/windows/Constants.java   |     6 +
 .../core/windows/documentgroup/Bundle.properties   |    37 +
 .../netbeans/core/windows/resources/toolbar.dtd    |    39 +
 .../netbeans/core/windows/resources/toolbar1_1.dtd |    39 +
 .../core/windows/services/NbPresenter.java         |    33 +-
 .../netbeans/core/windows/view/DefaultView.java    |    12 +-
 .../netbeans/core/windows/view/ViewHierarchy.java  |     3 +
 .../core/windows/view/dnd/WindowDnDManager.java    |     9 +-
 .../core/windows/view/ui/Bundle.properties         |     6 +-
 .../windows/view/ui/CloseButtonTabbedPane.java     |    16 +-
 .../core/windows/view/ui/TabbedHandler.java        |     1 +
 .../core/windows/resources/component00.settings    |    39 +
 .../core/windows/resources/component00.wstcref     |    39 +
 .../core/windows/view/ui/CustomMenuBarTest.java    |    15 +-
 csl.api/anttask/nbproject/project.xml              |    39 +
 csl.api/apichanges.xml                             |    21 +
 csl.api/arch.xml                                   |    49 +-
 csl.api/build.xml                                  |    39 +
 csl.api/doc/classpath.html                         |    39 +
 csl.api/doc/embedding.html                         |    43 +-
 csl.api/doc/getting-started.html                   |    41 +-
 csl.api/doc/gsf-tools.html                         |    41 +-
 csl.api/doc/incremental-parsing.html               |    39 +
 csl.api/doc/indexer.html                           |    39 +
 csl.api/doc/lexing.html                            |    41 +-
 csl.api/doc/mime-resolver.html                     |    39 +
 csl.api/doc/overview.html                          |    45 +-
 csl.api/doc/parsing.html                           |    41 +-
 csl.api/doc/registration.html                      |    39 +
 csl.api/doc/unit-testing.html                      |    41 +-
 csl.api/module-auto-deps.xml                       |    61 +
 csl.api/nbproject/project.properties               |     4 +-
 csl.api/nbproject/project.xml                      |    50 +-
 csl.api/src/META-INF/netbeans/translate.names      |    37 +
 .../org/netbeans/modules/csl/api/Bundle.properties |    44 +
 .../src/org/netbeans/modules/csl/api/EditList.java |   101 +-
 .../modules/csl/api/GoToMarkOccurrencesAction.java |    16 +-
 .../modules/csl/api/InstantRenameAction.java       |     5 +-
 .../src/org/netbeans/modules/csl/api/package.html  |    16 +-
 .../netbeans/modules/csl/core/Bundle.properties    |    42 +
 .../modules/csl/core/DefaultKeyBindings-Mac.xml    |    22 +-
 .../modules/csl/core/DefaultKeyBindings.xml        |    22 +-
 .../src/org/netbeans/modules/csl/core/layer.xml    |    49 +-
 .../csl/editor/codetemplates/Bundle.properties     |    42 +
 .../editor/completion/GsfCompletionProvider.java   |     2 +-
 .../modules/csl/editor/hyperlink/GoToSupport.java  |     2 +
 .../csl/hints/infrastructure/Bundle.properties     |    42 +
 .../csl/hints/infrastructure/SuggestionsTask.java  |     1 +
 .../modules/csl/hints/infrastructure/ide.css       |    63 +-
 .../src/org/netbeans/modules/csl/spi/package.html  |    16 +-
 .../netbeans/modules/csl/api/test/CslTestBase.java |     2 +-
 csl.types/apichanges.xml                           |   167 +
 csl.types/arch.xml                                 |  1122 +
 csl.types/build.xml                                |    44 +
 csl.types/manifest.mf                              |     6 +
 csl.types/nbproject/project.properties             |    44 +
 csl.types/nbproject/project.xml                    |   102 +
 .../netbeans/modules/csl/api/Documentation.java    |     0
 .../netbeans/modules/csl/api/ElementHandle.java    |     0
 .../org/netbeans/modules/csl/api/ElementKind.java  |     0
 .../src/org/netbeans/modules/csl/api/Error.java    |     0
 .../src/org/netbeans/modules/csl/api/Modifier.java |     0
 .../org/netbeans/modules/csl/api/OffsetRange.java  |     0
 .../src/org/netbeans/modules/csl/api/Severity.java |     0
 .../org/netbeans/modules/csl/spi/ParserResult.java |     0
 .../netbeans/modules/csl/types/Bundle.properties   |    38 +
 .../netbeans/modules/csl/api/OffsetRangeTest.java  |     0
 css.editor/build.xml                               |    39 +
 .../external/binaries-list                         |     0
 css.editor/manifest.mf                             |     2 +-
 css.editor/nbproject/project.properties            |     4 +-
 css.editor/nbproject/project.xml                   |    56 +
 .../modules/css/editor/csl/CssCompletion.java      |     6 +-
 .../css/editor/module/main/NamespacesModule.java   |     2 +-
 .../css/editor/module/main/PagedMediaModule.java   |     1 +
 .../editor/module/main/browsers/webkit.properties  |     4 +-
 .../css/editor/module/spi/CssCompletionItem.java   |    15 +-
 .../CssActionsImplementationProvider.java          |     2 +-
 .../modules/css/resources/CSS_template.html        |    16 +-
 .../css/resources/css_property_help.properties     |    37 +
 .../org/netbeans/modules/css/resources/layer.xml   |    41 +-
 .../css/editor/csl/CssBracketCompleterTest.java    |     4 +-
 .../modules/css/editor/typinghooks/Typing.java     |    19 +-
 css.lib/build.xml                                  |    39 +
 css.lib/manifest.mf                                |     2 +-
 css.lib/nbproject/project.xml                      |    48 +
 css.lib/src/org/netbeans/modules/css/lib/Css3.g    |    41 +-
 .../org/netbeans/modules/css/lib/Css3Lexer.java    | 10577 +++---
 .../org/netbeans/modules/css/lib/Css3Parser.java   | 20465 ++++++-----
 .../modules/css/lib/NbParseTreeBuilder.java        |     2 +-
 css.lib/src/org/netbeans/modules/css/lib/layer.xml |    45 +-
 .../modules/css/lib/Css3ParserLessTest.java        |    18 +
 .../modules/css/lib/Css3ParserScssTest.java        |   108 +
 .../netbeans/modules/css/lib/Css3ParserTest.java   |    30 +-
 css.model/build.xml                                |    39 +
 css.model/manifest.mf                              |     2 +-
 css.model/nbproject/project.properties             |    37 +
 css.model/nbproject/project.xml                    |    48 +
 .../netbeans/modules/css/model/Bundle.properties   |    37 +
 css.prep/build.xml                                 |    39 +
 css.prep/manifest.mf                               |     2 +-
 css.prep/nbproject/project.properties              |    37 +
 css.prep/nbproject/project.xml                     |    58 +-
 .../netbeans/modules/css/prep/Bundle.properties    |    37 +
 .../modules/css/prep/editor/CPCompletionItem.java  |     6 +-
 .../netbeans/modules/css/prep/editor/CPUtils.java  |     3 +
 .../CPActionsImplementationProvider.java           |     2 +-
 .../src/org/netbeans/modules/css/prep/layer.xml    |    39 +
 .../modules/css/prep/less/LessCssPreprocessor.java |    28 +-
 .../modules/css/prep/less/LessExecutable.java      |     8 +-
 .../css/prep/preferences/BasePreferences.java      |    14 +
 .../css/prep/preferences/LessPreferences.java      |     2 +-
 .../css/prep/preferences/SassPreferences.java      |     2 +-
 .../prep/problems/CustomizerProblemResolver.java   |     4 +-
 .../netbeans/modules/css/prep/sass/SassCli.java    |     8 +-
 .../modules/css/prep/sass/SassCssPreprocessor.java |    26 +-
 .../css/prep/ui/customizer/CustomizerImpl.java     |     4 +-
 .../css/prep/ui/customizer/OptionsPanel.java       |     3 +-
 .../css/prep/ui/less/LessCssPreprocessorUI.java    |    83 +
 .../modules/css/prep/ui/options/LessOptions.java   |     5 +-
 .../css/prep/ui/options/LessOptionsPanel.java      |     4 +-
 .../modules/css/prep/ui/options/SassOptions.java   |     5 +-
 .../css/prep/ui/options/SassOptionsPanel.java      |     4 +-
 .../css/prep/ui/sass/SassCssPreprocessorUI.java    |    83 +
 .../css/prep/util/CssPreprocessorUtils.java        |     4 +-
 .../netbeans/modules/css/prep/util/UiUtils.java    |     4 +-
 css.visual/manifest.mf                             |     2 +-
 css.visual/nbproject/project.xml                   |    17 +
 .../modules/css/visual/CreateRulePanel.java        |     3 +-
 .../css/visual/CssCaretAwareSourceTask.java        |     4 +
 .../modules/css/visual/PropertyValuesEditor.java   |    13 +-
 .../modules/css/visual/resources/CssStyles.wsgrp   |    39 +
 .../modules/css/visual/resources/layer.xml         |    39 +
 db.core/manifest.mf                                |     2 +-
 db.core/nbproject/project.properties               |     2 +-
 db.core/nbproject/project.xml                      |     2 +-
 db.core/src/META-INF/netbeans/translate.names      |    37 +
 .../modules/db/api/sql/execute/Bundle.properties   |     6 +-
 .../modules/db/api/sql/execute/LogFileLogger.java  |    25 +-
 .../modules/db/api/sql/execute/SQLExecutor.java    |     6 +-
 .../db/api/sql/execute/StatementExecutionInfo.java |    24 +-
 .../modules/db/core/resources/SQLTemplate.html     |    11 +-
 .../modules/db/sql/execute/SQLExecuteHelper.java   |   621 +-
 .../modules/db/sql/execute/SQLExecutionResult.java |    49 +
 .../modules/db/sql/execute/StatementInfo.java      |    64 +-
 .../modules/db/sql/history/SQLHistory.java         |    47 +-
 .../modules/db/sql/history/SQLHistoryManager.java  |    33 +-
 .../modules/db/sql/loader/Bundle.properties        |    25 +-
 .../modules/db/sql/loader/SQLCloneableEditor.java  |    41 +-
 .../modules/db/sql/loader/SQLEditorSupport.java    |    23 +
 .../db/sql/loader/SQLExecutionLoggerImpl.java      |   165 +-
 .../db/sql/execute/SQLExecuteHelperTest.java       |    73 +-
 .../modules/db/sql/history/SQLHistoryTest.java     |   113 +
 db.dataview/build.xml                              |    39 +
 db.dataview/manifest.mf                            |     2 +-
 db.dataview/nbproject/project.properties           |    37 +
 db.dataview/nbproject/project.xml                  |    39 +
 .../netbeans/modules/db/dataview/Bundle.properties |    37 +
 .../netbeans/modules/db/dataview/api/DataView.java |    50 +
 .../db/dataview/api/DataViewPageContext.java       |     6 +-
 .../db/dataview/meta/DBConnectionFactory.java      |     8 +-
 .../db/dataview/meta/DBMetaDataFactory.java        |    12 +-
 .../modules/db/dataview/output/Bundle.properties   |     4 +-
 .../modules/db/dataview/output/DataView.java       |    99 +-
 .../db/dataview/output/DataViewActionHandler.java  |     9 -
 .../db/dataview/output/DataViewPageContext.java    |    77 +-
 .../db/dataview/output/DataViewTableUI.java        |    28 +-
 .../modules/db/dataview/output/DataViewUI.java     |   123 +-
 .../db/dataview/output/ErrorPositionExtractor.java |   277 +
 .../db/dataview/output/InsertRecordDialog.java     |    74 +-
 .../db/dataview/output/InsertRecordTableUI.java    |    11 +-
 .../modules/db/dataview/output/SQLConstant.java    |    50 +
 .../db/dataview/output/SQLExecutionHelper.java     |   387 +-
 .../db/dataview/output/SQLStatementExecutor.java   |     8 +-
 .../db/dataview/output/SQLStatementGenerator.java  |    35 +-
 .../db/dataview/table/CellFocusCustomRenderer.java |     7 +-
 .../db/dataview/table/JXTableDecorator.java        |     9 +-
 .../db/dataview/table/JXTableRowHeader.java        |     4 +-
 .../db/dataview/table/ResultSetCellRenderer.java   |    22 +-
 .../db/dataview/table/ResultSetJXTable.java        |    10 +
 .../db/dataview/table/ResultSetTableModel.java     |     2 +-
 .../db/dataview/util/BasicDateTimePickerUI.java    |    49 +-
 .../modules/db/dataview/util/ColorHelper.java      |   377 +
 .../modules/db/dataview/util/DataViewUtils.java    |    24 +-
 .../modules/db/dataview/util/JXDateTimePicker.java |   102 +-
 .../db/dataview/util/RandomAccessOutputStream.java |     5 +
 .../modules/db/dataview/util/RelativeColor.java    |   383 +
 .../modules/db/dataview/output/DataViewTest.java   |     1 -
 .../db/dataview/output/SQLExecutionHelperTest.java |    16 -
 db.drivers/external/binaries-list                  |     3 +
 .../external/postgresql-9.2-1002-license.txt       |    35 -
 .../external/postgresql-9.4.1209-license.txt       |    35 +
 db.drivers/manifest.mf                             |     2 +-
 db.drivers/nbproject/project.properties            |     6 +-
 .../netbeans/modules/db/drivers/Bundle.properties  |     2 +-
 .../netbeans/modules/db/drivers/MySQLDriver.xml    |    45 +-
 .../modules/db/drivers/PostgreSQLDriver.xml        |    49 +-
 .../org/netbeans/modules/db/drivers/postgresql.xml |     2 +-
 db.kit/build.xml                                   |    39 +
 db.kit/manifest.mf                                 |     2 +-
 db.kit/nbproject/project.properties                |    37 +
 db.kit/nbproject/project.xml                       |    39 +
 .../org/netbeans/modules/db/kit/Bundle.properties  |    37 +
 db.metadata.model/manifest.mf                      |     2 +-
 db.metadata.model/nbproject/project.properties     |    39 +-
 .../modules/db/metadata/model/jdbc/JDBCSchema.java |    74 +-
 .../modules/db/metadata/model/jdbc/JDBCTable.java  |   142 +-
 .../modules/db/metadata/model/jdbc/JDBCView.java   |    16 +-
 .../metadata/model/jdbc/oracle/OracleSchema.java   |    26 +-
 .../db/metadata/model/resources/Bundle.properties  |    37 +
 .../metadata/model/jdbc/JDBCMetadataMySQLTest.java |    10 +-
 db.mysql/build.xml                                 |    39 +
 db.mysql/nbproject/project.properties              |    39 +-
 db.mysql/nbproject/project.xml                     |    39 +
 .../netbeans/modules/db/mysql/Bundle.properties    |    37 +
 .../modules/db/mysql/actions/ConnectAction.java    |     5 +-
 db.sql.editor/nbproject/project.properties         |     2 +-
 db.sql.editor/nbproject/project.xml                |     9 +
 .../resources/CityLights-SQL-fontsColors.xml       |     2 +-
 .../editor/resources/NetBeans-SQL-fontsColors.xml  |     2 +-
 db.sql.visualeditor/build.xml                      |    43 +-
 .../external/binaries-list                         |     0
 db.sql.visualeditor/nbproject/project.properties   |     2 +-
 db.sql.visualeditor/nbproject/project.xml          |    39 +
 .../db/sql/visualeditor/parser/SQLParser.jj        |    39 +
 db/arch.xml                                        |    28 +-
 .../db => db}/external/binaries-list               |     0
 db/nbproject/org-netbeans-modules-db.sig           |     6 +-
 db/nbproject/project.properties                    |     2 +-
 .../modules/db/explorer/DatabaseConnection.java    |    16 +-
 .../modules/db/explorer/action/QueryAction.java    |    73 +-
 .../modules/db/explorer/node/ConnectionNode.java   |    14 +-
 .../modules/db/explorer/node/IndexNode.java        |     2 +-
 .../modules/db/resources/connection-1_1.dtd        |    45 +-
 .../modules/db/resources/connection-1_2.dtd        |    45 +-
 db/src/org/netbeans/modules/db/util/Base64.java    |    52 +-
 dbapi/nbproject/project.properties                 |     2 +-
 dbschema/nbproject/project.properties              |     2 +-
 .../dbschema/jdbcimpl/resources/DBSchema.html      |    16 +-
 .../dbschema/jdbcimpl/resources/Databases.html     |    16 +-
 deadlock.detector/manifest.mf                      |     2 +-
 debian/changelog                                   |    21 +-
 debian/control                                     |    10 +-
 debian/patches/netbeans-ide-launcher.patch         |     2 +-
 debian/patches/netbeans-java.completion.patch      |  1924 +
 debian/patches/netbeans-java.debug.patch           |   175 +
 debian/patches/netbeans-java.editor.patch          |  1788 +
 debian/patches/netbeans-java.hints.patch           | 14634 ++++++++
 debian/patches/netbeans-java.source.base.patch     | 13484 +++++++
 debian/patches/netbeans-java.source.patch          |   816 +
 debian/patches/netbeans-java.sourceui.patch        |   970 +
 debian/patches/netbeans-javadoc.patch              |   741 +
 debian/patches/netbeans-refactoring-java.patch     |  4854 +++
 debian/patches/netbeans-spi.java.hints-1.patch     |    43 +
 debian/patches/series                              |    10 +
 debian/rules                                       |     2 +-
 .../modules/debugger/jpda/ant/JPDAStart.java       |    49 +-
 .../netbeans/modules/debugger/jpda/ant/antlib.xml  |    39 +
 debugger.jpda.ant/manifest.mf                      |     2 +-
 debugger.jpda.ant/nbproject/project.xml            |    34 +-
 debugger.jpda.heapwalk/manifest.mf                 |     2 +-
 .../jpda/heapwalk/resources/classesCounts.settings |    39 +
 .../jpda/heapwalk/resources/classesCounts.wstcgrp  |    39 +
 .../jpda/heapwalk/resources/classesCounts.wstcref  |    39 +
 .../jpda/heapwalk/resources/dbgInstances.settings  |    39 +
 .../jpda/heapwalk/resources/dbgInstances.wstcgrp   |    39 +
 .../jpda/heapwalk/resources/dbgInstances.wstcref   |    39 +
 debugger.jpda.js/manifest.mf                       |     3 +-
 debugger.jpda.js/nbproject/project.xml             |   155 +-
 .../netbeans/modules/debugger/jpda/js/JSUtils.java |    15 -
 .../debugger/jpda/js/StepThroughFiltersCheck.java  |   123 +
 .../jpda/js/breakpoints/JSBreakpointsInfoImpl.java |    14 +-
 .../js/breakpoints/JSJavaBreakpointsManager.java   |   134 +-
 .../jpda/js/breakpoints/io/JSBreakpointReader.java |    30 +-
 .../frames/models/DebuggingJSActionsProvider.java  |   335 -
 .../models/DebuggingJSFramesInJavaModelFilter.java |   189 -
 .../js/frames/models/DebuggingJSNodeModel.java     |   255 -
 .../js/frames/models/DebuggingJSTreeModel.java     |   151 -
 .../netbeans/modules/debugger/jpda/js/layer.xml    |    99 -
 .../debugger/jpda/js/vars/models/JSWatchVar.java   |   102 -
 .../jpda/js/vars/models/VariablesJSNodeModel.java  |   249 -
 .../jpda/js/vars/models/VariablesJSTableModel.java |   172 -
 .../jpda/js/vars/models/VariablesJSTreeModel.java  |   224 -
 .../vars/tooltip/JPDADebuggerTooltipSupport.java   |    94 -
 .../jpda/js/vars/tooltip/ToolTipAnnotation.java    |   105 -
 .../jpda/js/vars/tooltip/ToolTipModel.java         |    90 -
 debugger.jpda.jsui/build.xml                       |    48 +
 debugger.jpda.jsui/manifest.mf                     |     9 +
 debugger.jpda.jsui/nbproject/project.properties    |    47 +
 debugger.jpda.jsui/nbproject/project.xml           |   282 +
 .../modules/debugger/jpda/jsui/Bundle.properties   |    50 +
 .../modules/debugger/jpda/jsui/JSUIUtils.java      |    66 +
 .../frames/models/DebuggingJSActionsProvider.java  |   335 +
 .../models/DebuggingJSFramesInJavaModelFilter.java |   189 +
 .../jsui/frames/models/DebuggingJSNodeModel.java   |   255 +
 .../DebuggingJSTreeExpansionModelFilter.java       |   184 +
 .../jsui/frames/models/DebuggingJSTreeModel.java   |   151 +
 .../netbeans/modules/debugger/jpda/jsui/layer.xml  |    99 +
 .../debugger/jpda/jsui/vars/models/JSWatchVar.java |   102 +
 .../jsui/vars/models/VariablesJSNodeModel.java     |   249 +
 .../jsui/vars/models/VariablesJSTableModel.java    |   172 +
 .../jsui/vars/models/VariablesJSTreeModel.java     |   224 +
 .../jpda/jsui/vars/tooltip/ToolTipAnnotation.java  |   128 +
 debugger.jpda.kit/manifest.mf                      |     2 +-
 debugger.jpda.kit/nbproject/project.xml            |     2 +-
 debugger.jpda.projects/manifest.mf                 |     2 +-
 .../nbproject/project.properties                   |     4 +-
 debugger.jpda.projects/nbproject/project.xml       |     2 +-
 .../debugger/jpda/projects/ClassToInvoke.java      |    73 +
 .../debugger/jpda/projects/CodeCompiler.java       |    73 +
 .../jpda/projects/CodeSnippetCompiler.java         |   121 +
 .../jpda/projects/EditorContextSupport.java        |    15 +
 .../debugger/jpda/projects/IntroduceClass.java     |   290 +
 .../debugger/jpda/projects/PreferredCCParser.java  |   198 +-
 .../debugger/jpda/projects/ScanLocalVars.java      |   232 +
 debugger.jpda.projectsui/manifest.mf               |     2 +-
 .../nbproject/project.properties                   |     2 +-
 debugger.jpda.projectsui/nbproject/project.xml     |    13 +-
 .../projectsui/DebuggerStateChangeListener.java    |    86 +
 .../jpda/projectsui/EditorContextImpl.java         |    59 +-
 .../debugger/jpda/projectsui/LineTranslations.java |     7 +-
 .../jpda/projectsui/PinWatchExpandAction.java      |   123 +
 .../jpda/projectsui/ToolTipAnnotation.java         |    90 +-
 .../jpda/projectsui/ToolTipExpansionFilter.java    |    81 -
 .../jpda/projectsui/ToolTipNodeModelFilter.java    |   137 -
 .../jpda/projectsui/ToolTipTreeModelFilter.java    |    98 -
 .../debugger/jpda/projectsui/ToolTipView.java      |   359 -
 .../DebuggerBreakpointAnnotationTest.java          |     9 +-
 debugger.jpda.ui/manifest.mf                       |     2 +-
 .../jpda/ui/CurrentThreadAnnotationListener.java   |     4 +-
 .../debugger/jpda/ui/EditorContextBridge.java      |     4 +-
 .../debugger/jpda/ui/JPDACodeEvaluator.java        |    10 +
 .../debugger/jpda/ui/SmartSteppingImpl.java        |     2 +-
 .../modules/debugger/jpda/ui/SourcePath.java       |     4 +-
 .../ui/actions/ActionMessageCallbackUIImpl.java    |    30 +-
 .../jpda/ui/models/DebuggingNodeModel.java         |     7 +
 .../jpda/ui/models/DebuggingTableModel.java        |     8 +-
 .../jpda/ui/models/JPDAWatchRefreshModel.java      |    58 +
 .../jpda/ui/models/NumericDisplayFilter.java       |    12 +-
 .../jpda/ui/models/PinWatchValueProvider.java      |   446 +
 .../jpda/ui/models/ValuePropertyEditor.java        |    22 +
 .../jpda/ui/models/VariablesTableModel.java        |   122 +-
 .../jpda/ui/models/WatchesActionsProvider.java     |    21 +
 .../debugger/jpda/ui/models/WatchesModel.java      |   128 +-
 .../jpda/ui/options/OptionsInitializer.java        |     1 +
 .../debugTestProjectAnt/nbproject/build-impl.xml   |     2 +-
 .../jpda/ui/operators/AttachJDialogOperator.java   |     1 -
 .../modules/debugger/jpda/ui/ActionsTest.java      |     1 -
 .../debugger/jpda/ui/ClassBreakpointsTest.java     |     4 +-
 .../debugger/jpda/ui/ExceptionBreakpointsTest.java |     1 -
 .../debugger/jpda/ui/FieldBreakpointsTest.java     |     1 -
 .../debugger/jpda/ui/LineBreakpointsTest.java      |     1 -
 .../debugger/jpda/ui/LocalVariablesTest.java       |     1 -
 .../debugger/jpda/ui/MethodBreakpointsTest.java    |     1 -
 .../debugger/jpda/ui/StartDebuggerTest.java        |     1 -
 .../debugger/jpda/ui/ThreadBreakpointsTest.java    |     1 -
 .../modules/debugger/jpda/ui/Utilities.java        |     1 -
 .../modules/debugger/jpda/ui/ViewsTest.java        |     1 -
 .../modules/debugger/jpda/ui/WatchesTest.java      |     1 -
 debugger.jpda.visual/manifest.mf                   |     2 +-
 debugger.jpda.visual/nbproject/project.properties  |     2 +-
 .../debugger/jpda/visual/RemoteAWTScreenshot.java  |     2 +-
 .../debugger/jpda/visual/RemoteFXScreenshot.java   |    31 +-
 .../debugger/jpda/visual/RemoteServices.java       |    69 +-
 .../jpda/visual/VisualDebuggerListener.java        |    24 +-
 .../actions/TakeScreenshotActionProvider.java      |    16 +-
 .../debugger/jpda/visual/resources/events.settings |    39 +
 .../debugger/jpda/visual/resources/events.wstcgrp  |    39 +
 .../debugger/jpda/visual/resources/events.wstcref  |    39 +
 debugger.jpda/arch.xml                             |     6 +-
 .../modules/debugger/jpda/jdi/Generate.java        |     4 +-
 debugger.jpda/nbproject/project.properties         |     4 +-
 debugger.jpda/nbproject/project.xml                |    15 +-
 .../debugger/jpda/DeadlockDetectorImpl.java        |    31 +
 .../modules/debugger/jpda/DebuggerConsoleIO.java   |     2 +
 .../modules/debugger/jpda/EditorContextBridge.java |    40 +-
 .../modules/debugger/jpda/JPDADebuggerImpl.java    |   103 +-
 .../modules/debugger/jpda/JPDAStepImpl.java        |   168 +-
 .../debugger/jpda/JSR45DebuggerEngineProvider.java |     9 +-
 .../actions/CompoundSmartSteppingListener.java     |    94 +-
 .../debugger/jpda/actions/StepActionProvider.java  |   144 +-
 .../debugger/jpda/actions/StepIntoNextMethod.java  |    88 +-
 .../debugger/jpda/breakpoints/BreakpointImpl.java  |    21 +-
 .../breakpoints/BreakpointsEngineListener.java     |     4 +
 .../jpda/breakpoints/MethodBreakpointImpl.java     |    29 +-
 .../debugger/jpda/expr/CanInterpretVisitor.java    |   115 +
 .../debugger/jpda/expr/EvaluationContext.java      |    28 +-
 .../debugger/jpda/expr/EvaluationException.java    |     4 +-
 .../debugger/jpda/expr/EvaluatorVisitor.java       |   134 +-
 .../jpda/expr/InvocationExceptionTranslated.java   |    24 +-
 .../modules/debugger/jpda/expr/JavaExpression.java |     4 +-
 .../modules/debugger/jpda/expr/TreeEvaluator.java  |    86 +-
 .../debugger/jpda/jdi/InterfaceTypeWrapper.java    |    61 +
 .../modules/debugger/jpda/jdi/MethodWrapper.java   |    98 +
 .../debugger/jpda/models/JPDAThreadImpl.java       |   383 +-
 .../netbeans/modules/debugger/jpda/package.html    |    75 +-
 .../modules/debugger/jpda/remote/RemoteClass.java  |    58 +
 .../debugger/jpda/remote/RemoteServices.java       |   269 +
 .../modules/debugger/jpda/util/JPDAUtils.java      |    20 +-
 .../modules/debugger/jpda/util/Operator.java       |    38 +-
 .../modules/debugger/jpda/util/package.html        |    75 +-
 debugger.jpda/sub.locale.xml                       |    41 +-
 .../netbeans/api/debugger/jpda/JPDASupport.java    |    25 +-
 defaults/manifest.mf                               |     2 +-
 .../modules/defaults/BlueTheme-annotations.xml     |    91 +-
 .../netbeans/modules/defaults/BlueTheme-editor.xml |     6 +
 .../modules/defaults/Eclipse-keybindings-mac.xml   |     1 +
 .../modules/defaults/Eclipse-keybindings.xml       |    10 +-
 .../netbeans/modules/defaults/Idea-keybindings.xml |     7 +
 .../defaults/NetBeans55-SQL-fontsColors.xml        |     2 +-
 .../defaults/mf-layer-eclipse-keybinding.xml       |    41 +-
 .../src/org/netbeans/modules/defaults/mf-layer.xml |    16 +
 .../derby => derby}/external/binaries-list         |     0
 derby/manifest.mf                                  |     2 +-
 derby/nbproject/project.properties                 |     6 +-
 .../org/netbeans/modules/derby/DerbyActivator.java |     4 +-
 .../modules/derby/spi/support/Bundle.properties    |     3 -
 .../modules/derby/spi/support/DerbySupport.java    |    64 +-
 .../netbeans/modules/derby/DerbyOptionsTest.java   |    12 +-
 .../netbeans/modules/derby/DerbyOptionsTest2.java  |     5 +-
 .../netbeans/modules/derby/RegisterDerbyTest.java  |     2 +
 .../modules/derby/api/DerbyDatabasesTest.java      |    34 +-
 .../derby/spi/support/DerbySupportTest.java        |    44 +-
 .../org/netbeans/modules/derby/test/TestBase.java  |    29 +-
 diff/apichanges.xml                                |     2 +-
 diff/arch.xml                                      |    43 +-
 diff/nbproject/org-netbeans-modules-diff.sig       |     2 +-
 diff/nbproject/project.properties                  |     2 +-
 .../modules/diff/BuiltInDiffProvider.settings      |    39 +
 .../org/netbeans/modules/diff/Bundle.properties    |     2 +-
 .../modules/diff/CmdlineDiffProvider.settings      |    39 +
 .../org/netbeans/modules/diff/DefaultDiff.settings |    39 +
 .../netbeans/modules/diff/DiffModuleConfig.java    |    71 +-
 .../modules/diff/EditableDiffVisualizer.settings   |    39 +
 .../modules/diff/GraphicalDiffVisualizer.settings  |    39 +
 .../modules/diff/GraphicalMergeVisualizer.settings |    39 +
 .../modules/diff/TextDiffVisualizer.settings       |    39 +
 .../visualizer/editable/DiffContentPanel.java      |    18 +-
 .../visualizer/editable/DiffSplitPaneDivider.java  |     2 +-
 .../visualizer/editable/EditableDiffView.java      |     2 +-
 diff/src/org/netbeans/modules/diff/mf-layer.xml    |     3 -
 .../diff/options/DiffOptionsController.java        |     7 -
 .../modules/diff/options/DiffOptionsPanel.form     |    95 +-
 .../modules/diff/options/DiffOptionsPanel.java     |   203 +-
 .../builtin/DefaultDiffControllerProviderTest.java |    61 +-
 .../diff/builtin/visualizer/UnifiedDiffTest.java   |     3 +
 dlight.kit/build.xml                               |    39 +
 dlight.kit/findbugs.sh                             |    37 +
 dlight.kit/nbproject/project.properties            |    39 +-
 dlight.kit/nbproject/project.xml                   |    46 +
 dlight.kit/release/VERSION.txt                     |     2 +-
 .../netbeans/modules/dlight/kit/Bundle.properties  |    37 +
 dlight.libs.common/build.xml                       |    39 +
 dlight.libs.common/nbproject/project.properties    |    39 +-
 dlight.libs.common/nbproject/project.xml           |    52 +-
 .../dlight/libs/common/resources/Bundle.properties |    37 +
 dlight.nativeexecution.nb/build.xml                |    44 +
 dlight.nativeexecution.nb/manifest.mf              |     7 +
 .../nbproject/project.properties                   |    41 +
 dlight.nativeexecution.nb/nbproject/project.xml    |   256 +
 .../api/ui/util/NativeExecutionUIUtils.java        |    58 +
 .../api/ui/util/ValidatablePanelListener.java      |    51 +
 .../api/ui/util/ValidateablePanel.java             |    88 +
 .../JSchAuthenticationSelectionImplementation.java |    65 +
 .../impl/NativeExecutionUserNotificationImpl.java  |   198 +
 .../modules/nativeexecution/impl}/error.png        |   Bin
 .../modules/nativeexecution/impl}/exclamation.gif  |   Bin
 .../nativeexecution/nb/resources/Bundle.properties |    39 +
 .../spi/ui/HostPropertiesPanelProvider.java        |    58 +
 .../support/HostConfigurationPanel.java            |   148 +
 .../support/HostPropertiesPanelProviderImpl.java   |    66 +
 .../support/ui/api/AutocompletionProvider.java     |     0
 .../ui/api/FileNamesCompletionProvider.java        |   179 +
 .../support/ui/api/FileSelectorField.java          |   263 +
 .../nativeexecution/ui/AuthTypeSelectorDlg.form    |    97 +
 .../nativeexecution/ui/AuthTypeSelectorDlg.java    |   192 +
 .../ui/AuthenticationSettingsPanel.form            |   434 +
 .../ui/AuthenticationSettingsPanel.java            |   847 +
 .../modules/nativeexecution/ui/Bundle.properties   |   150 +
 .../nativeexecution/ui/CertPassphraseDlg.form      |   134 +
 .../nativeexecution/ui/CertPassphraseDlg.java      |   216 +
 .../ui/CertPassphraseDlgFactory.java               |    63 +
 .../modules/nativeexecution/ui/Completable.java    |    57 +
 .../nativeexecution/ui/CompletionPopup.java        |   342 +
 .../nativeexecution/ui/GrantPrivilegesDialog.form  |   100 +
 .../nativeexecution/ui/GrantPrivilegesDialog.java  |   196 +
 .../ui/GrantPrivilegesDialogFactory.java           |    60 +
 .../modules/nativeexecution/ui/PasswordDlg.form    |   185 +
 .../modules/nativeexecution/ui/PasswordDlg.java    |   231 +
 .../nativeexecution/ui/PasswordDlgFactory.java     |    63 +
 .../nativeexecution/ui/PromptPasswordDialog.java   |    59 +
 .../nativeexecution/ui/SSHKeyFileChooser.java      |    91 +
 .../ui/SSHKeyFileCompletionProvider.java           |   102 +
 .../nativeexecution/ui/SSHKeyFileFilter.java       |   114 +
 .../modules/nativeexecution/ui/SSHKeysPanel.form   |   113 +
 .../modules/nativeexecution/ui/SSHKeysPanel.java   |   173 +
 .../ui/ShellValidationStatusPanel.form             |   120 +
 .../ui/ShellValidationStatusPanel.java             |   200 +
 dlight.nativeexecution/arch.xml                    |    49 +-
 dlight.nativeexecution/build.xml                   |    39 +
 .../external/binaries-list                         |     0
 dlight.nativeexecution/manifest.mf                 |     2 +-
 .../nbproject/project.properties                   |   116 +-
 dlight.nativeexecution/nbproject/project.xml       |   112 +-
 .../release/bin/nativeexecution/dorun.sh           |    38 +
 .../release/bin/nativeexecution/hostinfo.sh        |    41 +
 .../nativeexecution/ConnectionManagerAccessor.java |     2 +-
 .../modules/nativeexecution/JschSupport.java       |     8 +-
 .../modules/nativeexecution/NativeProcessInfo.java |     2 +-
 .../modules/nativeexecution/NbNativeProcess.java   |     2 +-
 .../TerminalLocalNativeProcess.java                |    18 +-
 .../modules/nativeexecution/api/HostInfo.java      |     4 +
 .../nativeexecution/api/NativeProcessBuilder.java  |    23 +-
 .../api/NativeProcessExecutionService.java         |    30 +-
 .../api/execution/Bundle.properties                |     9 +-
 .../api/execution/NativeExecutionService.java      |    71 +-
 .../api/execution/PostMessageDisplayer.java        |    16 +-
 .../nativeexecution/api/pty/PtySupport.java        |    20 +-
 .../nativeexecution/api/pty/package-info.java      |    39 +
 .../nativeexecution/api/util/Authentication.java   |   470 +
 .../api/util/AuthenticationUtils.java              |     6 +-
 .../nativeexecution/api/util/Bundle.properties     |     7 +-
 .../api/util/CommonTasksSupport.java               |    30 +-
 .../api/util/ConnectionManager.java                |    41 +-
 .../api/util/ExternalTerminalProvider.java         |     8 +-
 .../api/util/HelperLibraryUtility.java             |     2 +
 .../nativeexecution/api/util/HostInfoUtils.java    |    39 +
 .../api/util/HostPropertyValidator.java            |    50 +
 .../api/util/MacroExpanderFactory.java             |     4 +
 .../nativeexecution/api/util/Md5checker.java       |     9 +-
 .../nativeexecution/api/util/PathUtils.java        |    51 +-
 .../nativeexecution/api/util/ProcessUtils.java     |   330 +-
 .../nativeexecution/api/util/SftpSupport.java      |     6 +-
 .../modules/nativeexecution/api/util/Shell.java    |     2 +-
 .../api/util/ShellScriptRunner.java                |     1 +
 .../api/util/ShellValidationSupport.java           |   190 +-
 .../modules/nativeexecution/api/util/Stat.java     |   111 -
 .../nativeexecution/api/util/UnbufferSupport.java  |    45 +-
 .../api/util/ValidatablePanelListener.java         |    51 -
 .../api/util/ValidateablePanel.java                |    87 -
 .../api/util/WindowsRegistryIterator.java          |     9 +-
 .../nativeexecution/api/util/WindowsSupport.java   |    48 +-
 .../jsch/ConnectingProgressHandle.java             |     4 +-
 .../nativeexecution/jsch/JSchChannelsSupport.java  |    33 +-
 .../nativeexecution/jsch/JSchConnectionTask.java   |    23 +-
 .../modules/nativeexecution/pty/IOConnector.java   |    15 +-
 .../nativeexecution/pty/NbStartUtility.java        |     1 +
 .../modules/nativeexecution/pty/PtyAllocator.java  |     2 +-
 .../nativeexecution/resources/Bundle.properties    |    37 +
 .../modules/nativeexecution/resources/layer.xml    |    39 +
 .../signals/impl/NbKillAllSignalSupport.java       |     4 +-
 .../spi/ExecutionEnvironmentFactoryService.java    |     2 +-
 .../spi/HostPropertiesPanelProvider.java           |    58 -
 .../spi/JSchAuthenticationSelection.java           |    74 +
 .../spi/support/GrantPrivilegesProvider.java       |    53 +
 .../support/GrantPrivilegesProviderFactory.java    |    52 +
 .../support/NativeExecutionUserNotification.java   |   136 +
 .../spi/support/PasswordProvider.java              |    64 +
 .../spi/support/PasswordProviderFactory.java       |    56 +
 .../sps/impl/FetchPrivilegesTask.java              |    22 +-
 .../sps/impl/RequestPrivilegesTask.java            |    34 +-
 .../nativeexecution/sps/impl/SPSLocalImpl.java     |     2 +
 .../nativeexecution/sps/impl/SPSRemoteImpl.java    |    14 +-
 .../nativeexecution/support/Authentication.java    |   236 -
 .../nativeexecution/support/Bundle.properties      |     3 +-
 .../support/HostConfigurationPanel.java            |   148 -
 .../support/HostPropertiesPanelProviderImpl.java   |    65 -
 .../modules/nativeexecution/support/MiscUtils.java |    18 +-
 .../nativeexecution/support/RemoteUserInfo.java    |   151 +-
 .../nativeexecution/support/ShellSession.java      |    29 +-
 .../filesearch/impl/RemoteFileSearcherImpl.java    |     1 +
 .../hostinfo/impl/UnixHostInfoProvider.java        |   149 +-
 .../hostinfo/impl/WindowsHostInfoProvider.java     |     2 +-
 .../support/ui/AuthTypeSelectorDlg.form            |    97 -
 .../support/ui/AuthTypeSelectorDlg.java            |   192 -
 .../support/ui/AuthenticationSettingsPanel.form    |   206 -
 .../support/ui/AuthenticationSettingsPanel.java    |   398 -
 .../nativeexecution/support/ui/Bundle.properties   |   125 -
 .../support/ui/CertPassphraseDlg.form              |   134 -
 .../support/ui/CertPassphraseDlg.java              |   215 -
 .../nativeexecution/support/ui/Completable.java    |    57 -
 .../support/ui/CompletionPopup.java                |   342 -
 .../support/ui/GrantPrivilegesDialog.form          |   100 -
 .../support/ui/GrantPrivilegesDialog.java          |   195 -
 .../nativeexecution/support/ui/PasswordDlg.form    |   185 -
 .../nativeexecution/support/ui/PasswordDlg.java    |   230 -
 .../support/ui/PromptPasswordDialog.java           |    59 -
 .../support/ui/SSHKeyFileChooser.java              |    91 -
 .../support/ui/SSHKeyFileCompletionProvider.java   |   102 -
 .../support/ui/SSHKeyFileFilter.java               |   114 -
 .../nativeexecution/support/ui/SSHKeysPanel.form   |   113 -
 .../nativeexecution/support/ui/SSHKeysPanel.java   |   173 -
 .../support/ui/ShellValidationStatusPanel.form     |   120 -
 .../support/ui/ShellValidationStatusPanel.java     |   200 -
 .../ui/api/FileNamesCompletionProvider.java        |   181 -
 .../support/ui/api/FileSelectorField.java          |   248 -
 .../support/windows/SimpleConverter.java           |    20 +-
 .../modules/nativeexecution/EnvironmentTest.java   |    12 +-
 .../modules/nativeexecution/HostInfoTestCase.java  |     3 +
 .../netbeans/modules/nativeexecution/IZ182478.java |     4 +-
 .../modules/nativeexecution/RedirectErrorTest.java |     4 +-
 .../nativeexecution/api/util/StreamsHangup.java    |   351 +
 .../api/util/StreamsHangupTestCase.java            |   155 +
 .../nativeexecution/support/ShellSessionTest.java  |     6 +-
 .../test/NativeExecutionBaseTestCase.java          |    16 +-
 .../test/NativeExecutionTestSupport.java           |     9 +-
 .../util/MacroExpanderFactoryTest.java             |    39 +-
 dlight.nativeexecution/tools/Makefile              |    67 +-
 dlight.nativeexecution/tools/build-pty-support.sh  |    37 +
 dlight.nativeexecution/tools/build.sh              |    37 +
 dlight.nativeexecution/tools/buildall.sh           |   116 +
 dlight.nativeexecution/tools/killall/Makefile      |    52 +-
 .../tools/killall/make/Makefile.gmake              |     3 +-
 dlight.nativeexecution/tools/killall/src/error.c   |    40 +
 dlight.nativeexecution/tools/killall/src/error.h   |    40 +
 dlight.nativeexecution/tools/killall/src/killall.c |    40 +
 dlight.nativeexecution/tools/killall/src/killall.h |    40 +
 .../tools/killall/src/linux/pfind.c                |    40 +
 .../tools/killall/src/macosx/pfind.c               |    40 +
 dlight.nativeexecution/tools/killall/src/options.c |    40 +
 dlight.nativeexecution/tools/killall/src/options.h |    40 +
 dlight.nativeexecution/tools/killall/src/pfind.h   |    40 +
 .../tools/killall/src/solaris/pfind.c              |    40 +
 .../tools/nbproject/configurations.xml             |    45 +-
 dlight.nativeexecution/tools/nbproject/project.xml |    41 +-
 dlight.nativeexecution/tools/pty/Makefile          |    52 +-
 .../tools/pty/make/Makefile.gmake                  |     3 +-
 dlight.nativeexecution/tools/pty/src/env.c         |    40 +
 dlight.nativeexecution/tools/pty/src/env.h         |    40 +
 dlight.nativeexecution/tools/pty/src/error.c       |    40 +
 dlight.nativeexecution/tools/pty/src/error.h       |    40 +
 dlight.nativeexecution/tools/pty/src/loop.c        |    40 +
 dlight.nativeexecution/tools/pty/src/loop.h        |    40 +
 dlight.nativeexecution/tools/pty/src/options.c     |    40 +
 dlight.nativeexecution/tools/pty/src/options.h     |    40 +
 dlight.nativeexecution/tools/pty/src/pty.c         |    40 +
 dlight.nativeexecution/tools/pty/src/pty.h         |    40 +
 dlight.nativeexecution/tools/pty/src/pty_fork.c    |    40 +
 dlight.nativeexecution/tools/pty/src/pty_fork.h    |    40 +
 dlight.nativeexecution/tools/pty/src/util.c        |    40 +
 dlight.nativeexecution/tools/pty/src/util.h        |    40 +
 dlight.nativeexecution/tools/unbuffer/Makefile     |    51 +-
 .../tools/unbuffer/make/Makefile.gmake             |     3 +-
 .../tools/unbuffer/src/unbuffer.c                  |    40 +
 dlight.remote.impl/build.xml                       |    65 +
 dlight.remote.impl/external/binaries-list          |     5 +
 dlight.remote.impl/nbproject/project.properties    |    39 +-
 dlight.remote.impl/nbproject/project.xml           |    51 +-
 .../modules/remote/actions/Bundle.properties       |    37 +
 .../impl/ExecutablesCompletionProviderFactory.java |     9 +-
 ...dBasedExecutablesCompletionProviderFactory.java |     9 +-
 .../impl/PathsCompletionProviderFactory.java       |     9 +-
 .../fileoperations/spi/FileOperationsProvider.java |    30 +-
 .../spi/FilesystemInterceptorProvider.java         |     2 +-
 .../fileoperations/spi/RemoteVcsSupportUtil.java   |    32 +-
 .../remote/impl/fs/CachedRemoteInputStream.java    |     3 +-
 .../netbeans/modules/remote/impl/fs/DirEntry.java  |     8 +
 .../modules/remote/impl/fs/DirEntryImpl.java       |     5 +-
 .../modules/remote/impl/fs/DirectoryStorage.java   |     8 +-
 .../impl/fs/FileSystemCacheProviderImpl.java       |     6 +-
 .../modules/remote/impl/fs/MagicCache.java         |    16 +-
 .../modules/remote/impl/fs/RecursiveListener.java  |     2 +-
 .../modules/remote/impl/fs/RefreshManager.java     |    40 +-
 .../modules/remote/impl/fs/RemoteDirectory.java    |   166 +-
 .../modules/remote/impl/fs/RemoteFileObject.java   |    15 +-
 .../remote/impl/fs/RemoteFileObjectBase.java       |   175 +-
 .../remote/impl/fs/RemoteFileObjectFactory.java    |   230 +-
 .../remote/impl/fs/RemoteFileObjectWithCache.java  |    75 +
 .../modules/remote/impl/fs/RemoteFileSystem.java   |   140 +-
 .../remote/impl/fs/RemoteFileSystemTransport.java  |   151 +-
 .../remote/impl/fs/RemoteFileSystemUtils.java      |    17 +-
 .../modules/remote/impl/fs/RemoteFileZipper.java   |    10 +-
 .../modules/remote/impl/fs/RemoteLink.java         |     5 +-
 .../modules/remote/impl/fs/RemoteLinkBase.java     |    63 +-
 .../modules/remote/impl/fs/RemoteLinkChild.java    |    76 +-
 .../modules/remote/impl/fs/RemoteLockSupport.java  |   421 +
 .../modules/remote/impl/fs/RemotePlainFile.java    |   144 +-
 .../modules/remote/impl/fs/SftpTransport.java      |    51 +-
 .../remote/impl/fs/SpecialRemoteFileObject.java    |     7 +-
 .../modules/remote/impl/fs/server/Buffer.java      |    27 +-
 .../remote/impl/fs/server/FSSDispatcher.java       |   159 +-
 .../modules/remote/impl/fs/server/FSSResponse.java |    35 +-
 .../remote/impl/fs/server/FSSTransport.java        |   253 +-
 .../impl/fs/ui/ConnectionNotifierDelegate.java     |     4 +-
 .../remote/impl/fs/ui/ConnectionNotifierImpl.java  |     2 +-
 .../impl/fs/ui/RemoteExternalDropHandler.java      |     9 +-
 .../remote/impl/resources/Bundle.properties        |    37 +
 .../netbeans/modules/remote/util/ExecSupport.java  |   130 -
 .../remote/impl/fileoperations/spi/Agent.java      |     4 +-
 .../spi/MockupFilesystemInterceptorProvider.java   |     2 +-
 .../spi/RemoteVcsSupportUtilTestCase.java          |    10 +-
 .../modules/remote/impl/fs/AdeMockupTestCase.java  |     4 +-
 .../remote/impl/fs/FileSystemProviderTestCase.java |     4 +-
 .../remote/impl/fs/ReadOnlyDirTestCase.java        |     2 +-
 .../remote/impl/fs/ReadWriteLocksTestCase.java     |   242 +
 .../impl/fs/RefreshDirSyncCountTestCase.java       |    81 +-
 .../remote/impl/fs/RemoteFileSystemTestCase.java   |     2 +-
 .../modules/remote/impl/fs/RemoteFileTestBase.java |    29 +-
 .../impl/fs/RemoteLinksChangeLinkTestCase.java     |    20 +-
 .../impl/fs/RemoteLinksChangeLinkTestCase2.java    |    18 +-
 .../remote/impl/fs/RemoteLinksTestCase.java        |   166 +-
 .../modules/remote/impl/fs/RemoteURLTestCase.java  |     6 +-
 ...empFileRelatedExceptionsIZ_258285_testCase.java |   153 +
 .../impl/fs/WrongCreationEventsTestCase.java       |     2 +-
 .../impl/fs/server/FSSTransportTestAccessor.java   |     3 +-
 .../modules/remote/test/RemoteApiTest.java         |     3 +-
 dlight.remote.impl/tools/fs_server/Makefile        |    96 +-
 .../tools/fs_server/make/Makefile.gmake            |     4 +-
 .../tools/fs_server/nbproject/configurations.xml   |   173 +-
 .../tools/fs_server/nbproject/launcher.properties  |    40 +-
 .../tools/fs_server/nbproject/project.xml          |    39 +
 dlight.remote.impl/tools/fs_server/src/array.c     |     6 +-
 .../tools/fs_server/src/blocking_queue.c           |    28 +-
 dlight.remote.impl/tools/fs_server/src/dirtab.c    |    56 +-
 dlight.remote.impl/tools/fs_server/src/exitcodes.h |     2 +
 dlight.remote.impl/tools/fs_server/src/fs_server.c |   349 +-
 dlight.remote.impl/tools/fs_server/src/queue.c     |     3 +-
 dlight.remote.impl/tools/fs_server/src/settings.c  |   137 +
 dlight.remote.impl/tools/fs_server/src/settings.h  |    79 +
 dlight.remote.impl/tools/fs_server/src/util.c      |   103 +-
 dlight.remote.impl/tools/fs_server/src/util.h      |    14 +-
 dlight.remote.impl/tools/fs_server/test/Makefile   |    38 +
 .../tools/fs_server/test/dynamic_fs_server_test.sh |   177 +
 .../fs_server/test/make_fs_server_requests.sh      |    38 +
 .../tools/fs_server/test/test_main.c               |    39 +
 dlight.remote.ui/build.xml                         |    44 +
 dlight.remote.ui/manifest.mf                       |     6 +
 dlight.remote.ui/nbproject/project.properties      |    40 +
 dlight.remote.ui/nbproject/project.xml             |   199 +
 .../remote/api/ui/AutocompletionProvider.java      |     0
 .../remote/api/ui/AutocompletionSupport.java       |   162 +
 .../modules/remote/api/ui/Bundle.properties        |     0
 .../modules/remote/api/ui/DirectoryCellEditor.java |   100 +
 .../modules/remote/api/ui/FileChooserBuilder.java  |   543 +
 .../modules/remote/api/ui/FileChooserUIImpl.java   |  3725 ++
 .../modules/remote/api/ui/FileCompletionPopup.java |   293 +
 .../netbeans/modules/remote/api/ui/FileNode.java   |   234 +
 .../modules/remote/api/ui/FileObjectBasedFile.java |   461 +
 .../modules/remote/api/ui/InputBlocker.java        |   126 +
 .../remote/api/ui/RemoteFileSystemView.java        |   256 +
 .../modules/remote/api/ui/ServerListUI.java        |    89 +
 .../netbeans/modules/remote/api/ui/progress.gif    |   Bin
 .../modules/remote/ui/resources/Bundle.properties  |    38 +
 .../ui/spi/AutocompletionProviderFactory.java      |    57 +
 .../remote/ui/spi/ServerRecordUIController.java    |    87 +
 .../remote/ui/spi/ServerRecordUIProvider.java      |    59 +
 .../modules/remote/ui/spi/ServerSetupProvider.java |    71 +
 .../modules/remote/ui/spi/ServerSetupWorker.java   |    72 +
 .../modules/remote/ui/support/RemoteLogger.java    |   121 +
 dlight.remote/build.xml                            |    39 +
 dlight.remote/nbproject/project.properties         |    39 +-
 dlight.remote/nbproject/project.xml                |    80 +-
 .../modules/remote/api/ConnectionNotifier.java     |   138 +
 .../netbeans/modules/remote/api/RemoteFile.java    |    50 +
 .../netbeans/modules/remote/api/ServerListUI.java  |    89 -
 .../remote/api/ui/AutocompletionSupport.java       |   162 -
 .../modules/remote/api/ui/ConnectionNotifier.java  |   138 -
 .../modules/remote/api/ui/DirectoryCellEditor.java |    98 -
 .../modules/remote/api/ui/FileChooserBuilder.java  |   539 -
 .../modules/remote/api/ui/FileChooserUIImpl.java   |  3697 --
 .../modules/remote/api/ui/FileCompletionPopup.java |   291 -
 .../netbeans/modules/remote/api/ui/FileNode.java   |   232 -
 .../modules/remote/api/ui/FileObjectBasedFile.java |   460 -
 .../modules/remote/api/ui/InputBlocker.java        |   124 -
 .../remote/api/ui/RemoteFileSystemView.java        |   256 -
 .../modules/remote/resources/Bundle.properties     |    37 +
 .../remote/spi/AutocompletionProviderFactory.java  |    57 -
 .../spi/ConnectionNotifierImplementation.java      |     2 +-
 .../remote/spi/RemoteServerListProvider.java       |     5 +
 .../remote/spi/ServerRecordUIController.java       |    87 -
 .../modules/remote/spi/ServerRecordUIProvider.java |    59 -
 .../modules/remote/spi/ServerSetupProvider.java    |    71 -
 .../modules/remote/spi/ServerSetupWorker.java      |    72 -
 .../remote/support/LocalFileSystemProvider.java    |     6 +-
 dlight.sendto/build.xml                            |    39 +
 dlight.sendto/nbproject/project.properties         |    41 +-
 dlight.sendto/nbproject/project.xml                |    41 +-
 .../modules/dlight/sendto/action/Bundle.properties |    36 +-
 .../modules/dlight/sendto/api/Bundle.properties    |    37 +-
 .../modules/dlight/sendto/api/ScriptsRegistry.java |    13 +-
 .../modules/dlight/sendto/config/Bundle.properties |    37 +-
 .../dlight/sendto/conifg/impl/Bundle.properties    |    37 +-
 .../dlight/sendto/conifg/ui/Bundle.properties      |    36 +-
 .../dlight/sendto/resources/Bundle.properties      |    41 +-
 .../modules/dlight/sendto/resources/layer.xml      |    39 +
 .../modules/dlight/sendto/util/Bundle.properties   |    36 +-
 dlight.terminal/build.xml                          |    39 +
 dlight.terminal/nbproject/project.properties       |    39 +-
 dlight.terminal/nbproject/project.xml              |    49 +
 .../modules/dlight/terminal/Bundle.properties      |    37 +
 .../dlight/terminal/action/Bundle.properties       |    39 +-
 .../action/OpenInEditorActionProvider.java         |   128 +
 .../terminal/action/TerminalSettingsAction.java    |    12 +-
 .../terminal/action/TerminalSupportImpl.java       |    60 +-
 .../org/netbeans/modules/dlight/terminal/layer.xml |    39 +
 .../modules/dlight/terminal/ui/Bundle.properties   |    37 +
 .../terminal/ui/TerminalContainerTopComponent.java |    33 +-
 docker.api/build.xml                               |    50 +
 docker.api/manifest.mf                             |     6 +
 docker.api/nbproject/project.properties            |    47 +
 docker.api/nbproject/project.xml                   |   151 +
 .../modules/docker/ChunkedInputStream.java         |   145 +
 .../modules/docker/ChunkedOutputStream.java        |    75 +
 .../modules/docker/ConnectionListener.java         |    54 +
 .../src/org/netbeans/modules/docker/Demuxer.java   |   110 +
 .../modules/docker/DirectStreamResult.java         |   104 +
 .../modules/docker/DockerActionAccessor.java       |    83 +
 .../org/netbeans/modules/docker/DockerConfig.java  |   438 +
 .../netbeans/modules/docker/DockerEventBus.java    |   274 +
 .../modules/docker/DockerRemoteException.java      |    63 +
 .../org/netbeans/modules/docker/DockerUtils.java   |   102 +
 .../src/org/netbeans/modules/docker/Endpoint.java  |    79 +
 .../netbeans/modules/docker/FolderUploader.java    |   139 +
 .../src/org/netbeans/modules/docker/HttpUtils.java |   298 +
 .../netbeans/modules/docker/IgnoreFileFilter.java  |   125 +
 .../org/netbeans/modules/docker/IgnorePattern.java |   529 +
 .../netbeans/modules/docker/MuxedStreamResult.java |   178 +
 .../org/netbeans/modules/docker/StreamItem.java    |    76 +
 .../org/netbeans/modules/docker/StreamResult.java  |    65 +
 .../modules/docker/api/ActionChunkedResult.java    |   104 +
 .../modules/docker/api/ActionStreamResult.java     |    87 +
 .../netbeans/modules/docker/api/BuildEvent.java    |   130 +
 .../netbeans/modules/docker/api/Credentials.java   |    81 +
 .../modules/docker/api/CredentialsManager.java     |    83 +
 .../netbeans/modules/docker/api/DockerAction.java  |  1440 +
 .../docker/api/DockerAuthenticationException.java  |    58 +
 .../docker/api/DockerConflictException.java        |    58 +
 .../modules/docker/api/DockerContainer.java        |   138 +
 .../modules/docker/api/DockerContainerDetail.java  |    80 +
 .../netbeans/modules/docker/api/DockerEntity.java  |    54 +
 .../netbeans/modules/docker/api/DockerEvent.java   |   227 +
 .../modules/docker/api/DockerException.java        |    58 +
 .../netbeans/modules/docker/api/DockerImage.java   |   142 +
 .../modules/docker/api/DockerImageDetail.java      |    62 +
 .../modules/docker/api/DockerInstance.java         |   346 +
 .../netbeans/modules/docker/api/DockerName.java    |   121 +
 .../modules/docker/api/DockerRegistryImage.java    |   119 +
 .../netbeans/modules/docker/api/DockerSupport.java |   189 +
 .../org/netbeans/modules/docker/api/DockerTag.java |   112 +
 .../netbeans/modules/docker/api/ExposedPort.java   |   108 +
 .../netbeans/modules/docker/api/StatusEvent.java   |   138 +
 .../modules/docker/resources/Bundle.properties     |    48 +
 .../netbeans/modules/docker/tls/Asn1Object.java    |    90 +
 .../modules/docker/tls/ContextProvider.java        |   227 +
 .../org/netbeans/modules/docker/tls/DerParser.java |   101 +
 .../modules/docker/tls/PrivateKeyParser.java       |   125 +
 .../modules/docker/ChunkedInputStreamTest.java     |   179 +
 .../netbeans/modules/docker/IgnorePatternTest.java |   268 +
 docker.editor/build.xml                            |    44 +
 docker.editor/manifest.mf                          |     7 +
 docker.editor/nbproject/project.properties         |    39 +
 docker.editor/nbproject/project.xml                |   189 +
 .../modules/docker/editor/Bundle.properties        |    46 +
 .../modules/docker/editor/DockerfileLanguage.java  |    88 +
 .../modules/docker/editor/DockerfileResolver.java  |    76 +
 .../editor/completion/DockerfileCompletion.java    |   371 +
 .../indent/DockerfileTypedBreakInterceptor.java    |   201 +
 .../org/netbeans/modules/docker/editor/layer.xml   |   129 +
 .../docker/editor/lexer/DockerfileLexer.java       |   394 +
 .../docker/editor/lexer/DockerfileTokenId.java     |   213 +
 .../modules/docker/editor/parser/Command.java      |   283 +
 .../docker/editor/parser/DockerfileParser.java     |    83 +
 .../docker/editor/parser/DockerfileResult.java     |    69 +
 .../docker/editor/resources/Bundle.properties      |    41 +
 .../modules/docker/editor/resources/Dockerfile     |     9 +
 .../docker/editor/resources/Dockerfile.html        |    49 +
 .../modules/docker/editor/resources/docker.png     |   Bin 0 -> 328 bytes
 .../docker/editor/resources/docker_file.png        |   Bin 0 -> 545 bytes
 .../modules/docker/editor/util/Bundle.properties   |    41 +
 .../modules/docker/editor/util/DocDownloader.java  |   177 +
 docker.ui/build.xml                                |    50 +
 docker.ui/manifest.mf                              |     6 +
 docker.ui/nbproject/project.properties             |    45 +
 docker.ui/nbproject/project.xml                    |   246 +
 .../org/netbeans/modules/docker/ui/UiUtils.java    |   223 +
 .../netbeans/modules/docker/ui/Validations.java    |   177 +
 .../docker/ui/build2/BuildActionListener.java      |    79 +
 .../docker/ui/build2/BuildContextPanel.java        |   170 +
 .../docker/ui/build2/BuildContextVisual.form       |   117 +
 .../docker/ui/build2/BuildContextVisual.java       |   233 +
 .../modules/docker/ui/build2/BuildImageAction.java |    99 +
 .../modules/docker/ui/build2/BuildImageWizard.java |   438 +
 .../docker/ui/build2/BuildInstancePanel.java       |   144 +
 .../docker/ui/build2/BuildInstanceVisual.form      |    65 +
 .../docker/ui/build2/BuildInstanceVisual.java      |   255 +
 .../docker/ui/build2/BuildOptionsPanel.java        |   170 +
 .../docker/ui/build2/BuildOptionsVisual.form       |    84 +
 .../docker/ui/build2/BuildOptionsVisual.java       |   203 +
 .../modules/docker/ui/build2/BuildTask.java        |   214 +
 .../modules/docker/ui/build2/Bundle.properties     |    54 +
 .../modules/docker/ui/build2/InputOutputCache.java |   259 +
 .../modules/docker/ui/commit/Bundle.properties     |    49 +
 .../docker/ui/commit/CommitContainerAction.java    |   157 +
 .../modules/docker/ui/commit/CommitPanel.form      |   152 +
 .../modules/docker/ui/commit/CommitPanel.java      |   260 +
 .../docker/ui/credentials/Bundle.properties        |    53 +
 .../docker/ui/credentials/CredentialsAction.java   |    90 +
 .../ui/credentials/CredentialsListPanel.form       |   100 +
 .../ui/credentials/CredentialsListPanel.java       |   223 +
 .../docker/ui/credentials/CredentialsPanel.form    |   137 +
 .../docker/ui/credentials/CredentialsPanel.java    |   271 +
 .../docker/ui/credentials/CredentialsUtils.java    |   131 +
 .../docker/ui/node/AbstractContainerAction.java    |   139 +
 .../docker/ui/node/AttachContainerAction.java      |    82 +
 .../modules/docker/ui/node/Bundle.properties       |    46 +
 .../modules/docker/ui/node/CopyIdAction.java       |   111 +
 .../modules/docker/ui/node/DockerChildFactory.java |   116 +
 .../docker/ui/node/DockerContainerNode.java        |   149 +
 .../ui/node/DockerContainersChildFactory.java      |   171 +
 .../docker/ui/node/DockerContainersNode.java       |    71 +
 .../docker/ui/node/DockerImagesChildFactory.java   |   130 +
 .../modules/docker/ui/node/DockerImagesNode.java   |    73 +
 .../docker/ui/node/DockerInstanceChildFactory.java |   122 +
 .../modules/docker/ui/node/DockerInstanceNode.java |   109 +
 .../modules/docker/ui/node/DockerNode.java         |   101 +
 .../modules/docker/ui/node/DockerTagNode.java      |    85 +
 .../modules/docker/ui/node/NodeClosingFactory.java |    72 +
 .../docker/ui/node/PauseContainerAction.java       |    80 +
 .../modules/docker/ui/node/PushTagAction.java      |   187 +
 .../modules/docker/ui/node/RefreshAction.java      |    91 +
 .../modules/docker/ui/node/Refreshable.java        |    52 +
 .../docker/ui/node/RemoveContainerAction.java      |    81 +
 .../docker/ui/node/RemoveInstanceAction.java       |    91 +
 .../modules/docker/ui/node/RemoveTagAction.java    |   128 +
 .../modules/docker/ui/node/ShowLogAction.java      |    74 +
 .../docker/ui/node/StartContainerAction.java       |    80 +
 .../docker/ui/node/StatefulDockerContainer.java    |   202 +
 .../docker/ui/node/StatefulDockerInstance.java     |   147 +
 .../docker/ui/node/StopContainerAction.java        |    80 +
 .../docker/ui/node/UnpauseContainerAction.java     |    80 +
 .../docker/ui/output/ChunkedResultOutputTask.java  |    99 +
 .../modules/docker/ui/output/ExceptionHandler.java |    52 +
 .../modules/docker/ui/output/OutputUtils.java      |   240 +
 .../docker/ui/output/StatusOutputListener.java     |    76 +
 .../docker/ui/output/TerminalInputStream.java      |   118 +
 .../docker/ui/output/TerminalOptionsAction.java    |    69 +
 .../docker/ui/output/TerminalResizeListener.java   |   126 +
 .../modules/docker/ui/pull/Bundle.properties       |    49 +
 .../modules/docker/ui/pull/DockerHubImageItem.java |    88 +
 .../docker/ui/pull/DockerHubSearchPanel.form       |   130 +
 .../docker/ui/pull/DockerHubSearchPanel.java       |   303 +
 .../modules/docker/ui/pull/PullImageAction.java    |   208 +
 .../modules/docker/ui/rename/Bundle.properties     |    45 +
 .../docker/ui/rename/RenameContainerAction.java    |   155 +
 .../modules/docker/ui/rename/RenamePanel.form      |    55 +
 .../modules/docker/ui/rename/RenamePanel.java      |   165 +
 .../modules/docker/ui/resources/Bundle.properties  |    48 +
 .../modules/docker/ui/resources/action_rerun.png   |   Bin
 .../modules/docker/ui/resources/action_stop.png    |   Bin
 .../modules/docker/ui/resources/badge_paused.png   |   Bin 0 -> 233 bytes
 .../modules/docker/ui/resources/badge_running.png  |   Bin 0 -> 231 bytes
 .../modules/docker/ui/resources/docker_image.png   |   Bin 0 -> 193 bytes
 .../docker/ui/resources/docker_instance.png        |   Bin 0 -> 446 bytes
 .../modules/docker/ui/resources/docker_root.png    |   Bin 0 -> 328 bytes
 .../docker/ui/resources/terminal_options.png       |   Bin 0 -> 724 bytes
 .../modules/docker/ui/run/Bundle.properties        |    58 +
 .../modules/docker/ui/run/PortMapping.java         |    83 +
 .../docker/ui/run/RunContainerPropertiesPanel.java |   155 +
 .../ui/run/RunContainerPropertiesVisual.form       |   113 +
 .../ui/run/RunContainerPropertiesVisual.java       |   218 +
 .../docker/ui/run/RunPortBindingsPanel.java        |   194 +
 .../docker/ui/run/RunPortBindingsVisual.form       |   113 +
 .../docker/ui/run/RunPortBindingsVisual.java       |   467 +
 .../modules/docker/ui/run/RunTagAction.java        |    99 +
 .../modules/docker/ui/run/RunTagWizard.java        |   245 +
 .../modules/docker/ui/tag/Bundle.properties        |    47 +
 .../netbeans/modules/docker/ui/tag/TagPanel.form   |    98 +
 .../netbeans/modules/docker/ui/tag/TagPanel.java   |   216 +
 .../modules/docker/ui/tag/TagTagAction.java        |   156 +
 .../docker/ui/wizard/AddDockerInstanceAction.java  |    67 +
 .../docker/ui/wizard/AddDockerInstanceWizard.java  |   138 +
 .../modules/docker/ui/wizard/Bundle.properties     |    59 +
 .../modules/docker/ui/wizard/Configuration.java    |    79 +
 .../docker/ui/wizard/ConfigurationLinuxPanel.form  |   180 +
 .../docker/ui/wizard/ConfigurationLinuxPanel.java  |   364 +
 .../docker/ui/wizard/ConfigurationPanel.form       |    99 +
 .../docker/ui/wizard/ConfigurationPanel.java       |   248 +
 .../docker/ui/wizard/DockerConnectionPanel.java    |   468 +
 .../docker/ui/wizard/DockerConnectionVisual.form   |    82 +
 .../docker/ui/wizard/DockerConnectionVisual.java   |   190 +
 .../modules/docker/ui/ValidationsTest.java         |   102 +
 editor.actions/manifest.mf                         |     1 +
 editor.actions/nbproject/project.properties        |     2 +-
 .../modules/editor/actions/AddCaretAction.java     |   131 +
 .../modules/editor/actions/Bundle.properties       |     8 +-
 .../modules/editor/actions/CamelCaseActions.java   |   189 +-
 .../modules/editor/actions/PasteLinesAction.java   |    76 +
 .../editor/actions/RemoveLastCaretAction.java      |    73 +
 .../editor/actions/ToggleTypingModeAction.java     |    76 +
 .../editor/actions/TransposeLettersAction.java     |    21 +-
 .../org/netbeans/modules/editor/actions/layer.xml  |    11 +
 editor.bookmarks/manifest.mf                       |     2 +-
 .../editor/bookmarks/resources/bookmark.xml        |    47 +-
 .../editor/bookmarks/resources/bookmarks.settings  |    39 +
 .../editor/bookmarks/resources/bookmarks.wstcgrp   |    39 +
 .../editor/bookmarks/resources/bookmarks.wstcref   |    39 +
 editor.bracesmatching/build.xml                    |    39 +
 .../org-netbeans-modules-editor-bracesmatching.sig |     2 +-
 editor.bracesmatching/nbproject/project.properties |    39 +-
 editor.bracesmatching/nbproject/project.xml        |    39 +
 .../BraceMatchingSidebarComponent.java             |     6 +-
 .../spi/editor/bracesmatching/package.html         |    16 +-
 .../spi/editor/bracesmatching/support/package.html |    16 +-
 editor.breadcrumbs/build.xml                       |    39 +
 editor.breadcrumbs/manifest.mf                     |     2 +-
 editor.breadcrumbs/nbproject/project.properties    |    37 +
 editor.breadcrumbs/nbproject/project.xml           |    39 +
 .../modules/editor/breadcrumbs/Bundle.properties   |    37 +
 editor.codetemplates/apichanges.xml                |    20 +
 editor.codetemplates/arch.xml                      |    43 +-
 .../org-netbeans-modules-editor-codetemplates.sig  |     2 +-
 editor.codetemplates/nbproject/project.properties  |     2 +-
 .../codetemplates/CodeTemplateInsertHandler.java   |    38 +-
 .../codetemplates/spi/CodeTemplateParameter.java   |    19 +-
 .../CodeTemplateInsertHandlerTest.java             |    67 +
 .../org-netbeans-modules-editor-completion.sig     |     2 +-
 editor.completion/nbproject/project.properties     |     2 +-
 editor.completion/nbproject/project.xml            |     9 +
 .../modules/editor/completion/CompletionImpl.java  |   184 +-
 .../modules/editor/completion/CompletionJList.java |     2 +-
 .../editor/completion/CompletionLayout.java        |    11 +-
 .../editor/completion/resources/suggestion.png     |   Bin 0 -> 569 bytes
 editor.deprecated.pre65formatting/build.xml        |    39 +
 .../nbproject/project.properties                   |    39 +-
 .../nbproject/project.xml                          |    39 +
 .../org/netbeans/modules/editor/Bundle.properties  |     9 +-
 .../deprecated/pre65formatting/Bundle.properties   |    37 +
 .../pre65formatting/LegacyFormattersProvider.java  |    11 +-
 editor.document/apichanges.xml                     |    52 +-
 editor.document/arch.xml                           |    45 +-
 editor.document/build.xml                          |    39 +
 editor.document/manifest.mf                        |     2 +-
 editor.document/nbproject/project.properties       |    39 +-
 editor.document/nbproject/project.xml              |    39 +
 .../api/editor/document/ComplexPositions.java      |   140 +
 .../api/editor/document/CustomUndoDocument.java    |    76 +
 .../netbeans/api/editor/document/LineDocument.java |    49 +-
 .../modules/editor/document/Bundle.properties      |    37 +
 .../editor/document/implspi/CharClassifier.java    |    42 +-
 .../modules/editor/lib2/document/ComplexPos.java   |    83 +
 .../modules/editor/lib2/document/Mark.java         |    24 +-
 .../api/editor/document/ComplexPositionsTest.java  |   100 +
 ...org-netbeans-modules-editor-errorstripe-api.sig |     2 +-
 .../nbproject/project.properties                   |     2 +-
 .../netbeans/spi/editor/errorstripe/package.html   |    16 +-
 editor.errorstripe/nbproject/project.properties    |     2 +-
 editor.errorstripe/nbproject/project.xml           |     9 +
 .../modules/editor/errorstripe/AnnotationView.java |     9 +-
 .../errorstripe/caret/CaretMarkProvider.java       |    41 +-
 .../modules/editor/errorstripe/resources/layer.xml |     4 +-
 .../modules/editor/errorstripe/UnitUtilities.java  |     8 +-
 .../modules/editor/errorstripe/test-layer.xml      |     2 +-
 editor.fold.nbui/arch.xml                          |    45 +-
 editor.fold.nbui/build.xml                         |    39 +
 editor.fold.nbui/nbproject/project.properties      |     2 +-
 editor.fold.nbui/nbproject/project.xml             |    41 +-
 .../editor/fold/ui/CaretFoldExpanderImpl.java      |   147 +
 .../netbeans/modules/editor/fold/ui/FoldView.java  |     5 +
 .../editor/fold/ui/FoldingEditorSupport.java       |   126 +-
 .../org/netbeans/modules/editor/fold/ui/layer.xml  |    39 +
 .../modules/editor/fold/ui/BaseCaretTest.java      |    12 +-
 editor.fold/apichanges.xml                         |     2 +-
 editor.fold/arch.xml                               |    49 +-
 editor.fold/manifest.mf                            |     2 +-
 .../nbproject/org-netbeans-modules-editor-fold.sig |     2 +-
 .../src/org/netbeans/api/editor/fold/Fold.java     |     8 +-
 .../netbeans/api/editor/fold/FoldUtilities.java    |    23 +-
 .../netbeans/modules/editor/fold/FoldChildren.java |    52 +-
 .../editor/fold/FoldHierarchyExecution.java        |    64 +-
 .../editor/fold/FoldHierarchyTransactionImpl.java  |   101 +-
 .../modules/editor/fold/FoldOperationImpl.java     |   129 +-
 .../modules/editor/fold/FoldUtilitiesImpl.java     |    33 +
 .../editor/fold/HierarchyErrorException.java       |    81 +
 .../netbeans/spi/editor/fold/FoldOperation.java    |     1 +
 editor.global.format/build.xml                     |    39 +
 editor.global.format/nbproject/project.properties  |    39 +-
 editor.global.format/nbproject/project.xml         |    39 +
 .../modules/editor/global/format/Bundle.properties |    37 +
 .../modules/editor/global/format/layer.xml         |    39 +
 editor.guards/apichanges.xml                       |    12 +
 editor.guards/manifest.mf                          |     2 +-
 .../org-netbeans-modules-editor-guards.sig         |    11 +-
 .../api/editor/guards/GuardedSectionManager.java   |    26 +-
 .../modules/editor/guards/GuardedSectionImpl.java  |     3 +
 .../modules/editor/guards/GuardedSectionsImpl.java |    22 +-
 editor.indent.project/arch.xml                     |    45 +-
 editor.indent.project/build.xml                    |    39 +
 editor.indent.project/manifest.mf                  |     2 +-
 editor.indent.project/nbproject/project.xml        |    39 +
 .../editor/indent/project/Bundle.properties        |    37 +
 editor.indent.support/build.xml                    |    39 +
 editor.indent.support/manifest.mf                  |     2 +-
 .../org-netbeans-modules-editor-indent-support.sig |    25 +
 editor.indent.support/nbproject/project.properties |    37 +
 editor.indent.support/nbproject/project.xml        |    39 +
 .../indent/spi/support/AutomatedIndenting.java     |     9 +-
 .../editor/indent/support/Bundle.properties        |    37 +
 editor.indent/manifest.mf                          |     2 +-
 .../org-netbeans-modules-editor-indent.sig         |    10 +-
 .../modules/editor/indent/TaskHandler.java         |    18 +
 editor.kit/build.xml                               |    39 +
 editor.kit/manifest.mf                             |     2 +-
 editor.kit/nbproject/project.properties            |    37 +
 editor.kit/nbproject/project.xml                   |    50 +-
 .../netbeans/modules/editor/kit/Bundle.properties  |    37 +
 editor.lib/manifest.mf                             |     2 +-
 editor.lib/nbproject/project.properties            |     2 +-
 editor.lib/nbproject/project.xml                   |    19 +-
 .../src/org/netbeans/editor/ActionFactory.java     |   461 +-
 editor.lib/src/org/netbeans/editor/BaseAction.java |    14 +-
 editor.lib/src/org/netbeans/editor/BaseCaret.java  |    10 +-
 .../src/org/netbeans/editor/BaseDocument.java      |   126 +-
 .../src/org/netbeans/editor/BaseDocumentEvent.java |     6 +-
 editor.lib/src/org/netbeans/editor/BaseKit.java    |  1661 +-
 editor.lib/src/org/netbeans/editor/EditorUI.java   |    26 +-
 .../src/org/netbeans/editor/GlyphGutter.java       |     2 +-
 .../src/org/netbeans/editor/PopupManager.java      |    56 +-
 editor.lib/src/org/netbeans/editor/Utilities.java  |     3 +-
 editor.lib/src/org/netbeans/editor/ext/ExtKit.java |   126 +-
 .../org/netbeans/editor/ext/ToolTipSupport.java    |    15 +-
 .../src/org/netbeans/editor/ext/package.html       |    41 +-
 .../src/org/netbeans/editor/resources}/pin.png     |   Bin
 .../lib/editor/hyperlink/HyperlinkOperation.java   |     5 +-
 .../editor/lib/EditorExtPackageAccessor.java       |     1 +
 editor.lib2/apichanges.xml                         |   165 +
 editor.lib2/arch.xml                               |    15 +-
 editor.lib2/manifest.mf                            |     2 +-
 .../nbproject/org-netbeans-modules-editor-lib2.sig |   161 +-
 editor.lib2/nbproject/project.properties           |     2 +-
 editor.lib2/nbproject/project.xml                  |    15 +-
 .../org/netbeans/api/editor/EditorActionNames.java |    42 +-
 .../api/editor/EditorActionRegistration.java       |    36 +-
 .../api/editor/EditorActionRegistrations.java      |     2 +-
 .../org/netbeans/api/editor/EditorRegistry.java    |    63 +-
 .../org/netbeans/api/editor/EditorUtilities.java   |    49 +
 .../netbeans/api/editor/StickyWindowSupport.java   |   139 +
 .../org/netbeans/api/editor/caret/CaretInfo.java   |   217 +
 .../org/netbeans/api/editor/caret/CaretItem.java   |   394 +
 .../api/editor/caret/CaretMoveContext.java         |   192 +
 .../api/editor/caret/CaretTransaction.java         |   798 +
 .../org/netbeans/api/editor/caret/EditorCaret.java |  3184 ++
 .../api/editor/caret/EditorCaretEvent.java         |    97 +
 .../api/editor/caret/EditorCaretListener.java      |    61 +
 .../api/editor/caret/FilterBypassImpl.java         |   241 +
 .../api/editor/caret/MoveCaretsOrigin.java         |   190 +
 .../src/org/netbeans/api/editor/caret/package.html |   250 +
 .../netbeans/modules/editor/lib2/Bundle.properties |     3 +-
 .../netbeans/modules/editor/lib2/CaretUndo.java    |    90 +
 .../modules/editor/lib2/CaretUndoEdit.java         |   373 +
 .../lib2/EditorActionRegistrationProcessor.java    |    12 +-
 .../editor/lib2/EditorApiPackageAccessor.java      |     3 +
 .../editor/lib2/EditorCaretTransferHandler.java    |   587 +
 .../editor/lib2/EditorPreferencesDefaults.java     |    18 +-
 .../lib2/RectangularSelectionCaretAccessor.java    |    77 +
 .../lib2/RectangularSelectionTransferHandler.java  |     4 +-
 .../editor/lib2/WeakReferenceStableList.java       |     2 +-
 .../editor/lib2/actions/EditorActionUtilities.java |     2 +-
 .../editor/lib2/actions/PresenterEditorAction.java |     2 +-
 .../editor/lib2/actions/PresenterUpdater.java      |     2 +-
 .../editor/lib2/caret/CaretFoldExpander.java       |    85 +
 .../document/DocumentPostModificationUtils.java    |    79 +
 .../document/UndoRedoDocumentEventResolver.java    |   130 +
 .../lib2/highlighting/AbstractOffsetGapList.java   |     4 +-
 .../highlighting/CaretBasedBlockHighlighting.java  |   259 +-
 .../CaretOverwriteModeHighlighting.java            |   353 +
 .../lib2/highlighting/CompoundAttributes.java      |     4 +-
 .../highlighting/CoveringHighlightsSequence.java   |    65 +
 .../lib2/highlighting/DirectMergeContainer.java    |   401 +-
 .../modules/editor/lib2/highlighting/Factory.java  |     7 +
 .../editor/lib2/highlighting/HighlightItem.java    |     6 +-
 .../lib2/highlighting/HighlightingManager.java     |    10 +-
 .../editor/lib2/highlighting/HighlightsList.java   |    23 +-
 .../editor/lib2/highlighting/HighlightsReader.java |    38 +-
 .../highlighting/ReadOnlyFilesHighlighting.java    |    42 +-
 .../highlighting/SplitOffsetHighlightItem.java     |    72 +
 .../lib2/highlighting/SyntaxHighlighting.java      |     2 +-
 .../editor/lib2/highlighting/VisualMark.java       |     4 +-
 .../lib2/highlighting/WhitespaceHighlighting.java  |     2 +-
 .../modules/editor/lib2/search/TextStorageSet.java |     2 +-
 .../typinghooks/TypedTextInterceptorsManager.java  |     9 +-
 .../lib2/typinghooks/TypingHooksSpiAccessor.java   |     9 +-
 .../editor/lib2/view/AttributedCharSequence.java   |     4 +-
 .../modules/editor/lib2/view/DocumentView.java     |    12 +-
 .../editor/lib2/view/DocumentViewChildren.java     |     8 +-
 .../modules/editor/lib2/view/DocumentViewOp.java   |   209 +-
 .../editor/lib2/view/EditorTabExpander.java        |     2 +-
 .../modules/editor/lib2/view/EditorView.java       |     8 +-
 .../editor/lib2/view/EditorViewFactory.java        |    26 +-
 .../editor/lib2/view/EditorViewFactoryChange.java  |     2 +-
 .../modules/editor/lib2/view/HighlightsView.java   |     4 +-
 .../editor/lib2/view/HighlightsViewFactory.java    |     4 +-
 .../editor/lib2/view/HighlightsViewPart.java       |     2 +-
 .../editor/lib2/view/HighlightsViewUtils.java      |   343 +-
 .../editor/lib2/view/LockedViewHierarchy.java      |    47 +-
 .../modules/editor/lib2/view/NewlineView.java      |     5 +-
 .../modules/editor/lib2/view/OffsetRegion.java     |     4 +-
 .../modules/editor/lib2/view/ParagraphView.java    |    16 +-
 .../editor/lib2/view/ParagraphViewChildren.java    |     2 +-
 .../editor/lib2/view/ParagraphViewDescriptor.java  |    10 +-
 .../netbeans/modules/editor/lib2/view/TabView.java |    11 +-
 .../editor/lib2/view/TextLayoutBreakInfo.java      |     2 +-
 .../modules/editor/lib2/view/TextLayoutCache.java  |     2 +-
 .../modules/editor/lib2/view/TextLayoutUtils.java  |     2 +-
 .../modules/editor/lib2/view/ViewBuilder.java      |     6 +-
 .../modules/editor/lib2/view/ViewChildren.java     |     6 +-
 .../modules/editor/lib2/view/ViewGapStorage.java   |     4 +-
 .../modules/editor/lib2/view/ViewHierarchy.java    |    12 +-
 .../editor/lib2/view/ViewHierarchyEvent.java       |    30 +-
 .../editor/lib2/view/ViewHierarchyImpl.java        |    28 +-
 .../editor/lib2/view/ViewHierarchyListener.java    |     6 +-
 .../editor/lib2/view/ViewPaintHighlights.java      |   113 +-
 .../editor/lib2/view/ViewRenderContext.java        |     8 +-
 .../modules/editor/lib2/view/WrapInfo.java         |     2 +-
 .../modules/editor/lib2/view/WrapLine.java         |     4 +-
 .../netbeans/spi/editor/AbstractEditorAction.java  |   210 +-
 .../spi/editor/caret/CaretMoveHandler.java         |    74 +
 .../editor/caret/CascadingNavigationFilter.java    |   176 +
 .../spi/editor/caret/NavigationFilterBypass.java   |    82 +
 .../src/org/netbeans/spi/editor/caret/package.html |    98 +
 .../netbeans/spi/editor/codegen/CodeGenerator.java |     2 +-
 .../codegen/CodeGeneratorContextProvider.java      |     2 +-
 .../org/netbeans/spi/editor/codegen/package.html   |    30 +-
 .../netbeans/spi/editor/document/OnSaveTask.java   |    14 +-
 .../SplitOffsetHighlightsSequence.java             |    83 +
 .../netbeans/spi/editor/highlighting/package.html  |    24 +-
 .../spi/editor/highlighting/support/package.html   |    18 +-
 .../editor/typinghooks/TypedBreakInterceptor.java  |     2 +-
 .../editor/typinghooks/TypedTextInterceptor.java   |     9 +-
 .../netbeans/spi/editor/typinghooks/package.html   |    18 +-
 .../netbeans/api/editor/EditorRegistryTest.java    |     3 +
 .../netbeans/api/editor/EditorUtilitiesTest.java   |    31 +
 .../highlighting/DirectMergeContainerTest.java     |   117 +-
 .../lib2/highlighting/HighlightingManagerTest.java |    55 +-
 .../lib2/highlighting/HighlightsListTest.java      |     4 +-
 .../lib2/highlighting/HighlightsMergeTesting.java  |    56 +-
 .../lib2/testactionsregistration/Bundle.properties |     1 +
 .../EditorActionRegistrationTest.java              |    17 +
 .../performance/PositionsBagFindHighlightTest.java |     6 +-
 editor.macros/build.xml                            |    39 +
 editor.macros/nbproject/project.properties         |    39 +-
 editor.macros/nbproject/project.xml                |    39 +
 editor.mimelookup.impl/arch.xml                    |    49 +-
 editor.mimelookup.impl/manifest.mf                 |     2 +-
 editor.mimelookup/arch.xml                         |    49 +-
 editor.mimelookup/manifest.mf                      |     2 +-
 .../org-netbeans-modules-editor-mimelookup.sig     |     7 +-
 .../netbeans/spi/editor/mimelookup/package.html    |    16 +-
 editor.plain.lib/manifest.mf                       |     2 +-
 editor.plain/manifest.mf                           |     2 +-
 editor.search/build.xml                            |    39 +
 editor.search/nbproject/project.properties         |    39 +-
 editor.search/nbproject/project.xml                |    49 +-
 .../modules/editor/search/Bundle.properties        |    43 +-
 .../modules/editor/search/DocumentFinder.java      |    27 +-
 .../modules/editor/search/EditorFindSupport.java   |    79 +-
 .../netbeans/modules/editor/search/SearchBar.java  |    77 +-
 .../search/actions/AddCaretSelectAllAction.java    |   142 +
 .../search/actions/AddCaretSelectNextAction.java   |   109 +
 .../editor/search/actions/Bundle.properties        |    41 +-
 .../editor/search/actions/FindNextAction.java      |     2 +-
 .../editor/search/actions/FindPreviousAction.java  |     2 +-
 .../actions/ToggleHighlightSearchAction.java       |     1 -
 .../org/netbeans/modules/editor/search/layer.xml   |    39 +
 .../modules/editor/search/resources/select_all.png |   Bin 0 -> 250 bytes
 editor.settings.lib/build.xml                      |    39 +
 editor.settings.lib/nbproject/project.properties   |    39 +-
 editor.settings.lib/nbproject/project.xml          |    39 +
 .../modules/editor/settings/lib/Bundle.properties  |    37 +
 editor.settings.storage/arch.xml                   |    49 +-
 .../nbproject/project.properties                   |     2 +-
 .../editor/settings/storage/test/Bundle.properties |    45 +-
 editor.settings/arch.xml                           |    43 +-
 editor.settings/manifest.mf                        |     2 +-
 .../org-netbeans-modules-editor-settings.sig       |     2 +-
 .../netbeans/modules/editor/settings/AttrSet.java  |    30 +-
 editor.structure/nbproject/project.properties      |     7 +-
 editor.tools.storage/arch.xml                      |    45 +-
 editor.tools.storage/build.xml                     |    39 +
 editor.tools.storage/manifest.mf                   |     2 +-
 editor.tools.storage/nbproject/project.properties  |    37 +
 editor.tools.storage/nbproject/project.xml         |    39 +
 .../modules/editor/tools/storage/Bundle.properties |    37 +
 .../modules/editor/tools/storage/layer.xml         |    39 +
 editor.util/apichanges.xml                         |    15 +-
 editor.util/arch.xml                               |    47 +-
 editor.util/manifest.mf                            |     2 +-
 .../src/org/netbeans/lib/editor/util/GapList.java  |    80 +-
 .../lib/editor/util/swing/DocumentUtilities.java   |     2 +-
 .../lib/editor/util/GapListRandomTest.java         |    83 +-
 .../editor/util/random/RandomTestContainer.java    |    11 +-
 editor/demosrc/base/settings.properties            |    37 +
 editor/manifest.mf                                 |     2 +-
 editor/nbproject/project.properties                |     2 +-
 editor/src/META-INF/netbeans/translate.names       |    37 +
 .../org/netbeans/modules/editor/NbEditorKit.java   |    10 +
 .../org/netbeans/modules/editor/NbEditorUI.java    |    89 +-
 .../src/org/netbeans/modules/editor/NbToolTip.java |     6 +-
 .../modules/editor/impl/CustomizableSideBar.java   |     7 +-
 .../impl/actions/ClipboardHistoryAction.java       |     4 +-
 .../impl/actions/NavigationHistoryBackAction.java  |     2 +-
 .../clipboardhistory/ScrollCompletionPane.java     |     9 +
 .../AnnotationTypes/annotation-type-1_0.dtd        |    39 +
 .../AnnotationTypes/annotation-type-1_1.dtd        |    39 +
 .../editor/resources/NetBeans-keybindings-mac.xml  |    14 +-
 .../editor/resources/NetBeans-keybindings.xml      |    11 +-
 .../editor/resources/SimpleIndentEngine.settings   |    39 +
 .../editor/resources/override/Bundle.properties    |    37 +
 .../netbeans/modules/editor/url/HyperlinkImpl.java |     7 +-
 editor/sub.locale.xml                              |    41 +-
 .../netbeans/test/editor/data/Bundle.properties    |    36 -
 .../modules/editor/EditorTestConstants.java        |     8 +-
 .../netbeans/modules/editor/EditorTestLookup.java  |     8 +-
 el.lexer/manifest.mf                               |     2 +-
 extbrowser.chrome/build.xml                        |    39 +
 extbrowser.chrome/manifest.mf                      |     2 +-
 extbrowser.chrome/nbproject/project.xml            |    39 +
 .../modules/extbrowser/chrome/Bundle.properties    |    37 +
 .../extbrowser/plugins/MessageListener.java        |    41 +-
 extbrowser/manifest.mf                             |     2 +-
 .../modules/extbrowser/resources/ChromeBrowser.xml |    39 +
 .../extbrowser/resources/ChromiumBrowser.xml       |    39 +
 .../extbrowser/resources/FirefoxBrowser.xml        |    39 +
 .../extbrowser/resources/IExplorerBrowser.xml      |    39 +
 .../extbrowser/resources/MicrosoftEdgeBrowser.xml  |    39 +
 .../extbrowser/resources/MozillaBrowser.xml        |    39 +
 .../modules/extbrowser/resources/SafariBrowser.xml |    39 +
 .../extbrowser/resources/SystemDefaultBrowser.xml  |    39 +
 .../extbrowser/resources/externalBrowser.xml       |    39 +
 .../modules/extbrowser/resources/simpleBrowser.xml |    39 +
 .../extbrowser/ExtWebBrowserBeanInfoTest.java      |     3 +-
 .../modules/extbrowser/ExtWebBrowserTest.java      |     3 +-
 .../modules/extbrowser/NbDdeBrowserImplTest.java   |     3 +-
 .../extbrowser/SimpleExtBrowserBeanInfoTest.java   |     3 +-
 .../modules/extbrowser/SimpleExtBrowserTest.java   |     3 +-
 .../netbeans/modules/extbrowser/URLUtilTest.java   |     3 +-
 extexecution.base/apichanges.xml                   |    15 +
 extexecution.base/arch.xml                         |    51 +-
 extexecution.base/build.xml                        |    39 +
 extexecution.base/manifest.mf                      |     2 +-
 extexecution.base/nbproject/project.properties     |     2 +-
 extexecution.base/nbproject/project.xml            |    39 +
 .../netbeans/api/extexecution/base/Processes.java  |    24 +-
 .../extexecution/base/input/InputProcessor.java    |     1 -
 .../modules/extexecution/base/WrapperProcess.java  |    21 +
 .../extexecution/base/ProcessesImplementation.java |     8 +-
 .../api/extexecution/base/ProcessesTest.java       |    42 +-
 extexecution.impl/build.xml                        |    39 +
 extexecution.impl/manifest.mf                      |     2 +-
 extexecution.impl/nbproject/project.properties     |    39 +-
 extexecution.impl/nbproject/project.xml            |    39 +
 .../extexecution/impl/resources/Bundle.properties  |    37 +
 extexecution.process.jdk9/build.xml                |    44 +
 extexecution.process.jdk9/manifest.mf              |     7 +
 .../nbproject/project.properties                   |    40 +
 extexecution.process.jdk9/nbproject/project.xml    |    76 +
 .../extexecution/process/jdk9/ProcessesImpl.java   |   117 +
 .../process/jdk9/resources/Bundle.properties       |    38 +
 extexecution.process/build.xml                     |    39 +
 extexecution.process/external/binaries-list        |     3 +
 .../external/processtreekiller-1.0.5-license.txt   |    29 -
 .../external/processtreekiller-1.0.7-license.txt   |    29 +
 extexecution.process/manifest.mf                   |     2 +-
 extexecution.process/nbproject/project.properties  |    47 +-
 extexecution.process/nbproject/project.xml         |    47 +-
 .../extexecution/process/ProcessesImpl.java        |     7 +-
 .../process/resources/Bundle.properties            |    37 +
 extexecution/arch.xml                              |    55 +-
 extexecution/build.xml                             |    39 +
 extexecution/manifest.mf                           |     2 +-
 .../org-netbeans-modules-extexecution.sig          |    64 +-
 extexecution/nbproject/project.xml                 |    39 +
 .../api/extexecution/ExecutionDescriptor.java      |     2 +
 .../api/extexecution/ExternalProcessBuilder.java   |   159 +-
 .../api/extexecution/ExternalProcessSupport.java   |    10 +-
 .../api/extexecution/input/InputProcessor.java     |     1 -
 .../api/extexecution/input/InputReaders.java       |    15 +-
 .../netbeans/modules/extexecution/StopAction.java  |     1 +
 .../modules/extexecution/WrapperProcess.java       |    96 -
 .../startup/StartupExtenderImplementation.java     |     6 +
 .../extexecution/ExternalProcessBuilderTest.java   |    45 -
 favorites/manifest.mf                              |     2 +-
 favorites/nbproject/project.xml                    |     6 +-
 findbugs.installer/build.xml                       |    39 +
 findbugs.installer/manifest.mf                     |     2 +-
 findbugs.installer/nbproject/project.properties    |    37 +
 findbugs.installer/nbproject/project.xml           |    39 +
 .../modules/findbugs/installer/Bundle.properties   |    37 +
 .../netbeans/modules/findbugs/installer/layer.xml  |    39 +
 form.binding/nbproject/project.properties          |     2 +-
 form.j2ee/nbproject/project.properties             |     2 +-
 .../modules/form/j2ee/resources/MasterDetail.html  |    75 +-
 form.kit/build.xml                                 |    39 +
 form.kit/manifest.mf                               |     2 +-
 form.kit/nbproject/project.properties              |    37 +
 form.kit/nbproject/project.xml                     |    39 +
 .../netbeans/modules/form/kit/Bundle.properties    |    37 +
 form.nb/manifest.mf                                |     1 -
 form.nb/nbproject/project.properties               |     2 +-
 .../netbeans/modules/nbform/FormEditorSupport.java |   174 +-
 .../netbeans/modules/nbform/NbFormServices.java    |     7 +-
 form.refactoring/nbproject/project.properties      |     2 +-
 form/nbproject/project.properties                  |     2 +-
 form/src/META-INF/netbeans/translate.names         |    37 +
 .../org/netbeans/modules/form/CustomCodeView.java  |     9 +
 .../org/netbeans/modules/form/FormDataLoader.java  |    37 +-
 .../org/netbeans/modules/form/FormDataObject.java  |     8 +-
 .../org/netbeans/modules/form/FormDesigner.java    |     1 -
 .../org/netbeans/modules/form/FormServices.java    |     1 +
 .../netbeans/modules/form/JavaCodeGenerator.java   |    32 +-
 .../org/netbeans/modules/form/RADComponent.java    |     6 +-
 .../modules/form/beaninfo/awt/package-info.java    |    39 +
 .../modules/form/beaninfo/swing/package-info.java  |    39 +
 .../org/netbeans/modules/form/forminfo/forms.dtd   |    47 +-
 .../modules/form/layoutdesign/LayoutFeeder.java    |     6 +-
 .../modules/form/layoutdesign/LayoutPainter.java   |    12 +-
 .../layoutdesign/LayoutPersistenceManager.java     |    29 +
 .../netbeans/modules/form/resources/AWTForms.html  |    75 +-
 .../modules/form/resources/Application.html        |    75 +-
 .../netbeans/modules/form/resources/BeanForm.html  |    75 +-
 .../netbeans/modules/form/resources/Dialog.html    |    75 +-
 .../netbeans/modules/form/resources/Dialogs.html   |    75 +-
 .../modules/form/resources/FormApplet.html         |    75 +-
 .../modules/form/resources/FormJApplet.html        |    75 +-
 .../org/netbeans/modules/form/resources/Forms.html |    75 +-
 .../org/netbeans/modules/form/resources/Frame.html |    75 +-
 .../netbeans/modules/form/resources/JDialog.html   |    75 +-
 .../netbeans/modules/form/resources/JFrame.html    |    75 +-
 .../modules/form/resources/JInternalFrame.html     |    75 +-
 .../netbeans/modules/form/resources/JPanel.html    |    75 +-
 .../modules/form/resources/MDIApplication.html     |    75 +-
 .../modules/form/resources/OKCancelDialog.html     |    75 +-
 .../org/netbeans/modules/form/resources/Panel.html |    75 +-
 .../org/netbeans/modules/form/resources/forms.dtd  |    47 +-
 .../modules/form/resources/groups/form.wsgrp       |    39 +
 .../windowmanager/palette/ComponentPalette.wstcref |    39 +
 .../modules/form/wizard/ConnectionPanel1.form      |    15 +-
 .../modules/form/wizard/ConnectionPanel1.java      |    44 +-
 .../modules/form/wizard/ConnectionPanel2.form      |    15 +-
 .../modules/form/wizard/ConnectionPanel2.java      |    30 +-
 form/sub.locale.xml                                |    41 +-
 .../data/SampleProject/nbproject/build-impl.xml    |     2 +-
 .../ALT_SeqResizing16Test-ExpectedEndModel0.txt    |    88 +
 .../ALT_SeqResizing16Test-StartingForm.form        |   176 +
 .../form/layoutdesign/ALT_SeqResizing16Test.java   |   265 +
 .../layoutdesign/ALT_SequentialPosition01.java     |   126 -
 git.remote.cli/build.xml                           |    39 +
 git.remote.cli/nbproject/project.properties        |    39 +-
 git.remote.cli/nbproject/project.xml               |    39 +
 .../netbeans/modules/git/remote/cli/GitBranch.java |    20 +-
 .../netbeans/modules/git/remote/cli/GitClient.java |    27 +-
 .../modules/git/remote/cli/GitConstants.java       |     4 +
 .../modules/git/remote/cli/GitTransportUpdate.java |    20 +-
 .../modules/git/remote/cli/SearchCriteria.java     |     9 +
 .../modules/git/remote/cli/jgit/IgnoreRule.java    |    64 +-
 .../git/remote/cli/jgit/commands/AddCommand.java   |    15 +
 .../cli/jgit/commands/CreateBranchCommand.java     |     4 +-
 .../cli/jgit/commands/DeleteBranchCommand.java     |     3 +
 .../git/remote/cli/jgit/commands/FetchCommand.java |    98 +-
 .../cli/jgit/commands/GetRemotesCommand.java       |    16 +-
 .../git/remote/cli/jgit/commands/GitCommand.java   |     8 +-
 .../git/remote/cli/jgit/commands/LogCommand.java   |    14 +-
 .../git/remote/cli/jgit/commands/PushCommand.java  |    50 +-
 .../jgit/commands/SetUpstreamBranchCommand.java    |    48 +-
 .../remote/cli/jgit/commands/StatusCommand.java    |    28 +-
 .../git/remote/cli/jgit/AbstractGitTestCase.java   |     9 +-
 .../git/remote/cli/jgit/commands/AddTest.java      |     2 +-
 .../git/remote/cli/jgit/commands/BranchTest.java   |     2 +-
 .../git/remote/cli/jgit/commands/PushTest.java     |    39 +-
 .../git/remote/cli/jgit/commands/StatusTest.java   |     3 +-
 git.remote/build.xml                               |    39 +
 git.remote/nbproject/project.properties            |    39 +-
 git.remote/nbproject/project.xml                   |    41 +-
 .../org/netbeans/modules/git/remote/Annotator.java |    24 +-
 .../modules/git/remote/FileStatusCache.java        |    13 +-
 .../modules/git/remote/FilesystemInterceptor.java  |    17 +
 .../src/org/netbeans/modules/git/remote/Git.java   |     5 +
 .../org/netbeans/modules/git/remote/GitVCS.java    |     8 +-
 .../ui/conflicts/ResolveConflictsExecutor.java     |     4 +-
 .../git/remote/ui/history/SearchExecutor.java      |     9 +-
 .../modules/git/remote/ui/push/PushAction.java     |    10 +
 .../git/remote/ui/push/PushToUpstreamAction.java   |     4 +-
 .../remote/ui/repository/OpenRepositoryAction.java |    14 +-
 .../ui/repository/RepositoryBrowserPanel.java      |    10 +-
 .../ui/repository/remote/RemoteRepository.java     |    18 +-
 .../git/remote/ui/selectors/Bundle.properties      |     5 +-
 .../modules/git/remote/ui/stash/Bundle.properties  |    37 +
 .../ui/status/GitVersioningTopComponent.java       |     4 +-
 .../ui/status/VersioningPanelController.java       |    10 +-
 .../git/remote/AbstractLocalGitTestCase.java       |     7 +-
 .../git/remote/AbstractRemoteGitTestCase.java      |    19 +-
 .../git/remote/MoveRemoteInterceptorTest.java      |     4 +-
 git/nbproject/project.properties                   |    39 +-
 git/nbproject/project.xml                          |    39 +
 git/src/org/netbeans/modules/git/api/Git.java      |     9 +
 .../modules/git/ui/blame/AnnotationBar.java        |    11 +-
 .../modules/git/ui/branch/CherryPickPanel.form     |     4 +-
 .../modules/git/ui/branch/CherryPickPanel.java     |     2 +-
 .../modules/git/ui/branch/CreateBranch.java        |     2 +-
 .../modules/git/ui/branch/CreateBranchPanel.form   |     7 +-
 .../modules/git/ui/branch/CreateBranchPanel.java   |     5 +-
 .../git/ui/branch/SelectTrackedBranchPanel.form    |     4 +-
 .../git/ui/branch/SelectTrackedBranchPanel.java    |     2 +-
 .../git/ui/checkout/AbstractCheckoutAction.java    |     5 +
 .../git/ui/checkout/AbstractCheckoutRevision.java  |    32 +-
 .../git/ui/checkout/CheckoutRevisionPanel.form     |     4 +-
 .../git/ui/checkout/CheckoutRevisionPanel.java     |     2 +-
 .../modules/git/ui/commit/GitCommitPanel.java      |     4 +-
 .../modules/git/ui/diff/MultiDiffPanel.form        |    40 +-
 .../modules/git/ui/diff/MultiDiffPanel.java        |    20 +-
 .../git/ui/diff/MultiDiffPanelController.java      |     4 +-
 .../git/ui/history/SearchCriteriaPanel.java        |     9 +-
 .../modules/git/ui/history/SearchExecutor.java     |     4 +-
 .../git/ui/history/SearchHistoryAction.java        |     6 +-
 .../modules/git/ui/history/SearchHistoryPanel.form |     8 +-
 .../modules/git/ui/history/SearchHistoryPanel.java |     8 +-
 .../modules/git/ui/history/SearchIncoming.java     |   115 +
 .../git/ui/history/SearchIncomingAction.java       |    60 +-
 .../git/ui/history/SearchIncomingTopComponent.java |     4 +-
 .../history/SearchIncomingWithContextAction.java   |    65 +
 .../modules/git/ui/history/SearchOutgoing.java     |   116 +
 .../git/ui/history/SearchOutgoingAction.java       |    60 +-
 .../git/ui/history/SearchOutgoingTopComponent.java |     4 +-
 .../history/SearchOutgoingWithContextAction.java   |    65 +
 .../netbeans/modules/git/ui/menu/RemoteMenu.java   |    22 +
 .../netbeans/modules/git/ui/rebase/BasicPanel.form |    20 +-
 .../netbeans/modules/git/ui/rebase/BasicPanel.java |    10 +-
 .../modules/git/ui/rebase/SelectDestPanel.form     |    24 +-
 .../modules/git/ui/rebase/SelectDestPanel.java     |    12 +-
 .../modules/git/ui/repository/RepositoryInfo.java  |     6 +-
 .../modules/git/ui/revert/RevertCommitPanel.form   |     4 +-
 .../modules/git/ui/revert/RevertCommitPanel.java   |     2 +-
 .../modules/git/ui/selectors/Bundle.properties     |     5 +-
 .../modules/git/ui/stash/Bundle.properties         |    37 +
 .../netbeans/modules/git/ui/stash/SaveStash.java   |     2 +-
 .../modules/git/ui/status/VersioningPanel.form     |    36 +-
 .../modules/git/ui/status/VersioningPanel.java     |    18 +-
 .../org/netbeans/modules/git/ui/tag/CreateTag.java |     2 +-
 .../modules/git/ui/tag/CreateTagPanel.form         |     4 +-
 .../modules/git/ui/tag/CreateTagPanel.java         |     2 +-
 glassfish.common/manifest.mf                       |     2 +-
 glassfish.common/nbproject/project.xml             |    41 +-
 .../modules/glassfish/common/Bundle.properties     |     1 +
 .../modules/glassfish/common/NbProxySelector.java  |   342 -
 .../modules/glassfish/common/ProxySettings.java    |   135 -
 .../modules/glassfish/common/ServerDetails.java    |   135 +-
 .../nodes/actions/DeployDirectoryAction.java       |    46 +-
 .../modules/glassfish/common/resources/stop.png    |   Bin 550 -> 426 bytes
 .../glassfish/common/utils/AdminKeyFile.java       |     6 +-
 .../wizards/AddServerLocationVisualPanel.form      |    12 +-
 .../wizards/AddServerLocationVisualPanel.java      |    10 +-
 glassfish.eecommon/build.xml                       |    39 +
 glassfish.eecommon/nbproject/project.properties    |    39 +-
 glassfish.eecommon/nbproject/project.xml           |    39 +
 .../netbeans/modules/glassfish/eecommon/layer.xml  |    39 +
 glassfish.javaee/manifest.mf                       |     2 +-
 glassfish.javaee/nbproject/project.properties      |    37 +
 .../modules/glassfish/javaee/ant-deploy.xml        |    41 +-
 .../netbeans/modules/glassfish/javaee/layer.xml    |    39 +
 .../netbeans/modules/glassfish/javaee/nbdep.xml    |    82 +-
 .../netbeans/modules/glassfish/javaee/nbdepee6.xml |    82 +-
 .../modules/glassfish/javaee/nbdepee6wc.xml        |    82 +-
 .../glassfish/javaee/templates/weblogicDD.html     |    39 +
 glassfish.tooling/build.xml                        |    39 +
 glassfish.tooling/manifest.mf                      |     2 +-
 glassfish.tooling/nbproject/project.properties     |    37 +
 glassfish.tooling/nbproject/project.xml            |    56 +
 .../glassfish/tooling/ExceptionMessages.properties |    30 +-
 .../glassfish/tooling/GlassFishIdeException.java   |    28 +-
 .../modules/glassfish/tooling/GlassFishStatus.java |    28 +-
 .../glassfish/tooling/GlassFishStatusListener.java |    28 +-
 .../glassfish/tooling/GlassFishToolsConfig.java    |    28 +-
 .../glassfish/tooling/LogMessages.properties       |    32 +-
 .../modules/glassfish/tooling/TaskEvent.java       |    28 +-
 .../modules/glassfish/tooling/TaskState.java       |    28 +-
 .../glassfish/tooling/TaskStateListener.java       |    30 +-
 .../glassfish/tooling/admin/ActionReport.java      |    30 +-
 .../glassfish/tooling/admin/AdminFactory.java      |    28 +-
 .../glassfish/tooling/admin/AdminFactoryHttp.java  |    28 +-
 .../glassfish/tooling/admin/AdminFactoryRest.java  |    30 +-
 .../modules/glassfish/tooling/admin/Command.java   |    30 +-
 .../tooling/admin/CommandAddResources.java         |    30 +-
 .../tooling/admin/CommandChangeAdminPassword.java  |    28 +-
 .../tooling/admin/CommandCreateAdminObject.java    |    30 +-
 .../tooling/admin/CommandCreateCluster.java        |    28 +-
 .../tooling/admin/CommandCreateConnector.java      |    30 +-
 .../CommandCreateConnectorConnectionPool.java      |    32 +-
 .../tooling/admin/CommandCreateInstance.java       |    28 +-
 .../admin/CommandCreateJDBCConnectionPool.java     |    30 +-
 .../tooling/admin/CommandCreateJDBCResource.java   |    30 +-
 .../tooling/admin/CommandDeleteCluster.java        |    28 +-
 .../tooling/admin/CommandDeleteInstance.java       |    28 +-
 .../tooling/admin/CommandDeleteResource.java       |    42 +-
 .../glassfish/tooling/admin/CommandDeploy.java     |    28 +-
 .../glassfish/tooling/admin/CommandDisable.java    |    30 +-
 .../glassfish/tooling/admin/CommandEnable.java     |    30 +-
 .../glassfish/tooling/admin/CommandException.java  |    30 +-
 .../tooling/admin/CommandFetchLogData.java         |    28 +-
 .../tooling/admin/CommandGetProperty.java          |    30 +-
 .../glassfish/tooling/admin/CommandJava.java       |    30 +-
 .../tooling/admin/CommandJavaClassPath.java        |    30 +-
 .../tooling/admin/CommandListComponents.java       |    28 +-
 .../tooling/admin/CommandListResources.java        |    28 +-
 .../tooling/admin/CommandListWebServices.java      |    30 +-
 .../glassfish/tooling/admin/CommandLocation.java   |    30 +-
 .../glassfish/tooling/admin/CommandRedeploy.java   |    30 +-
 .../glassfish/tooling/admin/CommandRestartDAS.java |    30 +-
 .../tooling/admin/CommandRestoreDomain.java        |    45 +-
 .../tooling/admin/CommandSetProperty.java          |    32 +-
 .../tooling/admin/CommandStartCluster.java         |    28 +-
 .../glassfish/tooling/admin/CommandStartDAS.java   |    30 +-
 .../tooling/admin/CommandStartInstance.java        |    28 +-
 .../tooling/admin/CommandStopCluster.java          |    28 +-
 .../glassfish/tooling/admin/CommandStopDAS.java    |    30 +-
 .../tooling/admin/CommandStopInstance.java         |    28 +-
 .../glassfish/tooling/admin/CommandTarget.java     |    28 +-
 .../glassfish/tooling/admin/CommandTargetName.java |    30 +-
 .../glassfish/tooling/admin/CommandUndeploy.java   |    30 +-
 .../glassfish/tooling/admin/CommandVersion.java    |    30 +-
 .../tooling/admin/ExceptionMessages.properties     |    28 +-
 .../glassfish/tooling/admin/LogMessages.properties |    32 +-
 .../glassfish/tooling/admin/MessagePart.java       |    39 +-
 .../glassfish/tooling/admin/PasswordFile.java      |    28 +-
 .../glassfish/tooling/admin/ProcessIOContent.java  |    28 +-
 .../glassfish/tooling/admin/ProcessIOParser.java   |    28 +-
 .../glassfish/tooling/admin/ProcessIOResult.java   |    28 +-
 .../modules/glassfish/tooling/admin/Result.java    |    28 +-
 .../glassfish/tooling/admin/ResultList.java        |    30 +-
 .../modules/glassfish/tooling/admin/ResultLog.java |    28 +-
 .../modules/glassfish/tooling/admin/ResultMap.java |    28 +-
 .../glassfish/tooling/admin/ResultProcess.java     |    28 +-
 .../glassfish/tooling/admin/ResultString.java      |    28 +-
 .../modules/glassfish/tooling/admin/Runner.java    |    28 +-
 .../glassfish/tooling/admin/RunnerAsadmin.java     |    28 +-
 .../admin/RunnerAsadminChangeAdminPassword.java    |    28 +-
 .../tooling/admin/RunnerAsadminRestoreDomain.java  |    47 +-
 .../glassfish/tooling/admin/RunnerHttp.java        |    30 +-
 .../tooling/admin/RunnerHttpAddResources.java      |    30 +-
 .../glassfish/tooling/admin/RunnerHttpClass.java   |    28 +-
 .../tooling/admin/RunnerHttpCreateAdminObject.java |    30 +-
 .../tooling/admin/RunnerHttpCreateConnector.java   |    30 +-
 .../RunnerHttpCreateConnectorConnectionPool.java   |    28 +-
 .../tooling/admin/RunnerHttpCreateInstance.java    |    30 +-
 .../admin/RunnerHttpCreateJDBCConnectionPool.java  |    30 +-
 .../admin/RunnerHttpCreateJDBCResource.java        |    28 +-
 .../tooling/admin/RunnerHttpDeleteInstance.java    |    30 +-
 .../tooling/admin/RunnerHttpDeleteResource.java    |    28 +-
 .../glassfish/tooling/admin/RunnerHttpDeploy.java  |    32 +-
 .../tooling/admin/RunnerHttpEnableDisable.java     |    30 +-
 .../tooling/admin/RunnerHttpGetProperty.java       |    28 +-
 .../tooling/admin/RunnerHttpListComponents.java    |    28 +-
 .../tooling/admin/RunnerHttpListResources.java     |    28 +-
 .../tooling/admin/RunnerHttpListWebServices.java   |    30 +-
 .../tooling/admin/RunnerHttpLocation.java          |    32 +-
 .../tooling/admin/RunnerHttpRedeploy.java          |    30 +-
 .../tooling/admin/RunnerHttpRestartDAS.java        |    32 +-
 .../tooling/admin/RunnerHttpSetProperty.java       |    30 +-
 .../glassfish/tooling/admin/RunnerHttpTarget.java  |    30 +-
 .../tooling/admin/RunnerHttpUndeploy.java          |    30 +-
 .../glassfish/tooling/admin/RunnerJava.java        |    28 +-
 .../glassfish/tooling/admin/RunnerLocal.java       |    28 +-
 .../glassfish/tooling/admin/RunnerRest.java        |    28 +-
 .../tooling/admin/RunnerRestAddResources.java      |    32 +-
 .../glassfish/tooling/admin/RunnerRestClass.java   |    28 +-
 .../tooling/admin/RunnerRestCreateCluster.java     |    30 +-
 .../tooling/admin/RunnerRestCreateConnector.java   |    34 +-
 .../admin/RunnerRestCreateConnectorPool.java       |    34 +-
 .../tooling/admin/RunnerRestCreateInstance.java    |    32 +-
 .../admin/RunnerRestCreateJDBCConnectionPool.java  |    34 +-
 .../admin/RunnerRestCreateJDBCResource.java        |    34 +-
 .../tooling/admin/RunnerRestDeleteCluster.java     |    32 +-
 .../tooling/admin/RunnerRestDeleteInstance.java    |    32 +-
 .../tooling/admin/RunnerRestDeleteResource.java    |    32 +-
 .../glassfish/tooling/admin/RunnerRestDeploy.java  |    28 +-
 .../glassfish/tooling/admin/RunnerRestDisable.java |    28 +-
 .../glassfish/tooling/admin/RunnerRestEnable.java  |    28 +-
 .../tooling/admin/RunnerRestFetchLogData.java      |    30 +-
 .../tooling/admin/RunnerRestGetProperty.java       |    28 +-
 .../glassfish/tooling/admin/RunnerRestList.java    |    28 +-
 .../tooling/admin/RunnerRestListApplications.java  |    32 +-
 .../tooling/admin/RunnerRestListResources.java     |    32 +-
 .../tooling/admin/RunnerRestListWebServices.java   |    32 +-
 .../tooling/admin/RunnerRestLocation.java          |    34 +-
 .../tooling/admin/RunnerRestSetProperty.java       |    28 +-
 .../tooling/admin/RunnerRestStartCluster.java      |    32 +-
 .../tooling/admin/RunnerRestStartInstance.java     |    32 +-
 .../tooling/admin/RunnerRestStopCluster.java       |    32 +-
 .../glassfish/tooling/admin/RunnerRestStopDAS.java |    30 +-
 .../tooling/admin/RunnerRestStopInstance.java      |    32 +-
 .../tooling/admin/RunnerRestUndeploy.java          |    32 +-
 .../glassfish/tooling/admin/ServerAdmin.java       |    28 +-
 .../modules/glassfish/tooling/admin/ValueLog.java  |    30 +-
 .../glassfish/tooling/admin/ValueProcess.java      |    28 +-
 .../glassfish/tooling/admin/cloud/CloudTasks.java  |    34 +-
 .../tooling/admin/cloud/CommandCloud.java          |    30 +-
 .../tooling/admin/cloud/CommandCloudDeploy.java    |    30 +-
 .../tooling/admin/cloud/RunnerHttpCloud.java       |    30 +-
 .../tooling/admin/cloud/RunnerRestCloud.java       |    30 +-
 .../tooling/admin/cloud/RunnerRestCloudDeploy.java |    28 +-
 .../tooling/admin/response/ActionReport.java       |    30 +-
 .../tooling/admin/response/MessagePart.java        |    28 +-
 .../admin/response/ResponseContentType.java        |    39 +-
 .../tooling/admin/response/ResponseParser.java     |    28 +-
 .../admin/response/ResponseParserFactory.java      |    41 +-
 .../tooling/admin/response/RestActionReport.java   |    28 +-
 .../admin/response/RestJSONResponseParser.java     |    28 +-
 .../tooling/admin/response/RestResponseParser.java |    39 +-
 .../admin/response/RestXMLResponseParser.java      |    28 +-
 .../glassfish/tooling/data/DataException.java      |    30 +-
 .../tooling/data/ExceptionMessages.properties      |    28 +-
 .../tooling/data/GlassFishAdminInterface.java      |    28 +-
 .../glassfish/tooling/data/GlassFishConfig.java    |    32 +-
 .../glassfish/tooling/data/GlassFishContainer.java |    30 +-
 .../tooling/data/GlassFishJavaEEConfig.java        |    41 +-
 .../tooling/data/GlassFishJavaSEConfig.java        |    30 +-
 .../glassfish/tooling/data/GlassFishLibrary.java   |    43 +-
 .../glassfish/tooling/data/GlassFishServer.java    |    28 +-
 .../tooling/data/GlassFishServerEntity.java        |    28 +-
 .../tooling/data/GlassFishServerStatus.java        |    28 +-
 .../tooling/data/GlassFishStatusCheck.java         |    28 +-
 .../tooling/data/GlassFishStatusCheckResult.java   |    34 +-
 .../tooling/data/GlassFishStatusTask.java          |    28 +-
 .../glassfish/tooling/data/GlassFishVersion.java   |   179 +-
 .../modules/glassfish/tooling/data/IdeContext.java |    28 +-
 .../glassfish/tooling/data/LogMessages.properties  |    28 +-
 .../glassfish/tooling/data/StartupArgs.java        |    40 +-
 .../glassfish/tooling/data/StartupArgsEntity.java  |    28 +-
 .../modules/glassfish/tooling/data/ToolConfig.java |    30 +-
 .../glassfish/tooling/data/ToolsConfig.java        |    28 +-
 .../tooling/data/cloud/GlassFishAccount.java       |    28 +-
 .../tooling/data/cloud/GlassFishAccountEntity.java |    30 +-
 .../tooling/data/cloud/GlassFishCloud.java         |    32 +-
 .../tooling/data/cloud/GlassFishCloudEntity.java   |    32 +-
 .../modules/glassfish/tooling/logging/Logger.java  |    28 +-
 .../tooling/server/ExceptionMessages.properties    |    28 +-
 .../modules/glassfish/tooling/server/FetchLog.java |    30 +-
 .../glassfish/tooling/server/FetchLogEvent.java    |    30 +-
 .../tooling/server/FetchLogEventListener.java      |    28 +-
 .../tooling/server/FetchLogException.java          |    28 +-
 .../glassfish/tooling/server/FetchLogLocal.java    |    30 +-
 .../glassfish/tooling/server/FetchLogPiped.java    |    30 +-
 .../glassfish/tooling/server/FetchLogRemote.java   |    28 +-
 .../glassfish/tooling/server/FetchLogSimple.java   |    30 +-
 .../glassfish/tooling/server/JpaSupport.java       |    30 +-
 .../tooling/server/LogMessages.properties          |    34 +-
 .../glassfish/tooling/server/ServerStatus.java     |    49 +-
 .../glassfish/tooling/server/ServerTasks.java      |    28 +-
 .../tooling/server/config/AsadminTool.java         |    30 +-
 .../glassfish/tooling/server/config/Config.java    |    28 +-
 .../tooling/server/config/ConfigBuilder.java       |    28 +-
 .../server/config/ConfigBuilderProvider.java       |    28 +-
 .../tooling/server/config/ConfigUtils.java         |    28 +-
 .../glassfish/tooling/server/config/FileSet.java   |    28 +-
 .../server/config/GlassFishConfigManager.java      |    28 +-
 .../server/config/GlassFishConfigXMLImpl.java      |    28 +-
 .../tooling/server/config/GlassFishTool.java       |    30 +-
 .../tooling/server/config/GlassFishV3.xml          |    24 +-
 .../tooling/server/config/GlassFishV4.xml          |    24 +-
 .../tooling/server/config/GlassFishV4_1.xml        |    24 +-
 .../tooling/server/config/JavaEEProfile.java       |    28 +-
 .../glassfish/tooling/server/config/JavaEESet.java |    30 +-
 .../tooling/server/config/JavaSEPlatform.java      |    30 +-
 .../glassfish/tooling/server/config/JavaSESet.java |    28 +-
 .../glassfish/tooling/server/config/JavaSet.java   |    30 +-
 .../tooling/server/config/LibraryNode.java         |    30 +-
 .../tooling/server/config/ModuleType.java          |    30 +-
 .../server/config/ServerConfigException.java       |    30 +-
 .../glassfish/tooling/server/config/Tools.java     |    28 +-
 .../tooling/server/parser/AbstractReader.java      |    30 +-
 .../tooling/server/parser/ConfigReader.java        |    28 +-
 .../server/parser/ConfigReaderClasspath.java       |    28 +-
 .../tooling/server/parser/ConfigReaderJava.java    |    28 +-
 .../tooling/server/parser/ConfigReaderJavaEE.java  |    30 +-
 .../tooling/server/parser/ConfigReaderJavaSE.java  |    30 +-
 .../server/parser/ConfigReaderJavadocs.java        |    28 +-
 .../tooling/server/parser/ConfigReaderServer.java  |    28 +-
 .../tooling/server/parser/ConfigReaderSources.java |    30 +-
 .../tooling/server/parser/ConfigReaderTools.java   |    28 +-
 .../tooling/server/parser/FilesetReader.java       |    34 +-
 .../glassfish/tooling/server/parser/HttpData.java  |    45 +-
 .../tooling/server/parser/HttpListenerReader.java  |    28 +-
 .../tooling/server/parser/JavaEEModuleReader.java  |    30 +-
 .../server/parser/JavaEEProfileCheckReader.java    |    32 +-
 .../tooling/server/parser/JavaEEProfileReader.java |    30 +-
 .../server/parser/JavaSEPlatformReader.java        |    28 +-
 .../tooling/server/parser/JmxConnectorReader.java  |    28 +-
 .../tooling/server/parser/JvmConfigReader.java     |    30 +-
 .../tooling/server/parser/LinkReader.java          |    28 +-
 .../tooling/server/parser/LogMessages.properties   |    32 +-
 .../tooling/server/parser/LookupReader.java        |    30 +-
 .../server/parser/NetworkListenerReader.java       |    30 +-
 .../tooling/server/parser/PathReader.java          |    28 +-
 .../tooling/server/parser/ResourcesReader.java     |    39 +-
 .../server/parser/TargetConfigNameReader.java      |    41 +-
 .../tooling/server/parser/TargetConfigReader.java  |    45 +-
 .../tooling/server/parser/ToolsAsadminReader.java  |    30 +-
 .../tooling/server/parser/TreeParser.java          |    28 +-
 .../glassfish/tooling/server/parser/XMLReader.java |    49 +-
 .../tooling/server/state/AbstractTask.java         |    30 +-
 .../tooling/server/state/AdminPortTask.java        |    28 +-
 .../server/state/ExceptionMessages.properties      |    28 +-
 .../server/state/GlassFishStatusEntity.java        |    28 +-
 .../tooling/server/state/LogMessages.properties    |    28 +-
 .../glassfish/tooling/server/state/RunnerTask.java |    28 +-
 .../tooling/server/state/ServerStateException.java |    30 +-
 .../glassfish/tooling/server/state/StatusJob.java  |    28 +-
 .../tooling/server/state/StatusJobState.java       |    30 +-
 .../tooling/server/state/StatusResult.java         |    28 +-
 .../server/state/StatusResultLocations.java        |    28 +-
 .../tooling/server/state/StatusResultVersion.java  |    28 +-
 .../tooling/server/state/StatusScheduler.java      |    28 +-
 .../tooling/utils/CyclicStringBuffer.java          |    30 +-
 .../tooling/utils/ExceptionMessages.properties     |    28 +-
 .../modules/glassfish/tooling/utils/Jar.java       |    28 +-
 .../glassfish/tooling/utils/JarException.java      |    30 +-
 .../modules/glassfish/tooling/utils/JavaUtils.java |    28 +-
 .../glassfish/tooling/utils/LinkedList.java        |    30 +-
 .../glassfish/tooling/utils/LogMessages.properties |    28 +-
 .../modules/glassfish/tooling/utils/NetUtils.java  |    28 +-
 .../modules/glassfish/tooling/utils/OsUtils.java   |    30 +-
 .../glassfish/tooling/utils/ServerUtils.java       |    34 +-
 .../glassfish/tooling/utils/StringPrefixTree.java  |    32 +-
 .../modules/glassfish/tooling/utils/Utils.java     |    28 +-
 .../modules/glassfish/tooling/CommonTest.java      |    28 +-
 .../modules/glassfish/tooling/ExceptionTest.java   |    28 +-
 .../glassfish/tooling/TestDomainV3Constants.java   |    41 +-
 .../glassfish/tooling/TestDomainV4Constants.java   |    47 +-
 .../glassfish/tooling/admin/AdminFactoryTest.java  |    30 +-
 .../tooling/admin/CommandAsadminTest.java          |    30 +-
 .../glassfish/tooling/admin/CommandDASTest.java    |    30 +-
 .../admin/CommandHttpEnableDisableTest.java        |    30 +-
 .../tooling/admin/CommandHttpGetPropertyTest.java  |    28 +-
 .../tooling/admin/CommandHttpLifeCycleTest.java    |    30 +-
 .../admin/CommandHttpListComponentsTest.java       |    30 +-
 .../admin/CommandHttpListWebServicesTest.java      |    30 +-
 .../tooling/admin/CommandHttpLocationTest.java     |    28 +-
 .../tooling/admin/CommandHttpResourcesTest.java    |    32 +-
 .../tooling/admin/CommandHttpSetPropertyTest.java  |    28 +-
 .../glassfish/tooling/admin/CommandHttpTest.java   |    28 +-
 .../tooling/admin/CommandHttpVersionTest.java      |    28 +-
 .../tooling/admin/CommandRestApplicationTest.java  |    30 +-
 .../tooling/admin/CommandRestClusterTest.java      |    34 +-
 .../tooling/admin/CommandRestFetchLogDataTest.java |    30 +-
 .../tooling/admin/CommandRestInstanceTest.java     |    34 +-
 .../admin/CommandRestListApplicationsTest.java     |    28 +-
 .../admin/CommandRestListWebServicesTest.java      |    30 +-
 .../tooling/admin/CommandRestLocationTest.java     |    28 +-
 .../tooling/admin/CommandRestPropertiesTest.java   |    28 +-
 .../tooling/admin/CommandRestResourcesTest.java    |    30 +-
 .../tooling/admin/CommandRestStopDASTest.java      |    28 +-
 .../glassfish/tooling/admin/CommandRestTest.java   |    28 +-
 .../tooling/admin/CommandRestVersionTest.java      |    28 +-
 .../glassfish/tooling/admin/CommandTest.java       |    28 +-
 .../glassfish/tooling/admin/ProcessIOTest.java     |    28 +-
 .../glassfish/tooling/admin/TaskStateTest.java     |    32 +-
 .../admin/cloud/CommandCloudDeployTest.java        |    32 +-
 .../tooling/admin/response/ResponseParserTest.java |    28 +-
 .../glassfish/tooling/server/FetchLogTest.java     |    28 +-
 .../modules/glassfish/tooling/server/GF.properties |    37 +
 .../glassfish/tooling/server/HttpPostTest.java     |    28 +-
 .../glassfish/tooling/server/ServerStatusTest.java |    30 +-
 .../glassfish/tooling/server/ServerTasksTest.java  |    30 +-
 .../tooling/server/config/ConfigBuilderTest.java   |    30 +-
 .../server/config/DomainConfigReadersTest.java     |    45 +-
 .../tooling/server/config/GlassfishConfigTest.java |    28 +-
 .../tooling/server/state/GlassFishStatusTest.java  |    30 +-
 .../tooling/utils/CyclicStringBufferTest.java      |    28 +-
 .../modules/glassfish/tooling/utils/JarTest.java   |    30 +-
 .../glassfish/tooling/utils/JavaUtilTest.java      |    30 +-
 .../glassfish/tooling/utils/ServerUtilTest.java    |    28 +-
 .../glassfish/tooling/utils/StreamLinesList.java   |    30 +-
 .../tooling/utils/StringPrefixTreeTest.java        |    28 +-
 gototest/manifest.mf                               |     2 +-
 groovy.antproject/build.xml                        |    39 +
 groovy.antproject/manifest.mf                      |     2 +-
 groovy.antproject/nbproject/project.properties     |    37 +
 groovy.antproject/nbproject/project.xml            |    39 +
 .../modules/groovy/antproject/Bundle.properties    |    37 +
 .../groovy/antproject/base/Bundle.properties       |    37 +
 .../antproject/resources/groovy-build-65.xml       |    39 +
 .../resources/groovy-build-sample-65.xml           |    39 +
 groovy.editor/build.xml                            |    39 +
 groovy.editor/manifest.mf                          |     2 +-
 groovy.editor/nbproject/project.properties         |    37 +
 groovy.editor/nbproject/project.xml                |    48 +
 .../groovy/editor/actions/Bundle.properties        |     3 +-
 .../groovy/editor/actions/FixImportsAction.java    |     4 +-
 .../groovy/editor/api/completion/Bundle.properties |     2 +-
 .../groovy/editor/resources/DefaultAbbrevs.xml     |     2 +-
 .../groovy/editor/resources/DefaultKeyBindings.xml |     2 +-
 .../groovy/editor/resources/fontsColors.xml        |    43 +-
 .../modules/groovy/editor/resources/layer.xml      |    43 +-
 ...ng1.groovy.testClassMethodFieldLong1.completion |     1 +
 ...ng2.groovy.testClassMethodFieldLong2.completion |     1 +
 ...2.groovy.testClassMethodFieldString2.completion |     1 -
 ...ng1.groovy.testClassMethodLocalLong1.completion |     1 +
 ...ng2.groovy.testClassMethodLocalLong2.completion |     1 +
 ...estCase.groovy.testMethodCompletion2.completion |     8 +-
 .../ScriptLong1.groovy.testScriptLong1.completion  |     1 +
 .../ScriptLong2.groovy.testScriptLong2.completion  |     1 +
 ...riptString2.groovy.testScriptString2.completion |     1 -
 ...evels1.groovy.testBasicAccessLevels1.completion |     1 +
 ...Closure1.groovy.testInsideClosure1_1.completion |    24 +-
 ...Closure1.groovy.testInsideClosure1_5.completion |     3 +-
 ...Closure1.groovy.testInsideClosure1_7.completion |     3 +-
 ...llections1.groovy.testCollections1_3.completion |     3 +
 ...llections1.groovy.testCollections1_4.completion |     1 +
 ...llections1.groovy.testCollections1_5.completion |    91 +-
 ...nstructors4.groovy.testConstructors4.completion |     4 +-
 ...nstructors5.groovy.testConstructors5.completion |     4 +-
 ...nstructors7.groovy.testConstructors7.completion |     2 +-
 ...nstructors8.groovy.testConstructors8.completion |     4 +-
 ...osure1.groovy.testDataSourceClosure1.completion |     1 +
 .../Inference1.groovy.testInference1.completion    |     3 +
 ...n1.groovy.testInterfaceCompletion1_1.completion |     7 +-
 ...1.groovy.testCompletionForLiteral1_1.completion |     1 +
 ...1.groovy.testCompletionForLiteral1_3.completion |     7 +-
 ....groovy.testCompletionGroovyClass1_1.completion |     1 +
 ....groovy.testCompletionGroovySuper1_1.completion |     1 +
 ...groovy.testCompletionInMethodCall2_1.completion |     6 +-
 ...r1.groovy.testCompletionInsideFor1_2.completion |    15 +
 ...groovy.testCompletionNoPrefixString1.completion |    48 +-
 ...groovy.testCompletionNoPrefixString2.completion |    48 +-
 .../Methods1.groovy.testMethods1_3.completion      |     1 +
 .../Methods1.groovy.testMethods1_4.completion      |     2 +
 .../Methods2.groovy.testMethods2_1.completion      |     7 +
 ...structor.groovy.testEmptyConstructor.completion |    33 +-
 ....testFewParamsConstructor_AfterComma.completion |    20 +
 ...amsConstructor_InsideNamedParameter2.completion |    20 +
 ...perator1.groovy.testElvisOperator1_1.completion |     2 +-
 ...perator2.groovy.testElvisOperator2_1.completion |     2 +-
 ...perator3.groovy.testElvisOperator3_1.completion |     2 +-
 ...Closure1.groovy.testMethodClosure1_3.completion |     3 +
 ...gation1.groovy.testSafeNavigation1_3.completion |     3 +
 ....testSpreadOperator1_stringArray_all.completion |    48 +-
 ...tSpreadOperator2_stringArray_sPrefix.completion |     4 +-
 ...ovy.testSpreadOperator3_intArray_all.completion |    18 +-
 ...testSpreadOperator4_intArray_sPrefix.completion |     3 +-
 ...oovy.testAfterExtendsTypeCompletion1.completion |    24 +-
 ...oovy.testAfterExtendsTypeCompletion3.completion |     1 +
 ...ion1.groovy.testFieldTypeCompletion1.completion |     1 +
 ...ovy.testLocalVariableTypeCompletion1.completion |     1 +
 ....groovy.testSingleton3_withoutPrefix.completion |     3 +
 .../Variables1.groovy.testVariables1_1.completion  |     1 +
 groovy.grails/build.xml                            |    39 +
 groovy.grails/manifest.mf                          |     2 +-
 groovy.grails/nbproject/project.properties         |    37 +
 groovy.grails/nbproject/project.xml                |    39 +
 .../modules/groovy/grails/RuntimeHelper.java       |    80 +-
 .../modules/groovy/grails/api/GrailsPlatform.java  |    29 +-
 .../groovy/grails/resources/Bundle.properties      |    37 +
 .../groovy/grails/resources/GrailsIcon16x16.png    |   Bin 976 -> 1012 bytes
 .../modules/groovy/grails/resources/layer.xml      |    41 +-
 groovy.grailsproject/build.xml                     |    39 +
 groovy.grailsproject/manifest.mf                   |     2 +-
 groovy.grailsproject/nbproject/project.properties  |    37 +
 groovy.grailsproject/nbproject/project.xml         |    48 +
 .../groovy/grailsproject/GrailsSources.java        |     7 +
 .../groovy/grailsproject/plugins/Bundle.properties |    37 +
 .../groovy/grailsproject/resources/Controller.html |    36 +-
 .../grailsproject/resources/DomainClass.html       |    36 +-
 .../groovy/grailsproject/resources/GantScript.html |    38 +-
 .../grailsproject/resources/GrailsIcon16x16.png    |   Bin 976 -> 1012 bytes
 .../grailsproject/resources/IntegrationTest.html   |    38 +-
 .../groovy/grailsproject/resources/Service.html    |    36 +-
 .../groovy/grailsproject/resources/TagLib.html     |    38 +-
 .../groovy/grailsproject/resources/UnitTest.html   |    36 +-
 .../grailsproject/resources/defaultFolder.gif      |   Bin
 .../grailsproject/resources/defaultFolderOpen.gif  |   Bin
 .../groovy/grailsproject/resources/desktop.html    |    36 +-
 .../grailsproject/resources/emptyProject.html      |    38 +-
 .../groovy/grailsproject/resources/layer.xml       |    41 +-
 .../grailsproject/resources/projectfilesBadge.png  |   Bin 0 -> 338 bytes
 .../groovy/grailsproject/ui/Bundle.properties      |     2 +
 .../groovy/grailsproject/ui/ProjectFilesNode.java  |   146 +
 .../grailsproject/ui/ProjectFilesNodeFactory.java  |    66 +
 .../groovy/grailsproject/ui/SourceNodeFactory.java |     3 +-
 groovy.gsp/build.xml                               |    39 +
 groovy.gsp/manifest.mf                             |     2 +-
 groovy.gsp/nbproject/project.properties            |    37 +
 groovy.gsp/nbproject/project.xml                   |    48 +
 .../editor/embedding/HtmlEmbeddingProvider.java    |     4 +-
 .../modules/groovy/gsp/resources/Bundle.properties |    37 +
 .../gsp/resources/DefaultKeyBindings-Mac.xml       |    47 +-
 .../groovy/gsp/resources/DefaultKeyBindings.xml    |     2 +-
 .../modules/groovy/gsp/resources/GspTemplate.html  |    32 +-
 .../modules/groovy/gsp/resources/layer.xml         |    43 +-
 groovy.kit/build.xml                               |    41 +-
 groovy.kit/manifest.mf                             |     2 +-
 groovy.kit/nbproject/project.xml                   |    39 +
 groovy.kit/release/VERSION.txt                     |     2 +-
 .../netbeans/modules/groovy/kit/Bundle.properties  |    37 +
 groovy.refactoring/build.xml                       |    39 +
 groovy.refactoring/manifest.mf                     |     2 +-
 groovy.refactoring/nbproject/project.properties    |    37 +
 groovy.refactoring/nbproject/project.xml           |    48 +
 .../groovy/refactoring/resources/Bundle.properties |    37 +
 .../modules/groovy/refactoring/resources/layer.xml |    39 +
 groovy.samples/build.xml                           |    39 +
 groovy.samples/manifest.mf                         |     2 +-
 groovy.samples/nbproject/project.properties        |    37 +
 groovy.samples/nbproject/project.xml               |    39 +
 groovy.samples/sample_src/GroovyJavaDemo/build.xml |    45 +-
 .../GroovyJavaDemo/nbproject/project.properties    |    37 +
 .../GroovyJavaDemo/nbproject/project.xml           |    39 +
 .../sample_src/NBProjectGenerators/build.xml       |    45 +-
 .../nbproject/project.properties                   |    37 +
 .../NBProjectGenerators/nbproject/project.xml      |    39 +
 .../modules/groovy/samples/Bundle.properties       |    37 +
 .../groovy/samples/gjdemo/Bundle.properties        |    37 +
 .../samples/gjdemo/GroovyJavaDemoDescription.html  |    11 +-
 .../org/netbeans/modules/groovy/samples/layer.xml  |    39 +
 .../groovy/samples/nbprojectgen/Bundle.properties  |    37 +
 .../NBProjectGeneratorsDescription.html            |    11 +-
 groovy.support/build.xml                           |    39 +
 groovy.support/manifest.mf                         |     2 +-
 groovy.support/nbproject/project.properties        |    37 +
 groovy.support/nbproject/project.xml               |    39 +
 .../modules/groovy/support/debug/Context.java      |     4 +-
 .../debug/GroovyBreakpointAnnotationListener.java  |     4 +-
 .../groovy/support/resources/GroovyClass.html      |    32 +-
 .../groovy/support/resources/GroovyJUnitTest.html  |    32 +-
 .../groovy/support/resources/GroovyScript.html     |    32 +-
 .../modules/groovy/support/resources/layer.xml     |    41 +-
 gsf.codecoverage/build.xml                         |    39 +
 gsf.codecoverage/manifest.mf                       |     2 +-
 gsf.codecoverage/nbproject/project.properties      |    37 +
 gsf.codecoverage/nbproject/project.xml             |    48 +
 .../modules/gsf/codecoverage/Bundle.properties     |    37 +
 .../CoverageReportTopComponentWstcref.xml          |    39 +-
 .../netbeans/modules/gsf/codecoverage/layer.xml    |    39 +
 gsf.testrunner.ui/build.xml                        |    39 +
 gsf.testrunner.ui/manifest.mf                      |     2 +-
 gsf.testrunner.ui/nbproject/project.properties     |    37 +
 gsf.testrunner.ui/nbproject/project.xml            |    39 +
 .../src/META-INF/netbeans/translate.names          |    37 +
 .../modules/gsf/testrunner/ui/Bundle.properties    |    37 +
 .../modules/gsf/testrunner/ui/ResultBar.java       |     5 +
 .../modules/gsf/testrunner/ui/RootNode.java        |     2 +-
 .../gsf/testrunner/ui/TestCreatorAction.java       |    12 +-
 .../gsf/testrunner/ui/api/TestsuiteNode.java       |     3 +-
 .../testrunner/ui/gsf-testrunner-results.settings  |    39 +
 .../testrunner/ui/gsf-testrunner-results.wstcref   |    41 +-
 .../netbeans/modules/gsf/testrunner/ui/layer.xml   |    39 +
 gsf.testrunner/build.xml                           |    39 +
 gsf.testrunner/manifest.mf                         |     2 +-
 gsf.testrunner/nbproject/project.properties        |    37 +
 gsf.testrunner/nbproject/project.xml               |    39 +
 .../src/META-INF/netbeans/translate.names          |    37 +
 .../modules/gsf/testrunner/Bundle.properties       |    37 +
 .../modules/gsf/testrunner/api/Bundle.properties   |    37 +
 .../modules/gsf/testrunner/api/RerunType.java      |     9 +-
 .../org/netbeans/modules/gsf/testrunner/layer.xml  |    41 +-
 hibernate/nbproject/project.properties             |     2 +-
 .../hibernate/hqleditor/HQLEditorController.java   |    65 +-
 .../hibernate/loaders/reveng/Bundle.properties     |    37 +
 .../hibernate/resources/HibernateCodeGenFile.html  |    16 +-
 .../hibernate/resources/HibernateConfig.xml        |    41 +-
 .../resources/HibernateConfigurationFile.html      |    16 +-
 .../hibernate/resources/HibernateMapping.xml       |    41 +-
 .../hibernate/resources/HibernateMappingFile.html  |    16 +-
 .../hibernate/resources/HibernateReveng.xml        |    41 +-
 .../hibernate/resources/HibernateRevengFile.html   |    16 +-
 .../hibernate/resources/HibernateUtilFile.html     |    16 +-
 .../resources/hibernate-configuration-3.0.mdd      |    39 +
 .../hibernate/resources/hibernate-mapping-3.0.mdd  |    39 +
 .../hibernate-reverse-engineering-3.0.mdd          |    39 +
 hibernate4lib/build.xml                            |    39 +
 .../external/binaries-list                         |     0
 hibernate4lib/nbproject/project.properties         |     2 +-
 hibernate4lib/nbproject/project.xml                |    39 +
 .../modules/hibernate4lib/Bundle.properties        |    37 +
 .../modules/hibernate4lib/resources/layer.xml      |    39 +
 hibernateweb/manifest.mf                           |     2 +-
 html.angular/build.xml                             |    39 +
 html.angular/manifest.mf                           |     2 +-
 html.angular/nbproject/project.properties          |    37 +
 html.angular/nbproject/project.xml                 |    80 +
 .../modules/html/angular/Bundle.properties         |    37 +
 .../angular/editor/AngularJsCodeCompletion.java    |     8 +-
 .../angular/editor/AngularJsDeclarationFinder.java |     4 +-
 .../html/angular/index/AngularJsIndexer.java       |    10 +-
 .../angular/model/AngularConfigInterceptor.java    |    16 +-
 .../angular/model/AngularModelInterceptor.java     |     6 +-
 .../angular/model/AngularModuleInterceptor.java    |    20 +-
 .../html/angular/model/AngularWhenInterceptor.java |    14 +-
 .../modules/html/angular/model/ModelUtils.java     |     6 +-
 .../modules/html/angular/resources/layer.xml       |    41 +-
 .../editor/AngularJsDelcarationFinderTest.java     |     2 +-
 .../html/angular/model/AngularModelTest.java       |    12 +-
 html.custom/build.xml                              |    39 +
 html.custom/manifest.mf                            |     2 +-
 html.custom/nbproject/project.properties           |    37 +
 html.custom/nbproject/project.xml                  |    56 +-
 .../netbeans/modules/html/custom/Bundle.properties |    37 +
 .../modules/html/custom/conf/Configuration.java    |   101 +-
 html.editor.lib/manifest.mf                        |     2 +-
 html.editor.lib/nbproject/project.xml              |     1 +
 .../external/binaries-list                         |     0
 html.editor/manifest.mf                            |     2 +-
 html.editor/nbproject/project.properties           |     4 +-
 html.editor/nbproject/project.xml                  |    27 +-
 html.editor/src/META-INF/netbeans/translate.names  |    37 +
 .../netbeans/modules/html/editor/APIAccessor.java  |    63 +
 .../modules/html/editor/HtmlTransferHandler.java   |   716 +-
 .../modules/html/editor/api/AccessorImpl.java      |    58 +
 .../netbeans/modules/html/editor/api/HtmlKit.java  |    15 +-
 .../html/editor/api/actions/Bundle.properties      |    37 +
 .../editor/api/completion/HtmlCompletionItem.java  |     2 +-
 .../editor/completion/AttrValuesCompletion.java    |    14 +-
 .../editor/completion/HtmlCompletionProvider.java  |     7 +-
 .../html/editor/embedding/JsEmbeddingProvider.java |     3 +-
 .../HtmlActionsImplementationProvider.java         |     2 +-
 .../html/editor/resources/DTDs/3_2/html32.dtd      |    39 +
 .../html/editor/resources/DTDs/4_0/frameset.dtd    |    43 +-
 .../html/editor/resources/DTDs/4_0/loose.dtd       |    39 +
 .../html/editor/resources/DTDs/4_0/strict.dtd      |    45 +-
 .../html/editor/resources/DTDs/4_01/frameset.dtd   |    43 +-
 .../html/editor/resources/DTDs/4_01/loose.dtd      |    39 +
 .../html/editor/resources/DTDs/4_01/strict.dtd     |    45 +-
 .../html/editor/resources/DefaultKeyBindings.xml   |    19 +-
 .../modules/html/editor/resources/layer.xml        |     7 -
 .../typinghooks/HtmlTypedTextInterceptor.java      |    10 +-
 .../modules/html/editor/ui/Bundle.properties       |    37 +
 html.editor/test/unit/data/testfiles/simple.html   |    86 -
 .../test/unit/data/testfiles/simple.html.formatted |    86 -
 html.editor/test/unit/data/testfiles/simple01.html |    92 +-
 .../unit/data/testfiles/simple01.html.formatted    |    90 +-
 .../editor/embedding/JsEmbeddingProviderTest.java  |    74 -
 .../html/editor/indent/HtmlIndenterTest.java       |     4 -
 .../modules/html/editor/test/TestBase.java         |     3 +-
 .../typinghooks/HtmlTypedBreakInterceptorTest.java |    44 +-
 .../editor/typinghooks/HtmlTypingHooksTest.java    |   469 +-
 .../modules/html/editor/typinghooks/Typing.java    |   156 -
 html.knockout/build.xml                            |    39 +
 html.knockout/manifest.mf                          |     2 +-
 html.knockout/nbproject/project.properties         |    37 +
 html.knockout/nbproject/project.xml                |    62 +
 .../modules/html/knockout/Bundle.properties        |    37 +
 .../html/knockout/KODataBindDescriptor.java        |     4 +-
 .../html/knockout/KOJsEmbeddingProviderPlugin.java |     2 +-
 .../modules/html/knockout/KOTemplateContext.java   |     4 -
 .../javascript/KnockoutCodeCompletionItem.java     |     3 +-
 .../html/knockout/javascript/KnockoutContext.java  |     2 +-
 .../javascript/KnockoutJsCodeCompletion.java       |     2 +-
 .../org/netbeans/modules/html/knockout/layer.xml   |    39 +
 .../foreach/index.html.testForEach.completion      |    11 +-
 .../index.html.testForEachAlias.completion         |    11 +-
 .../index.html.testIssue231569.completion          |    12 +-
 .../template/index.html.testTemplate.completion    |    11 +-
 .../index.html.testTemplateForEach.completion      |    11 +-
 .../index.html.testTemplateInner.completion        |    11 +-
 .../completion/with/index.html.testWith.completion |    11 +-
 html.lexer/manifest.mf                             |     2 +-
 .../org/netbeans/api/html/lexer/HTMLTokenId.java   |     3 +
 .../src/org/netbeans/lib/html/lexer/HtmlLexer.java |     2 +-
 .../src/org/netbeans/lib/html/lexer/layer.xml      |    39 +
 html.ojet/build.xml                                |    44 +
 html.ojet/external/binaries-list                   |     3 +
 html.ojet/manifest.mf                              |     7 +
 html.ojet/nbproject/project.properties             |    46 +
 html.ojet/nbproject/project.xml                    |   404 +
 .../netbeans/modules/html/ojet/Bundle.properties   |    47 +
 .../netbeans/modules/html/ojet/HelpItemImpl.java   |    75 +
 .../modules/html/ojet/OJETCompletionHtmlItem.java  |    93 +
 .../netbeans/modules/html/ojet/OJETContext.java    |   224 +
 .../modules/html/ojet/OJETHtmlExtension.java       |    90 +
 .../org/netbeans/modules/html/ojet/OJETUtils.java  |   138 +
 .../netbeans/modules/html/ojet/data/DataItem.java  |    59 +
 .../modules/html/ojet/data/DataItemImpl.java       |   484 +
 .../modules/html/ojet/data/DataProvider.java       |    87 +
 .../modules/html/ojet/data/DataProviderImpl.java   |   205 +
 .../modules/html/ojet/data/OJETPreferences.java    |   119 +
 .../modules/html/ojet/javascript/ModelUtils.java   |    82 +
 .../ojet/javascript/OJETCodeCompletionItem.java    |   290 +
 .../html/ojet/javascript/OJETJsCodeCompletion.java |   124 +
 .../html/ojet/javascript/OJETModelInterceptor.java |    71 +
 .../modules/html/ojet/resources/codetemplates.xml  |    66 +
 .../netbeans/modules/html/ojet/resources/layer.xml |    87 +
 .../modules/html/ojet/ui/Bundle.properties         |    38 +
 .../html/ojet/ui/OJETFrameworkCustomizer.java      |    94 +
 .../netbeans/modules/html/ojet/ui/OJETPanel.form   |    65 +
 .../netbeans/modules/html/ojet/ui/OJETPanel.java   |   186 +
 .../html/ojet/ui/resources/Bundle.properties       |    42 +
 .../html/ojet/ui/resources/EmptyJETModule-html     |     6 +
 .../html/ojet/ui/resources/EmptyJETModule-js       |    19 +
 .../ui/resources/EmptyJETModuleDescription.html    |    54 +
 .../html/ojet/ui/resources/KnockoutJETModule-html  |    11 +
 .../html/ojet/ui/resources/KnockoutJETModule-js    |    24 +
 .../ui/resources/KnockoutJETModuleDescription.html |    54 +
 .../NewComponentInteractionSampleDescription.html  |    53 +
 .../NewOracleJETBaseDistributionDescription.html   |    52 +
 .../NewOracleJETQuickStartBasicDescription.html    |    52 +
 .../modules/html/ojet/ui/resources/ojet-icon.png   |   Bin 0 -> 349 bytes
 .../html/ojet/ui/resources/ojetEvent-icon.png      |   Bin 0 -> 638 bytes
 .../modules/html/ojet/ui/wizard/Bundle.properties  |    53 +
 .../ojet/ui/wizard/NewJetModuleWizardIterator.java |   329 +
 .../ojet/ui/wizard/NewJetModuleWizardPanel.java    |   156 +
 .../ojet/ui/wizard/NewJetModuleWizardPanelUi.form  |   191 +
 .../ojet/ui/wizard/NewJetModuleWizardPanelUi.java  |   396 +
 .../ojet/ui/wizard/NewProjectWizardIterator.java   |   388 +
 .../unit/data/testfiles/context/example01.html     |    15 +
 .../modules/html/ojet/OJETContextTest.java         |   175 +
 .../external/binaries-list                         |     0
 html.parser/nbproject/project.properties           |     2 +-
 html.validation/build.xml                          |    39 +
 html.validation/external/binaries-list             |     6 +
 html.validation/external/validator-license.txt     |     2 +-
 html.validation/external/validator.patch           |  8898 +++++
 html.validation/manifest.mf                        |     2 +-
 html.validation/nbproject/project.properties       |     6 -
 html.validation/nbproject/project.xml              |    63 +-
 .../modules/html/validation/NbMessageEmitter.java  |    55 +-
 .../html/validation/NbValidationTransaction.java   |  1213 +
 .../html/validation/ValidationTransaction.java     |  1602 -
 .../modules/html/validation/ValidatorImpl.java     |     4 +-
 .../patched/BufferingRootNamespaceSniffer.java     |   174 -
 .../patched/LocalCacheEntityResolver.java          |   141 -
 .../validation/patched/RootNamespaceSniffer.java   |   122 -
 .../modules/html/validation/patched/presets        |    10 -
 .../modules/html/validation/HtmlSpecTest.java      |     2 +-
 .../html/validation/ValidationTransactionTest.java |    44 +-
 html/manifest.mf                                   |     2 +-
 html/nbproject/project.xml                         |     9 +
 .../org/netbeans/modules/html/TemplateHelp.html    |    16 +-
 .../netbeans/modules/html/XhtmlTemplateHelp.html   |    16 +-
 .../external/binaries-list                         |     0
 httpserver/nbproject/project.properties            |     2 +-
 hudson.ant/build.xml                               |    39 +
 hudson.ant/manifest.mf                             |     2 +-
 hudson.ant/nbproject/project.properties            |    37 +
 hudson.ant/nbproject/project.xml                   |    39 +
 .../netbeans/modules/hudson/ant/Bundle.properties  |    37 +
 hudson.git/build.xml                               |    39 +
 hudson.git/manifest.mf                             |     2 +-
 hudson.git/nbproject/project.properties            |    37 +
 hudson.git/nbproject/project.xml                   |    39 +
 .../netbeans/modules/hudson/git/Bundle.properties  |    37 +
 hudson.maven/build.xml                             |    39 +
 hudson.maven/manifest.mf                           |     2 +-
 hudson.maven/nbproject/project.properties          |    37 +
 hudson.maven/nbproject/project.xml                 |    39 +
 hudson.mercurial/build.xml                         |    39 +
 hudson.mercurial/manifest.mf                       |     2 +-
 hudson.mercurial/nbproject/project.properties      |    37 +
 hudson.mercurial/nbproject/project.xml             |    39 +
 .../modules/hudson/mercurial/Bundle.properties     |    37 +
 hudson.php/build.xml                               |    39 +
 hudson.php/manifest.mf                             |     2 +-
 hudson.php/nbproject/project.properties            |    39 +-
 hudson.php/nbproject/project.xml                   |    39 +
 .../netbeans/modules/hudson/php/util/XmlUtils.java |     2 +-
 hudson.subversion/build.xml                        |    39 +
 hudson.subversion/manifest.mf                      |     2 +-
 hudson.subversion/nbproject/project.properties     |    37 +
 hudson.subversion/nbproject/project.xml            |    39 +
 .../modules/hudson/subversion/Bundle.properties    |    37 +
 hudson.tasklist/build.xml                          |    39 +
 hudson.tasklist/manifest.mf                        |     2 +-
 hudson.tasklist/nbproject/project.properties       |    37 +
 hudson.tasklist/nbproject/project.xml              |    39 +
 .../modules/hudson/tasklist/Bundle.properties      |    37 +
 hudson.ui/build.xml                                |    39 +
 hudson.ui/manifest.mf                              |     2 +-
 hudson.ui/nbproject/project.properties             |    37 +
 hudson.ui/nbproject/project.xml                    |    39 +
 .../hudson/ui/APITokenConnectionAuthenticator.java |     3 +-
 .../modules/hudson/ui/actions/Bundle.properties    |    38 -
 .../src/org/netbeans/modules/hudson/ui/layer.xml   |    39 +
 hudson/build.xml                                   |    39 +
 hudson/manifest.mf                                 |     2 +-
 hudson/nbproject/project.properties                |    37 +
 hudson/nbproject/project.xml                       |    39 +
 i18n.form/nbproject/project.properties             |     2 +-
 i18n.form/src/META-INF/netbeans/translate.names    |    37 +
 i18n/arch.xml                                      |    49 +-
 i18n/manifest.mf                                   |     2 +-
 .../netbeans/modules/i18n/jsp/Bundle.properties    |    37 +
 .../org/netbeans/modules/i18n/wizard/package.html  |    39 +
 ide.branding.kit/build.xml                         |    39 +
 ide.branding.kit/manifest.mf                       |     2 +-
 ide.branding.kit/nbproject/project.properties      |    37 +
 ide.branding.kit/nbproject/project.xml             |    39 +
 ide.branding.kit/release/VERSION.txt               |     2 +-
 .../modules/ide/branding/kit/Bundle.properties     |    37 +
 .../modules/autoupdate/ui/Bundle_nb.properties     |    37 +
 .../autoupdate/ui/actions/Bundle_nb.properties     |    37 +
 .../autoupdate/ui/wizards/Bundle_nb.properties     |    37 +
 ide.branding/build.xml                             |    14 +-
 .../org/netbeans/core/netigso/Bundle_nb.properties |    37 +
 .../org/netbeans/core/startup/Bundle_nb.properties |     4 +-
 .../org/netbeans/core/startup/about_dark_nb.png    |   Bin 0 -> 95223 bytes
 .../src/org/netbeans/core/startup/about_nb.png     |   Bin 138020 -> 138362 bytes
 .../org/netbeans/core/startup/frame32_dark_nb.gif  |   Bin 0 -> 1944 bytes
 .../org/netbeans/core/startup/frame48_dark_nb.gif  |   Bin 0 -> 3417 bytes
 .../org/netbeans/core/startup/frame_dark_nb.gif    |   Bin 0 -> 733 bytes
 .../org/netbeans/core/startup/splash_dark_nb.gif   |   Bin 0 -> 91052 bytes
 .../src/org/netbeans/core/startup/splash_nb.gif    |   Bin 127321 -> 127396 bytes
 .../netbeans/core/ui/sampler/Bundle_nb.properties  |    37 +
 .../core/windows/view/ui/Bundle_nb.properties      |     6 +-
 ide.branding/manifest.mf                           |     2 +-
 ide.branding/nbproject/project.properties          |    37 +
 .../modules/options/export/Bundle_nb.properties    |    37 +
 ide.branding/release-toplevel/CREDITS.html         |    92 +-
 ide.branding/release-toplevel/LICENSE.txt          |     6 +-
 ide.branding/release-toplevel/README.html          |     2 +-
 .../release-toplevel/THIRDPARTYLICENSE.txt         |   296 +-
 ide.branding/release-toplevel/netbeans.css         |    43 +-
 .../org/netbeans/modules/ide/branding/layer.xml    |    39 +
 ide.ergonomics/arch.xml                            |    49 +-
 ide.ergonomics/build.xml                           |    39 +
 ide.ergonomics/empty.properties                    |    37 +
 ide.ergonomics/manifest.mf                         |     2 +-
 ide.ergonomics/nbproject/project.properties        |    37 +
 ide.ergonomics/nbproject/project.xml               |    39 +
 .../ide/ergonomics/ant/common-ergonomics.xml       |    39 +
 .../modules/ide/ergonomics/Bundle.properties       |    37 +
 .../netbeans/modules/ide/ergonomics/fod/common.xml |    39 +
 .../modules/ide/ergonomics/fod/default.xml         |    41 +-
 ide.kit/build.xml                                  |    39 +
 ide.kit/manifest.mf                                |     2 +-
 ide.kit/module-auto-deps.xml                       |    39 +
 ide.kit/nbproject/project.xml                      |    43 +-
 ide.kit/release/VERSION.txt                        |     2 +-
 .../org/netbeans/modules/ide/kit/Bundle.properties |    37 +
 ide.kit/test/coverage-manual/readme.html           |    47 +-
 ide.kit/test/coverage-manual/selectjars/build.xml  |    45 +-
 .../selectjars/nbproject/project.properties        |    37 +
 .../selectjars/nbproject/project.xml               |    39 +
 .../netbeans/test/ide/CountingSecurityManager.java |     3 +-
 ide.kit/test/whitelist/readme.html                 |    41 +-
 ide/launcher/netbeans.conf                         |     7 +-
 ide/launcher/unix/netbeans                         |    27 +-
 ide/launcher/windows/Makefile                      |    38 +
 ide/launcher/windows/cmdargs.h                     |     5 +-
 ide/launcher/windows/nblauncher.cpp                |    27 +-
 ide/launcher/windows/nblauncher.h                  |     5 +-
 ide/launcher/windows/nbproject/Makefile-impl.mk    |   133 -
 .../windows/nbproject/Makefile-netbeans.exe.mk     |    95 -
 .../windows/nbproject/Makefile-netbeans64.exe.mk   |    95 -
 .../windows/nbproject/Makefile-variables.mk        |    35 -
 .../windows/nbproject/Package-netbeans.exe.bash    |    76 -
 .../windows/nbproject/Package-netbeans64.exe.bash  |    76 -
 ide/launcher/windows/nbproject/configurations.xml  |    39 +
 ide/launcher/windows/nbproject/project.properties  |    37 +
 ide/launcher/windows/nbproject/project.xml         |    39 +
 ide/launcher/windows/netbeans.cpp                  |     5 +-
 ide/launcher/windows/netbeans.exe.manifest         |     2 +-
 ide/launcher/windows/netbeans64.exe.manifest       |     2 +-
 ide/launcher/windows/version.h                     |    12 +-
 ide/projectopener/build.xml                        |    45 +-
 ide/projectopener/master.jnlp                      |    39 +
 .../nbproject/configs/JWS_generated.properties     |    37 +
 ide/projectopener/nbproject/project.properties     |    37 +
 ide/projectopener/nbproject/project.xml            |    39 +
 .../org/netbeans/projectopener/Bundle.properties   |    39 +-
 image/manifest.mf                                  |     2 +-
 j2ee.ant/nbproject/project.properties              |     2 +-
 j2ee.api.ejbmodule/arch/overview.html              |    75 +-
 j2ee.api.ejbmodule/manifest.mf                     |     2 +-
 .../netbeans/modules/j2ee/api/ejbjar/package.html  |    16 +-
 .../netbeans/modules/j2ee/spi/ejbjar/package.html  |    16 +-
 .../modules/j2ee/spi/ejbjar/support/package.html   |    16 +-
 j2ee.clientproject/nbproject/project.properties    |     2 +-
 .../j2ee/clientproject/resources/jax-ws.xml        |     5 -
 .../resources/application-client-emptyProject.html |    75 +-
 .../application-client-importProject.html          |    75 +-
 .../j2ee/clientproject/ui/resources/desktop.html   |    75 +-
 j2ee.common/manifest.mf                            |     2 +-
 j2ee.core.utilities/build.xml                      |    39 +
 j2ee.core.utilities/manifest.mf                    |     2 +-
 j2ee.core.utilities/nbproject/project.xml          |    39 +
 j2ee.core/build.xml                                |    39 +
 j2ee.core/manifest.mf                              |     2 +-
 j2ee.core/nbproject/project.xml                    |    39 +
 .../modules/j2ee/dd/api/webservices/package.html   |    16 +-
 j2ee.dd.webservice/manifest.mf                     |     2 +-
 .../modules/j2ee/dd/impl/resources/j2ee_1_4.xsd    |    30 +-
 .../dd/impl/resources/j2ee_web_services_1_1.xsd    |    20 +-
 .../resources/j2ee_web_services_client_1_1.xsd     |    26 +-
 .../modules/j2ee/dd/impl/resources/javaee_5.xsd    |    30 +-
 .../dd/impl/resources/javaee_web_services_1_2.xsd  |    20 +-
 .../resources/javaee_web_services_client_1_2.xsd   |    24 +-
 .../WebservicesMetadataModelFactory.java           |     6 +
 j2ee.dd/doc/ddapi_architecture.html                |    41 +-
 .../modules/j2ee/dd/api/application/package.html   |    16 +-
 .../modules/j2ee/dd/api/common/package.html        |    16 +-
 .../netbeans/modules/j2ee/dd/api/ejb/package.html  |    16 +-
 .../netbeans/modules/j2ee/dd/api/web/package.html  |    16 +-
 j2ee.dd/doc/overview.html                          |    77 +-
 j2ee.dd/doc/usage.html                             |    77 +-
 .../j2ee.dd => j2ee.dd}/external/binaries-list     |     0
 j2ee.dd/nbproject/project.properties               |     2 +-
 .../dd/impl/resources/application-client_1_4.mdd   |    41 +-
 .../dd/impl/resources/application-client_1_4.xsd   |     2 +-
 .../dd/impl/resources/application-client_5.mdd     |    41 +-
 .../dd/impl/resources/application-client_5.xsd     |     2 +-
 .../dd/impl/resources/application-client_6.mdd     |    39 +
 .../dd/impl/resources/application-client_6.xsd     |    24 +-
 .../dd/impl/resources/application-client_7.mdd     |    39 +
 .../j2ee/dd/impl/resources/application_1_4.mdd     |    39 +
 .../j2ee/dd/impl/resources/application_1_4.xsd     |     2 +-
 .../j2ee/dd/impl/resources/application_5.mdd       |    41 +-
 .../j2ee/dd/impl/resources/application_5.xsd       |     2 +-
 .../j2ee/dd/impl/resources/application_6.mdd       |    39 +
 .../j2ee/dd/impl/resources/application_6.xsd       |    26 +-
 .../j2ee/dd/impl/resources/application_7.mdd       |    39 +
 .../modules/j2ee/dd/impl/resources/ejb-jar_2_1.mdd |    39 +
 .../modules/j2ee/dd/impl/resources/ejb-jar_2_1.xsd |     2 +-
 .../modules/j2ee/dd/impl/resources/ejb-jar_3_0.mdd |    67 +-
 .../modules/j2ee/dd/impl/resources/ejb-jar_3_0.xsd |     2 +-
 .../modules/j2ee/dd/impl/resources/ejb-jar_3_1.mdd |    67 +-
 .../modules/j2ee/dd/impl/resources/ejb-jar_3_1.xsd |    26 +-
 .../modules/j2ee/dd/impl/resources/ejb-jar_3_2.mdd |    67 +-
 .../modules/j2ee/dd/impl/resources/j2ee_1_4.xsd    |     2 +-
 .../resources/j2ee_web_services_client_1_1.xsd     |     2 +-
 .../modules/j2ee/dd/impl/resources/javaee_5.xsd    |     2 +-
 .../modules/j2ee/dd/impl/resources/javaee_6.xsd    |    22 +-
 .../resources/javaee_web_services_client_1_2.xsd   |     2 +-
 .../resources/javaee_web_services_client_1_3.xsd   |    22 +-
 .../modules/j2ee/dd/impl/resources/jsp_2_0.xsd     |     2 +-
 .../modules/j2ee/dd/impl/resources/jsp_2_1.xsd     |     2 +-
 .../modules/j2ee/dd/impl/resources/jsp_2_2.xsd     |     8 +-
 .../modules/j2ee/dd/impl/resources/web-app_2_4.mdd |    41 +-
 .../modules/j2ee/dd/impl/resources/web-app_2_4.xsd |     2 +-
 .../modules/j2ee/dd/impl/resources/web-app_2_5.mdd |    41 +-
 .../modules/j2ee/dd/impl/resources/web-app_2_5.xsd |     2 +-
 .../modules/j2ee/dd/impl/resources/web-app_3_0.mdd |    41 +-
 .../modules/j2ee/dd/impl/resources/web-app_3_0.xsd |    32 +-
 .../modules/j2ee/dd/impl/resources/web-app_3_1.mdd |    41 +-
 .../j2ee/dd/impl/resources/web-common_3_0.xsd      |    32 +-
 .../j2ee/dd/impl/resources/web-fragment_3_0.mdd    |    43 +-
 .../j2ee/dd/impl/resources/web-fragment_3_0.xsd    |     2 +-
 .../j2ee/dd/impl/resources/web-fragment_3_1.mdd    |    43 +-
 .../dd/spi/ejb/EjbJarMetadataModelFactory.java     |     8 +-
 j2ee.ddloaders/nbproject/project.properties        |     2 +-
 .../catalog/resources/application-client_1_4.xsd   |     2 +-
 .../catalog/resources/application-client_5.xsd     |     2 +-
 .../catalog/resources/application-client_6.xsd     |    24 +-
 .../catalog/resources/application_1_4.xsd          |     2 +-
 .../ddloaders/catalog/resources/application_5.xsd  |     2 +-
 .../ddloaders/catalog/resources/application_6.xsd  |    26 +-
 .../ddloaders/catalog/resources/connector_1_5.xsd  |     2 +-
 .../ddloaders/catalog/resources/ejb-jar_2_1.xsd    |     2 +-
 .../ddloaders/catalog/resources/ejb-jar_3_0.xsd    |     2 +-
 .../ddloaders/catalog/resources/ejb-jar_3_1.xsd    |    26 +-
 .../j2ee/ddloaders/catalog/resources/j2ee_1_4.xsd  |     2 +-
 .../catalog/resources/j2ee_web_services_1_1.xsd    |     2 +-
 .../resources/j2ee_web_services_client_1_1.xsd     |     2 +-
 .../j2ee/ddloaders/catalog/resources/javaee_5.xsd  |     2 +-
 .../j2ee/ddloaders/catalog/resources/javaee_6.xsd  |    22 +-
 .../catalog/resources/javaee_web_services_1_2.xsd  |     2 +-
 .../catalog/resources/javaee_web_services_1_3.xsd  |    33 +-
 .../resources/javaee_web_services_client_1_2.xsd   |     2 +-
 .../resources/javaee_web_services_client_1_3.xsd   |    22 +-
 .../j2ee/ddloaders/catalog/resources/jsp_2_0.xsd   |     2 +-
 .../j2ee/ddloaders/catalog/resources/jsp_2_1.xsd   |     2 +-
 .../j2ee/ddloaders/catalog/resources/jsp_2_2.xsd   |     8 +-
 .../ddloaders/catalog/resources/web-app_2_4.xsd    |     2 +-
 .../ddloaders/catalog/resources/web-app_2_5.xsd    |     2 +-
 .../ddloaders/catalog/resources/web-app_3_0.xsd    |    32 +-
 .../ddloaders/catalog/resources/web-common_3_0.xsd |    32 +-
 .../catalog/resources/web-fragment_3_0.xsd         |     2 +-
 j2ee.earproject/manifest.mf                        |     2 +-
 .../earproject/ui/resources/completeProject.html   |    16 +-
 .../earproject/ui/resources/ear-emptyProject.html  |    16 +-
 .../earproject/ui/resources/ear-importProject.html |    16 +-
 .../modules/j2ee/earproject/ui/resources/ear.html  |    75 +-
 .../modules/j2ee/earproject/ui/resources/layer.xml |     4 +-
 j2ee.eclipselink/build.xml                         |    39 +
 .../external/binaries-list                         |     0
 j2ee.eclipselink/manifest.mf                       |     2 +-
 j2ee.eclipselink/nbproject/project.properties      |     5 +-
 j2ee.eclipselink/nbproject/project.xml             |    39 +
 .../netbeans/modules/j2ee/eclipselink/layer.xml    |     2 +-
 j2ee.eclipselinkmodelgen/build.xml                 |    39 +
 .../external/binaries-list                         |     0
 j2ee.eclipselinkmodelgen/manifest.mf               |     2 +-
 j2ee.eclipselinkmodelgen/nbproject/project.xml     |    39 +
 .../modules/j2ee/eclipselinkmodelgen/layer.xml     |     2 +-
 j2ee.ejbcore/manifest.mf                           |     2 +-
 .../j2ee/ejbcore/ejb/wizard/dd/ejbJarXml.html      |    39 +
 .../j2ee/ejbcore/ejb/wizard/jpa/dao/ejbFacade.html |    39 +
 .../j2ee/ejbcore/resources/CMPDatabase.html        |    16 +-
 .../ejbcore/resources/CachingServiceLocator.html   |    16 +-
 .../modules/j2ee/ejbcore/resources/EntityEJB.html  |    16 +-
 .../modules/j2ee/ejbcore/resources/MessageEJB.html |    16 +-
 .../j2ee/ejbcore/resources/ServiceLocator.html     |    16 +-
 .../modules/j2ee/ejbcore/resources/SessionEJB.html |    16 +-
 .../j2ee/ejbcore/resources/TimerSessionEJB.html    |    16 +-
 .../j2ee/ejbcore/resources/foldersList.settings    |    39 +
 j2ee.ejbjarproject/manifest.mf                     |     2 +-
 .../modules/j2ee/ejbjarproject/EjbJarProvider.java |     6 +
 .../j2ee/ejbjarproject/resources/jax-ws.xml        |     5 -
 .../ui/resources/ejb-emptyProject.html             |    16 +-
 .../ui/resources/ejb-importProject.html            |    16 +-
 .../ejbjarproject/ui/resources/ejb-jar-2.0.xml     |     5 -
 .../j2ee/ejbjarproject/ui/resources/ejbjar.html    |    75 +-
 .../j2ee/ejbjarproject/ui/resources/layer.xml      |     1 +
 j2ee.ejbrefactoring/build.xml                      |    39 +
 j2ee.ejbrefactoring/manifest.mf                    |     2 +-
 j2ee.ejbrefactoring/nbproject/project.properties   |    37 +
 j2ee.ejbrefactoring/nbproject/project.xml          |    39 +
 .../modules/j2ee/ejbrefactoring/Bundle.properties  |    37 +
 j2ee.ejbverification/build.xml                     |    39 +
 j2ee.ejbverification/manifest.mf                   |     2 +-
 j2ee.ejbverification/nbproject/project.properties  |    37 +
 j2ee.ejbverification/nbproject/project.xml         |    39 +
 .../j2ee/ejbverification/resources/layer.xml       |     2 +-
 j2ee.genericserver/manifest.mf                     |     2 +-
 j2ee.jboss4/manifest.mf                            |     2 +-
 .../netbeans/modules/j2ee/jboss4/JB7Deployer.java  |    39 +
 .../modules/j2ee/jboss4/resources/layer.xml        |     8 +-
 j2ee.jpa.refactoring/build.xml                     |    39 +
 j2ee.jpa.refactoring/manifest.mf                   |     2 +-
 j2ee.jpa.refactoring/nbproject/project.xml         |    39 +
 j2ee.jpa.verification/manifest.mf                  |     2 +-
 j2ee.jpa.verification/nbproject/project.properties |    37 +
 j2ee.jpa.verification/nbproject/project.xml        |    39 +
 .../j2ee/jpa/verification/resources/layer.xml      |    39 +
 j2ee.kit/build.xml                                 |    39 +
 j2ee.kit/manifest.mf                               |     2 +-
 j2ee.kit/nbproject/project.xml                     |    39 +
 j2ee.kit/register_server.xml                       |    39 +
 .../netbeans/modules/j2ee/kit/Bundle.properties    |    37 +
 .../src/org/netbeans/test/j2ee/Bundle.properties   |    37 +
 .../src/org/netbeans/test/j2ee/J2EESuite.java      |     2 +-
 .../netbeans/test/j2ee/hints/EntityRelations.java  |     4 +-
 .../src/org/netbeans/test/j2ee/lib/Ejb.java        |     4 +-
 j2ee.metadata.model.support/build.xml              |    39 +
 j2ee.metadata.model.support/manifest.mf            |     2 +-
 j2ee.metadata.model.support/nbproject/project.xml  |    39 +
 .../model/support/resources/Bundle.properties      |    37 +
 j2ee.metadata/arch.xml                             |     2 +-
 j2ee.metadata/build.xml                            |    39 +
 j2ee.metadata/manifest.mf                          |     2 +-
 .../org-netbeans-modules-j2ee-metadata.sig         |     2 +-
 j2ee.metadata/nbproject/project.xml                |    39 +
 .../modules/j2ee/metadata/Bundle.properties        |    37 +
 j2ee.persistence.kit/build.xml                     |    39 +
 j2ee.persistence.kit/manifest.mf                   |     2 +-
 j2ee.persistence.kit/nbproject/project.properties  |    37 +
 j2ee.persistence.kit/nbproject/project.xml         |    39 +
 .../modules/j2ee/persistence/kit/Bundle.properties |    37 +
 j2ee.persistence/nbproject/project.properties      |     2 +-
 j2ee.persistence/nbproject/project.xml             |     9 +
 .../j2ee/persistence/action/Bundle.properties      |    37 +
 .../j2ee/persistence/dd/resources/orm_1_0.mdd      |    43 +-
 .../j2ee/persistence/dd/resources/orm_1_0.xsd      |    10 +-
 .../j2ee/persistence/dd/resources/orm_2_0.mdd      |    43 +-
 .../j2ee/persistence/dd/resources/orm_2_1.mdd      |    43 +-
 .../persistence/dd/resources/persistence_1_0.mdd   |    39 +
 .../persistence/dd/resources/persistence_1_0.xsd   |     6 +-
 .../persistence/dd/resources/persistence_2_0.mdd   |    39 +
 .../persistence/dd/resources/persistence_2_1.mdd   |    39 +
 .../persistence/editor/hyperlink/Bundle.properties |    37 +
 .../persistence/jpqleditor/ui/Bundle.properties    |     1 -
 .../jpqleditor/ui/JPQLEditorTopComponent.java      |   140 +-
 .../persistence/jpqleditor/ui/ReflectionInfo.java  |   190 +
 .../jpqleditor/ui/ReflectiveTableModel.java        |   139 +
 .../jpqleditor/ui/ResultTableCellRenderer.java     |    61 +
 .../spi/entitymanagergenerator/Bundle.properties   |    37 +
 .../j2ee/persistence/ui/resources/DBScript.html    |    16 +-
 .../persistence/ui/resources/EntityDatabase.html   |    16 +-
 .../j2ee/persistence/ui/resources/EntityEJB.html   |    16 +-
 .../persistence/ui/resources/JpaController.html    |    16 +-
 .../j2ee/persistence/ui/resources/PUResolver.xml   |    41 +-
 .../persistence/ui/resources/PersistenceUnit.html  |    16 +-
 .../j2ee/persistence/ui/resources/layer.xml        |     1 -
 .../ui/resources/persistence_ORM-1.0.xml           |     7 -
 .../j2ee/persistence/unit/Bundle.properties        |    37 +
 .../persistence/wizard/dbscript/Bundle.properties  |    37 +
 .../persistence/wizard/entity/Bundle.properties    |    37 +
 .../jpacontroller/JpaControllerGenerator.java      |     8 +-
 .../action/AppMgdResTxInjWebTest/testGenerate.pass |     1 +
 .../AppMgdResTxNonInjEJBTest/testGenerate.pass     |     1 +
 .../AppMgdResTxNonInjWebTest/testGenerate.pass     |     1 +
 .../testGenerate.pass                              |     1 +
 .../testGenerateWithExistingEM.pass                |     1 +
 .../testGenerate.pass                              |     1 +
 .../testGenerateWithExistingEM.pass                |     1 +
 .../testGenerateEntityFieldAccess.pass             |     1 +
 .../testGenerateEntityPropertyAccess.pass          |     1 +
 .../fromdb/JPAGenTest/testGenEntity/User.pass      |     1 +
 .../JPAGenTest/testGenFromSample/Customer.pass     |     1 +
 .../testGenRelFromSample/Manufacturer.pass         |     1 +
 .../JPAGenTest/testGenRelFromSample/Product.pass   |     1 +
 .../testGenRelFromSample/ProductCode.pass          |     1 +
 .../JPAGenTest/testGenUnrelated/Product.pass       |     1 +
 .../fromdb/JPAGenTest/testGenUnrelated/User.pass   |     1 +
 .../jpqleditor/ui/ReflectionInfoTest.java          |   215 +
 j2ee.persistenceapi/build.xml                      |    39 +
 j2ee.persistenceapi/nbproject/project.properties   |     2 +-
 j2ee.persistenceapi/nbproject/project.xml          |    39 +
 .../persistenceapi/resources/Bundle.properties     |    37 +
 .../external/binaries-list                         |     0
 j2ee.platform/manifest.mf                          |     2 +-
 j2ee.samples/build.xml                             |    43 +-
 j2ee.samples/manifest.mf                           |     2 +-
 j2ee.samples/nbproject/project.properties          |    37 +
 j2ee.samples/nbproject/project.xml                 |    61 +-
 .../AnnotOvdInterceptor-app-client/build.xml       |    45 +-
 .../nbproject/project.properties                   |    41 +-
 .../nbproject/project.xml                          |    39 +
 .../AnnotOvdInterceptor-ejb/build.xml              |    51 +-
 .../nbproject/project.properties                   |    41 +-
 .../AnnotOvdInterceptor-ejb/nbproject/project.xml  |    41 +-
 .../samples_src/AnnotOvdInterceptor/build.xml      |    53 +-
 .../nbproject/project.properties                   |    41 +-
 .../AnnotOvdInterceptor/nbproject/project.xml      |    39 +
 .../build.xml                                      |    43 +-
 .../nbproject/ant-deploy.xml                       |    41 +-
 .../nbproject/project.properties                   |    37 +
 .../nbproject/project.xml                          |    39 +
 .../ApplicationScopedResources-ejb/build.xml       |    41 +-
 .../nbproject/ant-deploy.xml                       |    41 +-
 .../nbproject/project.properties                   |    37 +
 .../nbproject/project.xml                          |    39 +
 .../ApplicationScopedResources/build.xml           |    43 +-
 .../nbproject/ant-deploy.xml                       |    41 +-
 .../nbproject/project.properties                   |    37 +
 .../nbproject/project.xml                          |    39 +
 j2ee.samples/samples_src/AsyncRequest/build.xml    |    45 +-
 .../AsyncRequest/nbproject/project.properties      |    37 +
 .../samples_src/AsyncRequest/nbproject/project.xml |    39 +
 .../DukeStateful/DukeStateful-app-client/build.xml |    45 +-
 .../nbproject/project.properties                   |    37 +
 .../DukeStateful-app-client/nbproject/project.xml  |    39 +
 .../DukeStateful/DukeStateful-ejb/build.xml        |    53 +-
 .../DukeStateful-ejb/nbproject/project.properties  |    37 +
 .../DukeStateful-ejb/nbproject/project.xml         |    39 +
 j2ee.samples/samples_src/DukeStateful/build.xml    |    53 +-
 .../DukeStateful/nbproject/project.properties      |    37 +
 .../samples_src/DukeStateful/nbproject/project.xml |    39 +
 .../InterceptorStateless-app-client/build.xml      |    45 +-
 .../nbproject/project.properties                   |    41 +-
 .../nbproject/project.xml                          |    39 +
 .../InterceptorStateless-ejb/build.xml             |    53 +-
 .../nbproject/project.properties                   |    41 +-
 .../InterceptorStateless-ejb/nbproject/project.xml |    39 +
 .../samples_src/InterceptorStateless/build.xml     |    53 +-
 .../nbproject/project.properties                   |    41 +-
 .../InterceptorStateless/nbproject/project.xml     |    39 +
 j2ee.samples/samples_src/JsfJpa/build.xml          |    53 +-
 .../JsfJpa/nbproject/project.properties            |    37 +
 .../samples_src/JsfJpa/nbproject/project.xml       |    39 +
 j2ee.samples/samples_src/JsfJpaCrud/build.xml      |    53 +-
 .../JsfJpaCrud/nbproject/project.properties        |    37 +
 .../samples_src/JsfJpaCrud/nbproject/project.xml   |    39 +
 .../samples_src/JsfJpaCrud/web/WEB-INF/web.xml     |    39 +
 .../samples_src/JsfJpaCrud/web/jsfcrud.css         |    29 +
 .../LotteryAnnotation-app-client/build.xml         |    45 +-
 .../nbproject/project.properties                   |    41 +-
 .../nbproject/project.xml                          |    39 +
 .../LotteryAnnotation-ejb/build.xml                |    53 +-
 .../nbproject/project.properties                   |    41 +-
 .../LotteryAnnotation-ejb/nbproject/project.xml    |    39 +
 .../LotteryAnnotation-war/build.xml                |    53 +-
 .../nbproject/project.properties                   |    41 +-
 .../LotteryAnnotation-war/nbproject/project.xml    |    39 +
 .../src/java/LocalStrings.properties               |    39 +-
 .../LotteryAnnotation-war/web/WEB-INF/web.xml      |    39 +
 .../LotteryAnnotation-war/web/index.html           |     2 +-
 .../samples_src/LotteryAnnotation/build.xml        |    53 +-
 .../LotteryAnnotation/nbproject/project.properties |    41 +-
 .../LotteryAnnotation/nbproject/project.xml        |    39 +
 j2ee.samples/samples_src/PetCatalog/build.xml      |    45 +-
 .../PetCatalog/nbproject/project.properties        |    37 +
 .../samples_src/PetCatalog/nbproject/project.xml   |    39 +
 .../PetCatalog/setup/glassfish-resources.xml       |    39 +
 .../PetCatalog/src/conf/persistence.xml            |    39 +
 .../PetCatalog/src/java/web/messages.properties    |    39 +-
 j2ee.samples/samples_src/PetCatalog/web/index.html |    70 +-
 .../PetCatalog/web/resources/css/styles.css        |    56 +-
 j2ee.samples/samples_src/ScrumToys/build.xml       |    45 +-
 .../ScrumToys/nbproject/project.properties         |    37 +
 .../samples_src/ScrumToys/nbproject/project.xml    |    39 +
 .../ScrumToys/src/java/META-INF/persistence.xml    |    39 +
 .../src/java/ValidationMessages.properties         |    37 +
 .../src/java/ValidationMessages_pt_BR.properties   |    37 +
 .../samples_src/ScrumToys/src/java/i18n.properties |    37 +
 .../ScrumToys/src/java/i18n_en_US.properties       |    37 +
 .../ScrumToys/src/java/i18n_pt_BR.properties       |    37 +
 .../samples_src/ScrumToys/web/WEB-INF/sun-web.xml  |     2 +-
 .../samples_src/ScrumToys/web/footer.xhtml         |     2 +-
 j2ee.samples/samples_src/ScrumToys/web/home.xhtml  |     4 +-
 j2ee.samples/samples_src/ScrumToys/web/index.html  |    62 +-
 .../samples_src/ServletStateless/build.xml         |    53 +-
 .../ServletStateless/nbproject/project.properties  |    37 +
 .../ServletStateless/nbproject/project.xml         |    39 +
 j2ee.samples/samples_src/WebJpa/build.xml          |    53 +-
 .../WebJpa/nbproject/project.properties            |    37 +
 .../samples_src/WebJpa/nbproject/project.xml       |    39 +
 .../j2ee/samples/JavaEESamplesWizardIterator.java  |     7 +-
 .../j2ee/samples/SampleProjectGenerator.java       |   245 +
 .../AnnotationOverrideInterceptor.html             |    39 +
 .../descriptions/ApplicationScopedResources.html   |    39 +
 .../j2ee/samples/descriptions/AsyncRequest.html    |    41 +-
 .../j2ee/samples/descriptions/CustomerCMP.html     |    43 +-
 .../j2ee/samples/descriptions/EjbContainer.html    |    39 +
 .../samples/descriptions/EmbeddedGlassfish.html    |    41 +-
 .../j2ee/samples/descriptions/HelloJAXWS.html      |    39 +
 .../samples/descriptions/InterceptorStateless.html |    39 +
 .../modules/j2ee/samples/descriptions/JsfJpa.html  |    39 +
 .../j2ee/samples/descriptions/JsfJpaCrud.html      |    39 +
 .../samples/descriptions/LotteryAnnotation.html    |    41 +-
 .../j2ee/samples/descriptions/PetCatalog.html      |    39 +
 .../j2ee/samples/descriptions/ScrumToys.html       |    39 +
 .../samples/descriptions/ServletStateless.html     |    39 +
 .../j2ee/samples/descriptions/SimpleJAXB.html      |    41 +-
 .../modules/j2ee/samples/descriptions/WebJpa.html  |    41 +-
 .../org/netbeans/modules/j2ee/samples/layer.xml    |    39 +
 j2ee.sun.appsrv/nbproject/project.properties       |     2 +-
 .../wizards/ConnectionPoolWizardInfo.html          |    16 +-
 .../sunresources/wizards/DataSourceWizardInfo.html |    16 +-
 .../sunresources/wizards/JavaMailWizardInfo.html   |    16 +-
 .../wizards/JavaMessageWizardInfo.html             |    16 +-
 .../wizards/PersistenceWizardInfo.html             |    16 +-
 .../sunresources/wizards/WizardInformation.html    |    16 +-
 .../modules/j2ee/sun/sunresources/beans/wizard.mdd |    39 +
 j2ee.sun.dd/nbproject/project.properties           |     2 +-
 .../j2ee/sun/dd/impl/resources/common_elements.mdd |    39 +
 .../dd/impl/resources/common_elements_2_1-1.mdd    |    39 +
 .../dd/impl/resources/common_elements_3_0-0.mdd    |    39 +
 .../glassfish-application-client_6_0-1.dtd         |    11 +-
 .../glassfish-application-client_6_0-1.mdd         |    39 +
 .../impl/resources/glassfish-application_6_0-1.dtd |    11 +-
 .../impl/resources/glassfish-application_6_0-1.mdd |    39 +
 .../dd/impl/resources/glassfish-ejb-jar_3_1-1.mdd  |    39 +
 .../dd/impl/resources/glassfish-resources_1_5.mdd  |    39 +
 .../dd/impl/resources/glassfish-web-app_3_0-1.dtd  |    11 +-
 .../dd/impl/resources/glassfish-web-app_3_0-1.mdd  |    39 +
 .../resources/sun-application-client_1_3-0.mdd     |    39 +
 .../resources/sun-application-client_1_4-0.mdd     |    39 +
 .../resources/sun-application-client_1_4-1.mdd     |    39 +
 .../resources/sun-application-client_5_0-0.mdd     |    39 +
 .../resources/sun-application-client_6_0-0.mdd     |    39 +
 .../dd/impl/resources/sun-application_1_3-0.mdd    |    39 +
 .../dd/impl/resources/sun-application_1_4-0.mdd    |    39 +
 .../dd/impl/resources/sun-application_5_0-0.mdd    |    39 +
 .../dd/impl/resources/sun-application_6_0-0.mdd    |    39 +
 .../sun/dd/impl/resources/sun-cmp-mapping_1_0.mdd  |    39 +
 .../sun/dd/impl/resources/sun-cmp-mapping_1_1.mdd  |    39 +
 .../sun/dd/impl/resources/sun-cmp-mapping_1_2.mdd  |    39 +
 .../sun/dd/impl/resources/sun-ejb-jar_2_0-0.mdd    |    39 +
 .../sun/dd/impl/resources/sun-ejb-jar_2_1-0.mdd    |    39 +
 .../sun/dd/impl/resources/sun-ejb-jar_2_1-1.mdd    |    39 +
 .../sun/dd/impl/resources/sun-ejb-jar_3_0-0.mdd    |    39 +
 .../sun/dd/impl/resources/sun-ejb-jar_3_0-1.mdd    |    39 +
 .../sun/dd/impl/resources/sun-ejb-jar_3_1-0.mdd    |    39 +
 .../j2ee/sun/dd/impl/resources/sun-resources.mdd   |    39 +
 .../sun/dd/impl/resources/sun-resources_1_2.dtd    |    31 +-
 .../sun/dd/impl/resources/sun-resources_1_3.dtd    |    11 +-
 .../sun/dd/impl/resources/sun-resources_1_4.dtd    |    11 +-
 .../sun/dd/impl/resources/sun-web-app_2_3-0.mdd    |    39 +
 .../sun/dd/impl/resources/sun-web-app_2_4-0.mdd    |    39 +
 .../sun/dd/impl/resources/sun-web-app_2_4-1.mdd    |    39 +
 .../sun/dd/impl/resources/sun-web-app_2_5-0.mdd    |    39 +
 .../sun/dd/impl/resources/sun-web-app_3_0-0.mdd    |    39 +
 .../src/org/netbeans/modules/j2ee/sun/dd/layer.xml |    39 +
 .../sun/validation/samples/simple/beans/simple.mdd |    39 +
 j2ee.sun.ddui/nbproject/project.properties         |     2 +-
 .../ddloaders/multiview/tables/Bundle.properties   |    37 +
 .../j2ee/sun/share/configbean/templates/sunDD.html |    39 +
 .../org/netbeans/modules/j2ee/sun/share/layer.xml  |    41 +-
 .../validation/constraints/data/constraints.mdd    |    39 +
 .../j2ee/sun/validation/data/validation.mdd        |    39 +
 j2ee.weblogic9/nbproject/project.properties        |     2 +-
 .../netbeans/modules/j2ee/weblogic9/URLWait.java   |    16 +-
 .../modules/j2ee/weblogic9/WLPluginProperties.java |     1 +
 .../j2ee/weblogic9/config/Bundle.properties        |     6 +-
 .../j2ee/weblogic9/config/WLDatasourceManager.java |     4 +-
 .../config/WLMessageDestinationDeployment.java     |     4 +-
 .../weblogic9/config/WLServerLibraryManager.java   |     4 +-
 .../config/WarDeploymentConfiguration.java         |    30 +-
 .../j2ee/weblogic9/deploy/Bundle.properties        |     3 +
 .../weblogic9/deploy/CommandBasedDeployer.java     |   412 +-
 .../j2ee/weblogic9/deploy/WLDeploymentManager.java |   230 +-
 .../weblogic9/deploy/WLIncrementalDeployment.java  |     8 +-
 .../j2ee/weblogic9/deploy/WLTargetModuleID.java    |    42 +-
 .../j2ee/weblogic9/optional/WLStartServer.java     |     9 +-
 .../j2ee/weblogic9/resources/ejb-jar_3_0.xsd       |     2 +-
 .../j2ee/weblogic9/resources/ejb-jar_3_1.xsd       |    35 +-
 .../modules/j2ee/weblogic9/resources/javaee_5.xsd  |     2 +-
 .../modules/j2ee/weblogic9/resources/javaee_6.xsd  |    31 +-
 .../resources/javaee_web_services_client_1_2.xsd   |     2 +-
 .../resources/javaee_web_services_client_1_3.xsd   |    31 +-
 .../modules/j2ee/weblogic9/resources/jsp_2_1.xsd   |     7 +-
 .../modules/j2ee/weblogic9/resources/layer.xml     |    12 +-
 .../j2ee/weblogic9/resources/netbeans-jersey.xml   |    39 +
 .../j2ee/weblogic9/resources/web-app_2_5.xsd       |     7 +-
 .../resources/weblogic-application_10_3_0.mdd      |    39 +
 .../resources/weblogic-application_10_3_1.mdd      |    39 +
 .../resources/weblogic-application_12_1_1.mdd      |    39 +
 .../resources/weblogic-application_12_2_1.mdd      |    39 +
 .../resources/weblogic-application_9_0.mdd         |    39 +
 .../resources/weblogic-ejb-jar_10_3_0.mdd          |    39 +
 .../resources/weblogic-ejb-jar_10_3_1.mdd          |    39 +
 .../resources/weblogic-ejb-jar_12_1_1.mdd          |    39 +
 .../resources/weblogic-ejb-jar_12_2_1.mdd          |    39 +
 .../weblogic9/resources/weblogic-ejb-jar_9_0.mdd   |    39 +
 .../weblogic9/resources/weblogic-jms_10_3_1.mdd    |    39 +
 .../weblogic9/resources/weblogic-jms_12_1_1.mdd    |    39 +
 .../resources/weblogic-web-app_10_3_0.mdd          |    39 +
 .../resources/weblogic-web-app_10_3_1.mdd          |    39 +
 .../resources/weblogic-web-app_12_1_1.mdd          |    39 +
 .../resources/weblogic-web-app_12_2_1.mdd          |    39 +
 .../weblogic9/resources/weblogic-web-app_9_0.mdd   |    39 +
 .../weblogic9/ui/nodes/WLModuleChildFactory.java   |    19 +-
 .../j2ee/weblogic9/ui/nodes/WLModuleNode.java      |    16 +-
 .../j2eeapis => j2eeapis}/external/binaries-list   |     0
 j2eeapis/manifest.mf                               |     2 +-
 .../plugins/api/doc-files/plugin-layer-file.html   |    39 +
 .../j2ee/deployment/plugins/api/package.html       |    77 +-
 .../j2ee/deployment/plugins/spi/package.html       |    75 +-
 j2eeserver/api/doc/overview.html                   |    75 +-
 j2eeserver/nbproject/project.properties            |     2 +-
 .../modules/j2ee/deployment/impl/Bundle.properties |     2 +-
 .../j2ee/deployment/impl/ServerInstance.java       |    11 +-
 .../modules/j2ee/deployment/impl/TargetModule.java |    22 +-
 .../modules/j2ee/deployment/impl/TargetServer.java |     2 +-
 .../deployment/impl/projects/DeploymentTarget.java |    22 +-
 .../impl/resources/default-ant-deploy.xml          |    39 +
 .../deployment/impl/ui/actions/Bundle.properties   |     6 -
 .../deployment/plugins/spi/WebTargetModuleID.java  |    58 +
 j2me.common.ant/build.xml                          |    39 +
 j2me.common.ant/manifest.mf                        |     2 +-
 j2me.common.ant/nbproject/project.properties       |    37 +
 j2me.common.ant/nbproject/project.xml              |    41 +-
 .../modules/j2me/common/ant/Bundle.properties      |    37 +
 .../modules/j2me/common/ant/j2me-common-ant.xml    |     2 +-
 .../org/netbeans/modules/j2me/common/ant/layer.xml |    39 +
 j2me.keystore/build.xml                            |    41 +-
 j2me.keystore/manifest.mf                          |     2 +-
 j2me.keystore/nbproject/project.properties         |    37 +
 j2me.keystore/nbproject/project.xml                |    39 +
 .../modules/j2me/keystore/Bundle.properties        |    37 +
 .../keystore/resources/KeyStoreRepository.settings |     2 +-
 .../modules/j2me/keystore/resources/layer.xml      |    39 +
 j2me.kit/build.xml                                 |    39 +
 j2me.kit/manifest.mf                               |     2 +-
 j2me.kit/nbproject/project.properties              |    37 +
 j2me.kit/nbproject/project.xml                     |    39 +
 j2me.kit/release/VERSION.txt                       |     2 +-
 .../netbeans/modules/j2me/kit/Bundle.properties    |    37 +
 j2me.project/build.xml                             |    39 +
 j2me.project/manifest.mf                           |     2 +-
 j2me.project/nbproject/project.properties          |    37 +
 j2me.project/nbproject/project.xml                 |    39 +
 .../modules/j2me/project/Bundle.properties         |    37 +
 .../modules/j2me/project/resources/build-impl.xsl  |    42 +-
 .../project/ui/customizer/AddPermissionPanel.java  |    39 +
 .../j2me/project/ui/customizer/Bundle.properties   |    37 +
 .../project/ui/customizer/PermissionsProvider.java |    39 +
 .../j2me/project/ui/resources/emptyProject.html    |    16 +-
 java.api.common/apichanges.xml                     |    31 +
 java.api.common/manifest.mf                        |     2 +-
 java.api.common/nbproject/project.properties       |    39 +-
 java.api.common/nbproject/project.xml              |    70 +-
 .../modules/java/api/common/SourceRoots.java       |    15 +-
 .../classpath/BootClassPathImplementation.java     |    35 +-
 .../common/classpath/ClassPathProviderImpl.java    |    22 +-
 .../common/classpath/ClassPathSupportFactory.java  |    13 +-
 .../api/common/project/BaseActionProvider.java     |    27 +-
 .../api/common/project/ProjectConfigurations.java  |    41 +-
 .../java/api/common/project/ProjectHooks.java      |     3 +-
 .../java/api/common/project/ui/PlatformNode.java   |     6 +-
 .../project/ui/customizer/vmo/Bundle.properties    |    37 +
 .../project/ui/customizer/vmo/gen/CommandLine.g    |    39 +
 .../ui/customizer/vmo/gen/CommandLineParser.java   |     4 +-
 .../java/api/common/resources/Bundle.properties    |    37 +
 .../modules/java/api/common/ui/Bundle.properties   |     2 +
 .../java/api/common/ui/PlatformUiSupport.java      |   178 +-
 java.completion/build.xml                          |    39 +
 java.completion/nbproject/project.properties       |    39 +-
 java.completion/nbproject/project.xml              |    41 +-
 .../netbeans/modules/java/completion/BaseTask.java |    88 +-
 .../modules/java/completion/Bundle.properties      |    37 +
 .../java/completion/JavaCompletionTask.java        |   148 +-
 .../1.7/OverrideAbstractListAbstract.pass          |   161 +
 .../1.8/OverrideAbstractListAbstract.pass          |   168 +
 ...Exception1.pass => OverrideTypedException.pass} |     0
 .../1.8/OverrideTypedException2.pass               |     1 -
 .../JavaCompletionTaskTest/1.8/autoCloseables.pass |     8 +
 .../1.8/autoCloseablesStartingWithF.pass           |     1 +
 .../1.8/finalAndAutoCloseables.pass                |     9 +
 .../completion/JavaCompletionTaskTest/1.8/i.pass   |     1 -
 ...erModifiersAndTypesWithoutDefaultAndStatic.pass |   126 -
 .../1.8/javaLangContent.pass                       |   104 -
 .../JavaCompletionTaskTest/1.8/resourceInit.pass   |   133 +
 .../JavaCompletionTaskTest/1.8/resourceNames.pass  |     3 +
 .../1.8/resourcesAndAutoCloseables.pass            |    10 +
 .../data/OverrideAbstractListAbstract.java         |     9 +
 .../modules/java/completion/data/SimpleTWR.java    |    15 +
 .../java/completion/data/SimpleTWRNoRes.java       |    12 +
 .../java/completion/data/SimpleTWRStart.java       |     9 +
 .../netbeans/modules/java/completion/data/TWR.java |    14 +
 .../modules/java/completion/data/TWRNoRes.java     |    12 +
 .../modules/java/completion/data/TWRStart.java     |     8 +
 .../java/completion/CompletionTestBase.java        |    16 +-
 .../JavaCompletionTask15FeaturesTest.java          |     6 +-
 .../JavaCompletionTask17FeaturesTest.java          |   147 +
 .../JavaCompletionTask18FeaturesTest.java          |     6 +-
 .../JavaCompletionTask19FeaturesTest.java          |   111 +
 .../completion/JavaCompletionTaskAdvancedTest.java |     6 +-
 .../JavaCompletionTaskElementCreatingTest.java     |    11 +-
 java.debug/nbproject/project.properties            |     2 +-
 java.debug/nbproject/project.xml                   |    39 +
 .../java/debug/SourceForBinaryQueryImpl.java       |    34 +-
 .../org/netbeans/modules/java/debug/TreeNode.java  |    23 +-
 java.editor.base/build.xml                         |    39 +
 java.editor.base/nbproject/project.properties      |    39 +-
 java.editor.base/nbproject/project.xml             |    39 +
 .../modules/java/editor/base/Bundle.properties     |    37 +
 .../editor/base/fold/JavaElementFoldVisitor.java   |    58 +-
 .../semantic/MarkOccurrencesHighlighterBase.java   |     4 +-
 .../base/semantic/SemanticHighlighterBase.java     |    21 +-
 java.editor.lib/manifest.mf                        |     2 +-
 java.editor/manifest.mf                            |     2 +-
 java.editor/nbproject/project.properties           |     2 +-
 java.editor/nbproject/project.xml                  |    10 +-
 .../modules/editor/java/CamelCaseOperations.java   |    16 +-
 .../netbeans/modules/editor/java/GoToSupport.java  |    25 +-
 .../editor/java/JavaCodeTemplateFilter.java        |    22 +-
 .../modules/editor/java/JavaCompletionItem.java    |   310 +-
 .../editor/java/JavaCompletionItemFactory.java     |     8 +-
 .../java/editor/codegen/GeneratorUtils.java        |   172 +-
 .../codegen/ImplementOverrideMethodGenerator.java  |   154 +-
 .../java/editor/codegen/ui/CheckTreeView.java      |     4 +-
 .../java/editor/codegen/ui/ElementNode.java        |    16 +
 .../editor/codegen/ui/ElementSelectorPanel.java    |   115 +-
 .../editor/codegen/ui/ImplementOverridePanel.form  |     4 +-
 .../editor/codegen/ui/ImplementOverridePanel.java  |     2 +-
 .../modules/java/editor/fold/MessagePattern.java   |    42 -
 .../editor/hyperlink/JavaHyperlinkProvider.java    |     2 +-
 .../java/editor/imports/ClipboardHandler.java      |    45 +-
 .../java/editor/resources/DefaultAbbrevs.xml       |     2 +-
 .../editor/resources/DefaultKeyBindings-Mac.xml    |     3 -
 .../java/editor/resources/DefaultKeyBindings.xml   |     3 -
 .../java/editor/resources/DefaultMacros.xml        |    39 +
 .../java/editor/resources/JavaOptions.settings     |    39 +
 .../modules/java/editor/semantic/Bundle.properties |     4 +-
 .../editor/semantic/GoToMarkOccurrencesAction.java |    17 +-
 .../projects/Formatting/nbproject/build-impl.xml   |     2 +-
 .../{ => 1.7}/testGenerate129140.pass              |     0
 .../{ => 1.7}/testGenerate133625a.pass             |     0
 .../{ => 1.7}/testGenerate133625b.pass             |     0
 .../{ => 1.7}/testGenerate133625c.pass             |     0
 .../{ => 1.7}/testGenerate133625d.pass             |     0
 .../{ => 1.7}/testMethodProposals1.pass            |     0
 .../{ => 1.7}/testMethodProposals2.pass            |     0
 .../{ => 1.7}/testMethodProposals3.pass            |     0
 .../{ => 1.8}/testGenerate129140.pass              |     0
 .../{ => 1.8}/testGenerate133625a.pass             |     0
 .../{ => 1.8}/testGenerate133625b.pass             |     0
 .../{ => 1.8}/testGenerate133625c.pass             |     0
 .../{ => 1.8}/testGenerate133625d.pass             |     0
 .../{ => 1.8}/testMethodProposals1.pass            |     0
 .../1.8/testMethodProposals2.pass                  |    32 +
 .../1.8/testMethodProposals3.pass                  |    69 +
 .../{ => 1.7}/test102613-filtered.pass             |     0
 .../{ => 1.7}/test102613-unfiltered.pass           |     0
 .../{ => 1.7}/test202604-filtered.pass             |     0
 .../{ => 1.7}/test202604-unfiltered.pass           |     0
 .../{ => 1.7}/test232647-filtered.pass             |     0
 .../{ => 1.7}/test232647-unfiltered.pass           |     0
 .../{ => 1.7}/test90743-filtered.pass              |     0
 .../{ => 1.7}/test90743-unfiltered.pass            |     0
 .../{ => 1.7}/test97420-filtered.pass              |     0
 .../{ => 1.7}/test97420-unfiltered.pass            |     0
 .../{ => 1.7}/testAnnotation-filtered.pass         |     0
 .../{ => 1.7}/testAnnotation-unfiltered.pass       |     0
 .../{ => 1.7}/testAnnotation2-filtered.pass        |     0
 .../{ => 1.7}/testAnnotation2-unfiltered.pass      |     0
 .../testBrokenLambdaParameter-filtered.pass        |     0
 .../testBrokenLambdaParameter-unfiltered.pass      |     0
 .../{ => 1.7}/testEmptyCatch-filtered.pass         |     0
 .../{ => 1.7}/testEmptyCatch-unfiltered.pass       |     0
 .../{ => 1.7}/testException-filtered.pass          |     0
 .../{ => 1.7}/testException-unfiltered.pass        |     0
 .../{ => 1.7}/testFilterByKind-filtered.pass       |     0
 .../{ => 1.7}/testFilterByKind-unfiltered.pass     |     0
 .../{ => 1.7}/testFilterDeclaration-filtered.pass  |     0
 .../testFilterDeclaration-unfiltered.pass          |     0
 .../testFilterTypedInitializator-filtered.pass     |     0
 .../testFilterTypedInitializator-unfiltered.pass   |     0
 .../{ => 1.7}/testFilterWithMethods-filtered.pass  |     0
 .../testFilterWithMethods-unfiltered.pass          |     0
 .../{ => 1.7}/testGetCookie-filtered.pass          |     0
 .../{ => 1.7}/testGetCookie-unfiltered.pass        |     0
 .../{ => 1.7}/testNew-filtered.pass                |     0
 .../{ => 1.7}/testNew-unfiltered.pass              |     0
 .../testPackageDoesNotExist-filtered.pass          |     0
 .../testPackageDoesNotExist-unfiltered.pass        |     0
 .../{ => 1.7}/testSimple-filtered.pass             |     0
 .../{ => 1.7}/testSimple-unfiltered.pass           |     0
 .../{ => 1.7}/testStaticImports1-filtered.pass     |     0
 .../{ => 1.7}/testStaticImports1-unfiltered.pass   |     0
 .../testStaticImports233117-filtered.pass          |     0
 .../testStaticImports233117-unfiltered.pass        |     0
 .../testStaticImportsArrays1-filtered.pass         |     0
 .../testStaticImportsArrays1-unfiltered.pass       |     0
 .../testStaticImportsArrays2-filtered.pass         |     0
 .../testStaticImportsArrays2-unfiltered.pass       |     0
 .../testStaticImportsArrays3-filtered.pass         |     0
 .../testStaticImportsArrays3-unfiltered.pass       |     0
 .../{ => 1.7}/testUnfinishedMethod-filtered.pass   |     0
 .../{ => 1.7}/testUnfinishedMethod-unfiltered.pass |     0
 .../{ => 1.7}/testUnfinishedMethod2-filtered.pass  |     0
 .../testUnfinishedMethod2-unfiltered.pass          |     0
 .../testUnsupportedOperation1-filtered.pass        |     0
 .../testUnsupportedOperation1-unfiltered.pass      |     0
 .../{ => 1.8}/test102613-filtered.pass             |     0
 .../{ => 1.8}/test102613-unfiltered.pass           |     0
 .../{ => 1.8}/test202604-filtered.pass             |     0
 .../{ => 1.8}/test202604-unfiltered.pass           |     0
 .../{ => 1.8}/test232647-filtered.pass             |     0
 .../{ => 1.8}/test232647-unfiltered.pass           |     0
 .../{ => 1.8}/test90743-filtered.pass              |     0
 .../{ => 1.8}/test90743-unfiltered.pass            |     0
 .../{ => 1.8}/test97420-filtered.pass              |     0
 .../{ => 1.8}/test97420-unfiltered.pass            |     0
 .../{ => 1.8}/testAnnotation-filtered.pass         |     0
 .../{ => 1.8}/testAnnotation-unfiltered.pass       |     0
 .../{ => 1.8}/testAnnotation2-filtered.pass        |     0
 .../{ => 1.8}/testAnnotation2-unfiltered.pass      |     0
 .../testBrokenLambdaParameter-filtered.pass        |     0
 .../testBrokenLambdaParameter-unfiltered.pass      |     0
 .../1.8/testEmptyCatch-filtered.pass               |     0
 .../1.8/testEmptyCatch-unfiltered.pass             |     0
 .../{ => 1.8}/testException-filtered.pass          |     0
 .../{ => 1.8}/testException-unfiltered.pass        |     0
 .../{ => 1.8}/testFilterByKind-filtered.pass       |     0
 .../{ => 1.8}/testFilterByKind-unfiltered.pass     |     0
 .../{ => 1.8}/testFilterDeclaration-filtered.pass  |     0
 .../testFilterDeclaration-unfiltered.pass          |     0
 .../testFilterTypedInitializator-filtered.pass     |     0
 .../testFilterTypedInitializator-unfiltered.pass   |     0
 .../{ => 1.8}/testFilterWithMethods-filtered.pass  |     0
 .../testFilterWithMethods-unfiltered.pass          |     0
 .../{ => 1.8}/testGetCookie-filtered.pass          |     0
 .../{ => 1.8}/testGetCookie-unfiltered.pass        |     0
 .../{ => 1.8}/testNew-filtered.pass                |     0
 .../{ => 1.8}/testNew-unfiltered.pass              |     0
 .../testPackageDoesNotExist-filtered.pass          |     0
 .../testPackageDoesNotExist-unfiltered.pass        |     0
 .../{ => 1.8}/testSimple-filtered.pass             |     0
 .../{ => 1.8}/testSimple-unfiltered.pass           |     0
 .../1.8/testStaticImports1-filtered.pass           |     1 +
 .../1.8/testStaticImports1-unfiltered.pass         |     1 +
 .../testStaticImports233117-filtered.pass          |     0
 .../testStaticImports233117-unfiltered.pass        |     0
 .../testStaticImportsArrays1-filtered.pass         |     0
 .../testStaticImportsArrays1-unfiltered.pass       |     0
 .../testStaticImportsArrays2-filtered.pass         |     0
 .../testStaticImportsArrays2-unfiltered.pass       |     0
 .../testStaticImportsArrays3-filtered.pass         |     0
 .../testStaticImportsArrays3-unfiltered.pass       |     0
 .../{ => 1.8}/testUnfinishedMethod-filtered.pass   |     0
 .../{ => 1.8}/testUnfinishedMethod-unfiltered.pass |     0
 .../{ => 1.8}/testUnfinishedMethod2-filtered.pass  |     0
 .../testUnfinishedMethod2-unfiltered.pass          |     0
 .../testUnsupportedOperation1-filtered.pass        |     0
 .../testUnsupportedOperation1-unfiltered.pass      |     0
 .../codegen/DelegateMethodGeneratorTest.java       |     6 +-
 .../codegen/EqualsHashCodeGeneratorTest.java       |     9 +-
 .../java/editor/imports/ClipboardHandlerTest.java  |    70 +-
 .../java/editor/imports/ComputeImportsTest.java    |     6 +-
 java.examples/ClientEditor/build.xml               |    45 +-
 .../ClientEditor/nbproject/project.properties      |    41 +-
 java.examples/ClientEditor/nbproject/project.xml   |    39 +
 java.examples/GUIFormExamples/build.xml            |    45 +-
 .../GUIFormExamples/nbproject/project.properties   |    41 +-
 .../GUIFormExamples/nbproject/project.xml          |    39 +
 .../anagrams/nbproject/project.properties          |     4 +-
 java.examples/manifest.mf                          |     2 +-
 .../resources/descriptions/ClientEditor.html       |    41 +-
 .../resources/descriptions/GUIFormExamples.html    |    43 +-
 .../examples/resources/descriptions/anagrams.html  |    41 +-
 .../descriptions/j2seSamplesCategory.html          |    39 +
 .../modules/java/examples/resources/mf-layer.xml   |    39 +
 java.freeform/manifest.mf                          |     2 +-
 java.freeform/nbproject/project.xml                |    23 +-
 .../netbeans/modules/java/freeform/Classpaths.java |    34 +-
 .../modules/java/freeform/LookupProviderImpl.java  |     5 +-
 .../modules/java/freeform/jdkselection/jdk.xsl     |     9 +-
 .../freeform/resources/freeform-project-java.html  |    87 +-
 java.guards/manifest.mf                            |     2 +-
 java.hints.declarative.test/arch.xml               |    45 +-
 java.hints.declarative.test/build.xml              |    39 +
 .../nbproject/project.properties                   |    39 +-
 java.hints.declarative.test/nbproject/project.xml  |    39 +
 .../java/hints/declarative/test/Bundle.properties  |    37 +
 .../test/api/DeclarativeHintsTestBase.java         |     9 +-
 java.hints.declarative/build.xml                   |    39 +
 .../nbproject/project.properties                   |    39 +-
 java.hints.declarative/nbproject/project.xml       |    39 +
 .../java/hints/declarative/Bundle.properties       |     9 +-
 .../hints/declarative/ClassPathProviderImpl.java   |     9 +-
 .../modules/java/hints/declarative/Condition.java  |     9 +-
 .../java/hints/declarative/DeclarativeFix.java     |     9 +-
 .../hints/declarative/DeclarativeHintLexer.java    |     9 +-
 .../hints/declarative/DeclarativeHintRegistry.java |    61 +-
 .../hints/declarative/DeclarativeHintTokenId.java  |     9 +-
 .../hints/declarative/DeclarativeHintsParser.java  |     9 +-
 .../hints/declarative/DeclarativeHintsWorker.java  |     9 +-
 .../hints/declarative/EmbeddingProviderImpl.java   |     9 +-
 .../modules/java/hints/declarative/Hacks.java      |     9 +-
 .../java/hints/declarative/HintDataObject.java     |     9 +-
 .../hints/declarative/MethodInvocationContext.java |     9 +-
 .../hints/declarative/PatternConvertorImpl.java    |     9 +-
 .../modules/java/hints/declarative/Utilities.java  |     9 +-
 .../hints/declarative/conditionapi/Context.java    |     9 +-
 .../conditionapi/DefaultRuleUtilities.java         |     9 +-
 .../hints/declarative/conditionapi/Matcher.java    |     9 +-
 .../hints/declarative/conditionapi/Variable.java   |     9 +-
 .../hints/declarative/debugging/Bundle.properties  |     9 +-
 .../debugging/DebuggingHighlightsLayerFactory.java |     9 +-
 .../declarative/debugging/EvaluationSpanTask.java  |     9 +-
 .../hints/declarative/debugging/HintWrapper.java   |     9 +-
 .../hints/declarative/idebinding/HintsTask.java    |     9 +-
 .../idebinding/JavadocForBinaryQueryImpl.java      |     9 +-
 .../hints/declarative/idebinding/ParserImpl.java   |     9 +-
 .../hints/declarative/resources/Bundle.properties  |     9 +-
 .../hints/declarative/resources/HintSample.hint    |    39 +
 .../hints/declarative/resources/fontsColors.xml    |     9 +-
 .../java/hints/declarative/resources/layer.xml     |     9 +-
 .../java/hints/declarative/resources/test.hint     |    39 +
 .../java/hints/declarative/test/Bundle.properties  |     9 +-
 .../test/DeclarativeHintsTestDataObject.java       |     9 +-
 .../declarative/test/EditorTestPerformer.java      |     9 +-
 .../test/HighlightsLayerFactoryImpl.java           |     9 +-
 .../java/hints/declarative/test/TestLexer.java     |     9 +-
 .../hints/declarative/test/TestLocatorImpl.java    |     9 +-
 .../java/hints/declarative/test/TestParser.java    |     9 +-
 .../java/hints/declarative/test/TestPerformer.java |     9 +-
 .../java/hints/declarative/test/TestTokenId.java   |     9 +-
 .../java/hints/declarative/CallOutterMethod.hint   |    41 +-
 .../java/hints/declarative/ChangeFieldType.hint    |    39 +
 .../hints/declarative/CustomConditionTest.hint     |    39 +
 .../declarative/DeclarativeHintLexerTest.java      |     9 +-
 .../declarative/DeclarativeHintsParserTest.java    |     9 +-
 .../declarative/EmbeddingProviderImplTest.java     |     9 +-
 .../java/hints/declarative/EnhancedForTest.hint    |    42 +-
 .../java/hints/declarative/FakeBlockWarning.hint   |    39 +
 .../java/hints/declarative/ImportsTest1.hint       |    39 +
 .../java/hints/declarative/ImportsTest2.hint       |    39 +
 .../java/hints/declarative/LambdaInput.hint        |    39 +
 .../declarative/MethodInvocationContextTest.java   |     9 +-
 .../declarative/NameBoundVariablesGetSet.hint      |    39 +
 .../hints/declarative/NegativeInstanceOfTest.hint  |    39 +
 .../hints/declarative/PerformDeclarativeTest.java  |     9 +-
 .../java/hints/declarative/TestParentMatches.hint  |    39 +
 .../modules/java/hints/declarative/TestUtils.java  |     9 +-
 .../hints/declarative/annotation-conversion.hint   |    39 +
 .../declarative/broken-condition-no-exception.hint |    39 +
 .../java/hints/declarative/condition-on-fix.hint   |    39 +
 .../declarative/conditionapi/ContextTest.java      |     9 +-
 .../declarative/conditionapi/MatcherTest.java      |     9 +-
 .../declarative/conditionapi/isAvailable.hint      |    41 +-
 .../declarative/conditionapi/matchWithBind.hint    |    39 +
 .../debugging/EvaluationSpanTaskTest.java          |     9 +-
 .../expression-to-expression-statement.hint        |    39 +
 .../java/hints/declarative/fqn-rewrite-test.hint   |    39 +
 .../java/hints/declarative/otherwise-test.hint     |    39 +
 .../java/hints/declarative/remove-from-parent.hint |    39 +
 .../java/hints/declarative/test/TestLexerTest.java |     9 +-
 .../hints/declarative/test/TestParserTest.java     |     9 +-
 .../declarative/testfrombundle/Bundle.properties   |    37 +
 .../testfrombundle/display-names-from-bundle.hint  |    39 +
 java.hints.legacy.spi/arch.xml                     |    45 +-
 java.hints.legacy.spi/build.xml                    |    39 +
 java.hints.legacy.spi/nbproject/project.properties |    39 +-
 java.hints.legacy.spi/nbproject/project.xml        |    40 +
 .../java/hints/legacy/spi/Bundle.properties        |    37 +
 .../java/hints/legacy/spi/RulesManager.java        |     7 +
 java.hints.test/apichanges.xml                     |    12 +
 java.hints.test/arch.xml                           |    45 +-
 java.hints.test/build.xml                          |    39 +
 .../org-netbeans-modules-java-hints-test.sig       |     2 +-
 java.hints.test/nbproject/project.properties       |    39 +-
 java.hints.test/nbproject/project.xml              |    39 +
 .../modules/java/hints/test/Bundle.properties      |    37 +
 .../modules/java/hints/test/api/HintTest.java      |    22 +
 java.hints.ui/build.xml                            |    39 +
 java.hints.ui/nbproject/project.properties         |    39 +-
 java.hints.ui/nbproject/project.xml                |    39 +
 .../modules/java/hints/onsave/Bundle.properties    |    37 +
 .../netbeans/modules/java/hints/spiimpl/layer.xml  |    39 +
 .../java/hints/spiimpl/options/Bundle.properties   |    37 +
 .../spiimpl/refactoring/ApplyPatternAction.java    |    11 +-
 .../hints/spiimpl/refactoring/Bundle.properties    |     9 +-
 .../refactoring/FindDuplicatesRefactoring.java     |     9 +-
 .../FindDuplicatesRefactoringPlugin.java           |     9 +-
 .../spiimpl/refactoring/InspectAndRefactorUI.java  |     9 +-
 .../spiimpl/refactoring/InspectionComboModel.java  |     4 +-
 .../refactoring/RefactoringPluginFactoryImpl.java  |     9 +-
 .../modules/java/hints/ui/Bundle.properties        |    37 +
 java.hints/nbproject/project.properties            |     6 +-
 java.hints/nbproject/project.xml                   |    23 +-
 .../modules/java/hints/ArithmeticUtilities.java    |    18 +-
 .../modules/java/hints/AssignResultToVariable.java |    57 +-
 .../java/hints/ConvertAnonymousToInner.java        |     2 +-
 .../java/hints/ExportNonAccessibleElement.java     |     2 +-
 .../modules/java/hints/InitializerCanBeStatic.java |    13 +
 .../java/hints/LeakingThisInConstructor.java       |    25 +
 .../modules/java/hints/OrganizeImports.java        |    21 +-
 .../hints/OverridableMethodCallInConstructor.java  |     3 +-
 .../modules/java/hints/PrintStackTrace.java        |    13 +-
 .../modules/java/hints/SerialVersionUID.java       |    20 +-
 .../modules/java/hints/SideEffectVisitor.java      |    10 +-
 .../modules/java/hints/StandardJavacWarnings.java  |     5 +-
 .../netbeans/modules/java/hints/StaticImport.java  |    24 +-
 .../modules/java/hints/StringBuilderAppend.java    |    67 +-
 .../org/netbeans/modules/java/hints/SystemOut.java |    16 +-
 .../modules/java/hints/ThreadDumpStack.java        |    13 +-
 .../modules/java/hints/WrongPackageSuggestion.java |    16 +-
 .../java/hints/bugs/ArrayStringConversions.java    |    28 -
 .../modules/java/hints/bugs/BroadCatchBlock.java   |     4 +-
 .../modules/java/hints/bugs/Bundle.properties      |     4 +-
 .../modules/java/hints/bugs/CloneAndCloneable.java |    15 +
 .../netbeans/modules/java/hints/bugs/NPECheck.java |    13 +-
 .../modules/java/hints/bugs/SuspiciousToArray.java |     2 +-
 .../java/hints/bugs/ThrowableNotThrown.java        |    10 +-
 .../modules/java/hints/bugs/TryCatchFinally.java   |   145 +-
 .../modules/java/hints/bugs/Unbalanced.java        |     9 +-
 .../java/hints/control/RemoveUnnecessary.java      |   266 +-
 .../modules/java/hints/errors/AddCast.java         |     2 +-
 .../java/hints/errors/ChangeMethodReturnType.java  |     2 +-
 .../modules/java/hints/errors/ChangeType.java      |     6 +-
 .../modules/java/hints/errors/CreateElement.java   |    79 +-
 .../java/hints/errors/ErrorFixesFakeHint.java      |     9 +
 .../modules/java/hints/errors/ExtraCatch.java      |    35 +-
 .../hints/errors/ImplementAllAbstractMethods.java  |   671 +-
 .../modules/java/hints/errors/ImportClass.java     |    51 +-
 .../java/hints/errors/ImportClassCustomizer.java   |     2 +-
 .../java/hints/errors/MissingReturnStatement.java  |     6 +-
 .../hints/errors/OrigSurroundWithTryCatchFix.java  |    29 +-
 .../java/hints/errors/OverrideErrorMessage.java    |    70 -
 .../modules/java/hints/errors/TypeErroneous.java   |     4 +-
 .../modules/java/hints/errors/Utilities.java       |   974 +-
 .../java/hints/friendapi/OverrideErrorMessage.java |    72 +
 .../java/hints/friendapi/SourceChangeUtils.java    |    68 +
 .../infrastructure/EmbeddedHintsCollector.java     |   167 +
 .../hints/infrastructure/ErrorHintsProvider.java   |   143 +-
 .../modules/java/hints/introduce/Bundle.properties |     2 +
 .../modules/java/hints/introduce/ErrorLabel.java   |   141 -
 .../java/hints/introduce/FieldValidator.java       |   179 +
 .../modules/java/hints/introduce/Flow.java         |     5 +-
 .../java/hints/introduce/InstanceRefFinder.java    |     7 +-
 .../java/hints/introduce/IntroduceConstantFix.java |    13 +-
 .../IntroduceExpressionBasedMethodFix.java         |    41 +-
 .../java/hints/introduce/IntroduceFieldFix.java    |    56 +-
 .../java/hints/introduce/IntroduceFieldPanel.form  |    42 +-
 .../java/hints/introduce/IntroduceFieldPanel.java  |   170 +-
 .../java/hints/introduce/IntroduceHint.java        |    99 +-
 .../java/hints/introduce/IntroduceMethodFix.java   |   110 +-
 .../java/hints/introduce/IntroduceMethodPanel.form |    37 +-
 .../java/hints/introduce/IntroduceMethodPanel.java |   212 +-
 .../java/hints/introduce/IntroduceVariableFix.java |    54 +-
 .../java/hints/introduce/MemberSearchResult.java   |   126 +
 .../java/hints/introduce/MemberValidator.java      |    69 +
 .../java/hints/introduce/MethodValidator.java      |   253 +
 .../java/hints/introduce/NameChangeSupport.java    |   200 +
 .../java/hints/introduce/ReferenceTransformer.java |   148 +
 .../java/hints/introduce/TargetDescription.java    |    29 +-
 .../jackpot/hintsimpl/LoggerStringConcat.java      |    56 +-
 .../modules/java/hints/jdk/AddUnderscores.java     |     5 +-
 .../modules/java/hints/jdk/Bundle.properties       |     1 +
 .../modules/java/hints/jdk/ConvertToARM.java       |   275 +-
 .../java/hints/jdk/ConvertToDiamondBulkHint.java   |     6 +-
 .../modules/java/hints/jdk/ConvertToLambda.java    |    46 +-
 .../java/hints/jdk/ConvertToLambdaConverter.java   |    96 +-
 .../jdk/ConvertToLambdaPreconditionChecker.java    |   116 +-
 .../java/hints/jdk/ConvertToStringSwitch.java      |    74 +-
 .../modules/java/hints/jdk/IteratorToFor.java      |    15 +-
 .../modules/java/hints/jdk/JoinCatches.java        |   100 +-
 .../modules/java/hints/jdk/UnnecessaryBoxing.java  |    88 +-
 .../java/hints/jdk/UnnecessaryUnboxing.java        |    52 +-
 .../modules/java/hints/jdk/UseSpecificCatch.java   |   122 +-
 .../jdk/mapreduce/ForLoopToFunctionalHint.java     |    10 +-
 .../hints/jdk/mapreduce/PreconditionsChecker.java  |    25 +-
 .../hints/jdk/mapreduce/ProspectiveOperation.java  |    14 +-
 .../java/hints/jdk/mapreduce/Refactorer.java       |    59 +-
 .../java/hints/jdk/mapreduce/TreeUtilities.java    |     6 +-
 .../java/hints/perf/StringBuffer2Builder.java      |     7 +-
 .../java/hints/resources/default.properties        |    37 +
 .../java/hints/resources/enabled.properties        |    37 +
 .../netbeans/modules/java/hints/resources/ide.css  |    63 +-
 .../modules/java/hints/resources/jdk5.properties   |    37 +
 .../modules/java/hints/resources/jdk7.properties   |    37 +
 .../modules/java/hints/resources/jdk8.properties   |    37 +
 .../modules/java/hints/resources/layer.xml         |     4 +-
 .../java/hints/suggestions/ConstantNameHint.java   |     7 +-
 .../java/hints/suggestions/ConvertIfToSwitch.java  |    30 +
 .../hints/suggestions/ExpandEnhancedForLoop.java   |    18 +-
 .../hints/suggestions/ExpectedTypeResolver.java    |    12 +-
 .../java/hints/suggestions/IfToSwitchSupport.java  |   103 +-
 .../modules/java/hints/suggestions/Ifs.java        |    20 +-
 .../modules/java/hints/suggestions/Lambda.java     |   165 +-
 .../java/hints/suggestions/TooStrongCast.java      |    67 +-
 .../modules/java/hints/threading/Bundle.properties |     2 -
 .../modules/java/hints/threading/Tiny.java         |    26 -
 .../java/hints/threading/UnlockOutsideFinally.java |   226 +
 .../modules/java/hints/ui/ClassNameList.java       |    16 +-
 .../testImplementAbstractMethodsHint1-hints.pass   |     3 +-
 .../testImplementAbstractMethodsHint1.pass         |    20 +-
 .../testImplementAbstractMethodsHint11-hints.pass  |     2 +-
 .../testImplementAbstractMethodsHint2-hints.pass   |     2 +-
 .../testImplementAbstractMethodsHint2.pass         |     1 +
 .../testImplementAbstractMethodsHint3-hints.pass   |     2 +-
 .../testImplementAbstractMethodsHint3.pass         |     3 +-
 .../testImplementAbstractMethodsHint4-hints.pass   |     3 +-
 .../testImplementAbstractMethodsHint4.pass         |     3 +-
 .../testImplementAbstractMethodsHint5-hints.pass   |     3 +-
 .../testImplementAbstractMethodsHint5.pass         |     3 +-
 .../testImplementAbstractMethodsHint6-hints.pass   |     2 +-
 .../testImplementAbstractMethodsHint6.pass         |     2 +-
 .../testImplementAbstractMethodsHint7-hints.pass   |     3 +-
 .../testImplementAbstractMethodsHint7.pass         |     4 +
 .../testImplementAbstractMethodsHint8-hints.pass   |     3 +-
 .../testImplementAbstractMethodsHint8.pass         |     2 +
 .../testImplementDefaultMethods1-hints.pass        |     2 +
 .../testImplementDefaultMethods1.pass              |    17 +
 .../testImplementDefaultMethods2-hints.pass        |     2 +
 .../testImplementDefaultMethods2.pass              |    21 +
 .../testImplementEnumMethods-hints.pass            |     1 +
 .../ErrorHintsTest/testImplementEnumMethods.pass   |    29 +
 .../testMakeClassAbstract1-hints.pass              |     2 +-
 .../testMakeClassAbstract2-hints.pass              |     2 +-
 .../testMakeClassAbstract3-hints.pass              |     2 +-
 .../testNonAbstractClass85806-hints.pass           |     2 +-
 .../ErrorHintsProviderTest/testShortErrors7.pass   |     6 +-
 .../test/java/hints/ImplementDefaultMethods1.java  |     9 +
 .../test/java/hints/ImplementDefaultMethods2.java  |     9 +
 .../test/java/hints/ImplementEnumMethods.java      |    14 +
 .../editor/codegen/ImplementGeneratorAccessor.java |    59 +
 .../java/hints/ArithmeticUtilitiesTest.java        |    34 +-
 .../java/hints/AssignResultToVariableTest.java     |    21 +
 .../modules/java/hints/IllegalInstanceOfTest.java  |    18 +
 .../modules/java/hints/SerialVersionUIDTest.java   |    15 +-
 .../modules/java/hints/StaticImportTest.java       |    21 +-
 .../java/hints/StringBuilderAppendTest.java        |     8 +-
 .../java/hints/bugs/BroadCatchBlockTest.java       |     2 +-
 .../java/hints/bugs/MalformedFormatStringTest.java |     2 +-
 .../modules/java/hints/bugs/NPECheckTest.java      |    13 +-
 .../java/hints/bugs/ThrowableNotThrownTest.java    |    34 +
 .../java/hints/errors/Bundle_test.properties       |     8 +
 .../modules/java/hints/errors/ErrorHintsTest.java  |   127 +-
 .../errors/ImplementAllAbstractMethodsTest.java    |    28 +-
 .../hints/errors/MissingReturnStatementTest.java   |    20 +-
 .../hints/errors/RemoveInvalidModifierTest.java    |     4 +-
 .../modules/java/hints/errors/UtilitiesTest.java   |   310 +-
 .../java/hints/errors/empty-class-template.xml     |     2 +-
 .../java/hints/errors/only-imports-layer.xml       |     2 +-
 .../java/hints/infrastructure/HintsTestBase.java   |     8 +-
 .../java/hints/introduce/IntroduceHintTest.java    |     6 +-
 .../jackpot/hintsimpl/LoggerStringConcatTest.java  |     2 +-
 .../modules/java/hints/jdk/Bundle_test.properties  |     5 +
 .../modules/java/hints/jdk/ConvertToARMTest.java   |   282 +
 .../hints/jdk/ConvertToDiamondBulkHintTest.java    |    20 +-
 .../java/hints/jdk/ConvertToLambdaTest.java        |   129 +-
 .../java/hints/jdk/ConvertToStringSwitchTest.java  |     9 +-
 .../java/hints/jdk/UseSpecificCatchTest.java       |    82 +
 .../jdk/mapreduce/ForLoopToFunctionalHintTest.java |    28 +-
 .../java/hints/suggestions/Bundle_test.properties  |     3 +
 .../hints/suggestions/ConvertIfToSwitchTest.java   |   162 +
 .../suggestions/ExpandEnhancedForLoopTest.java     |     9 +-
 .../modules/java/hints/suggestions/LambdaTest.java |   213 +
 java.j2sedeploy/build.xml                          |    39 +
 java.j2sedeploy/manifest.mf                        |     2 +-
 java.j2sedeploy/nbproject/project.properties       |    37 +
 java.j2sedeploy/nbproject/project.xml              |    39 +
 .../modules/java/j2sedeploy/Bundle.properties      |    37 +
 .../resources/build-native-prototype.xml           |    19 +
 java.j2seembedded/build.xml                        |    39 +
 java.j2seembedded/manifest.mf                      |     2 +-
 java.j2seembedded/nbproject/project.properties     |    37 +
 java.j2seembedded/nbproject/project.xml            |    39 +
 .../modules/java/j2seembedded/Bundle.properties    |    37 +
 .../resources/remote-platform-impl.xml             |    42 +-
 .../modules/java/j2seembedded/ui/Bundle.properties |     3 +-
 .../java/j2seembedded/ui/CreateJREPanel.form       |    76 +-
 .../java/j2seembedded/ui/CreateJREPanel.java       |    77 +-
 .../j2seembedded/wizard/SetUpRemotePlatform.java   |     2 +-
 java.j2seplatform/manifest.mf                      |     2 +-
 java.j2seplatform/nbproject/project.properties     |     2 +-
 java.j2seplatform/nbproject/project.xml            |    17 +-
 .../java/j2seplatform/api/J2SEPlatformCreator.java |    78 +-
 .../platformdefinition/Bundle.properties           |    40 +-
 .../platformdefinition/ForwardingJavaPlatform.java |   117 -
 .../platformdefinition/J2SEPlatformCustomizer.java |   215 +-
 .../J2SEPlatformDefaultJavadocImpl.java            |     1 +
 .../platformdefinition/J2SEPlatformFactory.java    |   175 +
 .../platformdefinition/J2SEPlatformImpl.java       |    61 +-
 .../platformdefinition/PlatformConvertor.java      |    58 +-
 .../java/j2seplatform/platformdefinition/Util.java |   105 +-
 .../jrtfs/NBJRTArchiveRootProvider.java            |   105 +
 .../platformdefinition/jrtfs/NBJRTFileSystem.java  |   302 +
 .../jrtfs/NBJRTFileSystemProvider.java             |    97 +
 .../platformdefinition/jrtfs/NBJRTURLMapper.java   |   110 +
 .../jrtfs/NBJRTURLStreamHandler.java               |   128 +
 .../platformdefinition/jrtfs/NBJRTUtil.java        |   155 +
 .../java/j2seplatform/queries/Bundle.properties    |    37 +
 .../modules/java/j2seplatform/resources/empty.png  |   Bin 0 -> 2832 bytes
 .../modules/java/j2seplatform/resources/jar.png    |   Bin 0 -> 758 bytes
 .../java/j2seplatform/resources/package.png        |   Bin 0 -> 496 bytes
 .../modules/java/j2seplatform/resources/web.gif    |   Bin 0 -> 915 bytes
 .../java/j2seplatform/wizard/Bundle.properties     |     1 +
 .../java/j2seplatform/wizard/DetectPanel.java      |    35 +-
 .../DefaultSourceLevelQueryImplTest.java           |     3 +-
 .../jrtfs/NBJRTFileSystemTest.java                 |   103 +
 .../jrtfs/NBJRTURLMapperTest.java                  |    76 +
 java.j2seprofiles/build.xml                        |    39 +
 java.j2seprofiles/manifest.mf                      |     2 +-
 java.j2seprofiles/nbproject/project.properties     |    37 +
 java.j2seprofiles/nbproject/project.xml            |    39 +
 .../modules/java/j2seprofiles/Bundle.properties    |    37 +
 java.j2seproject/copylibstask/build.xml            |    45 +-
 .../copylibstask/nbproject/build-impl.xml          |     9 +-
 .../copylibstask/nbproject/genfiles.properties     |     6 +-
 .../copylibstask/nbproject/project.properties      |    37 +
 .../copylibstask/nbproject/project.xml             |    39 +
 java.j2seproject/nbproject/project.properties      |     4 +-
 java.j2seproject/nbproject/project.xml             |    15 +-
 .../java/j2seproject/J2SEActionProvider.java       |   406 +
 .../modules/java/j2seproject/J2SEProject.java      |     9 +-
 .../java/j2seproject/J2SEProjectPlatformImpl.java  |    10 +-
 .../java/j2seproject/api/J2SEProjectBuilder.java   |    23 +-
 .../java/j2seproject/resources/build-impl.xsl      |    21 +-
 .../j2seproject/resources/cos-update-snippet.xml   |    51 +
 .../modules/java/j2seproject/resources/jax-ws.xml  |    39 +
 .../j2seproject/ui/customizer/Bundle.properties    |     2 +-
 .../ui/customizer/CustomizerProviderImpl.java      |    71 +-
 .../j2seproject/ui/customizer/CustomizerRun.form   |     3 +
 .../j2seproject/ui/customizer/CustomizerRun.java   |    21 +-
 .../ui/customizer/J2SEProjectProperties.java       |     3 +-
 .../java/j2seproject/ui/resources/CopyLibs.xml     |    43 +-
 .../java/j2seproject/ui/resources/desktop.html     |    75 +-
 .../j2seproject/ui/resources/emptyLibrary.html     |    16 +-
 .../j2seproject/ui/resources/emptyProject.html     |    16 +-
 .../j2seproject/ui/resources/existingProject.html  |    75 +-
 .../modules/java/j2seproject/BuildImplTest.java    |     2 +-
 .../java/j2seproject/J2SEActionProviderTest.java   |     2 +-
 .../j2seproject/J2SEPersistenceProviderTest.java   |     2 +-
 .../java/j2seproject/J2SEProjectGeneratorTest.java |     6 +-
 .../java/j2seproject/J2SESharabilityQueryTest.java |     2 +-
 .../modules/java/j2seproject/J2SESourcesTest.java  |     2 +-
 .../java/j2seproject/ProjectPlatformTest.java      |   152 +
 .../modules/java/j2seproject/SourceRootsTest.java  |     2 +-
 .../api/J2SEProjectConfigurationsTest.java         |     2 +-
 .../j2seproject/api/J2SEProjectPlatformTest.java   |     4 +-
 .../java/j2seproject/applet/AppletSupportTest.java |     2 +-
 .../J2SEProjectClassPathModifierTest.java          |     4 +-
 .../classpath/SourcePathImplementationTest.java    |     2 +-
 .../queries/BinaryForSourceQueryImplTest.java      |     2 +-
 .../queries/CompiledSourceForBinaryQueryTest.java  |     2 +-
 .../j2seproject/queries/FileEncodingQueryTest.java |     2 +-
 .../queries/UnitTestForSourceQueryImplTest.java    |     2 +-
 java.kit/build.xml                                 |    39 +
 java.kit/manifest.mf                               |     2 +-
 java.kit/nbproject/project.xml                     |     4 +-
 java.kit/release/VERSION.txt                       |     2 +-
 .../src/org/netbeans/modules/java/kit/layer.xml    |    39 +
 java.lexer/apichanges.xml                          |    15 +-
 java.lexer/manifest.mf                             |     2 +-
 .../org/netbeans/api/java/lexer/JavaTokenId.java   |     2 +
 .../src/org/netbeans/lib/java/lexer/JavaLexer.java |     9 +-
 .../src/org/netbeans/lib/java/lexer/layer.xml      |    39 +
 java.metrics/build.xml                             |    39 +
 java.metrics/manifest.mf                           |     2 +-
 java.metrics/nbproject/project.properties          |    37 +
 java.metrics/nbproject/project.xml                 |    39 +
 .../modules/java/metrics/Bundle.properties         |    37 +
 .../org/netbeans/modules/java/metrics/layer.xml    |    39 +
 java.navigation/manifest.mf                        |     2 +-
 java.navigation/nbproject/project.xml              |    12 +-
 .../java/navigation/CaretListeningTask.java        |    28 +-
 .../java/navigation/ElementScanningTask.java       |     4 +-
 .../resources/JavadocTopComponentSettings.xml      |    39 +
 .../resources/JavadocTopComponentWstcref.xml       |    39 +
 .../modules/java/navigation/resources/ide.css      |    63 +-
 java.platform.ui/manifest.mf                       |     2 +-
 .../org-netbeans-modules-java-platform-ui.sig      |     2 +-
 .../java/platform/DefaultJavaPlatformProvider.java |    15 +-
 .../platform/resources/templates/javaplatform.html |    39 +
 .../templates/javaplatformdefinition.html          |    39 +
 .../org/netbeans/spi/java/platform/package.html    |    16 +-
 java.platform/apichanges.xml                       |    16 +
 java.platform/manifest.mf                          |     2 +-
 .../org-netbeans-modules-java-platform.sig         |    22 +-
 java.platform/nbproject/project.properties         |     2 +-
 java.platform/nbproject/project.xml                |     2 +
 .../org/netbeans/api/java/platform/package.html    |    16 +-
 .../spi/java/platform/JavaPlatformFactory.java     |    81 +
 .../platform/support/ForwardingJavaPlatform.java   |   118 +
 java.preprocessorbridge/apichanges.xml             |    15 +
 java.preprocessorbridge/build.xml                  |    39 +
 .../nbproject/project.properties                   |    41 +-
 java.preprocessorbridge/nbproject/project.xml      |    77 +
 .../JavaSourceUtilImplAccessor.java                |    13 +
 .../api/CompileOnSaveActionQuery.java              |   218 +
 .../preprocessorbridge/api/JavaSourceUtil.java     |    33 +-
 .../spi/CompileOnSaveAction.java                   |   380 +
 .../preprocessorbridge/spi/JavaSourceUtilImpl.java |    21 +
 .../api/CompileOnSaveActionQueryTest.java          |   256 +
 java.project.ui/manifest.mf                        |     2 +-
 .../org-netbeans-modules-java-project-ui.sig       |     7 +-
 java.project.ui/nbproject/project.properties       |     4 +-
 java.project.ui/nbproject/project.xml              |    30 +-
 java.project.ui/overview.html                      |    39 +
 .../modules/java/project/ui/Bundle.properties      |     5 +
 .../modules/java/project/ui/FixPlatform.form       |   121 +
 .../modules/java/project/ui/FixPlatform.java       |   454 +
 .../java/project/ui/ProjectProblemsProviders.java  |   221 +-
 .../java/project/ui/resources/AnnotationType.html  |    16 +-
 .../modules/java/project/ui/resources/Applet.html  |    16 +-
 .../modules/java/project/ui/resources/Class.html   |    16 +-
 .../modules/java/project/ui/resources/Classes.html |    16 +-
 .../modules/java/project/ui/resources/Empty.html   |    16 +-
 .../modules/java/project/ui/resources/Enum.html    |    16 +-
 .../java/project/ui/resources/Exception.html       |    16 +-
 .../java/project/ui/resources/Interface.html       |    16 +-
 .../modules/java/project/ui/resources/JApplet.html |    16 +-
 .../modules/java/project/ui/resources/Main.html    |    16 +-
 .../modules/java/project/ui/resources/Package.html |    16 +-
 .../java/project/ui/resources/Singleton.html       |    16 +-
 .../java/project/ui/resources/package-info.html    |    16 +-
 .../support/ui/BrokenReferencesSupport.java        |    42 +
 .../spi/java/project/support/ui/PackageView.java   |    34 +-
 .../spi/java/project/support/ui/package.html       |    16 +-
 .../src/projects/libraries.properties              |    37 +
 .../src/projects/platforms.properties              |    37 +
 .../unit/data/simple-app/nbproject/build-impl.xml  |     4 +-
 .../modules/java/project/ui/JavaAntLoggerTest.java |    29 +-
 java.project/apichanges.xml                        |    30 +
 java.project/manifest.mf                           |     2 +-
 .../org-netbeans-modules-java-project.sig          |     4 +-
 java.project/nbproject/project.properties          |     4 +-
 java.project/nbproject/project.xml                 |     9 +
 java.project/overview.html                         |    39 +
 .../project/support/ClassPathProviderMerger.java   |    12 +-
 .../support/JavadocAndSourceRootDetection.java     |     9 +-
 .../spi/java/project/support/ProjectPlatform.java  |   209 +
 .../support/ClassPathProviderMergerTest.java       |    65 +-
 .../modules/java/source/ant/CosUpdated.java        |   238 +
 .../netbeans/modules/java/source/ant/antlib.xml    |     1 +
 java.source.ant/nbproject/project.properties       |     2 +-
 java.source.ant/nbproject/project.xml              |    53 +-
 .../modules/java/source/ant/ProjectRunnerImpl.java |     8 +-
 java.source.base/apichanges.xml                    |    66 +
 java.source.base/build.xml                         |    39 +
 .../org-netbeans-modules-java-source-base.sig      |  1767 +
 java.source.base/nbproject/project.properties      |     4 +-
 java.source.base/nbproject/project.xml             |     6 +-
 .../netbeans/api/java/source/AssignComments.java   |   178 +-
 .../netbeans/api/java/source/ClasspathInfo.java    |    81 +-
 .../org/netbeans/api/java/source/CodeStyle.java    |    40 +
 .../netbeans/api/java/source/ElementHandle.java    |     7 +-
 .../netbeans/api/java/source/ElementUtilities.java |   250 +-
 .../api/java/source/GeneratorUtilities.java        |   376 +-
 .../org/netbeans/api/java/source/SourceUtils.java  |    79 +-
 .../org/netbeans/api/java/source/TreeMaker.java    |    38 +-
 .../netbeans/api/java/source/TreeUtilities.java    |     1 +
 .../netbeans/api/java/source/TypeMirrorHandle.java |    18 +-
 .../netbeans/api/java/source/TypeUtilities.java    |    99 +
 .../org/netbeans/api/java/source/WorkingCopy.java  |    96 +-
 .../src/org/netbeans/api/java/source/package.html  |    39 +
 .../modules/java/source/JavaSourceUtilImpl.java    |   332 +
 .../netbeans/modules/java/source/JavadocEnv.java   |    12 +-
 .../modules/java/source/JavadocHelper.java         |    69 +-
 .../modules/java/source/PostFlowAnalysis.java      |    27 +-
 .../netbeans/modules/java/source/TreeLoader.java   |    12 +-
 .../modules/java/source/base/Bundle.properties     |    37 +
 .../java/source/builder/CommentHandlerService.java |    32 +
 .../java/source/builder/CommentSetImpl.java        |    17 +-
 .../java/source/builder/ElementsService.java       |   125 +-
 .../modules/java/source/builder/TreeFactory.java   |    57 +-
 .../modules/java/source/indexing/APTUtils.java     |   458 +-
 .../source/indexing/COSSynchronizingIndexer.java   |     9 +-
 .../modules/java/source/indexing/FQN2Files.java    |    28 +-
 .../java/source/indexing/JavaBinaryIndexer.java    |    12 +-
 .../java/source/indexing/JavaCustomIndexer.java    |   154 +-
 .../modules/java/source/indexing/JavaIndex.java    |     9 +-
 .../java/source/indexing/JavaParsingContext.java   |     5 +-
 .../source/indexing/MultiPassCompileWorker.java    |     1 -
 .../java/source/indexing/OnePassCompileWorker.java |    16 +-
 .../source/indexing/SuperOnePassCompileWorker.java |    13 +-
 .../source/parsing/CachingArchiveClassLoader.java  |    50 +-
 .../source/parsing/CachingArchiveProvider.java     |    29 +-
 .../java/source/parsing/CachingPathArchive.java    |   241 +
 .../modules/java/source/parsing/ClassParser.java   |     8 +-
 .../java/source/parsing/ClasspathInfoProvider.java |     3 +-
 .../java/source/parsing/CompilationInfoImpl.java   |   132 +-
 .../java/source/parsing/FileObjectArchive.java     |    16 +-
 .../modules/java/source/parsing/FileObjects.java   |   488 +-
 .../modules/java/source/parsing/Hacks.java         |    22 +
 .../modules/java/source/parsing/JavacParser.java   |    26 +-
 .../modules/java/source/parsing/PathArchive.java   |   148 +
 .../modules/java/source/pretty/VeryPretty.java     |    46 +-
 .../modules/java/source/pretty/WidthEstimator.java |    15 +-
 .../modules/java/source/save/CasualDiff.java       |   162 +-
 .../modules/java/source/save/Reformatter.java      |   172 +-
 .../modules/java/source/save/Reindenter.java       |    11 +-
 .../source/transform/ImmutableTreeTranslator.java  |    18 +-
 .../java/source/transform/TreeDuplicator.java      |    12 +-
 .../modules/java/source/transform/package.html     |    79 +-
 .../modules/java/source/usages/BinaryAnalyser.java |   168 +-
 .../modules/java/source/usages/BinaryName.java     |   177 +
 .../source/usages/BuildArtifactMapperImpl.java     |   566 +-
 .../modules/java/source/usages/ClassIndexImpl.java |     6 +-
 .../java/source/usages/ClasspathInfoAccessor.java  |     8 +-
 .../modules/java/source/usages/DocumentUtil.java   |    64 +-
 .../modules/java/source/usages/LongHashMap.java    |    14 +-
 .../java/source/usages/PersistentClassIndex.java   |    22 +-
 .../java/source/usages/SourceAnalyzerFactory.java  |   276 +-
 .../org/netbeans/modules/java/ui/FmtOptions.java   |     2 +
 .../netbeans/api/java/source/ClassIndexTest.java   |     2 +
 .../api/java/source/ElementUtilitiesTest.java      |   293 +
 .../netbeans/api/java/source/SourceUtilsTest.java  |    25 -
 .../api/java/source/SourceUtilsTestUtil.java       |    20 +-
 .../api/java/source/gen/BreakContinueTest.java     |    15 +-
 .../api/java/source/gen/FieldGroupTest.java        |    62 +
 .../org/netbeans/api/java/source/gen/IfTest.java   |   109 +
 .../api/java/source/gen/ImportAnalysis2Test.java   |     8 +-
 .../api/java/source/gen/InterfaceTest.java         |    18 +-
 .../api/java/source/gen/ModifiersTest.java         |    38 +
 .../netbeans/api/java/source/gen/PackageTest.java  |     2 +-
 .../netbeans/api/java/source/gen/SwitchTest.java   |    17 +-
 .../java/source/JavaSourceUtilImplTest.java        |   134 +
 .../CacheSourceForBinaryQueryImplTest.java         |     2 +-
 .../source/classpath/JShellSourcePathTest.java     |   155 +
 .../java/source/indexing/SourcePrefetcherTest.java |     2 +-
 .../source/parsing/CachingPathArchiveTest.java     |   268 +
 .../java/source/parsing/ClasspathInfoTest.java     |     2 +-
 .../java/source/parsing/PathArchiveTest.java       |   207 +
 .../java/source/usages/BinaryAnalyserTest.java     |    14 +-
 .../modules/java/source/usages/BinaryNameTest.java |   107 +
 .../java/source/usages/LucenePerformanceTest.java  |    15 +-
 .../usages/PersistentClassIndexScopesTest.java     |     6 +-
 .../java/source/usages/SourceAnalyzerTest.java     |     6 +-
 java.source.compat8/build.xml                      |    39 +
 java.source.compat8/manifest.mf                    |     2 +-
 java.source.compat8/nbproject/project.properties   |    37 +
 java.source.compat8/nbproject/project.xml          |    39 +
 .../modules/java/source/compat8/Bundle.properties  |    37 +
 java.source.queries/build.xml                      |    39 +
 java.source.queries/manifest.mf                    |     2 +-
 java.source.queries/nbproject/project.properties   |    37 +
 java.source.queries/nbproject/project.xml          |    39 +
 .../modules/java/source/queries/Bundle.properties  |    37 +
 java.source.queriesimpl/build.xml                  |    39 +
 java.source.queriesimpl/manifest.mf                |     2 +-
 .../nbproject/project.properties                   |    39 +-
 java.source.queriesimpl/nbproject/project.xml      |    48 +-
 .../java/source/queriesimpl/Bundle.properties      |    37 +
 .../source/queriesimpl/JavaOperationsImpl.java     |    36 +-
 .../nbproject/org-netbeans-modules-java-source.sig |    60 +-
 java.source/nbproject/project.properties           |     2 +-
 java.source/nbproject/project.xml                  |    24 +-
 .../SelectionAwareJavaSourceTaskFactory.java       |    69 +-
 .../modules/java/classfile/Bundle.properties       |    37 +
 .../netbeans/modules/java/source/package-info.java |     5 +-
 .../java/source/resources/LambdaBody.template      |    15 +
 .../java/source/resources/find_usages.settings     |    39 +
 .../java/source/resources/find_usages.wstcref      |    39 +
 .../resources/icons/methodAbstractPackage.png      |   Bin 0 -> 631 bytes
 .../resources/icons/methodAbstractProtected.png    |   Bin 0 -> 753 bytes
 .../resources/icons/methodAbstractPublic.png       |   Bin 0 -> 500 bytes
 .../source/resources/icons/methodDefaultPublic.png |   Bin 0 -> 669 bytes
 .../org/netbeans/modules/java/ui/Bundle.properties |     1 +
 .../org/netbeans/modules/java/ui/FmtWrapping.form  |    17 +
 .../org/netbeans/modules/java/ui/FmtWrapping.java  |    12 +
 .../src/org/netbeans/modules/java/ui/Icons.java    |     6 +
 .../data/projects/default/nbproject/build-impl.xml |     2 +-
 java.sourceui/arch.xml                             |    49 +-
 java.sourceui/build.xml                            |    39 +
 .../org-netbeans-modules-java-sourceui.sig         |     6 +-
 java.sourceui/nbproject/project.properties         |    41 +-
 java.sourceui/nbproject/project.xml                |    41 +-
 .../api/java/source/ui/ElementJavadoc.java         |    14 +-
 .../netbeans/api/java/source/ui/ElementOpen.java   |    64 +-
 .../netbeans/api/java/source/ui/ScanDialog.java    |    20 +-
 .../java/source/ui/AsyncJavaSymbolDescriptor.java  |    10 +-
 .../java/source/ui/JavaSymbolDescriptorBase.java   |    72 +-
 .../modules/java/source/ui/JavaSymbolProvider.java |     6 +-
 .../java/source/ui/JavaTypeDescription.java        |    74 +-
 .../modules/java/source/ui/JavaTypeProvider.java   |    13 +-
 .../source/ui/ResolvedJavaSymbolDescriptor.java    |     3 +-
 .../java/source/ui/resources/Bundle.properties     |    37 +
 .../modules/java/source/ui/resources/layer.xml     |    39 +
 java.testrunner.ant/build.xml                      |    39 +
 java.testrunner.ant/manifest.mf                    |     2 +-
 java.testrunner.ant/nbproject/project.properties   |    37 +
 java.testrunner.ant/nbproject/project.xml          |    39 +
 .../modules/java/testrunner/ant/Bundle.properties  |    37 +
 java.testrunner.ui/build.xml                       |    39 +
 java.testrunner.ui/manifest.mf                     |     2 +-
 java.testrunner.ui/nbproject/project.properties    |    37 +
 java.testrunner.ui/nbproject/project.xml           |    39 +
 .../modules/java/testrunner/ui/Bundle.properties   |    37 +
 java.testrunner/build.xml                          |    39 +
 java.testrunner/manifest.mf                        |     2 +-
 java.testrunner/nbproject/project.properties       |    37 +
 java.testrunner/nbproject/project.xml              |    39 +
 .../modules/java/testrunner/Bundle.properties      |    37 +
 javacard.apdu.io/arch.xml                          |    45 +-
 javacard.apdu.io/build.xml                         |    39 +
 .../external/binaries-list                         |     0
 javacard.apdu.io/manifest.mf                       |     2 +-
 javacard.apdu.io/nbproject/project.properties      |    37 +
 javacard.apdu.io/nbproject/project.xml             |    39 +
 .../modules/javacard/apdu/io/Bundle.properties     |    37 +
 javacard.apdufile/build.xml                        |    39 +
 javacard.apdufile/manifest.mf                      |     2 +-
 javacard.apdufile/nbproject/project.properties     |    37 +
 javacard.apdufile/nbproject/project.xml            |    39 +
 .../modules/javacard/apdufile/Bundle.properties    |    37 +
 .../netbeans/modules/javacard/apdufile/layer.xml   |    39 +
 javacard.common/build.xml                          |    39 +
 javacard.common/manifest.mf                        |     2 +-
 javacard.common/nbproject/project.properties       |    37 +
 javacard.common/nbproject/project.xml              |    39 +
 .../modules/javacard/common/Bundle.properties      |    37 +
 javacard.console/build.xml                         |    39 +
 javacard.console/manifest.mf                       |     2 +-
 javacard.console/nbproject/project.properties      |    37 +
 javacard.console/nbproject/project.xml             |    39 +
 .../modules/javacard/console/Bundle.properties     |    37 +
 .../netbeans/modules/javacard/console/layer.xml    |    39 +
 javacard.filemodels/arch.xml                       |    45 +-
 javacard.filemodels/build.xml                      |    39 +
 javacard.filemodels/manifest.mf                    |     2 +-
 javacard.filemodels/nbproject/project.properties   |    37 +
 javacard.filemodels/nbproject/project.xml          |    39 +
 .../modules/javacard/filemodels/Bundle.properties  |    37 +
 javacard.kit/build.xml                             |    39 +
 javacard.kit/manifest.mf                           |     2 +-
 javacard.kit/nbproject/project.properties          |    37 +
 javacard.kit/nbproject/project.xml                 |    39 +
 javacard.kit/release/VERSION.txt                   |     2 +-
 .../modules/javacard/kit/Bundle.properties         |    37 +
 javacard.oberthur/build.xml                        |    39 +
 javacard.oberthur/manifest.mf                      |     2 +-
 javacard.oberthur/nbproject/project.properties     |    37 +
 javacard.oberthur/nbproject/project.xml            |    39 +
 .../modules/javacard/oberthur/Bundle.properties    |    37 +
 .../netbeans/modules/javacard/oberthur/layer.xml   |    39 +
 javacard.platform.ui/build.xml                     |    39 +
 javacard.platform.ui/manifest.mf                   |     2 +-
 javacard.platform.ui/nbproject/project.properties  |    37 +
 javacard.platform.ui/nbproject/project.xml         |    39 +
 .../modules/javacard/platform/ui/Bundle.properties |    37 +
 javacard.project/arch.xml                          |    45 +-
 javacard.project/build.xml                         |    39 +
 .../modules/javacard/project/docs/index.xml        |    41 +-
 .../netbeans/modules/javacard/project/docs/toc.xml |    41 +-
 javacard.project/manifest.mf                       |     2 +-
 javacard.project/nbproject/project.properties      |    37 +
 javacard.project/nbproject/project.xml             |    39 +
 .../javacard/project/deps/Bundle.properties        |    37 +
 .../javacard/project/deps/ui/Bundle.properties     |    37 +
 .../javacard/resources/CapProjectDescription.html  |    39 +
 .../resources/ClsLibProjectDescription.html        |    39 +
 .../javacard/resources/EapProjectDescription.html  |    39 +
 .../resources/ExtLibProjectDescription.html        |    39 +
 .../javacard/resources/WebProjectDescription.html  |    39 +
 .../templates/ClassicAppletDescription.html        |    39 +
 .../templates/ExtendedAppletDescription.html       |    39 +
 .../javacard/templates/ServletDescription.html     |    39 +
 .../modules/javacard/templates/web-index.html      |    39 +
 javacard.ri.bundle/arch.xml                        |    45 +-
 javacard.ri.bundle/build.xml                       |    39 +
 .../external/binaries-list                         |     0
 javacard.ri.bundle/manifest.mf                     |     2 +-
 javacard.ri.bundle/nbproject/project.properties    |    37 +
 javacard.ri.bundle/nbproject/project.xml           |    39 +
 .../modules/javacard/ri/bundle/Bundle.properties   |    37 +
 javacard.ri.platform/build.xml                     |    39 +
 .../external/binaries-list                         |     0
 javacard.ri.platform/manifest.mf                   |     2 +-
 javacard.ri.platform/nbproject/project.properties  |    37 +
 javacard.ri.platform/nbproject/project.xml         |    39 +
 .../modules/javacard/ri/platform/Bundle.properties |    37 +
 .../modules/javacard/ri/platform/layer.xml         |    39 +
 javacard.spi/build.xml                             |    39 +
 javacard.spi/manifest.mf                           |     2 +-
 javacard.spi/nbproject/project.properties          |    37 +
 javacard.spi/nbproject/project.xml                 |    39 +
 .../modules/javacard/spi/Bundle.properties         |    37 +
 javadoc/manifest.mf                                |     2 +-
 javadoc/nbproject/project.properties               |     1 +
 javadoc/nbproject/project.xml                      |    26 +-
 .../modules/javadoc/highlighting/Highlighting.java |    31 +-
 .../netbeans/modules/javadoc/hints/Analyzer.java   |     1 +
 .../netbeans/modules/javadoc/hints/HtmlTag.java    |   468 -
 .../modules/javadoc/resources/javadoc-default.xml  |    39 +
 .../netbeans/modules/javadoc/search/package.html   |    39 +
 .../external/binaries-list                         |     0
 javaee.api/manifest.mf                             |     2 +-
 javaee.beanvalidation/build.xml                    |    39 +
 javaee.beanvalidation/manifest.mf                  |     2 +-
 javaee.beanvalidation/nbproject/project.properties |    37 +
 javaee.beanvalidation/nbproject/project.xml        |    39 +
 .../javaee/beanvalidation/AbstractIterator.java    |     9 +-
 .../javaee/beanvalidation/Bundle.properties        |     9 +-
 .../javaee/beanvalidation/ConstraintIterator.java  |     9 +-
 .../javaee/beanvalidation/ConstraintPanel.java     |     9 +-
 .../beanvalidation/ConstraintPanelVisual.java      |     9 +-
 .../ValidationConfigurationIterator.java           |     9 +-
 .../beanvalidation/ValidationMappingIterator.java  |     9 +-
 .../beanvalidation/api/BeanValidationConfig.java   |     9 +-
 .../impl/BeanValidationConfigImpl.java             |     9 +-
 .../impl/BeanValidationConfigProviderImpl.java     |     9 +-
 .../beanvalidation/resources/Bundle.properties     |    37 +
 .../beanvalidation/resources/Constraint.html       |    16 +-
 .../resources/ValidationConfiguration.html         |    16 +-
 .../resources/ValidationMapping.html               |    16 +-
 .../javaee/beanvalidation/resources/WebInfo.html   |    16 +-
 .../javaee/beanvalidation/resources/constraint.xml |    39 +
 .../javaee/beanvalidation/resources/layer.xml      |    39 +
 .../javaee/beanvalidation/resources/validation.xml |    39 +
 .../spi/BeanValidationConfigProvider.java          |     9 +-
 javaee.injection/build.xml                         |    39 +
 javaee.injection/manifest.mf                       |     2 +-
 javaee.injection/nbproject/project.properties      |    37 +
 javaee.injection/nbproject/project.xml             |    39 +
 .../modules/javaee/injection/Bundle.properties     |    37 +
 javaee.project/build.xml                           |    39 +
 javaee.project/manifest.mf                         |     2 +-
 javaee.project/nbproject/project.properties        |    37 +
 javaee.project/nbproject/project.xml               |    39 +
 .../modules/javaee/project/Bundle.properties       |    37 +
 .../javaee/project/dd/ear/applicationXml.html      |    39 +
 .../org/netbeans/modules/javaee/project/layer.xml  |    39 +
 javaee.resources/build.xml                         |    39 +
 javaee.resources/manifest.mf                       |     2 +-
 javaee.resources/nbproject/project.properties      |    37 +
 javaee.resources/nbproject/project.xml             |    39 +
 .../javaee/resources/resources/Bundle.properties   |    37 +
 javaee.specs.support/build.xml                     |    39 +
 javaee.specs.support/manifest.mf                   |     2 +-
 javaee.specs.support/nbproject/project.properties  |    37 +
 javaee.specs.support/nbproject/project.xml         |    39 +
 .../specs/support/api/JaxWsStackSupport.java       |    15 +-
 .../specs/support/resources/Bundle.properties      |    37 +
 javaee.wildfly/manifest.mf                         |     2 +-
 .../javaee/wildfly/WildflyDeploymentFactory.java   |     2 +-
 .../javaee/wildfly/WildflyDeploymentManager.java   |     4 +-
 .../javaee/wildfly/config/WildflyDatasource.java   |     2 +-
 .../mdb/wf10/MessageDestinationSupportImpl.java    |    10 +-
 .../modules/javaee/wildfly/ide/Bundle.properties   |     2 +
 .../wildfly/ide/WildflyIncrementalDeployment.java  |    33 +-
 .../wildfly/ide/WildflyJ2eePlatformFactory.java    |     4 +
 .../WildflyOptionalDeploymentManagerFactory.java   |     5 +-
 .../javaee/wildfly/ide/WildflyOutputSupport.java   |    75 +-
 .../javaee/wildfly/ide/WildflyStartRunnable.java   |   115 +-
 .../javaee/wildfly/ide/WildflyStopRunnable.java    |    39 +-
 .../javaee/wildfly/ide/commands/WildflyClient.java |   205 +-
 .../wildfly/ide/commands/WildflyManagementAPI.java |     6 +
 .../javaee/wildfly/ide/ui/WildflyPluginUtils.java  |   112 +-
 .../wildfly/nodes/WildflyDatasourceNode.java       |     4 +-
 .../wildfly/nodes/WildflyDeploymentChildren.java   |     5 +-
 .../wildfly/nodes/WildflyDestinationNode.java      |     3 +-
 .../wildfly/nodes/WildflyEarApplicationNode.java   |     4 +-
 .../javaee/wildfly/nodes/WildflyEjbModuleNode.java |     4 +-
 .../javaee/wildfly/nodes/WildflyWebModuleNode.java |     4 +-
 .../wildfly/nodes/actions/KillServerAction.java    |    71 +-
 .../javaee/wildfly/nodes/actions/ResourceType.java |    51 +
 .../nodes/actions/UndeployModuleCookieImpl.java    |    37 +-
 .../modules/javaee/wildfly/resources/javaee_6.xsd  |     7 +-
 .../wildfly/resources/javaee_web_services_1_3.xsd  |    33 +-
 .../resources/javaee_web_services_client_1_3.xsd   |    31 +-
 .../modules/javaee/wildfly/resources/jsp_2_2.xsd   |    33 +-
 .../modules/javaee/wildfly/resources/layer.xml     |     8 +-
 .../javaee/wildfly/resources/web-app_3_0.xsd       |    43 +-
 .../javaee/wildfly/resources/web-common_3_0.xsd    |    43 +-
 .../javaee/wildfly/resources/web-fragment_3_0.xsd  |    43 +-
 .../modules/javaee/wildfly/util/PathUtil.java      |    56 +
 .../javaee/wildfly/util/WildFlyProperties.java     |     4 +-
 .../javaee/wildfly/ide/ui/JBPluginUtilsTest.java   |    63 -
 .../wildfly/ide/ui/WildflyPluginUtilsTest.java     |    84 +
 .../external/binaries-list                         |     0
 javaee7.api/manifest.mf                            |     2 +-
 javafx2.editor/build.xml                           |    39 +
 javafx2.editor/nbproject/project.properties        |     2 +-
 javafx2.editor/nbproject/project.xml               |    48 +
 .../editor/actions/FieldsWithTypeParams.java       |    54 +-
 .../editor/codegen/AddFxPropertyConfig.java        |     2 +-
 .../javafx2/editor/codegen/AddPropertyPanel.java   |    43 +-
 javafx2.kit/build.xml                              |    39 +
 javafx2.kit/manifest.mf                            |     2 +-
 javafx2.kit/nbproject/project.properties           |    37 +
 javafx2.kit/nbproject/project.xml                  |    39 +
 javafx2.kit/release/VERSION.txt                    |     2 +-
 .../netbeans/modules/javafx2/kit/Bundle.properties |    37 +
 javafx2.platform/build.xml                         |    39 +
 javafx2.platform/manifest.mf                       |     2 +-
 javafx2.platform/nbproject/project.properties      |    37 +
 javafx2.platform/nbproject/project.xml             |    39 +
 .../modules/javafx2/platform/Bundle.properties     |    37 +
 .../netbeans/modules/javafx2/platform/Utils.java   |    23 +-
 .../platform/api/JavaFxRuntimeInclusion.java       |     8 +-
 .../netbeans/modules/javafx2/platform/layer.xml    |    39 +
 javafx2.project/build.xml                          |    39 +
 javafx2.project/manifest.mf                        |     2 +-
 javafx2.project/nbproject/project.properties       |    37 +
 javafx2.project/nbproject/project.xml              |    39 +
 .../modules/javafx2/project/Bundle.properties      |    37 +
 .../javafx2/project/JFXProjectGenerator.java       |     2 +-
 .../project/fxml/FXMLTemplateWizardIterator.java   |     5 +-
 .../modules/javafx2/project/templates/FXML.html    |    16 +-
 .../modules/javafx2/project/templates/FXMain.html  |    16 +-
 .../javafx2/project/templates/FXPreloader.html     |    18 +-
 .../javafx2/project/templates/FXSwingMain.html     |    16 +-
 .../javafx2/project/templates/JavaFXApp.html       |    22 +-
 .../javafx2/project/templates/JavaFXMLApp.html     |    18 +-
 .../project/templates/JavaFXPreloaderApp.html      |    18 +-
 .../javafx2/project/templates/JavaFXSwingApp.html  |    22 +-
 .../javafx2/project/templates/jfx-impl.xml_        |    49 +-
 .../modules/javafx2/project/ui/Bundle.properties   |    37 +
 javafx2.samples/AdvancedMedia/build.xml            |    43 +-
 .../AdvancedMedia/nbproject/project.properties     |    37 +
 .../AdvancedMedia/nbproject/project.xml            |    39 +
 javafx2.samples/AudioVisualizer3D/build.xml        |    43 +-
 .../AudioVisualizer3D/nbproject/project.properties |    37 +
 .../AudioVisualizer3D/nbproject/project.xml        |    39 +
 javafx2.samples/BrickBreaker/build.xml             |    43 +-
 .../BrickBreaker/nbproject/project.properties      |    37 +
 javafx2.samples/BrickBreaker/nbproject/project.xml |    39 +
 javafx2.samples/ChangeListener/build.xml           |    43 +-
 .../ChangeListener/nbproject/project.properties    |    37 +
 .../ChangeListener/nbproject/project.xml           |    39 +
 javafx2.samples/ChartAdvancedArea/build.xml        |    43 +-
 .../ChartAdvancedArea/nbproject/project.properties |    37 +
 .../ChartAdvancedArea/nbproject/project.xml        |    39 +
 javafx2.samples/ChartAdvancedBar/build.xml         |    43 +-
 .../ChartAdvancedBar/nbproject/project.properties  |    37 +
 .../ChartAdvancedBar/nbproject/project.xml         |    39 +
 javafx2.samples/ChartAdvancedPie/build.xml         |    43 +-
 .../ChartAdvancedPie/nbproject/project.properties  |    37 +
 .../ChartAdvancedPie/nbproject/project.xml         |    39 +
 javafx2.samples/ChartAdvancedScatter/build.xml     |    43 +-
 .../nbproject/project.properties                   |    37 +
 .../ChartAdvancedScatter/nbproject/project.xml     |    39 +
 javafx2.samples/ChartAdvancedScatterLive/build.xml |    43 +-
 .../nbproject/project.properties                   |    37 +
 .../ChartAdvancedScatterLive/nbproject/project.xml |    39 +
 javafx2.samples/ChartAdvancedStockLine/build.xml   |    43 +-
 .../nbproject/project.properties                   |    37 +
 .../ChartAdvancedStockLine/nbproject/project.xml   |    39 +
 javafx2.samples/ChartAudioArea/build.xml           |    43 +-
 .../ChartAudioArea/nbproject/project.properties    |    37 +
 .../ChartAudioArea/nbproject/project.xml           |    39 +
 javafx2.samples/ChartAudioBar/build.xml            |    43 +-
 .../ChartAudioBar/nbproject/project.properties     |    37 +
 .../ChartAudioBar/nbproject/project.xml            |    39 +
 javafx2.samples/ChartLine/build.xml                |    43 +-
 .../ChartLine/nbproject/project.properties         |    37 +
 javafx2.samples/ChartLine/nbproject/project.xml    |    39 +
 javafx2.samples/ColorPicker/build.xml              |    43 +-
 .../ColorPicker/nbproject/project.properties       |    37 +
 javafx2.samples/ColorPicker/nbproject/project.xml  |    39 +
 javafx2.samples/ColorfulCircles/build.xml          |    43 +-
 .../ColorfulCircles/nbproject/project.properties   |    37 +
 .../ColorfulCircles/nbproject/project.xml          |    39 +
 javafx2.samples/CreateAdvancedStage/build.xml      |    43 +-
 .../nbproject/project.properties                   |    37 +
 .../CreateAdvancedStage/nbproject/project.xml      |    39 +
 javafx2.samples/Cube3D/build.xml                   |    43 +-
 .../Cube3D/nbproject/project.properties            |    37 +
 javafx2.samples/Cube3D/nbproject/project.xml       |    39 +
 javafx2.samples/CubeSystem3D/build.xml             |    43 +-
 .../CubeSystem3D/nbproject/project.properties      |    37 +
 javafx2.samples/CubeSystem3D/nbproject/project.xml |    39 +
 javafx2.samples/DigitalClock/build.xml             |    43 +-
 .../DigitalClock/nbproject/project.properties      |    37 +
 javafx2.samples/DigitalClock/nbproject/project.xml |    39 +
 javafx2.samples/DisplayShelf/build.xml             |    43 +-
 .../DisplayShelf/nbproject/project.properties      |    37 +
 javafx2.samples/DisplayShelf/nbproject/project.xml |    39 +
 javafx2.samples/FXML-LoginDemo/build.xml           |    43 +-
 .../FXML-LoginDemo/nbproject/project.properties    |    37 +
 .../FXML-LoginDemo/nbproject/project.xml           |    39 +
 javafx2.samples/FXML-LoginDemo/src/demo/Login.css  |    44 +-
 javafx2.samples/FXML-LoginDemo/src/demo/Main.java  |    30 +-
 javafx2.samples/FXML-LoginDemo/src/demo/login.fxml |    39 +
 javafx2.samples/Fireworks/build.xml                |    43 +-
 .../Fireworks/nbproject/project.properties         |    37 +
 javafx2.samples/Fireworks/nbproject/project.xml    |    39 +
 javafx2.samples/HTMLEditorApp/build.xml            |    43 +-
 .../HTMLEditorApp/nbproject/project.properties     |    37 +
 .../HTMLEditorApp/nbproject/project.xml            |    39 +
 javafx2.samples/KeyStrokeMotion/build.xml          |    43 +-
 .../KeyStrokeMotion/nbproject/project.properties   |    37 +
 .../KeyStrokeMotion/nbproject/project.xml          |    39 +
 javafx2.samples/MouseEvents/build.xml              |    43 +-
 .../MouseEvents/nbproject/project.properties       |    37 +
 javafx2.samples/MouseEvents/nbproject/project.xml  |    39 +
 javafx2.samples/PaginationDemo/build.xml           |    43 +-
 .../PaginationDemo/nbproject/project.properties    |    37 +
 .../PaginationDemo/nbproject/project.xml           |    39 +
 javafx2.samples/PuzzlePieces/build.xml             |    43 +-
 .../PuzzlePieces/nbproject/project.properties      |    37 +
 javafx2.samples/PuzzlePieces/nbproject/project.xml |    39 +
 javafx2.samples/StopWatch/build.xml                |    43 +-
 .../StopWatch/nbproject/project.properties         |    37 +
 javafx2.samples/StopWatch/nbproject/project.xml    |    39 +
 javafx2.samples/SwingInterop/build.xml             |    43 +-
 .../SwingInterop/nbproject/project.properties      |    37 +
 javafx2.samples/SwingInterop/nbproject/project.xml |    39 +
 .../nbproject/templates/FXSwingTemplate.html       |    39 +
 .../nbproject/templates/FXSwingTemplateApplet.jnlp |    41 +-
 .../templates/FXSwingTemplateApplication.jnlp      |    41 +-
 javafx2.samples/TimelineEvents/build.xml           |    43 +-
 .../TimelineEvents/nbproject/project.properties    |    37 +
 .../TimelineEvents/nbproject/project.xml           |    39 +
 javafx2.samples/TimelineInterpolator/build.xml     |    43 +-
 .../nbproject/project.properties                   |    37 +
 .../TimelineInterpolator/nbproject/project.xml     |    39 +
 javafx2.samples/TransitionPath/build.xml           |    43 +-
 .../TransitionPath/nbproject/project.properties    |    37 +
 .../TransitionPath/nbproject/project.xml           |    39 +
 javafx2.samples/TransitionRotate/build.xml         |    43 +-
 .../TransitionRotate/nbproject/project.properties  |    37 +
 .../TransitionRotate/nbproject/project.xml         |    39 +
 javafx2.samples/WebViewBrowser/build.xml           |    43 +-
 .../WebViewBrowser/nbproject/project.properties    |    37 +
 .../WebViewBrowser/nbproject/project.xml           |    39 +
 javafx2.samples/Xylophone/build.xml                |    43 +-
 .../Xylophone/nbproject/project.properties         |    37 +
 javafx2.samples/Xylophone/nbproject/project.xml    |    39 +
 javafx2.samples/build.xml                          |    39 +
 javafx2.samples/manifest.mf                        |     2 +-
 javafx2.samples/nbproject/project.properties       |    37 +
 javafx2.samples/nbproject/project.xml              |    39 +
 .../modules/javafx2/samples/resources/layer.xml    |    39 +
 javafx2.scenebuilder/build.xml                     |    39 +
 javafx2.scenebuilder/manifest.mf                   |     2 +-
 javafx2.scenebuilder/nbproject/project.xml         |    39 +
 .../javafx2/scenebuilder/options/Bundle.properties |    37 +
 .../javahelp => javahelp}/external/binaries-list   |     0
 javahelp/manifest.mf                               |     2 +-
 javahelp/src/META-INF/upgrade/Help.hint            |    39 +
 .../org/netbeans/api/javahelp/doc-files/api.html   |    28 +-
 .../api/javahelp/doc-files/help-guide.html         |     2 +-
 .../org/netbeans/modules/javahelp/JavaHelp.java    |     3 +-
 .../modules/javahelp/resources/helpcontext-1_0.dtd |    39 +
 .../modules/javahelp/resources/helpsetref-1_0.dtd  |    39 +
 javascript.bower/manifest.mf                       |     2 +-
 javascript.bower/nbproject/project.properties      |    39 +-
 javascript.bower/nbproject/project.xml             |    49 +-
 .../javascript/bower/exec/BowerExecutable.java     |    27 +-
 .../javascript/bower/file/ImportantFilesImpl.java  |     8 +-
 .../bower/misc/SharabilityQueryImpl.java           |    29 +-
 .../javascript/bower/options/BowerOptions.java     |    24 +-
 .../bower/options/BowerOptionsValidator.java       |     2 +-
 .../bower/ui/libraries/DependenciesPanel.java      |     6 +-
 .../bower/ui/libraries/LibrariesPanel.java         |     2 +-
 .../javascript/bower/ui/libraries/Library.java     |     2 +
 .../bower/ui/libraries/LibraryProvider.java        |     9 +-
 .../javascript/bower/ui/libraries/SearchPanel.java |    10 +-
 .../bower/ui/options/BowerOptionsPanel.form        |    15 +-
 .../bower/ui/options/BowerOptionsPanel.java        |    44 +-
 .../ui/options/BowerOptionsPanelController.java    |    12 +-
 .../javascript/bower/ui/options/Bundle.properties  |     5 +-
 javascript.cdnjs/manifest.mf                       |     2 +-
 javascript.cdnjs/nbproject/project.properties      |     2 +-
 .../netbeans/modules/javascript/cdnjs/Library.java |    21 +-
 .../javascript/cdnjs/LibraryCustomizer.java        |    95 +-
 .../javascript/cdnjs/LibraryPersistence.java       |    11 +-
 .../modules/javascript/cdnjs/LibraryProvider.java  |     2 +-
 .../modules/javascript/cdnjs/LibraryUtils.java     |   132 +
 .../modules/javascript/cdnjs/ui/Bundle.properties  |     1 +
 .../modules/javascript/cdnjs/ui/SearchPanel.java   |     9 +-
 .../javascript/cdnjs/ui/SelectionPanel.form        |    24 +-
 .../javascript/cdnjs/ui/SelectionPanel.java        |    87 +-
 .../cdnjs/ui/logicalview/CdnjsLibraries.java       |    62 +-
 .../javascript/cdnjs/ui/resources/broken-badge.gif |   Bin 0 -> 353 bytes
 .../javascript/cdnjs/ui/resources/broken.png       |   Bin 0 -> 3286 bytes
 .../cdnjs/{ => ui}/resources/checking.png          |   Bin
 .../cdnjs/{ => ui}/resources/unknown.png           |   Bin
 .../cdnjs/{ => ui}/resources/uptodate.gif          |   Bin
 javascript.grunt/manifest.mf                       |     2 +-
 javascript.grunt/nbproject/project.properties      |    39 +-
 javascript.grunt/nbproject/project.xml             |    60 +-
 .../modules/javascript/grunt/GruntBuildTool.java   |    68 +-
 .../javascript/grunt/GruntBuildToolSupport.java    |   174 +
 .../javascript/grunt/exec/GruntExecutable.java     |   125 +-
 .../modules/javascript/grunt/file/GruntTasks.java  |    26 +-
 .../javascript/grunt/file/ImportantFilesImpl.java  |     6 +-
 .../grunt/options/GruntOptionsValidator.java       |     2 +-
 .../grunt/preferences/GruntPreferences.java        |    19 +
 .../modules/javascript/grunt/resources/layer.xml   |     4 +-
 .../grunt/ui/actions/RunGruntTaskAction.java       |   135 +-
 .../grunt/ui/customizer/Bundle.properties          |    42 +
 .../grunt/ui/customizer/GruntCustomizerPanel.form  |    64 +
 .../grunt/ui/customizer/GruntCustomizerPanel.java  |   189 +
 .../ui/customizer/GruntCustomizerPanelImpl.java    |   106 +
 .../ui/customizer/GruntCustomizerProvider.java     |    12 +-
 .../ui/navigator/NavigatorPanelSupportImpl.java    |   129 +
 .../grunt/ui/options/GruntOptionsPanel.java        |     8 +-
 javascript.gulp/manifest.mf                        |     2 +-
 javascript.gulp/nbproject/project.properties       |    39 +-
 javascript.gulp/nbproject/project.xml              |    60 +-
 .../modules/javascript/gulp/GulpBuildTool.java     |    72 +-
 .../javascript/gulp/GulpBuildToolSupport.java      |   175 +
 .../javascript/gulp/exec/GulpExecutable.java       |   103 +-
 .../modules/javascript/gulp/file/GulpTasks.java    |    24 +-
 .../modules/javascript/gulp/file/Gulpfile.java     |    14 +-
 .../javascript/gulp/file/ImportantFilesImpl.java   |     6 +-
 .../gulp/options/GulpOptionsValidator.java         |     2 +-
 .../modules/javascript/gulp/resources/layer.xml    |     4 +-
 .../gulp/ui/actions/RunGulpTaskAction.java         |   136 +-
 .../gulp/ui/customizer/GulpCustomizerProvider.java |    12 +-
 .../ui/navigator/NavigatorPanelSupportImpl.java    |   129 +
 .../gulp/ui/options/GulpOptionsPanel.java          |    12 +-
 javascript.jstestdriver/build.xml                  |    39 +
 javascript.jstestdriver/manifest.mf                |     2 +-
 .../nbproject/project.properties                   |    39 +-
 javascript.jstestdriver/nbproject/project.xml      |    39 +
 .../jstestdriver/JSTestDriverSupport.java          |     2 +-
 .../modules/javascript/jstestdriver/layer.xml      |    39 +
 .../jstestdriver/resources/TemplateHelp.html       |    16 +-
 .../jstestdriver/resources/mime-resolver.xml       |    42 +-
 .../jstestdriver/wizard/Bundle.properties          |    37 +
 javascript.karma/build.xml                         |    39 +
 javascript.karma/manifest.mf                       |     2 +-
 javascript.karma/nbproject/project.properties      |    39 +-
 javascript.karma/nbproject/project.xml             |    49 +-
 .../javascript/karma/exec/KarmaExecutable.java     |     7 +-
 .../karma/options/KarmaOptionsValidator.java       |     2 +-
 .../modules/javascript/karma/run/TestRunner.java   |     4 +-
 .../karma/ui/options/KarmaOptionsPanel.java        |     8 +-
 javascript.karma/test/unit/data/log1.txt           |    52 +
 javascript.karma/test/unit/data/log2.txt           |  5852 +++
 .../javascript/karma/run/TestRunnerTest.java       |     2 +
 javascript.nodejs/manifest.mf                      |     2 +-
 javascript.nodejs/nbproject/project.properties     |    39 +-
 javascript.nodejs/nbproject/project.xml            |    50 +-
 .../ListDirectory/nbproject/project.properties     |    37 +
 .../ListDirectory/nbproject/project.xml            |    39 +
 .../MessagesAngular/nbproject/project.properties   |    37 +
 .../MessagesAngular/nbproject/project.xml          |    39 +
 .../MessagesExpress/nbproject/project.properties   |    37 +
 .../MessagesExpress/nbproject/project.xml          |    39 +
 .../MessagesKnockout/nbproject/project.properties  |    37 +
 .../MessagesKnockout/nbproject/project.xml         |    39 +
 .../nodejs/editor/NodeJsSupportImpl.java           |     2 +-
 .../javascript/nodejs/exec/ExpressExecutable.java  |     2 +-
 .../javascript/nodejs/exec/NodeExecutable.java     |    83 +-
 .../javascript/nodejs/exec/NodeProcesses.java      |   154 +
 .../javascript/nodejs/exec/NpmExecutable.java      |    46 +-
 .../javascript/nodejs/file/ImportantFilesImpl.java |     6 +-
 .../nodejs/misc/SharabilityQueryImpl.java          |    47 +-
 .../javascript/nodejs/options/NodeJsOptions.java   |    33 +-
 .../nodejs/platform/NodeJsPlatformProvider.java    |     2 +
 .../javascript/nodejs/platform/NodeJsSupport.java  |    24 +-
 .../nodejs/problems/NodeJsProblemsProvider.java    |     4 +-
 .../modules/javascript/nodejs/ui/Bundle.properties |     1 -
 .../javascript/nodejs/ui/NodeJsPathPanel.form      |    12 +-
 .../javascript/nodejs/ui/NodeJsPathPanel.java      |    70 +-
 .../javascript/nodejs/ui/Notifications.java        |    31 +
 .../nodejs/ui/actions/DebugProjectCommand.java     |     6 +-
 .../nodejs/ui/actions/ProjectCommand.java          |    16 +-
 .../nodejs/ui/actions/RunProjectCommand.java       |     6 +-
 .../nodejs/ui/libraries/DependenciesPanel.java     |     7 +-
 .../javascript/nodejs/ui/libraries/Library.java    |     2 +
 .../nodejs/ui/libraries/LibraryProvider.java       |     7 +-
 .../javascript/nodejs/ui/options/Bundle.properties |     5 +-
 .../nodejs/ui/options/NodeJsOptionsPanel.form      |    10 +
 .../nodejs/ui/options/NodeJsOptionsPanel.java      |    30 +-
 .../ui/options/NodeJsOptionsPanelController.java   |    10 +-
 .../nodejs/ui/wizard/ExpressPanelVisual.java       |     8 +-
 .../modules/javascript/nodejs/util/FileUtils.java  |     2 +-
 .../javascript/nodejs/util/GraalVmUtils.java       |   110 +
 .../modules/javascript/nodejs/util/NodeInfo.java   |   101 -
 .../javascript/nodejs/util/NodeJsUtils.java        |    25 +
 .../javascript/nodejs/util/ValidationUtils.java    |     2 +-
 javascript.v8debug.ui/build.xml                    |    50 +
 javascript.v8debug.ui/manifest.mf                  |     6 +
 javascript.v8debug.ui/nbproject/project.properties |    47 +
 javascript.v8debug.ui/nbproject/project.xml        |   252 +
 .../org.netbeans.spi.viewmodel.ColumnModel         |     0
 .../javascript/v8debug/ui/Bundle.properties        |    45 +
 .../modules/javascript/v8debug/ui/EditorUtils.java |   127 +
 .../v8debug/ui/ErrorMessageHandlerImpl.java        |    68 +
 .../ui/V8DebuggerEngineComponentsProvider.java     |   137 +
 .../v8debug/ui/actions/V8DebugActionsProvider.java |   149 +
 .../v8debug/ui/annotation/CallStackAnnotation.java |    68 +
 .../ui/annotation/CallStackAnnotationListener.java |   240 +
 .../ui/annotation/CurrentLineAnnotation.java       |    68 +
 .../v8debug/ui/attach/AttachCustomizer.form        |   160 +
 .../v8debug/ui/attach/AttachCustomizer.java        |   439 +
 .../v8debug/ui}/attach/Bundle.properties           |     0
 .../javascript/v8debug/ui/attach/V8AttachType.java |    79 +
 .../ui/callstack/DebuggingViewSupportImpl.java     |   143 +
 .../javascript/v8debug/ui/callstack/JSThread.java  |   158 +
 .../ui/callstack/models/DebuggingActionsModel.java |   188 +
 .../ui/callstack/models/DebuggingModel.java        |   298 +
 .../v8debug/ui/eval/EvaluationResultsModel.java    |   334 +
 .../v8debug/ui/eval/V8CodeEvaluator.java           |   193 +
 .../javascript/v8debug/ui/eval/VarOrError.java     |    78 +
 .../v8debug/ui}/resources/Bundle.properties        |     0
 .../javascript/v8debug/ui/resources/mf-layer.xml   |   197 +
 .../ui/vars/models/PinWatchValueProvider.java      |   244 +
 .../v8debug/ui/vars/models/VariablesModel.java     |   629 +
 .../v8debug/ui/vars/models/WatchesModel.java       |   434 +
 .../v8debug/ui/vars/tooltip/ToolTipAnnotation.java |   134 +
 javascript.v8debug/manifest.mf                     |     3 +-
 javascript.v8debug/nbproject/project.properties    |     4 +-
 javascript.v8debug/nbproject/project.xml           |    83 +-
 .../modules/javascript/v8debug/EditorUtils.java    |   121 -
 .../modules/javascript/v8debug/ScriptsHandler.java |   139 +-
 .../modules/javascript/v8debug/V8Debugger.java     |    74 +-
 .../V8DebuggerEngineComponentsProvider.java        |   136 -
 .../v8debug/actions/V8DebugActionsProvider.java    |    33 -
 .../v8debug/annotation/CallStackAnnotation.java    |    68 -
 .../annotation/CallStackAnnotationListener.java    |   240 -
 .../v8debug/annotation/CurrentLineAnnotation.java  |    68 -
 .../v8debug/attach/AttachCustomizer.form           |   160 -
 .../v8debug/attach/AttachCustomizer.java           |   439 -
 .../javascript/v8debug/attach/V8AttachType.java    |    79 -
 .../v8debug/breakpoints/BreakpointsHandler.java    |    67 +-
 .../v8debug/breakpoints/JSBreakpointsManager.java  |     7 +-
 .../v8debug/breakpoints/SubmittedBreakpoint.java   |    21 +-
 .../breakpoints/V8BreakpointsActiveService.java    |    16 +-
 .../callstack/DebuggingViewSupportImpl.java        |   143 -
 .../javascript/v8debug/callstack/JSThread.java     |   158 -
 .../callstack/models/DebuggingActionsModel.java    |   188 -
 .../v8debug/callstack/models/DebuggingModel.java   |   283 -
 .../javascript/v8debug/frames/CallFrame.java       |    69 +-
 .../javascript/v8debug/frames/CallStack.java       |    13 +-
 .../javascript/v8debug/resources/mf-layer.xml      |   197 -
 .../v8debug/sources/SourceMapsTranslator.java      |   143 -
 .../javascript/v8debug/vars/V8Evaluator.java       |    11 +-
 .../v8debug/vars/eval/EvaluationResultsModel.java  |   334 -
 .../v8debug/vars/eval/V8CodeEvaluator.java         |   193 -
 .../javascript/v8debug/vars/eval/VarOrError.java   |    78 -
 .../v8debug/vars/models/VariablesModel.java        |   613 -
 .../v8debug/vars/models/WatchesModel.java          |   434 -
 .../v8debug/vars/tooltip/ToolTipAnnotation.java    |    95 -
 .../v8debug/vars/tooltip/ToolTipModel.java         |   107 -
 .../vars/tooltip/V8DebuggerTooltipSupport.java     |   118 -
 javascript2.debug.ui/build.xml                     |    50 +
 javascript2.debug.ui/manifest.mf                   |     6 +
 javascript2.debug.ui/nbproject/project.properties  |    51 +
 javascript2.debug.ui/nbproject/project.xml         |   229 +
 .../modules/javascript2/debug/ui/Bundle.properties |    45 +
 .../javascript2/debug/ui/EditorContextSetter.java  |   168 +
 .../modules/javascript2/debug/ui/JSUtils.java      |   202 +
 .../javascript2/debug/ui/TextLineHandler.java      |    55 +
 .../annotation/BreakpointAnnotationListener.java   |    96 +
 .../ui/annotation/BreakpointAnnotationManager.java |   284 +
 .../ui/annotation/LineBreakpointAnnotation.java    |   142 +
 .../debug/ui/breakpoints/Bundle.properties         |    48 +
 .../debug/ui/breakpoints/ControllerProvider.java   |    55 +
 .../ui/breakpoints/JSLineBreakpointCustomizer.java |   106 +
 .../JSLineBreakpointCustomizerPanel.form           |   125 +
 .../JSLineBreakpointCustomizerPanel.java           |   357 +
 .../debug/ui/breakpoints/JSLineBreakpointType.java |   109 +
 .../ToggleBreakpointActionProvider.java            |   108 +
 .../ui/editor/EditorLineHandlerFactoryImpl.java    |    86 +
 .../javascript2/debug/ui/editor/FutureLine.java    |    98 +
 .../javascript2/debug/ui/editor/LineDelegate.java  |   177 +
 .../debug/ui/models/ViewModelSupport.java          |   134 +
 .../breakpoints/BreakpointNodeActionProvider.java  |   208 +
 .../ui/models/breakpoints/BreakpointNodeModel.java |   239 +
 .../debug/ui}/resources/global_variable_16.png     |   Bin
 .../debug/ui}/resources/proto_variable_16.png      |   Bin
 .../ui/tooltip/AbstractJSToolTipAnnotation.java    |   299 +
 javascript2.debug/manifest.mf                      |     2 +-
 javascript2.debug/nbproject/project.xml            |   100 +-
 .../javascript2/debug/EditorContextSetter.java     |   168 -
 .../javascript2/debug/EditorLineHandler.java       |    86 +
 .../debug/EditorLineHandlerFactory.java            |    74 +
 .../modules/javascript2/debug/JSUtils.java         |   186 -
 .../modules/javascript2/debug/NamesTranslator.java |   202 +
 .../annotation/BreakpointAnnotationListener.java   |    96 -
 .../annotation/BreakpointAnnotationManager.java    |   283 -
 .../debug/annotation/LineBreakpointAnnotation.java |   142 -
 .../javascript2/debug/breakpoints/FutureLine.java  |    98 -
 .../debug/breakpoints/JSBreakpointsInfo.java       |     2 -
 .../breakpoints/JSBreakpointsInfoManager.java      |    12 -
 .../debug/breakpoints/JSLineBreakpoint.java        |   111 +-
 .../breakpoints/JSLineBreakpointBeanInfo.java      |    15 +-
 .../debug/breakpoints/JSLineBreakpointType.java    |   109 -
 .../ToggleBreakpointActionProvider.java            |   107 -
 .../debug/breakpoints/io/JSBreakpointReader.java   |    28 +-
 .../models/BreakpointNodeActionProvider.java       |   207 -
 .../breakpoints/models/BreakpointNodeModel.java    |   239 -
 .../debug/breakpoints/ui/Bundle.properties         |     6 -
 .../debug/breakpoints/ui/ControllerProvider.java   |    55 -
 .../breakpoints/ui/JSLineBreakpointCustomizer.java |   107 -
 .../ui/JSLineBreakpointCustomizerPanel.form        |   125 -
 .../ui/JSLineBreakpointCustomizerPanel.java        |   356 -
 .../javascript2/debug/models/ViewModelSupport.java |   134 -
 .../javascript2/debug/sources/SourceURLMapper.java |     6 +-
 .../javascript2/debug/spi/SourceElementsQuery.java |   107 +
 .../debug/tooltip/AbstractJSToolTipAnnotation.java |   321 -
 .../debug/tooltip/DebuggerTooltipSupport.java      |    69 -
 .../javascript2/debug/tooltip/ToolTipView.java     |   352 -
 javascript2.doc/build.xml                          |    44 +
 javascript2.doc/manifest.mf                        |     6 +
 javascript2.doc/nbproject/project.properties       |    40 +
 javascript2.doc/nbproject/project.xml              |   245 +
 .../modules/javascript2/doc/Bundle.properties      |    38 +
 .../javascript2/doc/DocumentationUtils.java        |    58 +
 .../doc/JsDocumentationFallbackHolder.java         |    96 +
 .../doc/JsDocumentationFallbackProvider.java       |    81 +
 .../doc/JsDocumentationFallbackSyntaxProvider.java |    77 +
 .../javascript2/doc/JsDocumentationReader.java     |    87 +
 .../javascript2/doc/JsDocumentationResolver.java   |   111 +
 .../doc/api/JsDocumentationPrinter.java            |   380 +
 .../doc/api/JsDocumentationSupport.java            |   121 +
 .../doc/spi/AnnotationCompletionTag.java           |   145 +
 .../doc/spi/AnnotationCompletionTagProvider.java   |    90 +
 .../modules/javascript2/doc/spi/DocParameter.java  |    85 +
 .../doc/spi/DocumentationContainer.java            |    67 +
 .../modules/javascript2/doc/spi/JsComment.java     |   177 +
 .../javascript2/doc/spi/JsDocumentationHolder.java |   350 +
 .../doc/spi/JsDocumentationProvider.java           |    83 +
 .../modules/javascript2/doc/spi/JsModifier.java    |    83 +
 .../javascript2/doc/spi/ParameterFormat.java       |    74 +
 .../javascript2/doc/spi/SyntaxProvider.java        |    99 +
 .../test/unit/data/testfiles/doc/commonDocFile.js  |     0
 .../doc/holder/testGetCommentWhereNotPossible.js   |     0
 .../testGetCommentWithBracesOnVariousLine.js       |     0
 .../testfiles/doc/holder/testGetCorrectComment.js  |     0
 .../javascript2/doc/JsDocumentationReaderTest.java |    90 +
 .../javascript2/doc/JsDocumentationTestBase.java   |   380 +
 .../doc/api/JsDocumentationHolderTest.java         |   111 +
 javascript2.editor/build.xml                       |    95 +-
 javascript2.editor/external/binaries-list          |     3 +
 javascript2.editor/manifest.mf                     |     2 +-
 javascript2.editor/nbproject/project.properties    |    41 +-
 javascript2.editor/nbproject/project.xml           |   152 +-
 .../editor/CompletionContextFinder.java            |    42 +-
 .../javascript2/editor/FSCompletionItem.java       |   240 +
 .../modules/javascript2/editor/FileUtils.java      |   201 +
 .../javascript2/editor/JsBracesMatcher.java        |    77 +-
 .../javascript2/editor/JsCamelCaseInterceptor.java |     4 +-
 .../javascript2/editor/JsCodeCompletion.java       |   244 +-
 .../javascript2/editor/JsCodeTemplateFilter.java   |    76 +
 .../javascript2/editor/JsCompletionItem.java       |   110 +-
 .../editor/JsDeletedTextInterceptor.java           |     8 +-
 .../javascript2/editor/JsInstantRenamer.java       |    87 +
 .../javascript2/editor/JsKeyStrokeHandler.java     |   144 +-
 .../modules/javascript2/editor/JsKeyWords.java     |    98 -
 .../modules/javascript2/editor/JsKeywords.java     |   139 +
 .../modules/javascript2/editor/JsLanguage.java     |     5 +-
 .../modules/javascript2/editor/JsPreferences.java  |    96 +
 .../javascript2/editor/JsSemanticAnalyzer.java     |   269 +-
 .../javascript2/editor/JsStructureScanner.java     |   180 +-
 .../editor/JsTypedBreakInterceptor.java            |   115 +-
 .../javascript2/editor/JsTypedTextInterceptor.java |    45 +-
 .../modules/javascript2/editor/JsVersion.java      |    84 +
 .../javascript2/editor/JsonCodeCompletion.java     |   350 +
 .../javascript2/editor/JsonInstantRenamer.java     |    78 +
 .../modules/javascript2/editor/JsonLanguage.java   |    66 +-
 .../netbeans/modules/javascript2/editor/Utils.java |   170 +-
 .../editor/actions/InsertSemicolonAction.java      |     2 +-
 .../javascript2/editor/api/FrameworksUtils.java    |    18 +-
 .../javascript2/editor/api/lexer/JsTokenId.java    |   309 -
 .../javascript2/editor/api/lexer/LexUtilities.java |   648 -
 .../javascript2/editor/api/package-info.java       |    68 -
 .../editor/classpath/ClassPathProviderImpl.java    |    15 +-
 .../javascript2/editor/doc/DocumentationUtils.java |    58 -
 .../editor/doc/JsDocCodeTemplateFilter.java        |    80 +
 .../editor/doc/JsDocumentationCodeCompletion.java  |    26 +-
 .../editor/doc/JsDocumentationCompleter.java       |   107 +-
 .../editor/doc/JsDocumentationFallbackHolder.java  |    96 -
 .../doc/JsDocumentationFallbackProvider.java       |    81 -
 .../doc/JsDocumentationFallbackSyntaxProvider.java |    77 -
 .../editor/doc/JsDocumentationPrinter.java         |   344 -
 .../editor/doc/JsDocumentationReader.java          |    87 -
 .../editor/doc/JsDocumentationResolver.java        |   111 -
 .../editor/doc/api/JsDocumentationSupport.java     |   134 -
 .../editor/doc/spi/AnnotationCompletionTag.java    |   143 -
 .../doc/spi/AnnotationCompletionTagProvider.java   |    90 -
 .../javascript2/editor/doc/spi/DocParameter.java   |    85 -
 .../javascript2/editor/doc/spi/JsComment.java      |   175 -
 .../editor/doc/spi/JsDocumentationHolder.java      |   337 -
 .../editor/doc/spi/JsDocumentationProvider.java    |    83 -
 .../javascript2/editor/doc/spi/JsModifier.java     |    83 -
 .../javascript2/editor/doc/spi/SyntaxProvider.java |    99 -
 .../editor/embedding/JsEmbeddingProvider.java      |    75 +-
 .../ExtDocAnnotationCompletionTagProvider.java     |   108 -
 .../javascript2/editor/extdoc/ExtDocComment.java   |   242 -
 .../editor/extdoc/ExtDocDocumentationHolder.java   |    67 -
 .../editor/extdoc/ExtDocDocumentationProvider.java |    96 -
 .../javascript2/editor/extdoc/ExtDocParser.java    |   158 -
 .../editor/extdoc/ExtDocSyntaxProvider.java        |    72 -
 .../editor/extdoc/completion/DescriptionTag.java   |    67 -
 .../extdoc/completion/IdentDescribedTag.java       |    72 -
 .../editor/extdoc/completion/IdentSimpleTag.java   |    67 -
 .../editor/extdoc/completion/TypeDescribedTag.java |    74 -
 .../editor/extdoc/completion/TypeNamedTag.java     |    79 -
 .../editor/extdoc/completion/TypeSimpleTag.java    |    69 -
 .../editor/extdoc/model/ExtDocBaseElement.java     |    70 -
 .../extdoc/model/ExtDocDescriptionElement.java     |    78 -
 .../editor/extdoc/model/ExtDocElement.java         |    56 -
 .../editor/extdoc/model/ExtDocElementType.java     |   128 -
 .../editor/extdoc/model/ExtDocElementUtils.java    |   242 -
 .../extdoc/model/ExtDocIdentDescribedElement.java  |    79 -
 .../extdoc/model/ExtDocIdentSimpleElement.java     |    78 -
 .../editor/extdoc/model/ExtDocSimpleElement.java   |    65 -
 .../extdoc/model/ExtDocTypeDescribedElement.java   |   106 -
 .../extdoc/model/ExtDocTypeNamedElement.java       |   130 -
 .../extdoc/model/ExtDocTypeSimpleElement.java      |   105 -
 .../javascript2/editor/formatter/CodeStyle.java    |    85 +-
 .../javascript2/editor/formatter/Defaults.java     |     2 +-
 .../javascript2/editor/formatter/FmtOptions.java   |    26 +-
 .../editor/formatter/FormatContext.java            |   238 +-
 .../javascript2/editor/formatter/FormatToken.java  |   113 +-
 .../editor/formatter/FormatTokenStream.java        |    55 +-
 .../editor/formatter/FormatVisitor.java            |  1381 -
 .../editor/formatter/IndentContext.java            |     2 +-
 .../editor/formatter/JsFormatVisitor.java          |  1570 +
 .../javascript2/editor/formatter/JsFormatter.java  |   444 +-
 .../editor/formatter/JsonFormatVisitor.java        |   204 +
 .../javascript2/editor/formatter/TokenUtils.java   |   245 +
 .../javascript2/editor/formatter/ui/BlankLines.js  |    81 +
 .../javascript2/editor/formatter/ui/Braces.js      |     6 +
 .../editor/formatter/ui/Bundle.properties          |    15 +-
 .../editor/formatter/ui/FmtAlignment.java          |     2 +-
 .../editor/formatter/ui/FmtBlankLines.form         |   161 +
 .../editor/formatter/ui/FmtBlankLines.java         |   199 +
 .../javascript2/editor/formatter/ui/FmtBraces.form |    37 +-
 .../javascript2/editor/formatter/ui/FmtBraces.java |    24 +-
 .../javascript2/editor/formatter/ui/FmtSpaces.java |     7 +-
 .../editor/formatter/ui/FmtTabsIndents.java        |     2 +-
 .../editor/formatter/ui/FmtWrapping.form           |   185 +-
 .../editor/formatter/ui/FmtWrapping.java           |   107 +-
 .../javascript2/editor/formatter/ui/Spaces.js      |     9 +
 .../javascript2/editor/formatter/ui/Wrapping.js    |     4 +-
 .../editor/formatter/ui/json/BlankLines.json       |    17 +
 .../editor/formatter/ui/json/Bundle.properties     |     5 +
 .../editor/formatter/ui/json/FmtBlankLines.form    |   136 +
 .../editor/formatter/ui/json/FmtBlankLines.java    |   180 +
 .../editor/formatter/ui/json/FmtSpaces.java        |     3 +-
 .../editor/formatter/ui/json/FmtTabsIndents.java   |     2 +-
 .../editor/formatter/ui/json/FmtWrapping.java      |     2 +-
 .../javascript2/editor/hints/Ecma6Rule.java        |   279 +
 .../javascript2/editor/hints/Ecma7Rule.java        |   275 +
 .../javascript2/editor/hints/EcmaLevelRule.java    |   114 +
 .../editor/hints/GlobalIsNotDefined.java           |    34 +-
 .../editor/hints/HintsAdvancedOption.java          |     2 +-
 .../editor/hints/IncorrectReturnStatement.java     |     6 +-
 .../javascript2/editor/hints/JSHintSupport.java    |    62 +-
 .../javascript2/editor/hints/JsConventionRule.java |   177 +-
 .../editor/hints/JsFunctionDocumentationRule.java  |    28 +-
 .../javascript2/editor/hints/JsHintsProvider.java  |    86 +-
 .../javascript2/editor/hints/WeirdAssignment.java  |    17 +-
 .../javascript2/editor/index/IndexedElement.java   |   592 -
 .../modules/javascript2/editor/index/JsIndex.java  |   582 -
 .../javascript2/editor/index/JsIndexer.java        |   209 +-
 .../editor/index/QuerySupportFactory.java          |     9 +-
 .../JsDocAnnotationCompletionTagProvider.java      |   108 -
 .../javascript2/editor/jsdoc/JsDocComment.java     |   320 -
 .../javascript2/editor/jsdoc/JsDocCommentType.java |    71 -
 .../editor/jsdoc/JsDocDocumentationHolder.java     |    69 -
 .../editor/jsdoc/JsDocDocumentationProvider.java   |    92 -
 .../javascript2/editor/jsdoc/JsDocParser.java      |   203 -
 .../editor/jsdoc/JsDocSyntaxProvider.java          |    72 -
 .../editor/jsdoc/completion/AssingTag.java         |    73 -
 .../editor/jsdoc/completion/DescriptionTag.java    |    67 -
 .../editor/jsdoc/completion/LinkTag.java           |    67 -
 .../editor/jsdoc/completion/TypeDescribedTag.java  |    74 -
 .../editor/jsdoc/completion/TypeNamedTag.java      |    79 -
 .../editor/jsdoc/completion/TypeSimpleTag.java     |    69 -
 .../editor/jsdoc/model/AssignElement.java          |    82 -
 .../editor/jsdoc/model/DeclarationElement.java     |    77 -
 .../editor/jsdoc/model/DescriptionElement.java     |    78 -
 .../editor/jsdoc/model/JsDocElement.java           |    69 -
 .../editor/jsdoc/model/JsDocElementImpl.java       |    65 -
 .../editor/jsdoc/model/JsDocElementType.java       |   141 -
 .../editor/jsdoc/model/JsDocElementUtils.java      |   284 -
 .../editor/jsdoc/model/LinkElement.java            |    72 -
 .../javascript2/editor/jsdoc/model/NamePath.java   |    64 -
 .../editor/jsdoc/model/NamedParameterElement.java  |   201 -
 .../editor/jsdoc/model/ParameterElement.java       |    79 -
 .../editor/jsdoc/model/SimpleElement.java          |    66 -
 .../jsdoc/model/UnnamedParameterElement.java       |    88 -
 .../editor/lexer/JavaScriptColoringLexer.java      |  1705 -
 .../editor/lexer/JsDocumentationColoringLexer.java |   823 -
 .../editor/lexer/JsDocumentationLexer.java         |   103 -
 .../editor/lexer/JsDocumentationTokenId.java       |   144 -
 .../modules/javascript2/editor/lexer/JsLexer.java  |   103 -
 .../editor/lexer/JsonColoringLexer.java            |   771 -
 .../javascript2/editor/lexer/JsonLexer.java        |   103 -
 .../javascript2/editor/model/DeclarationScope.java |    58 -
 .../javascript2/editor/model/Identifier.java       |    63 -
 .../modules/javascript2/editor/model/JsArray.java  |    54 -
 .../javascript2/editor/model/JsElement.java        |   119 -
 .../javascript2/editor/model/JsFunction.java       |    61 -
 .../modules/javascript2/editor/model/JsObject.java |   106 -
 .../javascript2/editor/model/JsReference.java      |    52 -
 .../modules/javascript2/editor/model/JsWith.java   |    61 -
 .../modules/javascript2/editor/model/Model.java    |   918 -
 .../javascript2/editor/model/ModelFactory.java     |    59 -
 .../javascript2/editor/model/Occurrence.java       |    54 -
 .../editor/model/OccurrencesSupport.java           |   154 -
 .../modules/javascript2/editor/model/Type.java     |    70 -
 .../javascript2/editor/model/TypeUsage.java        |    52 -
 .../editor/model/impl/AnonymousObject.java         |   106 -
 .../editor/model/impl/CatchBlockImpl.java          |   109 -
 .../editor/model/impl/DeclarationScopeImpl.java    |   111 -
 .../model/impl/FunctionArgumentAccessor.java       |    91 -
 .../FunctionInterceptorRegistrationProcessor.java  |    81 -
 .../editor/model/impl/IdentifierImpl.java          |   104 -
 .../javascript2/editor/model/impl/JsArrayImpl.java |   155 -
 .../editor/model/impl/JsArrayReference.java        |    76 -
 .../editor/model/impl/JsElementImpl.java           |   263 -
 .../editor/model/impl/JsFunctionImpl.java          |   366 -
 .../editor/model/impl/JsFunctionReference.java     |   108 -
 .../editor/model/impl/JsInstantRenamer.java        |    86 -
 .../editor/model/impl/JsObjectImpl.java            |   830 -
 .../editor/model/impl/JsObjectReference.java       |   148 -
 .../editor/model/impl/JsWithObjectImpl.java        |   243 -
 .../editor/model/impl/ModelBuilder.java            |   152 -
 .../editor/model/impl/ModelElementFactory.java     |   304 -
 .../model/impl/ModelElementFactoryAccessor.java    |    80 -
 .../editor/model/impl/ModelExtender.java           |   143 -
 .../ModelInterceptorRegistrationProcessor.java     |    81 -
 .../javascript2/editor/model/impl/ModelUtils.java  |  1754 -
 .../editor/model/impl/ModelVisitor.java            |  2535 --
 .../ObjectInterceptorRegistrationProcessor.java    |    81 -
 .../editor/model/impl/OccurrenceBuilder.java       |   225 -
 .../editor/model/impl/OccurrenceImpl.java          |    96 -
 .../editor/model/impl/ParameterObject.java         |   115 -
 .../editor/model/impl/PathNodeVisitor.java         |   472 -
 .../editor/model/impl/SemiTypeResolverVisitor.java |   492 -
 ...eDisplayNameConvertorRegistrationProcessor.java |    82 -
 .../editor/model/impl/TypeUsageImpl.java           |   121 -
 .../editor/model/impl/UsageBuilder.java            |    50 -
 .../editor/navigation/DeclarationFinderImpl.java   |   118 +-
 .../editor/navigation/JsIndexSearcher.java         |    26 +-
 .../editor/navigation/JsonOccurrencesFinder.java   |   183 +
 .../editor/navigation/OccurrencesFinderImpl.java   |    28 +-
 .../editor/navigation/OccurrencesSupport.java      |   157 +
 .../javascript2/editor/options/OptionsUtils.java   |     2 +-
 .../editor/parser/BaseParserResult.java            |   150 +
 .../javascript2/editor/parser/JsErrorManager.java  |   333 +-
 .../javascript2/editor/parser/JsParser.java        |   101 +-
 .../javascript2/editor/parser/JsParserError.java   |    12 +-
 .../javascript2/editor/parser/JsParserResult.java  |   116 +-
 .../javascript2/editor/parser/JsonParser.java      |   144 +-
 .../editor/parser/JsonParserResult.java            |    78 +
 .../editor/parser/SanitizingParser.java            |   132 +-
 .../javascript2/editor/resources/Bundle.properties |     2 +
 .../editor/resources/DefaultKeyBindings-Mac.xml    |     2 -
 .../editor/resources/DefaultKeyBindings.xml        |     4 +-
 .../editor/resources/codetemplates-doc.xml         |    72 +-
 .../javascript2/editor/resources/codetemplates.xml |   139 +-
 .../editor/resources/fontsColors-bluetheme.xml     |    49 +-
 .../editor/resources/fontsColors-citylights.xml    |    45 +-
 .../javascript2/editor/resources/fontsColors.xml   |    43 +
 .../editor/resources/generatorPrivate.png          |   Bin 0 -> 787 bytes
 .../editor/resources/generatorPriviliged.png       |   Bin 0 -> 744 bytes
 .../editor/resources/generatorPublic.png           |   Bin 0 -> 592 bytes
 .../javascript2/editor/resources/javascript.html   |    18 +-
 .../modules/javascript2/editor/resources/json.html |    18 +-
 .../modules/javascript2/editor/resources/layer.xml |    81 +-
 .../sdoc/SDocAnnotationCompletionTagProvider.java  |   100 -
 .../javascript2/editor/sdoc/SDocComment.java       |   278 -
 .../editor/sdoc/SDocDocumentationHolder.java       |    67 -
 .../editor/sdoc/SDocDocumentationProvider.java     |    96 -
 .../javascript2/editor/sdoc/SDocParser.java        |   158 -
 .../editor/sdoc/SDocSyntaxProvider.java            |    72 -
 .../editor/sdoc/completion/DescriptionTag.java     |    67 -
 .../editor/sdoc/completion/IdentifierTag.java      |    67 -
 .../editor/sdoc/completion/TypeDescribedTag.java   |    74 -
 .../editor/sdoc/completion/TypeNamedTag.java       |    79 -
 .../editor/sdoc/completion/TypeSimpleTag.java      |    69 -
 .../editor/sdoc/elements/SDocBaseElement.java      |    69 -
 .../sdoc/elements/SDocDescriptionElement.java      |    78 -
 .../editor/sdoc/elements/SDocElement.java          |    56 -
 .../editor/sdoc/elements/SDocElementType.java      |   127 -
 .../editor/sdoc/elements/SDocElementUtils.java     |   208 -
 .../sdoc/elements/SDocIdentifierElement.java       |    78 -
 .../editor/sdoc/elements/SDocSimpleElement.java    |    65 -
 .../sdoc/elements/SDocTypeDescribedElement.java    |   106 -
 .../editor/sdoc/elements/SDocTypeNamedElement.java |   113 -
 .../sdoc/elements/SDocTypeSimpleElement.java       |   105 -
 .../javascript2/editor/spi/CompletionContext.java  |     8 +-
 .../javascript2/editor/spi/PostScanProvider.java   |    53 +
 .../editor/spi/model/FunctionArgument.java         |   121 -
 .../editor/spi/model/FunctionInterceptor.java      |    82 -
 .../editor/spi/model/ModelElementFactory.java      |   681 -
 .../editor/spi/model/ModelInterceptor.java         |    66 -
 .../editor/spi/model/ObjectInterceptor.java        |    65 -
 .../editor/spi/model/TypeDisplayNameConvertor.java |    73 -
 .../javascript2/editor/ui/Bundle.properties        |    44 +
 .../javascript2/editor/ui/ECMAScriptPanel.form     |    80 +
 .../javascript2/editor/ui/ECMAScriptPanel.java     |   218 +
 .../editor/ui/ECMAVersionCustomizer.java           |    94 +
 .../javascript2/editor/ui/NumericKeyListener.java  |    75 +
 .../data/testfiles/coloring/Formatter.js.semantic  |     4 +-
 .../testfiles/coloring/assignments01.js.structure  |     4 +-
 .../data/testfiles/coloring/czechChars.js.ast.xml  |   366 +
 .../data/testfiles/coloring/czechChars.js.model    |    48 -
 .../testfiles/coloring/issue215839.js.semantic     |     2 +-
 .../testfiles/coloring/issue224075.js.semantic     |     4 +-
 .../testfiles/coloring/issue246451.js.structure    |    12 +-
 .../testfiles/coloring/issue251778.js.semantic     |     2 +-
 .../testfiles/coloring/issue251819.js.semantic     |    10 +-
 .../testfiles/coloring/issue252469.js.semantic     |     2 +-
 .../testfiles/coloring/issue252656.js.semantic     |     4 +-
 .../testfiles/coloring/issue253129.js.semantic     |     2 +-
 .../testfiles/coloring/issue253348.js.semantic     |     2 +-
 .../unit/data/testfiles/coloring/issue254189.js    |    12 +
 .../testfiles/coloring/issue254189.js.semantic     |    12 +
 .../issue254189.js.testIssue254189_01.occurrences  |     2 +
 .../unit/data/testfiles/coloring/issue257509.js    |     2 +
 .../testfiles/coloring/issue257509.js.semantic     |     2 +
 .../unit/data/testfiles/coloring/issue258857.js    |    10 +
 .../testfiles/coloring/issue258857.js.semantic     |    10 +
 .../unit/data/testfiles/coloring/issue258968.js    |     9 +
 .../testfiles/coloring/issue258968.js.semantic     |     9 +
 .../unit/data/testfiles/coloring/issue267423.js    |     4 +
 .../testfiles/coloring/issue267423.js.semantic     |     4 +
 .../data/testfiles/coloring/semanticalKeywords.js  |    72 +
 .../coloring/semanticalKeywords.js.semantic        |    72 +
 .../completion/arguments/arguments.js.model        |    64 -
 ...ts.js.testFunctionObjectProperties02.completion |    45 +-
 ...ts.js.testFunctionObjectProperties03.completion |     6 +-
 .../arguments.js.testIssue215763.completion        |    41 +-
 ...le.js.testFunctionObjectProperties01.completion |    45 +-
 .../arrayliteral.js.testArrayLiteral01.completion  |    10 +-
 .../arrayliteral.js.testArrayLiteral02.completion  |    10 +-
 .../arrays/arrays1.js.testArrays01.completion      |    75 +-
 .../arrays/arrays2.js.testArrays04.completion      |    75 +-
 .../arrays/arrays3.js.testArrays05.completion      |    75 +-
 .../issue231267.js.testIssue231267_01.completion   |    10 +-
 .../issue231267.js.testIssue231267_02.completion   |    10 +-
 .../issue231449.js.testIssue231449_01.completion   |    10 +-
 .../issue231449.js.testIssue231449_02.completion   |    10 +-
 ...01.js.testOfferingCallbackFunction01.completion |    94 +-
 .../constructors.js.testConstructors_01.completion |    10 +
 .../completion/ecmascript6/classes/class01.js      |    12 +
 .../classes/class01.js.testClassName01.completion  |     5 +
 .../classes/class01.js.testClassName02.completion  |     7 +
 .../completion/ecmascript6/classes/class04.js      |    25 +
 .../class04.js.testClassStaticMethod01.completion  |     8 +
 ...yOffset.js.testFindObjectByOffset_01.completion |    19 +-
 ...yOffset.js.testFindObjectByOffset_02.completion |     6 +-
 ...yOffset.js.testFindObjectByOffset_03.completion |    19 +-
 ...yOffset.js.testFindObjectByOffset_04.completion |     6 +-
 .../issue205127.js.testIssue205127_01.completion   |     1 +
 .../issue214205.js.testIssue214205_01.completion   |    59 +-
 .../issue214205.js.testIssue214205_02.completion   |    48 +-
 .../issue215353.js.testIssue215353.completion      |    44 +-
 .../issue215764.js.testIssue215764_01.completion   |    10 +-
 .../issue215863.js.testIssue215863_02.completion   |    38 +-
 .../issue215863.js.testIssue215863_03.completion   |     2 +-
 .../issue215863.js.testIssue215863_04.completion   |     4 +
 .../issue215863.js.testIssue215863_05.completion   |     2 +
 .../issue215863.js.testIssue215863_06.completion   |     1 +
 .../issue218689.html.testIssue218689.completion    |     1 +
 .../issue220088.js.testIssue220088_05.completion   |     3 +-
 .../issue220101.js.testIssue220101.completion      |     2 +-
 .../issue220621.js.testIssue220621_01.completion   |     2 +-
 .../issue220917.js.testIssue220917_01.completion   |     8 +-
 .../issue220917.js.testIssue220917_02.completion   |     2 +-
 .../issue222601.js.testIssue222601_01.completion   |    10 +-
 .../issue222993.js.testIssue222993_02.completion   |    38 +-
 .../issue222993.js.testIssue222993_03.completion   |    38 +-
 .../issue223037.js.testIssue223037_02.completion   |    75 +-
 .../issue223311.js.testIssue223311_01.completion   |    19 +-
 .../issue223681.js.testIssue223681_01.completion   |    38 +-
 .../issue223967.js.testIssue223967_01.completion   |    19 +-
 .../issue225986.js.testIssue225986_01.completion   |     1 +
 .../issue226521.js.testIssue226521_01.completion   |    19 +-
 .../issue226521.js.testIssue226521_02.completion   |     6 +-
 .../issue230667.js.testIssue230667_01.completion   |     6 +-
 .../issue230667.js.testIssue230667_02.completion   |     6 +-
 .../issue230667.js.testIssue230667_03.completion   |     6 +-
 .../issue230667.js.testIssue230667_04.completion   |    19 +-
 .../issue230667.js.testIssue230667_05.completion   |     6 +-
 .../issue230667.js.testIssue230667_06.completion   |     5 +-
 .../issue230736.js.testIssue230736_03.completion   |    11 +-
 .../issue230736.js.testIssue230736_04.completion   |     6 +-
 .../issue230736.js.testIssue230736_05.completion   |     6 +-
 .../issue230784.js.testIssue230784_01.completion   |     4 +-
 .../issue230784.js.testIssue230784_02.completion   |     6 +-
 .../issue230784.js.testIssue230784_03.completion   |     6 +-
 .../issue235206.js.testIssue235206_01.completion   |    10 +-
 .../issue235252.js.testIssue235252.completion      |     2 +-
 .../issue237421.js.testIssue237421_01.completion   |     7 +-
 .../issue237421.js.testIssue237421_03.completion   |     1 +
 .../issue238289.js.testIssue238289.completion      |     2 +-
 .../issue248132.js.testIssue248132_02.completion   |     1 +
 .../issue248132.js.testIssue248132_03.completion   |     2 +-
 .../issue251821.js.testIssue251821_01.completion   |     2 +-
 .../issue251821.js.testIssue251968_01.completion   |     6 +-
 .../completion/general/numberLiterals01.js         |     6 +
 .../general/numberLiterals01.js.semantic           |     6 +
 ...berLiterals01.js.testNumberLiterals.occurrences |     3 +
 ...erLiterals01.js.testNumberLiterals01.completion |     9 +
 ...erLiterals01.js.testNumberLiterals02.completion |     9 +
 ...erLiterals01.js.testNumberLiterals03.completion |     9 +
 ...erLiterals01.js.testNumberLiterals04.completion |     9 +
 .../completion/general/regExpLiterals01.js         |     3 +
 ...xpLiterals01.js.testRegExpLiterals01.completion |    22 +
 .../completion/general/stringLiterals01.js         |    13 +
 ...ngLiterals01.js.testStringLiterals01.completion |    50 +
 .../issue215746.js.testIssue215746_01.completion   |     2 +
 .../issue215746.js.testIssue215746_02.completion   |     2 +-
 .../issue215746.js.testIssue215746_03.completion   |     2 +-
 .../issue215777.js.testIssue215777_01.completion   |    57 +-
 .../issue215777.js.testIssue215777_02.completion   |    57 +-
 .../issue215861.js.testIssue215861_01.completion   |    38 +-
 .../issue215861.js.testIssue215861_02.completion   |    38 +-
 .../issue217100_1.js.testIssue217100_01.completion |     1 +
 .../issue217100_2.js.testIssue217100_02.completion |     1 +
 .../issue217100_3.js.testIssue217100_03.completion |     1 +
 .../issue218361_1.js.testIssue218361_01.completion |    38 +-
 .../issue218361_2.js.testIssue218361_02.completion |    38 +-
 .../issue218361_3.js.testIssue218361_03.completion |    38 +-
 .../issue218361_4.js.testIssue218361_04.completion |    38 +-
 .../issue224453.js.testIssue224453_01.completion   |     1 +
 .../issue224453.js.testIssue224453_02.completion   |     2 +-
 .../issue224453.js.testIssue224453_03.completion   |     9 +-
 .../issue226650.html.testIssue226650.completion    |    10 +
 .../issue232178.js.testIssue232178_01.completion   |    10 +
 .../index.html.testIssue228634_01.completion       |     5 +-
 .../test.js.testIssue228634_02.completion          |     5 +-
 .../issue240914.js.testIssue240914_01.completion   |    10 +
 .../issue240914.js.testIssue240914_04.completion   |    10 +
 .../testfiles/completion/issue242454A.js.semantic  |     2 +-
 .../test243647.js.testIssue243647_02.completion    |     2 +-
 .../issue245252.js.testIssue245252_01.completion   |     4 +-
 .../app.js.testIssue246060_01.completion           |    38 +-
 .../unit/data/testfiles/completion/issue258724.js  |    12 +
 .../issue258724.js.testIssue258724_01.completion   |     5 +
 .../issue258724.js.testIssue258724_02.completion   |     5 +
 ...1.js.testParameterTypesDocDefinition.completion |   105 +-
 ...s.testShowMethodDefinedInOtherFile01.completion |    38 +-
 .../testFile.js.testGlobalContext01.completion     |     2 +-
 ...meterTypesMethodDefinedInOtherFile01.completion |    38 +-
 ...s.testShowMethodDefinedInOtherFile02.completion |    38 +-
 .../basicDocumentCC.js.testDocument01.completion   |    10 +-
 .../basicDocumentCC.js.testDocument02.completion   |     2 +-
 .../basicDocumentCC.js.testDocument03.completion   |     2 +-
 .../basicDocumentCC.js.testDocument04.completion   |     2 +-
 .../issue214556.js.testSimple01.completion         |    65 +-
 .../issue214556.js.testSimple02.completion         |    65 +-
 .../issue214556.js.testSimple03.completion         |    65 +-
 .../issue214556_test.js.testFromIndex.completion   |    46 +-
 ...ainSimple.js.testMethodChainSimple01.completion |    38 +-
 ...ainSimple.js.testMethodChainSimple02.completion |     2 +-
 ...ainSimple.js.testMethodChainSimple03.completion |    38 +-
 ...ainSimple.js.testMethodChainSimple04.completion |     8 +-
 ...ainSimple.js.testMethodChainSimple05.completion |   101 +-
 ...ainSimple.js.testMethodChainSimple06.completion |     5 +-
 .../completion/typeInferenceNew.js.structure       |     2 +-
 ...ferenceNew.js.testTypeInferenceNew01.completion |    12 +-
 .../completion/with/with1.js.testWith1.completion  |    94 +-
 .../completion/with/with2.js.testWith2.completion  |   105 +-
 .../completion/with/with3.js.testWith3.completion  |    94 +-
 .../test.js.testWith5.completion                   |    74 +-
 .../test2.js.testProperty01.completion             |     2 +
 .../test2.js.testProperty02.completion             |     3 +-
 .../withAnonymous/with5.js.testWith5.completion    |   231 +-
 .../withAnonymous/with6.js.testWith6.completion    |    38 +-
 .../withComplex/with4.js.testWith4a.completion     |   512 +-
 .../withComplex/with4.js.testWith4b.completion     |   517 +-
 .../withComplex/with4.js.testWith4c.completion     |   517 +-
 .../completion/withIssue247788/virtualSource.js    |     2 +-
 .../virtualSource.js.testIssue247788_03.completion |     2 -
 .../virtualSource.js.testIssue247788_04.completion |     1 -
 .../completion/withIssue247788/virtualSource2.js   |     2 +-
 ...virtualSource2.js.testIssue247788_01.completion |    42 +-
 ...virtualSource2.js.testIssue247788_02.completion |    38 +-
 .../commentGenerator/testIssue218945-expected.js   |     2 +-
 .../commentGenerator/testIssue231420-expected.js   |     2 +-
 .../{extdoc => doc/resolver}/classWithExtDoc.js    |     0
 .../{jsdoc => doc/resolver}/classWithJsDoc.js      |     0
 .../{sdoc => doc/resolver}/classWithSDoc.js        |     0
 .../testfiles/ecmascript6/constant/constant01.js   |    14 +
 .../ecmascript6/constant/constant01.js.structure   |     2 +
 .../ecmascript6/generators/generator01.js          |     9 +
 .../ecmascript6/generators/generator01.js.semantic |     9 +
 .../generators/generator01.js.structure            |     3 +
 .../generator01.js.testGenerator01_01.occurrences  |     2 +
 .../generator01.js.testGenerator01_02.occurrences  |     2 +
 .../generator01.js.testGenerators01_01.completion  |     5 +
 .../generator01.js.testGenerators01_02.completion  |     7 +
 .../ecmascript6/generators/generator02.js          |    12 +
 .../ecmascript6/generators/generator02.js.semantic |    12 +
 .../generators/generator02.js.structure            |     3 +
 .../generator02.js.testGenerator02_01.occurrences  |     4 +
 .../generator02.js.testGenerator02_02.occurrences  |     4 +
 .../generator02.js.testGenerator02_03.occurrences  |     3 +
 .../generator02.js.testGenerator02_04.occurrences  |     2 +
 .../generator02.js.testGenerators02_01.completion  |     7 +
 .../ecmascript6/generators/generator03.js          |    29 +
 .../ecmascript6/generators/generator03.js.semantic |    29 +
 .../generators/generator03.js.structure            |     8 +
 .../generator03.js.testGenerator03_01.occurrences  |     2 +
 .../generator03.js.testGenerators03_01.completion  |    38 +
 .../generator03.js.testGenerators03_02.completion  |    38 +
 .../ecmascript6/generators/generator04.js          |    13 +
 .../ecmascript6/generators/generator04.js.semantic |    13 +
 .../generators/generator04.js.structure            |     3 +
 .../generator04.js.testGenerator04_01.occurrences  |     2 +
 .../generator04.js.testGenerators04_01.completion  |     5 +
 .../testfiles/ecmascript6/importExport/export01.js |     1 +
 .../ecmascript6/importExport/exportdefault01.js    |     8 +
 .../importExport/exportdefault01.js.ast.xml        |   159 +
 .../testfiles/ecmascript6/importExport/import01.js |     4 +
 .../ecmascript6/importExport/import01.js.structure |     1 +
 .../ecmascript6/importExport/importExport01.js     |     4 +
 .../importExport/importExport01.js.ast.xml         |    65 +
 .../importExport/importFindDeclaration01.js        |     5 +
 .../importFindDeclaration01.js.ast.xml             |    69 +
 .../ecmascript6/importExport/issue262590.js        |     7 +
 .../importExport/issue262590.js.ast.xml            |    77 +
 .../importExport/issue262590.js.semantic           |     7 +
 .../importExport/issue262590.js.structure          |     2 +
 .../ecmascript6/importExport/issue262590_1.js      |     7 +
 .../importExport/issue262590_1.js.semantic         |     7 +
 .../importExport/issue262590_1.js.structure        |     2 +
 .../ecmascript6/importExport/lib/export02.js       |     1 +
 .../array-binding-pattern-01.js                    |     1 +
 .../array-binding-pattern-01.js.ast.xml            |    57 +
 .../array-binding-pattern-02.js                    |     1 +
 .../array-binding-pattern-02.js.ast.xml            |    61 +
 .../array-binding-pattern-03.js                    |     1 +
 .../array-binding-pattern-03.js.ast.xml            |    64 +
 .../array-binding-pattern-empty.js                 |     1 +
 .../array-binding-pattern-empty.js.ast.xml         |    49 +
 .../array-binding-pattern/elision.js               |     1 +
 .../array-binding-pattern/elision.js.ast.xml       |    49 +
 .../array-binding-pattern/invalid-dup-param.js     |     1 +
 .../invalid-dup-param.js.ast.xml                   |    14 +
 .../invalid-elision-after-rest.js                  |     1 +
 .../invalid-elision-after-rest.js.ast.xml          |    14 +
 .../parser/ES6/arrow-function/arrow-function01.js  |     1 +
 .../ES6/arrow-function/arrow-function01.js.ast.xml |    25 +
 .../parser/ES6/arrow-function/arrow-function02.js  |     1 +
 .../ES6/arrow-function/arrow-function02.js.ast.xml |    28 +
 .../parser/ES6/arrow-function/arrow-function03.js  |     1 +
 .../ES6/arrow-function/arrow-function03.js.ast.xml |    28 +
 .../parser/ES6/arrow-function/arrow-function04.js  |     1 +
 .../ES6/arrow-function/arrow-function04.js.ast.xml |    31 +
 .../parser/ES6/arrow-function/arrow-function05.js  |     1 +
 .../ES6/arrow-function/arrow-function05.js.ast.xml |    27 +
 .../parser/ES6/arrow-function/arrow-function06.js  |     1 +
 .../ES6/arrow-function/arrow-function06.js.ast.xml |    40 +
 .../parser/ES6/arrow-function/arrow-function07.js  |     1 +
 .../ES6/arrow-function/arrow-function07.js.ast.xml |    33 +
 .../parser/ES6/arrow-function/arrow-function08.js  |     1 +
 .../ES6/arrow-function/arrow-function08.js.ast.xml |    30 +
 .../parser/ES6/arrow-function/arrow-function09.js  |     1 +
 .../ES6/arrow-function/arrow-function09.js.ast.xml |    76 +
 .../parser/ES6/arrow-function/arrow-function10.js  |     1 +
 .../ES6/arrow-function/arrow-function10.js.ast.xml |    28 +
 .../parser/ES6/arrow-function/arrow-function11.js  |     1 +
 .../ES6/arrow-function/arrow-function11.js.ast.xml |    28 +
 .../parser/ES6/arrow-function/arrow-function12.js  |     1 +
 .../ES6/arrow-function/arrow-function12.js.ast.xml |    28 +
 .../parser/ES6/arrow-function/arrow-function13.js  |     1 +
 .../ES6/arrow-function/arrow-function13.js.ast.xml |    31 +
 .../parser/ES6/arrow-function/arrow-function14.js  |     1 +
 .../ES6/arrow-function/arrow-function14.js.ast.xml |    67 +
 .../parser/ES6/arrow-function/arrow-function15.js  |     1 +
 .../ES6/arrow-function/arrow-function15.js.ast.xml |    70 +
 .../parser/ES6/arrow-function/arrow-function16.js  |     1 +
 .../ES6/arrow-function/arrow-function16.js.ast.xml |    30 +
 .../parser/ES6/arrow-function/arrow-function17.js  |     1 +
 .../ES6/arrow-function/arrow-function17.js.ast.xml |    43 +
 .../parser/ES6/arrow-function/arrow-function18.js  |     1 +
 .../ES6/arrow-function/arrow-function18.js.ast.xml |    62 +
 .../parser/ES6/arrow-function/arrow-function19.js  |     1 +
 .../ES6/arrow-function/arrow-function19.js.ast.xml |    28 +
 .../parser/ES6/arrow-function/arrow-function20.js  |     1 +
 .../ES6/arrow-function/arrow-function20.js.ast.xml |    34 +
 .../parser/ES6/arrow-function/arrow-function21.js  |     1 +
 .../ES6/arrow-function/arrow-function21.js.ast.xml |    30 +
 .../arrow-function/arrow-rest-forgetting-comma.js  |     1 +
 .../arrow-rest-forgetting-comma.js.ast.xml         |    14 +
 .../arrow-with-multiple-arg-and-rest.js            |     1 +
 .../arrow-with-multiple-arg-and-rest.js.ast.xml    |    35 +
 .../ES6/arrow-function/arrow-with-multiple-rest.js |     1 +
 .../arrow-with-multiple-rest.js.ast.xml            |    14 +
 .../ES6/arrow-function/arrow-with-only-rest.js     |     1 +
 .../arrow-function/arrow-with-only-rest.js.ast.xml |    29 +
 .../complex-rest-in-arrow-not-allowed.js           |     1 +
 .../complex-rest-in-arrow-not-allowed.js.ast.xml   |    14 +
 .../arrow-function/invalid-duplicated-params.js    |     1 +
 .../invalid-duplicated-params.js.ast.xml           |    14 +
 .../invalid-line-terminator-arrow.js               |     2 +
 .../invalid-line-terminator-arrow.js.ast.xml       |    18 +
 .../arrow-function/invalid-param-strict-mode.js    |     1 +
 .../invalid-param-strict-mode.js.ast.xml           |    14 +
 .../non-arrow-param-followed-by-arrow.js           |     1 +
 .../non-arrow-param-followed-by-arrow.js.ast.xml   |    28 +
 .../non-arrow-param-followed-by-rest.js            |     1 +
 .../non-arrow-param-followed-by-rest.js.ast.xml    |    32 +
 .../object-binding-pattern/invalid-member-expr.js  |     1 +
 .../invalid-member-expr.js.ast.xml                 |    14 +
 .../invalid-method-in-pattern.js                   |     1 +
 .../invalid-method-in-pattern.js.ast.xml           |    14 +
 .../object-binding-pattern/invalid-nested-param.js |     1 +
 .../invalid-pattern-without-parenthesis.js         |     1 +
 .../invalid-pattern-without-parenthesis.js.ast.xml |    14 +
 .../invalid-rest-in-object-pattern.js              |     1 +
 .../invalid-rest-in-object-pattern.js.ast.xml      |    85 +
 .../object-binding-pattern/nested-cover-grammar.js |     1 +
 .../nested-cover-grammar.js.ast.xml                |   113 +
 .../object-binding-pattern-01.js                   |     1 +
 .../object-binding-pattern-01.js.ast.xml           |   120 +
 .../object-binding-pattern-empty.js                |     1 +
 .../object-binding-pattern-empty.js.ast.xml        |    50 +
 .../param-with-rest-without-arrow.js               |     1 +
 .../param-with-rest-without-arrow.js.ast.xml       |    14 +
 .../ES6/arrow-function/rest-without-arrow.js       |     1 +
 .../arrow-function/rest-without-arrow.js.ast.xml   |    14 +
 .../binary-integer-literal01.js                    |     1 +
 .../binary-integer-literal01.js.ast.xml            |    13 +
 .../binary-integer-literal02.js                    |     1 +
 .../binary-integer-literal02.js.ast.xml            |    13 +
 .../binary-integer-literal03.js                    |     1 +
 .../binary-integer-literal03.js.ast.xml            |    13 +
 .../binary-integer-literal04.js                    |     1 +
 .../binary-integer-literal04.js.ast.xml            |    13 +
 .../binary-integer-literal05.js                    |     1 +
 .../binary-integer-literal05.js.ast.xml            |    13 +
 .../binary-integer-literal06.js                    |     1 +
 .../binary-integer-literal06.js.ast.xml            |    13 +
 .../array-pattern/arrayPattern01.js                |     1 +
 .../array-pattern/arrayPattern01.js.ast.xml        |    23 +
 .../array-pattern/arrayPattern02.js                |     2 +
 .../array-pattern/arrayPattern02.js.ast.xml        |    39 +
 .../array-pattern/arrayPattern03.js                |     1 +
 .../array-pattern/arrayPattern03.js.ast.xml        |    37 +
 .../binding-pattern/array-pattern/dupe-param.js    |     4 +
 .../array-pattern/dupe-param.js.ast.xml            |    21 +
 .../ES6/binding-pattern/array-pattern/elision.js   |     1 +
 .../array-pattern/elision.js.ast.xml               |    28 +
 .../array-pattern/empty-pattern-catch-param.js     |     1 +
 .../empty-pattern-catch-param.js.ast.xml           |    14 +
 .../array-pattern/empty-pattern-fn.js              |     1 +
 .../array-pattern/empty-pattern-fn.js.ast.xml      |    54 +
 .../array-pattern/empty-pattern-lexical.js         |     1 +
 .../array-pattern/empty-pattern-lexical.js.ast.xml |    21 +
 .../array-pattern/empty-pattern-var.js             |     1 +
 .../array-pattern/empty-pattern-var.js.ast.xml     |    20 +
 .../binding-pattern/array-pattern/for-let-let.js   |     1 +
 .../array-pattern/for-let-let.js.ast.xml           |    20 +
 .../ES6/binding-pattern/array-pattern/hole.js      |     1 +
 .../binding-pattern/array-pattern/hole.js.ast.xml  |    36 +
 .../array-pattern/invalid-strict-for-let-let.js    |     1 +
 .../invalid-strict-for-let-let.js.ast.xml          |    23 +
 .../array-pattern/nested-pattern.js                |     1 +
 .../array-pattern/nested-pattern.js.ast.xml        |    22 +
 .../array-pattern/patterned-catch-dupe.js          |     1 +
 .../array-pattern/patterned-catch-dupe.js.ast.xml  |    14 +
 .../array-pattern/patterned-catch.js               |     1 +
 .../array-pattern/patterned-catch.js.ast.xml       |    18 +
 .../binding-pattern/array-pattern/rest.elision.js  |     1 +
 .../array-pattern/rest.elision.js.ast.xml          |    14 +
 .../ES6/binding-pattern/array-pattern/rest.js      |     1 +
 .../binding-pattern/array-pattern/rest.js.ast.xml  |    31 +
 .../binding-pattern/array-pattern/tailing-hold.js  |     1 +
 .../array-pattern/tailing-hold.js.ast.xml          |    28 +
 .../binding-pattern/array-pattern/var-for-in.js    |     1 +
 .../array-pattern/var-for-in.js.ast.xml            |    45 +
 .../binding-pattern/array-pattern/var_let_array.js |     1 +
 .../array-pattern/var_let_array.js.ast.xml         |    29 +
 .../array-pattern/with-default-catch-param-fail.js |     1 +
 .../with-default-catch-param-fail.js.ast.xml       |    14 +
 .../array-pattern/with-default-catch-param.js      |     1 +
 .../with-default-catch-param.js.ast.xml            |    14 +
 .../array-pattern/with-default-fn.js               |     1 +
 .../array-pattern/with-default-fn.js.ast.xml       |    66 +
 .../array-pattern/with-object-pattern.js           |     1 +
 .../array-pattern/with-object-pattern.js.ast.xml   |    40 +
 .../ES6/binding-pattern/object-pattern/elision.js  |     1 +
 .../object-pattern/elision.js.ast.xml              |    38 +
 .../object-pattern/empty-catch-param.js            |     1 +
 .../object-pattern/empty-catch-param.js.ast.xml    |    18 +
 .../ES6/binding-pattern/object-pattern/empty-fn.js |     1 +
 .../object-pattern/empty-fn.js.ast.xml             |    55 +
 .../object-pattern/empty-for-lex.js                |     1 +
 .../object-pattern/empty-for-lex.js.ast.xml        |    32 +
 .../object-pattern/empty-lexical.js                |     1 +
 .../object-pattern/empty-lexical.js.ast.xml        |    21 +
 .../binding-pattern/object-pattern/empty-var.js    |     1 +
 .../object-pattern/empty-var.js.ast.xml            |    21 +
 .../binding-pattern/object-pattern/for-let-let.js  |     1 +
 .../object-pattern/for-let-let.js.ast.xml          |    20 +
 .../object-pattern/invalid-strict-for-let-let.js   |     1 +
 .../invalid-strict-for-let-let.js.ast.xml          |    25 +
 .../ES6/binding-pattern/object-pattern/nested.js   |     1 +
 .../object-pattern/nested.js.ast.xml               |    33 +
 .../binding-pattern/object-pattern/properties.js   |     1 +
 .../object-pattern/properties.js.ast.xml           |   120 +
 .../binding-pattern/object-pattern/var-for-in.js   |     1 +
 .../object-pattern/var-for-in.js.ast.xml           |    64 +
 .../ecmascript6/parser/ES6/class/class01.js        |     1 +
 .../parser/ES6/class/class01.js.ast.xml            |    46 +
 .../ecmascript6/parser/ES6/class/class02.js        |     1 +
 .../parser/ES6/class/class02.js.ast.xml            |    70 +
 .../ecmascript6/parser/ES6/class/class03.js        |     1 +
 .../parser/ES6/class/class03.js.ast.xml            |    46 +
 .../ecmascript6/parser/ES6/class/class04.js        |     1 +
 .../parser/ES6/class/class04.js.ast.xml            |    46 +
 .../ecmascript6/parser/ES6/class/class05.js        |     1 +
 .../parser/ES6/class/class05.js.ast.xml            |    65 +
 .../ecmascript6/parser/ES6/class/class06.js        |     1 +
 .../parser/ES6/class/class06.js.ast.xml            |    84 +
 .../ecmascript6/parser/ES6/class/class07.js        |     1 +
 .../parser/ES6/class/class07.js.ast.xml            |    84 +
 .../ecmascript6/parser/ES6/class/class08.js        |     1 +
 .../parser/ES6/class/class08.js.ast.xml            |    84 +
 .../ecmascript6/parser/ES6/class/class09.js        |     1 +
 .../parser/ES6/class/class09.js.ast.xml            |    84 +
 .../ecmascript6/parser/ES6/class/class10.js        |     1 +
 .../parser/ES6/class/class10.js.ast.xml            |     0
 .../ecmascript6/parser/ES6/class/class11.js        |     1 +
 .../parser/ES6/class/class11.js.ast.xml            |    87 +
 .../ecmascript6/parser/ES6/class/class12.js        |     1 +
 .../parser/ES6/class/class12.js.ast.xml            |   100 +
 .../ecmascript6/parser/ES6/class/class13.js        |     1 +
 .../parser/ES6/class/class13.js.ast.xml            |    66 +
 .../ecmascript6/parser/ES6/class/class14.js        |     1 +
 .../parser/ES6/class/class14.js.ast.xml            |    66 +
 .../ecmascript6/parser/ES6/class/class15.js        |     1 +
 .../parser/ES6/class/class15.js.ast.xml            |    86 +
 .../ecmascript6/parser/ES6/class/class16.js        |     1 +
 .../parser/ES6/class/class16.js.ast.xml            |    66 +
 .../ecmascript6/parser/ES6/class/class17.js        |     1 +
 .../parser/ES6/class/class17.js.ast.xml            |    69 +
 .../ecmascript6/parser/ES6/class/class18.js        |     1 +
 .../parser/ES6/class/class18.js.ast.xml            |    65 +
 .../ecmascript6/parser/ES6/class/class19.js        |     1 +
 .../parser/ES6/class/class19.js.ast.xml            |    47 +
 .../ecmascript6/parser/ES6/class/class20.js        |     1 +
 .../parser/ES6/class/class20.js.ast.xml            |    61 +
 .../ecmascript6/parser/ES6/class/class21.js        |     1 +
 .../parser/ES6/class/class21.js.ast.xml            |    86 +
 .../ecmascript6/parser/ES6/class/class22.js        |     1 +
 .../parser/ES6/class/class22.js.ast.xml            |    64 +
 .../ecmascript6/parser/ES6/class/class23.js        |     1 +
 .../parser/ES6/class/class23.js.ast.xml            |    36 +
 .../ecmascript6/parser/ES6/class/class24.js        |     1 +
 .../parser/ES6/class/class24.js.ast.xml            |    36 +
 .../ecmascript6/parser/ES6/class/class25.js        |     1 +
 .../parser/ES6/class/class25.js.ast.xml            |    60 +
 .../ecmascript6/parser/ES6/class/class26.js        |     1 +
 .../parser/ES6/class/class26.js.ast.xml            |    60 +
 .../ecmascript6/parser/ES6/class/class27.js        |     1 +
 .../parser/ES6/class/class27.js.ast.xml            |     0
 .../ecmascript6/parser/ES6/class/class28.js        |    22 +
 .../parser/ES6/class/class28.js.ast.xml            |   285 +
 .../default-parameter-value01.js                   |     1 +
 .../default-parameter-value01.js.ast.xml           |    74 +
 .../default-parameter-value02.js                   |     1 +
 .../default-parameter-value02.js.ast.xml           |    76 +
 .../default-parameter-value03.js                   |     1 +
 .../default-parameter-value03.js.ast.xml           |    86 +
 .../array-pattern/dup-assignment.js                |     1 +
 .../array-pattern/dup-assignment.js.ast.xml        |    32 +
 .../array-pattern/elision.js                       |     1 +
 .../array-pattern/elision.js.ast.xml               |    20 +
 .../array-pattern/member-expr-in-rest.js           |     1 +
 .../array-pattern/member-expr-in-rest.js.ast.xml   |    32 +
 .../array-pattern/nested-assignment.js             |     1 +
 .../array-pattern/nested-assignment.js.ast.xml     |    57 +
 .../array-pattern/nested-cover-grammar.js          |     1 +
 .../array-pattern/nested-cover-grammar.js.ast.xml  |    43 +
 .../array-pattern/simple-assignment.js             |     1 +
 .../array-pattern/simple-assignment.js.ast.xml     |    23 +
 .../invalid-cover-grammar.js                       |     1 +
 .../invalid-cover-grammar.js.ast.xml               |    75 +
 .../invalid-group-assignment.js                    |     1 +
 .../invalid-group-assignment.js.ast.xml            |    14 +
 .../empty-object-pattern-assignment.js             |     1 +
 .../empty-object-pattern-assignment.js.ast.xml     |    21 +
 .../object-pattern/invalid-lhs-01.js               |     1 +
 .../object-pattern/invalid-lhs-01.js.ast.xml       |    14 +
 .../object-pattern/invalid-lhs-02.js               |     1 +
 .../object-pattern/invalid-lhs-02.js.ast.xml       |    14 +
 .../object-pattern/invalid-pattern-with-method.js  |     1 +
 .../invalid-pattern-with-method.js.ast.xml         |    14 +
 .../object-pattern/nested-cover-grammar.js         |     1 +
 .../object-pattern/nested-cover-grammar.js.ast.xml |    87 +
 .../object-pattern/object-pattern-assignment.js    |     8 +
 .../object-pattern-assignment.js.ast.xml           |   128 +
 .../ES6/export-declaration/export-const-number.js  |     1 +
 .../export-const-number.js.ast.xml                 |    40 +
 .../export-default-array-no-semicolon.js           |     1 +
 .../export-default-array-no-semicolon.js.ast.xml   |    27 +
 .../ES6/export-declaration/export-default-array.js |     1 +
 .../export-default-array.js.ast.xml                |    27 +
 .../ES6/export-declaration/export-default-class.js |     1 +
 .../export-default-class.js.ast.xml                |    71 +
 .../export-default-expression.js                   |     1 +
 .../export-default-expression.js.ast.xml           |    35 +
 .../export-declaration/export-default-function.js  |     1 +
 .../export-default-function.js.ast.xml             |    21 +
 .../export-default-named-function.js               |     1 +
 .../export-default-named-function.js.ast.xml       |    21 +
 .../export-declaration/export-default-number.js    |     1 +
 .../export-default-number.js.ast.xml               |    25 +
 .../export-declaration/export-default-object.js    |     1 +
 .../export-default-object.js.ast.xml               |    49 +
 .../export-default-value-no-semicolon.js           |     1 +
 .../export-default-value-no-semicolon.js.ast.xml   |    29 +
 .../ES6/export-declaration/export-default-value.js |     1 +
 .../export-default-value.js.ast.xml                |    29 +
 .../ES6/export-declaration/export-from-batch.js    |     1 +
 .../export-from-batch.js.ast.xml                   |    15 +
 .../ES6/export-declaration/export-from-default.js  |     1 +
 .../export-from-default.js.ast.xml                 |    22 +
 .../export-from-named-as-default.js                |     1 +
 .../export-from-named-as-default.js.ast.xml        |    25 +
 .../export-from-named-as-specifier.js              |     1 +
 .../export-from-named-as-specifier.js.ast.xml      |    25 +
 .../export-from-named-as-specifiers.js             |     1 +
 .../export-from-named-as-specifiers.js.ast.xml     |    30 +
 .../export-from-specifier-no-semicolon.js          |     1 +
 .../export-from-specifier-no-semicolon.js.ast.xml  |    22 +
 .../export-declaration/export-from-specifier.js    |     1 +
 .../export-from-specifier.js.ast.xml               |    22 +
 .../export-declaration/export-from-specifiers.js   |     1 +
 .../export-from-specifiers.js.ast.xml              |    27 +
 .../export-function-declaration.js                 |     1 +
 .../export-function-declaration.js.ast.xml         |    45 +
 .../ES6/export-declaration/export-function.js      |     1 +
 .../export-declaration/export-function.js.ast.xml  |    42 +
 .../ES6/export-declaration/export-let-number.js    |     1 +
 .../export-let-number.js.ast.xml                   |    40 +
 .../export-declaration/export-named-as-default.js  |     1 +
 .../export-named-as-default.js.ast.xml             |    22 +
 .../export-named-as-specifier.js                   |     1 +
 .../export-named-as-specifier.js.ast.xml           |    22 +
 .../export-named-as-specifiers.js                  |     1 +
 .../export-named-as-specifiers.js.ast.xml          |    27 +
 .../ES6/export-declaration/export-named-empty.js   |     1 +
 .../export-named-empty.js.ast.xml                  |    14 +
 .../export-declaration/export-named-specifier.js   |     1 +
 .../export-named-specifier.js.ast.xml              |    19 +
 .../export-named-specifiers-comma.js               |     1 +
 .../export-named-specifiers-comma.js.ast.xml       |    24 +
 .../export-declaration/export-named-specifiers.js  |     1 +
 .../export-named-specifiers.js.ast.xml             |    24 +
 .../export-var-anonymous-function.js               |     1 +
 .../export-var-anonymous-function.js.ast.xml       |    52 +
 .../ES6/export-declaration/export-var-number.js    |     1 +
 .../export-var-number.js.ast.xml                   |    36 +
 .../parser/ES6/export-declaration/export-var.js    |     1 +
 .../ES6/export-declaration/export-var.js.ast.xml   |    16 +
 .../invalid-export-batch-missing-from-clause.js    |     1 +
 ...lid-export-batch-missing-from-clause.js.ast.xml |     0
 .../invalid-export-batch-token.js                  |     1 +
 .../invalid-export-batch-token.js.ast.xml          |     0
 .../invalid-export-default-equal.js                |     1 +
 .../invalid-export-default-equal.js.ast.xml        |     0
 .../invalid-export-default-token.js                |     1 +
 .../invalid-export-default-token.js.ast.xml        |     0
 .../export-declaration/invalid-export-default.js   |     1 +
 .../invalid-export-default.js.ast.xml              |     0
 .../invalid-export-named-default.js                |     1 +
 .../invalid-export-named-default.js.ast.xml        |     0
 .../parser/ES6/for-of/for-of-array-pattern-let.js  |     1 +
 .../ES6/for-of/for-of-array-pattern-let.js.ast.xml |    49 +
 .../parser/ES6/for-of/for-of-array-pattern-var.js  |     1 +
 .../ES6/for-of/for-of-array-pattern-var.js.ast.xml |    45 +
 .../parser/ES6/for-of/for-of-array-pattern.js      |     1 +
 .../ES6/for-of/for-of-array-pattern.js.ast.xml     |    39 +
 .../ecmascript6/parser/ES6/for-of/for-of-let.js    |     1 +
 .../parser/ES6/for-of/for-of-let.js.ast.xml        |    32 +
 .../ES6/for-of/for-of-object-pattern-const.js      |     1 +
 .../for-of/for-of-object-pattern-const.js.ast.xml  |    68 +
 .../parser/ES6/for-of/for-of-object-pattern-var.js |     1 +
 .../for-of/for-of-object-pattern-var.js.ast.xml    |    64 +
 .../parser/ES6/for-of/for-of-object-pattern.js     |     1 +
 .../ES6/for-of/for-of-object-pattern.js.ast.xml    |    58 +
 .../parser/ES6/for-of/for-of-with-const.js         |     1 +
 .../parser/ES6/for-of/for-of-with-const.js.ast.xml |    38 +
 .../parser/ES6/for-of/for-of-with-let.js           |     1 +
 .../parser/ES6/for-of/for-of-with-let.js.ast.xml   |    38 +
 .../parser/ES6/for-of/for-of-with-var.js           |     1 +
 .../parser/ES6/for-of/for-of-with-var.js.ast.xml   |    36 +
 .../ecmascript6/parser/ES6/for-of/for-of.js        |     1 +
 .../parser/ES6/for-of/for-of.js.ast.xml            |    34 +
 .../parser/ES6/for-of/invalid-const-init.js        |     1 +
 .../ES6/for-of/invalid-const-init.js.ast.xml       |    14 +
 .../ES6/for-of/invalid-for-of-array-pattern.js     |     1 +
 .../for-of/invalid-for-of-array-pattern.js.ast.xml |    14 +
 .../ES6/for-of/invalid-for-of-object-pattern.js    |     1 +
 .../invalid-for-of-object-pattern.js.ast.xml       |    14 +
 .../parser/ES6/for-of/invalid-let-init.js          |     1 +
 .../parser/ES6/for-of/invalid-let-init.js.ast.xml  |    14 +
 .../parser/ES6/for-of/invalid-lhs-init.js          |     1 +
 .../parser/ES6/for-of/invalid-lhs-init.js.ast.xml  |    14 +
 .../parser/ES6/for-of/invalid-strict-for-of-let.js |     1 +
 .../for-of/invalid-strict-for-of-let.js.ast.xml    |    17 +
 .../parser/ES6/for-of/invalid-var-init.js          |     1 +
 .../parser/ES6/for-of/invalid-var-init.js.ast.xml  |    14 +
 .../parser/ES6/for-of/invalid_const_let.js         |     1 +
 .../parser/ES6/for-of/invalid_const_let.js.ast.xml |    14 +
 .../parser/ES6/for-of/invalid_let_let.js           |     1 +
 .../parser/ES6/for-of/invalid_let_let.js.ast.xml   |    14 +
 .../ecmascript6/parser/ES6/for-of/let-of-of.js     |     1 +
 .../parser/ES6/for-of/let-of-of.js.ast.xml         |    14 +
 .../parser/ES6/for-of/unexpected-number.js         |     1 +
 .../parser/ES6/for-of/unexpected-number.js.ast.xml |    14 +
 .../generator/generator-declaration-with-params.js |     1 +
 .../generator-declaration-with-params.js.ast.xml   |    40 +
 .../generator-declaration-with-yield-delegate.js   |     1 +
 ...ator-declaration-with-yield-delegate.js.ast.xml |    37 +
 .../generator/generator-declaration-with-yield.js  |     1 +
 .../generator-declaration-with-yield.js.ast.xml    |    37 +
 .../parser/ES6/generator/generator-declaration.js  |     1 +
 .../ES6/generator/generator-declaration.js.ast.xml |    31 +
 .../generator/generator-expression-rest-param.js   |     1 +
 .../generator-expression-rest-param.js.ast.xml     |    25 +
 .../generator/generator-expression-with-params.js  |     1 +
 .../generator-expression-with-params.js.ast.xml    |    30 +
 .../generator-expression-with-yield-delegate.js    |     1 +
 ...rator-expression-with-yield-delegate.js.ast.xml |    38 +
 .../generator/generator-expression-with-yield.js   |     1 +
 .../generator-expression-with-yield.js.ast.xml     |    27 +
 .../parser/ES6/generator/generator-expression.js   |     1 +
 .../ES6/generator/generator-expression.js.ast.xml  |    21 +
 .../generator-method-with-computed-name.js         |     3 +
 .../generator-method-with-computed-name.js.ast.xml |    18 +
 .../generator-method-with-invalid-computed-name.js |     1 +
 ...or-method-with-invalid-computed-name.js.ast.xml |     0
 .../ES6/generator/generator-method-with-params.js  |     1 +
 .../generator-method-with-params.js.ast.xml        |    43 +
 .../generator-method-with-yield-delegate.js        |     1 +
 ...generator-method-with-yield-delegate.js.ast.xml |    40 +
 .../generator-method-with-yield-expression.js      |     1 +
 ...nerator-method-with-yield-expression.js.ast.xml |    40 +
 .../generator-method-with-yield-line-terminator.js |     4 +
 ...or-method-with-yield-line-terminator.js.ast.xml |    46 +
 .../ES6/generator/generator-method-with-yield.js   |     1 +
 .../generator-method-with-yield.js.ast.xml         |    43 +
 .../parser/ES6/generator/generator-method.js       |     1 +
 .../ES6/generator/generator-method.js.ast.xml      |    34 +
 .../generator-parameter-binding-element.js         |     3 +
 .../generator-parameter-binding-element.js.ast.xml |    25 +
 ...enerator-parameter-binding-property-reserved.js |     1 +
 ...-parameter-binding-property-reserved.js.ast.xml |    60 +
 .../generator-parameter-binding-property.js        |     3 +
 ...generator-parameter-binding-property.js.ast.xml |    29 +
 .../generator-parameter-computed-property-name.js  |     3 +
 ...tor-parameter-computed-property-name.js.ast.xml |    29 +
 .../generator-parameter-invalid-binding-element.js |     3 +
 ...or-parameter-invalid-binding-element.js.ast.xml |    25 +
 ...generator-parameter-invalid-binding-property.js |     3 +
 ...r-parameter-invalid-binding-property.js.ast.xml |    81 +
 ...tor-parameter-invalid-computed-property-name.js |     3 +
 ...meter-invalid-computed-property-name.js.ast.xml |    73 +
 .../ES6/generator/incomplete-yield-delegate.js     |     1 +
 .../generator/incomplete-yield-delegate.js.ast.xml |    14 +
 .../ES6/generator/malformed-generator-method-2.js  |     1 +
 .../malformed-generator-method-2.js.ast.xml        |    14 +
 .../ES6/generator/malformed-generator-method.js    |     1 +
 .../malformed-generator-method.js.ast.xml          |    18 +
 .../static-generator-method-with-computed-name.js  |     1 +
 ...-generator-method-with-computed-name.js.ast.xml |    66 +
 .../ES6/generator/static-generator-method.js       |     1 +
 .../generator/static-generator-method.js.ast.xml   |    66 +
 .../parser/ES6/identifier/dakuten_handakuten.js    |     1 +
 .../ES6/identifier/dakuten_handakuten.js.ast.xml   |    14 +
 .../parser/ES6/identifier/escaped_all.js           |     1 +
 .../parser/ES6/identifier/escaped_all.js.ast.xml   |    12 +
 .../parser/ES6/identifier/escaped_math_alef.js     |     2 +
 .../ES6/identifier/escaped_math_alef.js.ast.xml    |    12 +
 .../parser/ES6/identifier/escaped_math_dal_part.js |     1 +
 .../identifier/escaped_math_dal_part.js.ast.xml    |    12 +
 .../parser/ES6/identifier/escaped_math_kaf_lam.js  |     1 +
 .../ES6/identifier/escaped_math_kaf_lam.js.ast.xml |    12 +
 .../ES6/identifier/escaped_math_zain_start.js      |     1 +
 .../identifier/escaped_math_zain_start.js.ast.xml  |    12 +
 .../parser/ES6/identifier/escaped_part.js          |     1 +
 .../parser/ES6/identifier/escaped_part.js.ast.xml  |    12 +
 .../parser/ES6/identifier/escaped_start.js         |     1 +
 .../parser/ES6/identifier/escaped_start.js.ast.xml |    12 +
 .../ecmascript6/parser/ES6/identifier/estimated.js |     1 +
 .../parser/ES6/identifier/estimated.js.ast.xml     |    14 +
 .../parser/ES6/identifier/ethiopic_digits.js       |     1 +
 .../ES6/identifier/ethiopic_digits.js.ast.xml      |    16 +
 .../identifier/invalid_escaped_surrogate_pairs.js  |     1 +
 .../invalid_escaped_surrogate_pairs.js.ast.xml     |     0
 .../ES6/identifier/invalid_expression_await.js     |     1 +
 .../identifier/invalid_expression_await.js.ast.xml |    50 +
 .../parser/ES6/identifier/invalid_function_wait.js |     1 +
 .../identifier/invalid_function_wait.js.ast.xml    |    31 +
 .../parser/ES6/identifier/invalid_id_smp.js        |     1 +
 .../identifier/invalid_lone_surrogate.source.js    |     1 +
 .../parser/ES6/identifier/invalid_var_await.js     |     1 +
 .../ES6/identifier/invalid_var_await.js.ast.xml    |     0
 .../ecmascript6/parser/ES6/identifier/math_alef.js |     1 +
 .../parser/ES6/identifier/math_dal_part.js         |     1 +
 .../parser/ES6/identifier/math_kaf_lam.js          |     1 +
 .../parser/ES6/identifier/math_zain_start.js       |     1 +
 .../parser/ES6/identifier/module_await.js          |     1 +
 .../parser/ES6/identifier/module_await.js.ast.xml  |    21 +
 .../parser/ES6/identifier/valid_await.js           |     1 +
 .../parser/ES6/identifier/valid_await.js.ast.xml   |    17 +
 .../parser/ES6/identifier/weierstrass.js           |     1 +
 .../parser/ES6/identifier/weierstrass.js.ast.xml   |    14 +
 .../ES6/identifier/weierstrass_weierstrass.js      |     1 +
 .../identifier/weierstrass_weierstrass.js.ast.xml  |     0
 .../import-default-and-named-specifiers.js         |     1 +
 .../import-default-and-named-specifiers.js.ast.xml |    27 +
 .../import-default-and-namespace-specifiers.js     |     1 +
 ...ort-default-and-namespace-specifiers.js.ast.xml |    25 +
 .../import-default-as-no-semicolon.js              |     2 +
 .../import-default-as-no-semicolon.js.ast.xml      |    27 +
 .../ES6/import-declaration/import-default-as.js    |     1 +
 .../import-default-as.js.ast.xml                   |    27 +
 .../import-default-no-semicolon.js                 |     1 +
 .../import-default-no-semicolon.js.ast.xml         |    20 +
 .../ES6/import-declaration/import-default.js       |     1 +
 .../import-declaration/import-default.js.ast.xml   |    20 +
 .../parser/ES6/import-declaration/import-jquery.js |     1 +
 .../import-declaration/import-jquery.js.ast.xml    |    20 +
 .../import-module-no-semicolon.js                  |     1 +
 .../import-module-no-semicolon.js.ast.xml          |    13 +
 .../parser/ES6/import-declaration/import-module.js |     1 +
 .../import-declaration/import-module.js.ast.xml    |    13 +
 .../import-named-as-specifier.js                   |     1 +
 .../import-named-as-specifier.js.ast.xml           |    27 +
 .../import-named-as-specifiers.js                  |     1 +
 .../import-named-as-specifiers.js.ast.xml          |    32 +
 .../ES6/import-declaration/import-named-empty.js   |     1 +
 .../import-named-empty.js.ast.xml                  |    19 +
 .../import-declaration/import-named-specifier.js   |     1 +
 .../import-named-specifier.js.ast.xml              |    24 +
 .../import-named-specifiers-comma.js               |     1 +
 .../import-named-specifiers-comma.js.ast.xml       |    29 +
 .../import-declaration/import-named-specifiers.js  |     1 +
 .../import-named-specifiers.js.ast.xml             |    29 +
 .../import-namespace-specifier.js                  |     1 +
 .../import-namespace-specifier.js.ast.xml          |    22 +
 .../ES6/import-declaration/import-null-as-nil.js   |     1 +
 .../import-null-as-nil.js.ast.xml                  |    27 +
 ...lid-import-default-after-named-after-default.js |     1 +
 ...rt-default-after-named-after-default.js.ast.xml |     0
 .../invalid-import-default-after-named.js          |     1 +
 .../invalid-import-default-after-named.js.ast.xml  |     0
 ...alid-import-default-missing-module-specifier.js |     1 +
 ...ort-default-missing-module-specifier.js.ast.xml |     0
 .../invalid-import-default-module-specifier.js     |     1 +
 ...alid-import-default-module-specifier.js.ast.xml |     0
 .../import-declaration/invalid-import-default.js   |     1 +
 .../invalid-import-default.js.ast.xml              |     0
 .../invalid-import-missing-comma.js                |     1 +
 .../invalid-import-missing-comma.js.ast.xml        |     0
 .../invalid-import-missing-module-specifier.js     |     1 +
 ...alid-import-missing-module-specifier.js.ast.xml |     0
 .../invalid-import-module-specifier.js             |     1 +
 .../invalid-import-module-specifier.js.ast.xml     |     0
 .../invalid-import-named-after-named.js            |     1 +
 .../invalid-import-named-after-named.js.ast.xml    |     0
 .../invalid-import-named-after-namespace.js        |     1 +
 ...invalid-import-named-after-namespace.js.ast.xml |     0
 .../invalid-import-named-as-missing-from.js        |     1 +
 ...invalid-import-named-as-missing-from.js.ast.xml |     0
 .../invalid-import-namespace-after-named.js        |     1 +
 ...invalid-import-namespace-after-named.js.ast.xml |     0
 .../invalid-import-namespace-missing-as.js         |     1 +
 .../invalid-import-namespace-missing-as.js.ast.xml |     0
 .../invalid-import-specifiers.js                   |     1 +
 .../invalid-import-specifiers.js.ast.xml           |     0
 .../parser/ES6/lexical-declaration/for_let_in.js   |     1 +
 .../ES6/lexical-declaration/for_let_in.js.ast.xml  |    32 +
 .../invalid_complex_binding_without_init.js        |     1 +
 ...invalid_complex_binding_without_init.js.ast.xml |    14 +
 .../ES6/lexical-declaration/invalid_const_const.js |     1 +
 .../invalid_const_const.js.ast.xml                 |    14 +
 .../ES6/lexical-declaration/invalid_const_forin.js |     1 +
 .../invalid_const_forin.js.ast.xml                 |    14 +
 .../ES6/lexical-declaration/invalid_const_let.js   |     1 +
 .../invalid_const_let.js.ast.xml                   |    14 +
 .../invalid_for_const_declarations.js              |     1 +
 .../invalid_for_const_declarations.js.ast.xml      |    22 +
 .../lexical-declaration/invalid_for_const_let.js   |     1 +
 .../invalid_for_const_let.js.ast.xml               |    22 +
 .../invalid_for_let_declarations.js                |     1 +
 .../invalid_for_let_declarations.js.ast.xml        |    22 +
 .../lexical-declaration/invalid_for_let_init.js    |     1 +
 .../invalid_for_let_init.js.ast.xml                |    22 +
 .../ES6/lexical-declaration/invalid_for_let_let.js |     1 +
 .../invalid_for_let_let.js.ast.xml                 |    22 +
 .../lexical-declaration/invalid_for_let_pattern.js |     1 +
 .../invalid_for_let_pattern.js.ast.xml             |    22 +
 .../lexical-declaration/invalid_forin_const_let.js |     1 +
 .../invalid_forin_const_let.js.ast.xml             |    14 +
 .../lexical-declaration/invalid_forin_let_let.js   |     1 +
 .../invalid_forin_let_let.js.ast.xml               |    14 +
 .../invalid_let_declarations.js                    |     1 +
 .../invalid_let_declarations.js.ast.xml            |    26 +
 .../ES6/lexical-declaration/invalid_let_for_in.js  |     1 +
 .../invalid_let_for_in.js.ast.xml                  |    17 +
 .../ES6/lexical-declaration/invalid_let_forin.js   |     1 +
 .../invalid_let_forin.js.ast.xml                   |    14 +
 .../ES6/lexical-declaration/invalid_let_init.js    |     1 +
 .../invalid_let_init.js.ast.xml                    |    37 +
 .../ES6/lexical-declaration/invalid_let_let.js     |     1 +
 .../lexical-declaration/invalid_let_let.js.ast.xml |    14 +
 .../invalid_strict_const_const.js                  |     1 +
 .../invalid_strict_const_const.js.ast.xml          |    17 +
 .../invalid_strict_const_let.js                    |     1 +
 .../invalid_strict_const_let.js.ast.xml            |    17 +
 .../ES6/lexical-declaration/let_identifier.js      |     1 +
 .../lexical-declaration/let_identifier.js.ast.xml  |    16 +
 .../parser/ES6/lexical-declaration/let_member.js   |     1 +
 .../ES6/lexical-declaration/let_member.js.ast.xml  |    27 +
 .../lexical-declaration/lexical-declaration01.js   |     1 +
 .../lexical-declaration01.js.ast.xml               |    40 +
 .../parser/ES6/lexical-declaration/module_let.js   |     1 +
 .../ES6/lexical-declaration/module_let.js.ast.xml  |    14 +
 .../parser/ES6/meta-property/assign-new-target.js  |     3 +
 .../ES6/meta-property/assign-new-target.js.ast.xml |    47 +
 .../parser/ES6/meta-property/invalid-dots.js       |     1 +
 .../ES6/meta-property/invalid-dots.js.ast.xml      |    34 +
 .../parser/ES6/meta-property/invalid-new-target.js |     1 +
 .../meta-property/invalid-new-target.js.ast.xml    |    14 +
 .../parser/ES6/meta-property/new-new-target.js     |     3 +
 .../ES6/meta-property/new-new-target.js.ast.xml    |    44 +
 .../ES6/meta-property/new-target-declaration.js    |     3 +
 .../new-target-declaration.js.ast.xml              |    36 +
 .../ES6/meta-property/new-target-expression.js     |     1 +
 .../meta-property/new-target-expression.js.ast.xml |    35 +
 .../parser/ES6/meta-property/new-target-invoke.js  |     3 +
 .../ES6/meta-property/new-target-invoke.js.ast.xml |    40 +
 .../ES6/meta-property/new-target-precedence.js     |     3 +
 .../meta-property/new-target-precedence.js.ast.xml |    48 +
 .../parser/ES6/meta-property/unknown-property.js   |     1 +
 .../ES6/meta-property/unknown-property.js.ast.xml  |    34 +
 .../ES6/method-definition/method-definition01.js   |     1 +
 .../method-definition01.js.ast.xml                 |    42 +
 .../ES6/method-definition/method-definition02.js   |     1 +
 .../method-definition02.js.ast.xml                 |    45 +
 .../ES6/method-definition/method-definition03.js   |     1 +
 .../method-definition03.js.ast.xml                 |    39 +
 .../ES6/method-definition/method-definition04.js   |     1 +
 .../method-definition04.js.ast.xml                 |    42 +
 .../ES6/method-definition/method-definition05.js   |     1 +
 .../method-definition05.js.ast.xml                 |    42 +
 .../invalid-proto-getter-literal-identifier.js     |     1 +
 ...alid-proto-getter-literal-identifier.js.ast.xml |    52 +
 .../invalid-proto-identifier-literal.js            |     1 +
 .../invalid-proto-identifier-literal.js.ast.xml    |    33 +
 .../invalid-proto-identifier-shorthand.js          |     1 +
 .../invalid-proto-identifier-shorthand.js.ast.xml  |    38 +
 .../invalid-proto-identifiers.js                   |     1 +
 .../invalid-proto-identifiers.js.ast.xml           |    18 +
 .../invalid-proto-literal-identifier.js            |     1 +
 .../invalid-proto-literal-identifier.js.ast.xml    |    33 +
 .../invalid-proto-literal-shorthand.js             |     1 +
 .../invalid-proto-literal-shorthand.js.ast.xml     |    34 +
 .../object-initialiser/invalid-proto-literals.js   |     1 +
 .../invalid-proto-literals.js.ast.xml              |    29 +
 .../invalid-proto-setter-literal-identifier.js     |     1 +
 ...alid-proto-setter-literal-identifier.js.ast.xml |    55 +
 .../invalid-proto-shorthand-identifier.js          |     1 +
 .../invalid-proto-shorthand-identifier.js.ast.xml  |    38 +
 .../invalid-proto-shorthand-literal.js             |     1 +
 .../invalid-proto-shorthand-literal.js.ast.xml     |    34 +
 .../object-initialiser/invalid-proto-shorthands.js |     1 +
 .../invalid-proto-shorthands.js.ast.xml            |    39 +
 .../proto-identifier-getter-setter.js              |     1 +
 .../proto-identifier-getter-setter.js.ast.xml      |    59 +
 .../object-initialiser/proto-identifier-getter.js  |     1 +
 .../proto-identifier-getter.js.ast.xml             |    45 +
 .../object-initialiser/proto-identifier-method.js  |     1 +
 .../proto-identifier-method.js.ast.xml             |    45 +
 .../object-initialiser/proto-identifier-setter.js  |     1 +
 .../proto-identifier-setter.js.ast.xml             |    48 +
 .../proto-literal-getter-setter.js                 |     1 +
 .../proto-literal-getter-setter.js.ast.xml         |    55 +
 .../ES6/object-initialiser/proto-literal-getter.js |     1 +
 .../proto-literal-getter.js.ast.xml                |    41 +
 .../ES6/object-initialiser/proto-literal-method.js |     1 +
 .../proto-literal-method.js.ast.xml                |    41 +
 .../ES6/object-initialiser/proto-literal-setter.js |     1 +
 .../proto-literal-setter.js.ast.xml                |    44 +
 .../object-literal-property-value-shorthand01.js   |     1 +
 ...t-literal-property-value-shorthand01.js.ast.xml |    47 +
 .../octal-integer-literal01.js                     |     1 +
 .../octal-integer-literal01.js.ast.xml             |    13 +
 .../octal-integer-literal02.js                     |     1 +
 .../octal-integer-literal02.js.ast.xml             |    13 +
 .../octal-integer-literal03.js                     |     1 +
 .../octal-integer-literal03.js.ast.xml             |    37 +
 .../octal-integer-literal04.js                     |     1 +
 .../octal-integer-literal04.js.ast.xml             |    13 +
 .../octal-integer-literal05.js                     |     1 +
 .../octal-integer-literal05.js.ast.xml             |    13 +
 .../octal-integer-literal06.js                     |     1 +
 .../octal-integer-literal06.js.ast.xml             |    13 +
 .../octal-integer-literal07.js                     |     1 +
 .../octal-integer-literal07.js.ast.xml             |    37 +
 .../ES6/rest-parameter/function-declaration.js     |     1 +
 .../rest-parameter/function-declaration.js.ast.xml |    38 +
 .../ES6/rest-parameter/function-expression.js      |     1 +
 .../rest-parameter/function-expression.js.ast.xml  |    36 +
 .../parser/ES6/rest-parameter/object-method.js     |     1 +
 .../ES6/rest-parameter/object-method.js.ast.xml    |    48 +
 .../ES6/rest-parameter/object-shorthand-method.js  |     1 +
 .../object-shorthand-method.js.ast.xml             |    46 +
 .../parser/ES6/spread-element/call-multi-spread.js |     1 +
 .../spread-element/call-multi-spread.js.ast.xml    |    37 +
 .../ES6/spread-element/call-spread-default.js      |     1 +
 .../spread-element/call-spread-default.js.ast.xml  |    36 +
 .../parser/ES6/spread-element/call-spread-first.js |     1 +
 .../spread-element/call-spread-first.js.ast.xml    |    31 +
 .../ES6/spread-element/call-spread-number.js       |     1 +
 .../spread-element/call-spread-number.js.ast.xml   |    23 +
 .../parser/ES6/spread-element/call-spread.js       |     1 +
 .../ES6/spread-element/call-spread.js.ast.xml      |    25 +
 .../ES6/spread-element/invalid-call-dot-dot.js     |     1 +
 .../spread-element/invalid-call-dot-dot.js.ast.xml |    14 +
 .../parser/ES6/spread-element/invalid-call-dots.js |     1 +
 .../spread-element/invalid-call-dots.js.ast.xml    |    14 +
 .../ES6/spread-element/invalid-call-spreads.js     |     1 +
 .../spread-element/invalid-call-spreads.js.ast.xml |    14 +
 .../ES6/spread-element/invalid-new-dot-dot.js      |     1 +
 .../spread-element/invalid-new-dot-dot.js.ast.xml  |    14 +
 .../parser/ES6/spread-element/invalid-new-dots.js  |     1 +
 .../ES6/spread-element/invalid-new-dots.js.ast.xml |    14 +
 .../ES6/spread-element/invalid-new-spreads.js      |     1 +
 .../spread-element/invalid-new-spreads.js.ast.xml  |    14 +
 .../parser/ES6/spread-element/new-multi-spread.js  |     1 +
 .../ES6/spread-element/new-multi-spread.js.ast.xml |    41 +
 .../ES6/spread-element/new-spread-default.js       |     1 +
 .../spread-element/new-spread-default.js.ast.xml   |    40 +
 .../parser/ES6/spread-element/new-spread-first.js  |     1 +
 .../ES6/spread-element/new-spread-first.js.ast.xml |    35 +
 .../parser/ES6/spread-element/new-spread-number.js |     1 +
 .../spread-element/new-spread-number.js.ast.xml    |    27 +
 .../parser/ES6/spread-element/new-spread.js        |     1 +
 .../ES6/spread-element/new-spread.js.ast.xml       |    29 +
 .../parser/ES6/super-property/arrow_super.js       |     5 +
 .../ES6/super-property/arrow_super.js.ast.xml      |    74 +
 .../parser/ES6/super-property/constructor_super.js |     5 +
 .../super-property/constructor_super.js.ast.xml    |    62 +
 .../ES6/super-property/invalid_super_access.js     |     5 +
 .../super-property/invalid_super_access.js.ast.xml |    56 +
 .../parser/ES6/super-property/invalid_super_id.js  |     3 +
 .../ES6/super-property/invalid_super_id.js.ast.xml |    14 +
 .../invalid_super_not_inside_function.js           |     1 +
 .../invalid_super_not_inside_function.js.ast.xml   |    14 +
 .../parser/ES6/super-property/new_super.js         |     5 +
 .../parser/ES6/super-property/new_super.js.ast.xml |   108 +
 .../parser/ES6/super-property/super_computed.js    |     5 +
 .../ES6/super-property/super_computed.js.ast.xml   |   104 +
 .../parser/ES6/super-property/super_member.js      |     5 +
 .../ES6/super-property/super_member.js.ast.xml     |   101 +
 .../parser/ES6/template-literals/after-switch.js   |     1 +
 .../ES6/template-literals/after-switch.js.ast.xml  |    14 +
 .../parser/ES6/template-literals/dollar-sign.js    |     1 +
 .../ES6/template-literals/dollar-sign.js.ast.xml   |    13 +
 .../template-literals/escape-sequences.source.js   |     1 +
 .../parser/ES6/template-literals/invalid-escape.js |     1 +
 .../template-literals/invalid-escape.js.ast.xml    |    13 +
 .../template-literals/line-terminators.source.js   |     1 +
 .../literal-escape-sequences.source.js             |     1 +
 .../literal-escape-sequences.source.js.ast.xml     |    22 +
 .../parser/ES6/template-literals/new-expression.js |     1 +
 .../template-literals/new-expression.js.ast.xml    |    35 +
 .../parser/ES6/template-literals/octal-literal.js  |     1 +
 .../ES6/template-literals/octal-literal.js.ast.xml |    13 +
 .../ES6/template-literals/strict-octal-literal.js  |     1 +
 .../strict-octal-literal.js.ast.xml                |    16 +
 .../ES6/template-literals/tagged-interpolation.js  |     1 +
 .../tagged-interpolation.js.ast.xml                |    32 +
 .../tagged-nested-with-object-literal.js           |     1 +
 .../tagged-nested-with-object-literal.js.ast.xml   |    49 +
 .../parser/ES6/template-literals/tagged.js         |     1 +
 .../parser/ES6/template-literals/tagged.js.ast.xml |    27 +
 .../template-literals/unclosed-interpolation.js    |     1 +
 .../unclosed-interpolation.js.ast.xml              |     0
 .../ES6/template-literals/unclosed-nested.js       |     1 +
 .../parser/ES6/template-literals/unclosed.js       |     1 +
 .../ES6/template-literals/unclosed.js.ast.xml      |     0
 .../parser/ES6/template-literals/untagged.js       |     1 +
 .../ES6/template-literals/untagged.js.ast.xml      |    13 +
 .../unicode-code-point-escape-sequence01.js        |     1 +
 ...unicode-code-point-escape-sequence01.js.ast.xml |    22 +
 .../unicode-code-point-escape-sequence02.js        |     1 +
 ...unicode-code-point-escape-sequence02.js.ast.xml |    22 +
 .../unicode-code-point-escape-sequence03.js        |     1 +
 ...unicode-code-point-escape-sequence03.js.ast.xml |    22 +
 .../ES6/yield/invalid-yield-binding-property.js    |     1 +
 .../invalid-yield-binding-property.js.ast.xml      |    18 +
 .../parser/ES6/yield/invalid-yield-expression.js   |     1 +
 .../ES6/yield/invalid-yield-expression.js.ast.xml  |    25 +
 .../yield/invalid-yield-generator-arrow-default.js |     1 +
 ...nvalid-yield-generator-arrow-default.js.ast.xml |    86 +
 .../invalid-yield-generator-arrow-parameter.js     |     1 +
 ...alid-yield-generator-arrow-parameter.js.ast.xml |    14 +
 .../invalid-yield-generator-arrow-parameters.js    |     1 +
 ...lid-yield-generator-arrow-parameters.js.ast.xml |    14 +
 .../ES6/yield/invalid-yield-generator-catch.js     |     1 +
 .../yield/invalid-yield-generator-catch.js.ast.xml |    57 +
 .../yield/invalid-yield-generator-declaration.js   |     1 +
 .../invalid-yield-generator-declaration.js.ast.xml |    35 +
 .../invalid-yield-generator-export-default.js      |     1 +
 ...valid-yield-generator-export-default.js.ast.xml |     0
 .../invalid-yield-generator-expression-name.js     |     1 +
 ...alid-yield-generator-expression-name.js.ast.xml |    18 +
 ...invalid-yield-generator-expression-parameter.js |     1 +
 ...yield-generator-expression-parameter.js.ast.xml |    18 +
 .../invalid-yield-generator-expression-rest.js     |     1 +
 ...alid-yield-generator-expression-rest.js.ast.xml |    18 +
 ...invalid-yield-generator-function-declaration.js |     1 +
 ...yield-generator-function-declaration.js.ast.xml |    35 +
 .../invalid-yield-generator-lexical-declaration.js |     1 +
 ...-yield-generator-lexical-declaration.js.ast.xml |    35 +
 .../invalid-yield-generator-member-expression.js   |     1 +
 ...id-yield-generator-member-expression.js.ast.xml |    35 +
 .../ES6/yield/invalid-yield-generator-parameter.js |     1 +
 .../invalid-yield-generator-parameter.js.ast.xml   |    14 +
 .../ES6/yield/invalid-yield-generator-rest.js      |     1 +
 .../yield/invalid-yield-generator-rest.js.ast.xml  |    14 +
 ...d-yield-generator-strict-function-expression.js |     1 +
 ...generator-strict-function-expression.js.ast.xml |    40 +
 ...id-yield-generator-strict-function-parameter.js |     1 +
 ...-generator-strict-function-parameter.js.ast.xml |    38 +
 ...invalid-yield-generator-variable-declaration.js |     1 +
 ...yield-generator-variable-declaration.js.ast.xml |    35 +
 .../yield/invalid-yield-strict-array-pattern.js    |     1 +
 .../invalid-yield-strict-array-pattern.js.ast.xml  |    17 +
 ...invalid-yield-strict-arrow-parameter-default.js |     1 +
 ...yield-strict-arrow-parameter-default.js.ast.xml |    17 +
 .../invalid-yield-strict-arrow-parameter-name.js   |     1 +
 ...id-yield-strict-arrow-parameter-name.js.ast.xml |    17 +
 .../yield/invalid-yield-strict-binding-element.js  |     1 +
 ...invalid-yield-strict-binding-element.js.ast.xml |    21 +
 .../yield/invalid-yield-strict-catch-parameter.js  |     1 +
 ...invalid-yield-strict-catch-parameter.js.ast.xml |    17 +
 .../yield/invalid-yield-strict-formal-parameter.js |     1 +
 ...nvalid-yield-strict-formal-parameter.js.ast.xml |    17 +
 .../invalid-yield-strict-function-declaration.js   |     1 +
 ...id-yield-strict-function-declaration.js.ast.xml |    14 +
 .../invalid-yield-strict-function-expression.js    |     1 +
 ...lid-yield-strict-function-expression.js.ast.xml |    14 +
 .../ES6/yield/invalid-yield-strict-identifier.js   |     1 +
 .../invalid-yield-strict-identifier.js.ast.xml     |    17 +
 .../invalid-yield-strict-lexical-declaration.js    |     1 +
 ...lid-yield-strict-lexical-declaration.js.ast.xml |    17 +
 .../yield/invalid-yield-strict-rest-parameter.js   |     1 +
 .../invalid-yield-strict-rest-parameter.js.ast.xml |    17 +
 .../invalid-yield-strict-variable-declaration.js   |     1 +
 ...id-yield-strict-variable-declaration.js.ast.xml |    17 +
 .../parser/ES6/yield/yield-array-pattern.js        |     1 +
 .../ES6/yield/yield-array-pattern.js.ast.xml       |    26 +
 .../parser/ES6/yield/yield-arrow-concise-body.js   |     1 +
 .../ES6/yield/yield-arrow-concise-body.js.ast.xml  |    38 +
 .../parser/ES6/yield/yield-arrow-function-body.js  |     1 +
 .../ES6/yield/yield-arrow-function-body.js.ast.xml |    37 +
 .../ES6/yield/yield-arrow-parameter-default.js     |     1 +
 .../yield/yield-arrow-parameter-default.js.ast.xml |    65 +
 .../parser/ES6/yield/yield-arrow-parameter-name.js |     1 +
 .../yield/yield-arrow-parameter-name.js.ast.xml    |    29 +
 .../parser/ES6/yield/yield-binding-element.js      |     1 +
 .../ES6/yield/yield-binding-element.js.ast.xml     |    39 +
 .../parser/ES6/yield/yield-binding-property.js     |     1 +
 .../ES6/yield/yield-binding-property.js.ast.xml    |    38 +
 .../ES6/yield/yield-call-expression-property.js    |     1 +
 .../yield-call-expression-property.js.ast.xml      |    43 +
 .../parser/ES6/yield/yield-catch-parameter.js      |     1 +
 .../ES6/yield/yield-catch-parameter.js.ast.xml     |    36 +
 .../ES6/yield/yield-expression-precedence.js       |     1 +
 .../yield/yield-expression-precedence.js.ast.xml   |    72 +
 .../yield-function-declaration-formal-parameter.js |     1 +
 ...unction-declaration-formal-parameter.js.ast.xml |    35 +
 .../parser/ES6/yield/yield-function-declaration.js |     1 +
 .../yield/yield-function-declaration.js.ast.xml    |    32 +
 .../yield/yield-function-expression-parameter.js   |     1 +
 .../yield-function-expression-parameter.js.ast.xml |    25 +
 .../parser/ES6/yield/yield-function-expression.js  |     1 +
 .../ES6/yield/yield-function-expression.js.ast.xml |    21 +
 .../yield/yield-generator-arrow-concise-body.js    |     1 +
 .../yield-generator-arrow-concise-body.js.ast.xml  |    59 +
 .../ES6/yield/yield-generator-arrow-default.js     |     1 +
 .../yield/yield-generator-arrow-default.js.ast.xml |    89 +
 .../yield/yield-generator-arrow-function-body.js   |     1 +
 .../yield-generator-arrow-function-body.js.ast.xml |    58 +
 .../ES6/yield/yield-generator-declaration.js       |     1 +
 .../yield/yield-generator-declaration.js.ast.xml   |    32 +
 .../ES6/yield/yield-generator-default-parameter.js |     1 +
 .../yield-generator-default-parameter.js.ast.xml   |    14 +
 .../yield/yield-generator-function-expression.js   |     1 +
 .../yield-generator-function-expression.js.ast.xml |    51 +
 .../yield/yield-generator-function-parameter.js    |     1 +
 .../yield-generator-function-parameter.js.ast.xml  |    55 +
 .../parser/ES6/yield/yield-generator-method.js     |     1 +
 .../ES6/yield/yield-generator-method.js.ast.xml    |    34 +
 .../yield-generator-parameter-object-pattern.js    |     1 +
 ...d-generator-parameter-object-pattern.js.ast.xml |    70 +
 .../parser/ES6/yield/yield-lexical-declaration.js  |     1 +
 .../ES6/yield/yield-lexical-declaration.js.ast.xml |    25 +
 .../ES6/yield/yield-member-expression-property.js  |     1 +
 .../yield-member-expression-property.js.ast.xml    |    42 +
 .../ecmascript6/parser/ES6/yield/yield-method.js   |     1 +
 .../parser/ES6/yield/yield-method.js.ast.xml       |    34 +
 .../ES6/yield/yield-parameter-object-pattern.js    |     1 +
 .../yield-parameter-object-pattern.js.ast.xml      |    70 +
 .../parser/ES6/yield/yield-rest-parameter.js       |     1 +
 .../ES6/yield/yield-rest-parameter.js.ast.xml      |    36 +
 .../ES6/yield/yield-strict-binding-property.js     |     1 +
 .../yield/yield-strict-binding-property.js.ast.xml |    41 +
 .../parser/ES6/yield/yield-strict-method.js        |     1 +
 .../ES6/yield/yield-strict-method.js.ast.xml       |    37 +
 .../parser/ES6/yield/yield-super-property.js       |     1 +
 .../ES6/yield/yield-super-property.js.ast.xml      |   100 +
 .../parser/ES6/yield/yield-variable-declaration.js |     1 +
 .../yield/yield-variable-declaration.js.ast.xml    |    12 +
 .../ES6/yield/yield-yield-expression-delegate.js   |     1 +
 .../yield-yield-expression-delegate.js.ast.xml     |    43 +
 .../parser/ES6/yield/yield-yield-expression.js     |     1 +
 .../ES6/yield/yield-yield-expression.js.ast.xml    |    43 +
 .../parser/declaration/const/const01.js            |     1 +
 .../parser/declaration/const/const01.js.ast.xml    |    24 +
 .../parser/declaration/const/const02.js            |     1 +
 .../parser/declaration/const/const02.js.ast.xml    |    29 +
 .../parser/declaration/const/const03.js            |     1 +
 .../parser/declaration/const/const03.js.ast.xml    |    57 +
 .../parser/declaration/function/dupe-param.js      |     1 +
 .../declaration/function/dupe-param.js.ast.xml     |    14 +
 .../parser/declaration/function/empty-param.js     |     1 +
 .../declaration/function/empty-param.js.ast.xml    |    74 +
 .../parser/declaration/function/function01.js      |     1 +
 .../declaration/function/function01.js.ast.xml     |    40 +
 .../parser/declaration/function/function02.js      |     1 +
 .../declaration/function/function02.js.ast.xml     |    31 +
 .../parser/declaration/function/function03.js      |     1 +
 .../declaration/function/function03.js.ast.xml     |    31 +
 .../parser/declaration/function/function04.js      |     1 +
 .../declaration/function/function04.js.ast.xml     |    37 +
 .../parser/declaration/function/function05.js      |     1 +
 .../declaration/function/function05.js.ast.xml     |    27 +
 .../parser/declaration/function/function06.js      |     1 +
 .../declaration/function/function06.js.ast.xml     |    55 +
 .../parser/declaration/function/function07.js      |     1 +
 .../declaration/function/function07.js.ast.xml     |    43 +
 .../parser/declaration/function/function08.js      |     1 +
 .../declaration/function/function08.js.ast.xml     |    46 +
 .../parser/declaration/function/function09.js      |     1 +
 .../declaration/function/function09.js.ast.xml     |    39 +
 .../parser/declaration/function/function10.js      |     1 +
 .../declaration/function/function10.js.ast.xml     |    30 +
 .../parser/declaration/function/function11.js      |     1 +
 .../declaration/function/function11.js.ast.xml     |    30 +
 .../parser/declaration/function/function12.js      |     1 +
 .../declaration/function/function12.js.ast.xml     |    39 +
 .../parser/declaration/function/function13.js      |     1 +
 .../declaration/function/function13.js.ast.xml     |    21 +
 .../parser/declaration/function/function14.js      |     1 +
 .../declaration/function/function14.js.ast.xml     |    34 +
 .../parser/declaration/function/function15.js      |     1 +
 .../declaration/function/function15.js.ast.xml     |    39 +
 .../parser/declaration/function/function16.js      |     4 +
 .../declaration/function/function16.js.ast.xml     |    91 +
 .../ecmascript6/parser/declaration/let/let01.js    |     1 +
 .../parser/declaration/let/let01.js.ast.xml        |    14 +
 .../ecmascript6/parser/declaration/let/let02.js    |     1 +
 .../parser/declaration/let/let02.js.ast.xml        |    19 +
 .../ecmascript6/parser/declaration/let/let03.js    |     1 +
 .../parser/declaration/let/let03.js.ast.xml        |    29 +
 .../ecmascript6/parser/declaration/let/let04.js    |     1 +
 .../parser/declaration/let/let04.js.ast.xml        |    57 +
 .../declaration/objectLiteral/objectLiteral01.js   |    11 +
 .../objectLiteral/objectLiteral01.js.ast.xml       |    95 +
 .../parser/expression/additive/additive01.js       |     1 +
 .../expression/additive/additive01.js.ast.xml      |    22 +
 .../parser/expression/additive/additive02.js       |     1 +
 .../expression/additive/additive02.js.ast.xml      |    22 +
 .../parser/expression/additive/additive03.js       |     1 +
 .../expression/additive/additive03.js.ast.xml      |    18 +
 .../parser/expression/assignment/assignment01.js   |     1 +
 .../expression/assignment/assignment01.js.ast.xml  |    21 +
 .../parser/expression/assignment/assignment02.js   |     1 +
 .../expression/assignment/assignment02.js.ast.xml  |    21 +
 .../parser/expression/assignment/assignment03.js   |     1 +
 .../expression/assignment/assignment03.js.ast.xml  |    21 +
 .../parser/expression/assignment/assignment04.js   |     1 +
 .../expression/assignment/assignment04.js.ast.xml  |    22 +
 .../parser/expression/assignment/assignment05.js   |     1 +
 .../expression/assignment/assignment05.js.ast.xml  |    22 +
 .../parser/expression/assignment/assignment06.js   |     1 +
 .../expression/assignment/assignment06.js.ast.xml  |    22 +
 .../parser/expression/assignment/assignment07.js   |     1 +
 .../expression/assignment/assignment07.js.ast.xml  |    22 +
 .../parser/expression/assignment/assignment08.js   |     1 +
 .../expression/assignment/assignment08.js.ast.xml  |    22 +
 .../parser/expression/assignment/assignment09.js   |     1 +
 .../expression/assignment/assignment09.js.ast.xml  |    22 +
 .../parser/expression/assignment/assignment10.js   |     1 +
 .../expression/assignment/assignment10.js.ast.xml  |    22 +
 .../parser/expression/assignment/assignment11.js   |     1 +
 .../expression/assignment/assignment11.js.ast.xml  |    22 +
 .../parser/expression/assignment/assignment12.js   |     1 +
 .../expression/assignment/assignment12.js.ast.xml  |    22 +
 .../parser/expression/assignment/assignment13.js   |     1 +
 .../expression/assignment/assignment13.js.ast.xml  |    22 +
 .../parser/expression/assignment/assignment14.js   |     1 +
 .../expression/assignment/assignment14.js.ast.xml  |    22 +
 .../parser/expression/assignment/assignment15.js   |     1 +
 .../expression/assignment/assignment15.js.ast.xml  |    29 +
 .../parser/expression/binary/binary01.js           |     1 +
 .../parser/expression/binary/binary01.js.ast.xml   |    29 +
 .../parser/expression/binary/binary02.js           |     1 +
 .../parser/expression/binary/binary02.js.ast.xml   |    29 +
 .../parser/expression/binary/binary03.js           |     1 +
 .../parser/expression/binary/binary03.js.ast.xml   |    29 +
 .../parser/expression/binary/binary04.js           |     1 +
 .../parser/expression/binary/binary04.js.ast.xml   |    29 +
 .../parser/expression/binary/binary05.js           |     1 +
 .../parser/expression/binary/binary05.js.ast.xml   |    29 +
 .../parser/expression/binary/binary06.js           |     1 +
 .../parser/expression/binary/binary06.js.ast.xml   |    29 +
 .../parser/expression/binary/binary07.js           |     1 +
 .../parser/expression/binary/binary07.js.ast.xml   |    29 +
 .../parser/expression/binary/binary08.js           |     1 +
 .../parser/expression/binary/binary08.js.ast.xml   |    29 +
 .../parser/expression/binary/binary09.js           |     1 +
 .../parser/expression/binary/binary09.js.ast.xml   |    29 +
 .../parser/expression/binary/binary10.js           |     1 +
 .../parser/expression/binary/binary10.js.ast.xml   |    29 +
 .../parser/expression/binary/binary11.js           |     1 +
 .../parser/expression/binary/binary11.js.ast.xml   |    29 +
 .../parser/expression/binary/binary12.js           |     1 +
 .../parser/expression/binary/binary12.js.ast.xml   |    29 +
 .../parser/expression/binary/binary13.js           |     1 +
 .../parser/expression/binary/binary13.js.ast.xml   |    29 +
 .../parser/expression/binary/binary14.js           |     1 +
 .../parser/expression/binary/binary14.js.ast.xml   |    29 +
 .../parser/expression/binary/binary15.js           |     1 +
 .../parser/expression/binary/binary15.js.ast.xml   |    29 +
 .../parser/expression/binary/binary16.js           |     1 +
 .../parser/expression/binary/binary16.js.ast.xml   |    29 +
 .../parser/expression/binary/binary17.js           |     1 +
 .../parser/expression/binary/binary17.js.ast.xml   |    29 +
 .../parser/expression/binary/binary18.js           |     1 +
 .../parser/expression/binary/binary18.js.ast.xml   |    29 +
 .../parser/expression/binary/bitwise01.js          |     1 +
 .../parser/expression/binary/bitwise01.js.ast.xml  |    22 +
 .../parser/expression/binary/bitwise02.js          |     1 +
 .../parser/expression/binary/bitwise02.js.ast.xml  |    22 +
 .../parser/expression/binary/bitwise03.js          |     1 +
 .../parser/expression/binary/bitwise03.js.ast.xml  |    22 +
 .../parser/expression/binary/bitwiseShift01.js     |     1 +
 .../expression/binary/bitwiseShift01.js.ast.xml    |    22 +
 .../parser/expression/binary/bitwiseShift02.js     |     1 +
 .../expression/binary/bitwiseShift02.js.ast.xml    |    22 +
 .../parser/expression/binary/bitwiseShift03.js     |     1 +
 .../expression/binary/bitwiseShift03.js.ast.xml    |    22 +
 .../parser/expression/binary/logical01.js          |     1 +
 .../parser/expression/binary/logical01.js.ast.xml  |    27 +
 .../parser/expression/binary/logical02.js          |     1 +
 .../parser/expression/binary/logical02.js.ast.xml  |    27 +
 .../parser/expression/binary/logical03.js          |     1 +
 .../parser/expression/binary/logical03.js.ast.xml  |    39 +
 .../parser/expression/binary/logical04.js          |     1 +
 .../parser/expression/binary/logical04.js.ast.xml  |    39 +
 .../parser/expression/binary/logical05.js          |     1 +
 .../parser/expression/binary/logical05.js.ast.xml  |    39 +
 .../parser/expression/binary/logical06.js          |     1 +
 .../parser/expression/binary/logical06.js.ast.xml  |    34 +
 .../parser/expression/complex/complex01.js         |     1 +
 .../parser/expression/complex/complex01.js.ast.xml |    98 +
 .../parser/expression/conditional/conditional01.js |     1 +
 .../conditional/conditional01.js.ast.xml           |    23 +
 .../parser/expression/conditional/conditional02.js |     1 +
 .../conditional/conditional02.js.ast.xml           |    35 +
 .../parser/expression/conditional/conditional03.js |     1 +
 .../conditional/conditional03.js.ast.xml           |    29 +
 .../parser/expression/conditional/conditional04.js |     1 +
 .../conditional/conditional04.js.ast.xml           |    49 +
 .../parser/expression/conditional/conditional05.js |     1 +
 .../conditional/conditional05.js.ast.xml           |    49 +
 .../parser/expression/conditional/conditional06.js |     1 +
 .../conditional/conditional06.js.ast.xml           |    45 +
 .../parser/expression/equality/equality01.js       |     1 +
 .../expression/equality/equality01.js.ast.xml      |    23 +
 .../parser/expression/equality/equality02.js       |     1 +
 .../expression/equality/equality02.js.ast.xml      |    23 +
 .../parser/expression/equality/equality03.js       |     1 +
 .../expression/equality/equality03.js.ast.xml      |    23 +
 .../parser/expression/equality/equality04.js       |     1 +
 .../expression/equality/equality04.js.ast.xml      |    23 +
 .../parser/expression/grouping/grouping01.js       |     1 +
 .../expression/grouping/grouping01.js.ast.xml      |    23 +
 .../parser/expression/grouping/grouping02.js       |     1 +
 .../expression/grouping/grouping02.js.ast.xml      |    23 +
 .../expression/leftHandSide/leftHandSide01.js      |     1 +
 .../leftHandSide/leftHandSide01.js.ast.xml         |    23 +
 .../expression/leftHandSide/leftHandSide02.js      |     1 +
 .../leftHandSide/leftHandSide02.js.ast.xml         |    23 +
 .../expression/leftHandSide/leftHandSide03.js      |     1 +
 .../leftHandSide/leftHandSide03.js.ast.xml         |    31 +
 .../expression/leftHandSide/leftHandSide04.js      |     1 +
 .../leftHandSide/leftHandSide04.js.ast.xml         |    31 +
 .../expression/leftHandSide/leftHandSide05.js      |     1 +
 .../leftHandSide/leftHandSide05.js.ast.xml         |    30 +
 .../expression/leftHandSide/leftHandSide06.js      |     1 +
 .../leftHandSide/leftHandSide06.js.ast.xml         |    31 +
 .../expression/leftHandSide/leftHandSide07.js      |     1 +
 .../leftHandSide/leftHandSide07.js.ast.xml         |    26 +
 .../expression/leftHandSide/leftHandSide08.js      |     1 +
 .../leftHandSide/leftHandSide08.js.ast.xml         |    30 +
 .../expression/leftHandSide/leftHandSide09.js      |     1 +
 .../leftHandSide/leftHandSide09.js.ast.xml         |    25 +
 .../expression/leftHandSide/leftHandSide10.js      |     1 +
 .../leftHandSide/leftHandSide10.js.ast.xml         |    19 +
 .../expression/leftHandSide/leftHandSide11.js      |     1 +
 .../leftHandSide/leftHandSide11.js.ast.xml         |    18 +
 .../expression/leftHandSide/leftHandSide12.js      |     1 +
 .../leftHandSide/leftHandSide12.js.ast.xml         |    21 +
 .../expression/leftHandSide/leftHandSide13.js      |     1 +
 .../leftHandSide/leftHandSide13.js.ast.xml         |    24 +
 .../expression/leftHandSide/leftHandSide14.js      |     1 +
 .../leftHandSide/leftHandSide14.js.ast.xml         |    30 +
 .../expression/leftHandSide/leftHandSide15.js      |     1 +
 .../leftHandSide/leftHandSide15.js.ast.xml         |    23 +
 .../expression/leftHandSide/leftHandSide16.js      |     1 +
 .../leftHandSide/leftHandSide16.js.ast.xml         |    24 +
 .../expression/leftHandSide/leftHandSide17.js      |     1 +
 .../leftHandSide/leftHandSide17.js.ast.xml         |    23 +
 .../expression/leftHandSide/leftHandSide18.js      |     1 +
 .../leftHandSide/leftHandSide18.js.ast.xml         |    33 +
 .../expression/leftHandSide/leftHandSide19.js      |     1 +
 .../leftHandSide/leftHandSide19.js.ast.xml         |    29 +
 .../expression/leftHandSide/leftHandSide20.js      |     1 +
 .../leftHandSide/leftHandSide20.js.ast.xml         |    18 +
 .../expression/leftHandSide/leftHandSide21.js      |     1 +
 .../leftHandSide/leftHandSide21.js.ast.xml         |    18 +
 .../expression/leftHandSide/leftHandSide22.js      |     1 +
 .../leftHandSide/leftHandSide22.js.ast.xml         |    18 +
 .../expression/leftHandSide/leftHandSide23.js      |     1 +
 .../leftHandSide/leftHandSide23.js.ast.xml         |    18 +
 .../expression/leftHandSide/leftHandSide24.js      |     1 +
 .../leftHandSide/leftHandSide24.js.ast.xml         |    32 +
 .../parser/expression/primary/array01.js           |     1 +
 .../parser/expression/primary/array01.js.ast.xml   |    22 +
 .../parser/expression/primary/array02.js           |     1 +
 .../parser/expression/primary/array02.js.ast.xml   |    22 +
 .../parser/expression/primary/array03.js           |     1 +
 .../parser/expression/primary/array03.js.ast.xml   |    23 +
 .../parser/expression/primary/array04.js           |     1 +
 .../parser/expression/primary/array04.js.ast.xml   |    23 +
 .../parser/expression/primary/array05.js           |     1 +
 .../parser/expression/primary/array05.js.ast.xml   |    23 +
 .../parser/expression/primary/array06.js           |     1 +
 .../parser/expression/primary/array06.js.ast.xml   |    25 +
 .../parser/expression/primary/array07.js           |     1 +
 .../parser/expression/primary/array07.js.ast.xml   |    25 +
 .../parser/expression/primary/array08.js           |     1 +
 .../parser/expression/primary/array08.js.ast.xml   |    22 +
 .../parser/expression/relational/relational01.js   |     1 +
 .../expression/relational/relational01.js.ast.xml  |    24 +
 .../parser/expression/relational/relational02.js   |     1 +
 .../expression/relational/relational02.js.ast.xml  |    24 +
 .../parser/expression/relational/relational03.js   |     1 +
 .../expression/relational/relational03.js.ast.xml  |    24 +
 .../parser/expression/relational/relational04.js   |     1 +
 .../expression/relational/relational04.js.ast.xml  |    24 +
 .../parser/expression/relational/relational05.js   |     1 +
 .../expression/relational/relational05.js.ast.xml  |    22 +
 .../parser/expression/relational/relational06.js   |     1 +
 .../expression/relational/relational06.js.ast.xml  |    22 +
 .../parser/expression/relational/relational07.js   |     1 +
 .../expression/relational/relational07.js.ast.xml  |    33 +
 .../ecmascript6/parser/expression/unary/unary01.js |     1 +
 .../parser/expression/unary/unary01.js.ast.xml     |    19 +
 .../ecmascript6/parser/expression/unary/unary02.js |     1 +
 .../parser/expression/unary/unary02.js.ast.xml     |    19 +
 .../ecmascript6/parser/expression/unary/unary03.js |     1 +
 .../parser/expression/unary/unary03.js.ast.xml     |    19 +
 .../ecmascript6/parser/expression/unary/unary04.js |     1 +
 .../parser/expression/unary/unary04.js.ast.xml     |    19 +
 .../ecmascript6/parser/expression/unary/unary05.js |     1 +
 .../parser/expression/unary/unary05.js.ast.xml     |    19 +
 .../ecmascript6/parser/expression/unary/unary06.js |     1 +
 .../parser/expression/unary/unary06.js.ast.xml     |    19 +
 .../ecmascript6/parser/expression/unary/unary07.js |     1 +
 .../parser/expression/unary/unary07.js.ast.xml     |    18 +
 .../ecmascript6/parser/expression/unary/unary08.js |     1 +
 .../parser/expression/unary/unary08.js.ast.xml     |    18 +
 .../ecmascript6/parser/expression/unary/unary09.js |     1 +
 .../parser/expression/unary/unary09.js.ast.xml     |    18 +
 .../ecmascript6/parser/expression/unary/unary10.js |     1 +
 .../parser/expression/unary/unary10.js.ast.xml     |    18 +
 .../ecmascript6/parser/expression/unary/unary11.js |     1 +
 .../parser/expression/unary/unary11.js.ast.xml     |    18 +
 .../ecmascript6/parser/expression/unary/unary12.js |     1 +
 .../parser/expression/unary/unary12.js.ast.xml     |    18 +
 .../ecmascript6/parser/expression/unary/unary13.js |     1 +
 .../parser/expression/unary/unary13.js.ast.xml     |    18 +
 .../ecmascript6/parser/other/backQuote01.js        |     8 +
 .../parser/other/backQuote01.js.ast.xml            |   105 +
 .../testfiles/ecmascript6/parser/other/member01.js |     5 +
 .../ecmascript6/parser/other/member01.js.ast.xml   |   110 +
 .../parser/other/objectPropertyAssignment.js       |    29 +
 .../other/objectPropertyAssignment.js.semantic     |    29 +
 .../other/objectPropertyAssignment.js.structure    |    10 +
 ...s.testObjectPropertyAssignment01_01.occurrences |     0
 ...s.testObjectPropertyAssignment01_02.occurrences |     3 +
 .../ecmascript6/parser/statement/block/block01.js  |     1 +
 .../parser/statement/block/block01.js.ast.xml      |    20 +
 .../ecmascript6/parser/statement/block/block02.js  |     1 +
 .../parser/statement/block/block02.js.ast.xml      |    33 +
 .../ecmascript6/parser/statement/block/block03.js  |     1 +
 .../parser/statement/block/block03.js.ast.xml      |    15 +
 .../ecmascript6/parser/statement/block/block04.js  |     3 +
 .../parser/statement/block/block04.js.ast.xml      |    22 +
 .../ecmascript6/parser/statement/break/break01.js  |     1 +
 .../parser/statement/break/break01.js.ast.xml      |    21 +
 .../ecmascript6/parser/statement/break/break02.js  |     1 +
 .../parser/statement/break/break02.js.ast.xml      |    27 +
 .../ecmascript6/parser/statement/break/break03.js  |     1 +
 .../parser/statement/break/break03.js.ast.xml      |    27 +
 .../ecmascript6/parser/statement/break/break04.js  |     1 +
 .../parser/statement/break/break04.js.ast.xml      |    27 +
 .../parser/statement/break/semicolon_newline.js    |     5 +
 .../statement/break/semicolon_newline.js.ast.xml   |     0
 .../parser/statement/continue/continue01.js        |     1 +
 .../statement/continue/continue01.js.ast.xml       |    21 +
 .../parser/statement/continue/continue02.js        |     1 +
 .../statement/continue/continue02.js.ast.xml       |    21 +
 .../parser/statement/continue/continue03.js        |     1 +
 .../statement/continue/continue03.js.ast.xml       |    27 +
 .../parser/statement/continue/continue04.js        |     1 +
 .../statement/continue/continue04.js.ast.xml       |    27 +
 .../parser/statement/continue/continue05.js        |     1 +
 .../statement/continue/continue05.js.ast.xml       |    27 +
 .../parser/statement/debugger/debugger01.js        |     1 +
 .../statement/debugger/debugger01.js.ast.xml       |    12 +
 .../parser/statement/debugger/debugger02.js        |     1 +
 .../statement/debugger/debugger02.js.ast.xml       |    12 +
 .../ecmascript6/parser/statement/empty/empty01.js  |     1 +
 .../parser/statement/empty/empty01.js.ast.xml      |    12 +
 .../parser/statement/expression/expression01.js    |     1 +
 .../statement/expression/expression01.js.ast.xml   |    15 +
 .../parser/statement/expression/expression02.js    |     1 +
 .../statement/expression/expression02.js.ast.xml   |    22 +
 .../ecmascript6/parser/statement/if/if01.js        |     1 +
 .../parser/statement/if/if01.js.ast.xml            |    28 +
 .../ecmascript6/parser/statement/if/if02.js        |     1 +
 .../parser/statement/if/if02.js.ast.xml            |    30 +
 .../ecmascript6/parser/statement/if/if03.js        |     1 +
 .../parser/statement/if/if03.js.ast.xml            |    31 +
 .../ecmascript6/parser/statement/if/if04.js        |     1 +
 .../parser/statement/if/if04.js.ast.xml            |    14 +
 .../ecmascript6/parser/statement/if/if05.js        |     1 +
 .../parser/statement/if/if05.js.ast.xml            |    41 +
 .../ecmascript6/parser/statement/if/if06.js        |     2 +
 .../parser/statement/if/if06.js.ast.xml            |    32 +
 .../ecmascript6/parser/statement/if/if07.js        |     1 +
 .../parser/statement/if/if07.js.ast.xml            |    32 +
 .../parser/statement/iteration/const_forin.js      |     1 +
 .../statement/iteration/const_forin.js.ast.xml     |    48 +
 .../parser/statement/iteration/doWhileBlock01.js   |     3 +
 .../statement/iteration/doWhileBlock01.js.ast.xml  |    41 +
 .../parser/statement/iteration/for-in-let.js       |     1 +
 .../statement/iteration/for-in-let.js.ast.xml      |    32 +
 .../parser/statement/iteration/for-let-let.js      |     1 +
 .../statement/iteration/for-let-let.js.ast.xml     |    40 +
 .../statement/iteration/for-statement-with-seq.js  |     1 +
 .../iteration/for-statement-with-seq.js.ast.xml    |    43 +
 .../iteration/invalid-strict-for-in-let.js         |     1 +
 .../iteration/invalid-strict-for-in-let.js.ast.xml |    17 +
 .../parser/statement/iteration/iteration01.js      |     1 +
 .../statement/iteration/iteration01.js.ast.xml     |    28 +
 .../parser/statement/iteration/iteration02.js      |     1 +
 .../statement/iteration/iteration02.js.ast.xml     |    28 +
 .../parser/statement/iteration/iteration03.js      |     1 +
 .../statement/iteration/iteration03.js.ast.xml     |    45 +
 .../parser/statement/iteration/iteration04.js      |     1 +
 .../statement/iteration/iteration04.js.ast.xml     |    26 +
 .../parser/statement/iteration/iteration05.js      |     1 +
 .../statement/iteration/iteration05.js.ast.xml     |    28 +
 .../parser/statement/iteration/iteration06.js      |     2 +
 .../statement/iteration/iteration06.js.ast.xml     |    28 +
 .../parser/statement/iteration/iteration07.js      |     1 +
 .../statement/iteration/iteration07.js.ast.xml     |    28 +
 .../parser/statement/iteration/iteration08.js      |     1 +
 .../statement/iteration/iteration08.js.ast.xml     |    45 +
 .../parser/statement/iteration/iteration09.js      |     1 +
 .../statement/iteration/iteration09.js.ast.xml     |    26 +
 .../parser/statement/iteration/iteration10.js      |     1 +
 .../statement/iteration/iteration10.js.ast.xml     |    23 +
 .../parser/statement/iteration/iteration11.js      |     1 +
 .../statement/iteration/iteration11.js.ast.xml     |    35 +
 .../parser/statement/iteration/iteration12.js      |     1 +
 .../statement/iteration/iteration12.js.ast.xml     |    38 +
 .../parser/statement/iteration/iteration13.js      |     1 +
 .../statement/iteration/iteration13.js.ast.xml     |    40 +
 .../parser/statement/iteration/iteration14.js      |     1 +
 .../statement/iteration/iteration14.js.ast.xml     |    50 +
 .../parser/statement/iteration/iteration15.js      |     1 +
 .../statement/iteration/iteration15.js.ast.xml     |    45 +
 .../parser/statement/iteration/iteration16.js      |     1 +
 .../statement/iteration/iteration16.js.ast.xml     |    54 +
 .../parser/statement/iteration/iteration17.js      |     1 +
 .../statement/iteration/iteration17.js.ast.xml     |    64 +
 .../parser/statement/iteration/iteration18.js      |     1 +
 .../statement/iteration/iteration18.js.ast.xml     |    44 +
 .../parser/statement/iteration/iteration19.js      |     1 +
 .../statement/iteration/iteration19.js.ast.xml     |    46 +
 .../parser/statement/iteration/iteration20.js      |     1 +
 .../statement/iteration/iteration20.js.ast.xml     |    56 +
 .../parser/statement/iteration/iteration21.js      |     1 +
 .../statement/iteration/iteration21.js.ast.xml     |    48 +
 .../parser/statement/iteration/iteration22.js      |     1 +
 .../statement/iteration/iteration22.js.ast.xml     |    56 +
 .../parser/statement/iteration/iteration23.js      |     1 +
 .../statement/iteration/iteration23.js.ast.xml     |    71 +
 .../parser/statement/iteration/iteration24.js      |     1 +
 .../statement/iteration/iteration24.js.ast.xml     |    74 +
 .../parser/statement/iteration/iteration25.js      |     1 +
 .../statement/iteration/iteration25.js.ast.xml     |    49 +
 .../parser/statement/iteration/iteration26.js      |     1 +
 .../statement/iteration/iteration26.js.ast.xml     |    54 +
 .../parser/statement/iteration/iteration27.js      |     1 +
 .../statement/iteration/iteration27.js.ast.xml     |    37 +
 .../parser/statement/iteration/iteration34.js      |     1 +
 .../statement/iteration/iteration34.js.ast.xml     |    28 +
 .../statement/iteration/pattern-in-for-in.js       |     1 +
 .../iteration/pattern-in-for-in.js.ast.xml         |   120 +
 .../parser/statement/labelled/labelled01.js        |     1 +
 .../statement/labelled/labelled01.js.ast.xml       |    34 +
 .../parser/statement/labelled/labelled02.js        |     1 +
 .../statement/labelled/labelled02.js.ast.xml       |    28 +
 .../parser/statement/labelled/labelled03.js        |     1 +
 .../statement/labelled/labelled03.js.ast.xml       |    21 +
 .../parser/statement/return/return01.js            |     1 +
 .../parser/statement/return/return01.js.ast.xml    |    24 +
 .../parser/statement/return/return02.js            |     1 +
 .../parser/statement/return/return02.js.ast.xml    |    24 +
 .../parser/statement/return/return03.js            |     1 +
 .../parser/statement/return/return03.js.ast.xml    |    27 +
 .../parser/statement/return/return04.js            |     1 +
 .../parser/statement/return/return04.js.ast.xml    |    34 +
 .../parser/statement/switch/switch01.js            |     1 +
 .../parser/statement/switch/switch01.js.ast.xml    |    21 +
 .../parser/statement/switch/switch02.js            |     1 +
 .../parser/statement/switch/switch02.js.ast.xml    |    35 +
 .../parser/statement/switch/switch03.js            |     1 +
 .../parser/statement/switch/switch03.js.ast.xml    |    41 +
 .../ecmascript6/parser/statement/throw/throw01.js  |     1 +
 .../parser/statement/throw/throw01.js.ast.xml      |    16 +
 .../ecmascript6/parser/statement/throw/throw02.js  |     1 +
 .../parser/statement/throw/throw02.js.ast.xml      |    23 +
 .../ecmascript6/parser/statement/throw/throw03.js  |     1 +
 .../parser/statement/throw/throw03.js.ast.xml      |    26 +
 .../ecmascript6/parser/statement/try/try01.js      |     1 +
 .../parser/statement/try/try01.js.ast.xml          |    35 +
 .../ecmascript6/parser/statement/try/try02.js      |     1 +
 .../parser/statement/try/try02.js.ast.xml          |    35 +
 .../ecmascript6/parser/statement/try/try03.js      |     1 +
 .../parser/statement/try/try03.js.ast.xml          |    35 +
 .../ecmascript6/parser/statement/try/try04.js      |     1 +
 .../parser/statement/try/try04.js.ast.xml          |    47 +
 .../ecmascript6/parser/statement/try/try05.js      |     1 +
 .../parser/statement/try/try05.js.ast.xml          |    36 +
 .../ecmascript6/parser/statement/try/try06.js      |     1 +
 .../parser/statement/try/try06.js.ast.xml          |    56 +
 .../ecmascript6/parser/statement/try/try07.js      |     1 +
 .../parser/statement/try/try07.js.ast.xml          |    71 +
 .../variable/complex-pattern-requires-init.js      |     1 +
 .../complex-pattern-requires-init.js.ast.xml       |    14 +
 .../parser/statement/variable/var_let.js           |     1 +
 .../parser/statement/variable/var_let.js.ast.xml   |    12 +
 .../parser/statement/variable/variable01.js        |     1 +
 .../statement/variable/variable01.js.ast.xml       |    12 +
 .../parser/statement/variable/variable02.js        |     1 +
 .../statement/variable/variable02.js.ast.xml       |    14 +
 .../parser/statement/variable/variable03.js        |     1 +
 .../statement/variable/variable03.js.ast.xml       |    22 +
 .../parser/statement/variable/variable04.js        |     1 +
 .../statement/variable/variable04.js.ast.xml       |    34 +
 .../parser/statement/variable/variable05.js        |     1 +
 .../statement/variable/variable05.js.ast.xml       |    46 +
 .../parser/statement/variable/variable06.js        |     1 +
 .../statement/variable/variable06.js.ast.xml       |    16 +
 .../parser/statement/variable/variable07.js        |     1 +
 .../statement/variable/variable07.js.ast.xml       |    18 +
 .../parser/statement/variable/variable10.js        |     1 +
 .../statement/variable/variable10.js.ast.xml       |    30 +
 .../ecmascript6/parser/statement/with/with01.js    |     1 +
 .../parser/statement/with/with01.js.ast.xml        |    32 +
 .../ecmascript6/parser/statement/with/with02.js    |     1 +
 .../parser/statement/with/with02.js.ast.xml        |    32 +
 .../ecmascript6/parser/statement/with/with03.js    |     1 +
 .../parser/statement/with/with03.js.ast.xml        |    31 +
 .../shorthands/computedPropertyNames.js            |     9 +
 .../shorthands/computedPropertyNames.js.semantic   |     9 +
 .../shorthands/computedPropertyNames.js.structure  |     3 +
 ...ames.js.testComputedPropertyNames01.occurrences |     2 +
 ...ames.js.testComputedPropertyNames02.occurrences |     2 +
 .../ecmascript6/shorthands/shorthandMethodNames.js |    19 +
 .../shorthands/shorthandMethodNames.js.semantic    |    19 +
 .../shorthands/shorthandMethodNames.js.structure   |     7 +
 ...Names.js.testShorthandMethodNames01.occurrences |     4 +
 ...Names.js.testShorthandMethodNames02.occurrences |     4 +
 ...Names.js.testShorthandMethodNames03.occurrences |     2 +
 ...Names.js.testShorthandMethodNames04.occurrences |     4 +
 ...Names.js.testShorthandMethodNames05.occurrences |     2 +
 .../shorthands/shorthandPropertyNames.js           |    24 +
 .../shorthands/shorthandPropertyNames.js.semantic  |    24 +
 .../shorthands/shorthandPropertyNames.js.structure |    11 +
 ...ames.js.testShorthandPropertyNames01.completion |     8 +
 ...mes.js.testShorthandPropertyNames01.occurrences |    10 +
 ...ames.js.testShorthandPropertyNames02.completion |     8 +
 ...mes.js.testShorthandPropertyNames02.occurrences |     2 +
 ...mes.js.testShorthandPropertyNames03.occurrences |     3 +
 ...mes.js.testShorthandPropertyNames04.occurrences |     2 +
 ...mes.js.testShorthandPropertyNames05.occurrences |     3 +
 ...classWithExtDoc.js.testAllCompletion.completion |    22 -
 .../testfiles/formatter/arrays3.js.formatTokens    |    27 +-
 .../test/unit/data/testfiles/formatter/arrays5.js  |     4 +
 .../formatter/arrays5.js.wrapAlways.formatted      |    14 +
 .../formatter/arrays5.js.wrapIfLong.formatted      |     5 +
 .../formatter/arrays5.js.wrapNever.formatted       |     4 +
 .../test/unit/data/testfiles/formatter/arrays6.js  |     8 +
 .../arrays6.js.allEmptyLinesRemoval.formatted      |     4 +
 .../testfiles/formatter/arrays6.js.formatTokens    |    57 +
 .../data/testfiles/formatter/arrays6.js.formatted  |     6 +
 .../arrays6.js.noEmptyLinesRemoval.formatted       |     8 +
 .../test/unit/data/testfiles/formatter/arrow1.js   |     5 +
 .../testfiles/formatter/arrow1.js.formatTokens     |   201 +
 .../data/testfiles/formatter/arrow1.js.formatted   |     7 +
 .../formatter/arrow1.js.inverted.formatted         |     7 +
 .../test/unit/data/testfiles/formatter/arrow2.js   |     3 +
 .../testfiles/formatter/arrow2.js.formatTokens     |   173 +
 .../formatter/arrow2.js.wrapAlways.formatted       |     5 +
 .../formatter/arrow2.js.wrapIfLong.formatted       |     4 +
 .../formatter/arrow2.js.wrapNever.formatted        |     3 +
 .../test/unit/data/testfiles/formatter/arrow3.js   |     7 +
 .../testfiles/formatter/arrow3.js.formatTokens     |   184 +
 .../formatter/arrow3.js.wrapAlways.formatted       |     6 +
 .../formatter/arrow3.js.wrapIfLong.formatted       |     6 +
 .../formatter/arrow3.js.wrapNever.formatted        |     5 +
 .../test/unit/data/testfiles/formatter/arrow4.js   |     5 +
 .../testfiles/formatter/arrow4.js.formatTokens     |   127 +
 .../data/testfiles/formatter/arrow4.js.formatted   |     5 +
 .../formatter/arrow4.js.wrapObjectAlways.formatted |    11 +
 .../test/unit/data/testfiles/formatter/class1.js   |     8 +
 .../testfiles/formatter/class1.js.formatTokens     |   150 +
 .../data/testfiles/formatter/class1.js.formatted   |    10 +
 .../data/testfiles/formatter/class1.js.indented    |     8 +
 .../test/unit/data/testfiles/formatter/class2.js   |     7 +
 .../testfiles/formatter/class2.js.formatTokens     |   147 +
 .../data/testfiles/formatter/class2.js.formatted   |    10 +
 .../test/unit/data/testfiles/formatter/class3.js   |    10 +
 .../class3.js.allEmptyLinesRemoval.formatted       |     9 +
 .../testfiles/formatter/class3.js.formatTokens     |   105 +
 .../data/testfiles/formatter/class3.js.formatted   |    10 +
 .../test/unit/data/testfiles/formatter/class4.js   |    11 +
 .../formatter/class4.js.braceIndented.formatted    |    12 +
 .../testfiles/formatter/class4.js.formatTokens     |   154 +
 .../data/testfiles/formatter/class4.js.formatted   |    11 +
 .../test/unit/data/testfiles/formatter/class5.js   |     5 +
 .../formatter/class5.js.default.formatted          |     5 +
 .../testfiles/formatter/class5.js.formatTokens     |    64 +
 .../formatter/class5.js.wrapAlways.formatted       |     6 +
 .../formatter/class5.js.wrapIfLong.formatted       |     6 +
 .../test/unit/data/testfiles/formatter/class6.js   |     7 +
 .../testfiles/formatter/class6.js.formatTokens     |   104 +
 .../data/testfiles/formatter/class6.js.formatted   |     8 +
 .../data/testfiles/formatter/classProperty1.js     |    12 +
 .../formatter/classProperty1.js.formatTokens       |   104 +
 .../formatter/classProperty1.js.formatted          |    12 +
 .../unit/data/testfiles/formatter/comments4.js     |    10 +
 .../testfiles/formatter/comments4.js.formatTokens  |    81 +
 .../testfiles/formatter/comments4.js.formatted     |    10 +
 .../unit/data/testfiles/formatter/decorators1.js   |     5 +
 .../formatter/decorators1.js.formatTokens          |    55 +
 .../testfiles/formatter/decorators1.js.formatted   |     7 +
 .../unit/data/testfiles/formatter/decorators2.js   |    12 +
 .../formatter/decorators2.js.formatTokens          |    92 +
 .../testfiles/formatter/decorators2.js.formatted   |    15 +
 .../unit/data/testfiles/formatter/decorators3.js   |     5 +
 .../formatter/decorators3.js.wrapAlways.formatted  |     7 +
 .../formatter/decorators3.js.wrapIfLong.formatted  |     7 +
 .../formatter/decorators3.js.wrapNever.formatted   |     6 +
 .../formatter/destructuringAssignment1.js          |     1 +
 .../destructuringAssignment1.js.formatTokens       |    89 +
 .../destructuringAssignment1.js.formatted          |     1 +
 .../formatter/destructuringAssignment2.js          |     1 +
 .../destructuringAssignment2.js.formatTokens       |    91 +
 .../destructuringAssignment2.js.formatted          |     1 +
 .../data/testfiles/formatter/embeddedSimple7.html  |     0
 .../formatter/embeddedSimple7.html.formatted       |     0
 .../formatter/formatting1.js.formatTokens          |     4 +-
 .../formatter/formatting2.js.formatTokens          |     4 +-
 .../formatter/functionDeclaration4.js.formatTokens |     4 +-
 .../testfiles/formatter/functionDeclaration6.js    |     4 +
 .../functionDeclaration6.js.default.formatted      |     4 +
 .../formatter/functionDeclaration6.js.formatTokens |    93 +
 .../testfiles/formatter/functionDeclaration7.js    |     7 +
 .../functionDeclaration7.js.default.formatted      |     7 +
 .../functionDeclaration7.js.wrapAlways.formatted   |    11 +
 .../testfiles/formatter/functions6.js.formatTokens |     4 +-
 .../unit/data/testfiles/formatter/generator1.js    |    13 +
 .../generator1.js.binaryAfter.wrapAlways.formatted |    17 +
 ...generator1.js.binaryBefore.wrapAlways.formatted |    17 +
 .../formatter/generator1.js.default.formatted      |    13 +
 .../testfiles/formatter/generator1.js.formatTokens |   176 +
 .../formatter/generator1.js.wrapAlways.formatted   |    14 +
 .../unit/data/testfiles/formatter/generator2.js    |    14 +
 .../formatter/generator2.js.default.formatted      |    14 +
 .../testfiles/formatter/generator2.js.formatTokens |   210 +
 .../data/testfiles/formatter/if9.js.formatTokens   |     3 +-
 .../unit/data/testfiles/formatter/importExport1.js |     6 +
 .../formatter/importExport1.js.formatTokens        |    66 +
 .../testfiles/formatter/importExport1.js.formatted |     6 +
 .../data/testfiles/formatter/importExport10.js     |     3 +
 .../formatter/importExport10.js.formatTokens       |    51 +
 .../formatter/importExport10.js.formatted          |     3 +
 .../unit/data/testfiles/formatter/importExport2.js |     8 +
 .../formatter/importExport2.js.formatTokens        |    91 +
 .../testfiles/formatter/importExport2.js.formatted |     8 +
 .../unit/data/testfiles/formatter/importExport3.js |    18 +
 .../formatter/importExport3.js.formatTokens        |   210 +
 .../testfiles/formatter/importExport3.js.formatted |    18 +
 .../unit/data/testfiles/formatter/importExport4.js |     8 +
 .../formatter/importExport4.js.formatTokens        |   153 +
 .../testfiles/formatter/importExport4.js.formatted |    10 +
 .../unit/data/testfiles/formatter/importExport5.js |     8 +
 .../formatter/importExport5.js.formatTokens        |    60 +
 .../testfiles/formatter/importExport5.js.formatted |     8 +
 .../unit/data/testfiles/formatter/importExport6.js |    15 +
 .../formatter/importExport6.js.formatTokens        |   117 +
 .../testfiles/formatter/importExport6.js.formatted |    15 +
 .../unit/data/testfiles/formatter/importExport7.js |    27 +
 .../formatter/importExport7.js.formatTokens        |   214 +
 .../testfiles/formatter/importExport7.js.formatted |    27 +
 .../unit/data/testfiles/formatter/importExport8.js |    15 +
 .../formatter/importExport8.js.formatTokens        |   180 +
 .../testfiles/formatter/importExport8.js.formatted |    15 +
 .../unit/data/testfiles/formatter/importExport9.js |    16 +
 .../formatter/importExport9.js.formatTokens        |   193 +
 .../testfiles/formatter/importExport9.js.formatted |    16 +
 .../formatter/issue220920.js.formatTokens          |   770 +
 .../testfiles/formatter/issue220920.js.formatted   |     3 +-
 .../unit/data/testfiles/formatter/issue257144.js   |     3 +
 .../formatter/issue257144.js.formatTokens          |    62 +
 .../testfiles/formatter/issue257144.js.formatted   |     3 +
 .../unit/data/testfiles/formatter/issue258858.js   |     3 +
 .../formatter/issue258858.js.formatTokens          |    60 +
 .../testfiles/formatter/issue258858.js.formatted   |     3 +
 .../data/testfiles/formatter/issue258858_stable.js |     3 +
 .../formatter/issue258858_stable.js.formatTokens   |    59 +
 .../formatter/issue258858_stable.js.formatted      |     3 +
 .../unit/data/testfiles/formatter/issue258872.js   |    13 +
 .../formatter/issue258872.js.formatTokens          |   160 +
 .../testfiles/formatter/issue258872.js.formatted   |    13 +
 .../test/unit/data/testfiles/formatter/jsx1.js     |     6 +
 .../data/testfiles/formatter/jsx1.js.formatTokens  |    44 +
 .../data/testfiles/formatter/jsx1.js.formatted     |     6 +
 .../test/unit/data/testfiles/formatter/jsx2.js     |     7 +
 .../data/testfiles/formatter/jsx2.js.formatTokens  |    58 +
 .../data/testfiles/formatter/jsx2.js.formatted     |     7 +
 .../test/unit/data/testfiles/formatter/jsx3.js     |     6 +
 .../data/testfiles/formatter/jsx3.js.formatTokens  |    51 +
 .../data/testfiles/formatter/jsx3.js.formatted     |     6 +
 .../test/unit/data/testfiles/formatter/jsx4.js     |    14 +
 .../data/testfiles/formatter/jsx4.js.formatTokens  |   124 +
 .../data/testfiles/formatter/jsx4.js.formatted     |    14 +
 .../test/unit/data/testfiles/formatter/jsx5.js     |     1 +
 .../data/testfiles/formatter/jsx5.js.formatTokens  |    24 +
 .../data/testfiles/formatter/jsx5.js.formatted     |     1 +
 .../test/unit/data/testfiles/formatter/jsx6.js     |     2 +
 .../data/testfiles/formatter/jsx6.js.formatTokens  |    46 +
 .../data/testfiles/formatter/jsx6.js.formatted     |     2 +
 .../test/unit/data/testfiles/formatter/jsx7.js     |     3 +
 .../formatter/jsx7.js.binaryAfter.IfLong.formatted |     4 +
 .../jsx7.js.binaryBefore.IfLong.formatted          |     4 +
 .../data/testfiles/formatter/jsx7.js.formatTokens  |    26 +
 .../test/unit/data/testfiles/formatter/jsx8.js     |     2 +
 .../formatter/jsx8.js.binaryAfter.IfLong.formatted |     3 +
 .../jsx8.js.binaryBefore.IfLong.formatted          |     3 +
 .../data/testfiles/formatter/jsx8.js.formatTokens  |    25 +
 .../test/unit/data/testfiles/formatter/jsx9.js     |     4 +
 .../data/testfiles/formatter/jsx9.js.formatTokens  |    29 +
 .../data/testfiles/formatter/jsx9.js.formatted     |     4 +
 .../test/unit/data/testfiles/formatter/let1.js     |     8 +
 .../formatter/let1.js.forWrapAlways.formatted      |    12 +
 .../formatter/let1.js.forWrapIfLong.formatted      |    10 +
 .../formatter/let1.js.forWrapNever.formatted       |     8 +
 .../data/testfiles/formatter/let1.js.formatTokens  |   170 +
 .../test/unit/data/testfiles/formatter/let2.js     |     4 +
 .../data/testfiles/formatter/let2.js.formatTokens  |    55 +
 .../data/testfiles/formatter/let2.js.formatted     |     4 +
 .../test/unit/data/testfiles/formatter/node1.js    |    12 +
 .../data/testfiles/formatter/node1.js.formatTokens |   125 +
 .../data/testfiles/formatter/node1.js.formatted    |    12 +
 .../testfiles/formatter/objects1.js.formatTokens   |     4 +-
 .../unit/data/testfiles/formatter/objects10.js     |     5 +
 .../testfiles/formatter/objects10.js.formatTokens  |   102 +
 .../objects10.js.objectOnlyWrapAlways.formatted    |    11 +
 .../objects10.js.objectOnlyWrapIfLong.formatted    |     7 +
 .../objects10.js.objectOnlyWrapNever.formatted     |     5 +
 ...objects10.js.propertiesOnlyWrapAlways.formatted |     8 +
 ...objects10.js.propertiesOnlyWrapIfLong.formatted |     6 +
 .../objects10.js.propertiesOnlyWrapNever.formatted |     5 +
 .../unit/data/testfiles/formatter/objects11.js     |     1 +
 .../objects11.js.objectOnlyWrapIfLong.formatted    |     3 +
 .../unit/data/testfiles/formatter/objects12.js     |     2 +
 .../testfiles/formatter/objects12.js.formatTokens  |    31 +
 .../objects12.js.objectOnlyWrapIfLong.formatted    |     3 +
 .../unit/data/testfiles/formatter/objects13.js     |    12 +
 .../testfiles/formatter/objects13.js.formatTokens  |   193 +
 .../objects13.js.objectOnlyWrapAlways.formatted    |    13 +
 .../objects13.js.objectOnlyWrapIfLong.formatted    |    13 +
 .../objects13.js.objectOnlyWrapNever.formatted     |    12 +
 ...objects13.js.propertiesOnlyWrapAlways.formatted |    13 +
 ...objects13.js.propertiesOnlyWrapIfLong.formatted |    13 +
 .../objects13.js.propertiesOnlyWrapNever.formatted |    12 +
 .../unit/data/testfiles/formatter/objects14.js     |     7 +
 .../objects14.js.allEmptyLinesRemoval.formatted    |     4 +
 .../testfiles/formatter/objects14.js.formatTokens  |    53 +
 .../testfiles/formatter/objects14.js.formatted     |     6 +
 .../objects14.js.noEmptyLinesRemoval.formatted     |     7 +
 .../unit/data/testfiles/formatter/objects15.js     |     4 +
 .../testfiles/formatter/objects15.js.formatTokens  |    43 +
 .../testfiles/formatter/objects15.js.formatted     |     4 +
 .../testfiles/formatter/objects2.js.formatTokens   |     4 +-
 .../testfiles/formatter/objects3.js.formatTokens   |    26 +-
 .../testfiles/formatter/objects4.js.formatTokens   |     8 +-
 .../formatter/parentheses1.js.formatTokens         |     6 +-
 .../testfiles/formatter/prototype.js.formatted     |   200 +
 .../testfiles/formatter/spaces1.js.formatTokens    |     6 +-
 .../test/unit/data/testfiles/formatter/spread1.js  |     6 +
 .../formatter/spread1.js.wrapAlways.formatted      |    18 +
 .../formatter/spread1.js.wrapIfLong.formatted      |     7 +
 .../formatter/spread1.js.wrapNever.formatted       |     6 +
 .../testfiles/formatter/switch1.js.formatTokens    |     5 -
 .../testfiles/formatter/switch2.js.formatTokens    |     5 -
 .../testfiles/formatter/switch3.js.formatTokens    |    12 -
 .../testfiles/formatter/switch4.js.formatTokens    |     6 -
 .../testfiles/formatter/switch5.js.formatTokens    |    10 +-
 .../testfiles/formatter/switch6.js.formatTokens    |    10 +-
 .../formatter/tabsIndents1.js.formatTokens         |     6 +-
 .../unit/data/testfiles/formatter/templates1.js    |    11 +
 .../testfiles/formatter/templates1.js.formatTokens |   215 +
 .../testfiles/formatter/templates1.js.formatted    |    11 +
 .../unit/data/testfiles/formatter/templates2.js    |     7 +
 .../testfiles/formatter/templates2.js.formatTokens |   141 +
 .../testfiles/formatter/templates2.js.formatted    |     7 +
 .../templates2.js.objectOnlyWrapAlways.formatted   |     9 +
 .../unit/data/testfiles/formatter/templates3.js    |     5 +
 .../testfiles/formatter/templates3.js.formatTokens |    34 +
 .../testfiles/formatter/templates3.js.formatted    |     5 +
 .../unit/data/testfiles/formatter/templates4.js    |     5 +
 .../testfiles/formatter/templates4.js.formatTokens |    39 +
 .../testfiles/formatter/templates4.js.formatted    |     5 +
 .../data/testfiles/formatter/var2.js.formatTokens  |   239 +
 .../data/testfiles/formatter/var3.js.formatTokens  |   165 +
 .../unit/data/testfiles/hints/arrowFunction.js     |     4 +
 .../data/testfiles/hints/arrowFunction.js.semantic |     4 +
 .../unit/data/testfiles/hints/classDeclaration.js  |     3 +
 ...lassDeclaration.js.testClassDeclaration01.hints |     0
 .../unit/data/testfiles/hints/defaultParameters.js |     4 +
 ...aultParameters.js.testDefaultParameters01.hints |     0
 .../test/unit/data/testfiles/hints/docComment1.js  |     9 +
 .../hints/docComment1.js.testSemicolon04.hints     |     0
 .../test/unit/data/testfiles/hints/docComment2.js  |    12 +
 .../hints/docComment2.js.testSemicolon05.hints     |     3 +
 .../globalIsNotDeclared.js.testSimple01.hints      |     4 +-
 .../hints/issue225048.js.testIssue225048.hints     |     4 +-
 .../issue225048_01.js.testIssue225048_01.hints     |     4 +-
 .../issue233813/test.js.testIssue233813.hints      |     2 +-
 .../data/testfiles/hints/issue248696_01.js.model   |    26 -
 .../issue248696_01.js.testIssue248696_01.hints     |     2 +-
 .../issue248696_02.js.testIssue248696_02.hints     |    14 +-
 .../unit/data/testfiles/hints/issue252022.js.model |    22 -
 .../data/testfiles/hints/issue252022.js.semantic   |     2 +-
 .../data/testfiles/hints/issue252022.js.structure  |     7 +-
 .../test/unit/data/testfiles/hints/issue258874.js  |    54 +
 .../hints/issue258874.js.testIssue258874.hints     |     3 +
 .../unit/data/testfiles/hints/issue258901_01.js    |     6 +
 .../issue258901_01.js.testIssue258901_01.hints     |     0
 .../unit/data/testfiles/hints/issue258901_02.js    |     9 +
 .../issue258901_02.js.testIssue258901_02.hints     |     0
 .../unit/data/testfiles/hints/issue258901_03.js    |     5 +
 .../issue258901_03.js.testIssue258901_03.hints     |     0
 .../unit/data/testfiles/hints/issue258901_04.js    |     5 +
 .../issue258901_04.js.testIssue258901_04.hints     |     0
 .../unit/data/testfiles/hints/issue258901_05.js    |     6 +
 .../issue258901_05.js.testIssue258901_05.hints     |     0
 .../test/unit/data/testfiles/hints/issue262468.js  |     5 +
 .../issue262468.js.testSemicolonIssue262468.hints  |     3 +
 .../unit/data/testfiles/issue230784.js.structure   |    10 -
 .../unit/data/testfiles/issue249068.js.structure   |     5 -
 .../simple01.js.testFLR_01.logicalRange            |     4 +-
 .../simple01.js.testFLR_02.logicalRange            |    10 +-
 .../simple01.js.testFLR_03.logicalRange            |     8 +-
 .../simple01.js.testFLR_04.logicalRange            |    14 +-
 .../markoccurences/blockscope/arrayLiteral01.js    |    31 +
 .../blockscope/arrayLiteral01.js.semantic          |    31 +
 ...s.testArrayLiteralInBlockScope01_01.occurrences |     4 +
 ...s.testArrayLiteralInBlockScope01_02.occurrences |     4 +
 ...s.testArrayLiteralInBlockScope01_03.occurrences |     4 +
 .../testfiles/markoccurences/blockscope/scope01.js |    11 +
 .../scope01.js.testBlockScope01_01.occurrences     |     2 +
 .../scope01.js.testBlockScope01_02.occurrences     |     2 +
 .../scope01.js.testBlockScope01_03.occurrences     |     2 +
 .../testfiles/markoccurences/blockscope/scope02.js |    19 +
 .../scope02.js.testBlockScope02_01.occurrences     |     2 +
 .../scope02.js.testBlockScope02_02.occurrences     |     2 +
 .../scope02.js.testBlockScope02_03.occurrences     |     2 +
 .../testfiles/markoccurences/blockscope/scope03.js |    10 +
 .../scope03.js.testBlockScope03_01.occurrences     |     3 +
 .../scope03.js.testBlockScope03_02.occurrences     |     2 +
 .../testfiles/markoccurences/blockscope/scope04.js |    18 +
 .../scope04.js.testBlockScope04_01.occurrences     |     3 +
 .../scope04.js.testBlockScope04_02.occurrences     |     3 +
 .../scope04.js.testBlockScope04_03.occurrences     |     2 +
 .../testfiles/markoccurences/blockscope/scope05.js |    13 +
 .../markoccurences/blockscope/scope05.js.semantic  |    13 +
 .../scope05.js.testBlockScope05_01.occurrences     |     2 +
 .../scope05.js.testBlockScope05_02.occurrences     |     3 +
 .../scope05.js.testBlockScope05_03.occurrences     |     2 +
 .../scope05.js.testBlockScope05_04.occurrences     |     2 +
 .../testfiles/markoccurences/classes/class01.js    |    12 +
 .../markoccurences/classes/class01.js.semantic     |    12 +
 .../markoccurences/classes/class01.js.structure    |     5 +
 .../classes/class01.js.testClass01_01.occurrences  |     3 +
 .../classes/class01.js.testClass01_02.occurrences  |     2 +
 .../classes/class01.js.testClass01_03.occurrences  |     2 +
 .../classes/class01.js.testClass01_04.occurrences  |     2 +
 .../classes/class01.js.testClass01_05.occurrences  |     2 +
 .../classes/class01.js.testClass01_06.occurrences  |     1 +
 .../testfiles/markoccurences/classes/class02.js    |    12 +
 .../markoccurences/classes/class02.js.semantic     |    12 +
 .../markoccurences/classes/class02.js.structure    |     5 +
 .../classes/class02.js.testClass02_01.occurrences  |     3 +
 .../classes/class02.js.testClass02_02.occurrences  |     2 +
 .../classes/class02.js.testClass02_03.occurrences  |     2 +
 .../classes/class02.js.testClass02_04.occurrences  |     2 +
 .../classes/class02.js.testClass02_05.occurrences  |     2 +
 .../classes/class02.js.testClass02_06.occurrences  |     1 +
 .../testfiles/markoccurences/classes/class03.js    |    22 +
 .../markoccurences/classes/class03.js.semantic     |    22 +
 .../markoccurences/classes/class03.js.structure    |     7 +
 .../classes/class03.js.testClass03_01.occurrences  |     3 +
 .../classes/class03.js.testClass03_02.occurrences  |     3 +
 .../classes/class03.js.testClass03_03.occurrences  |     1 +
 .../classes/class03.js.testClass03_04.occurrences  |     2 +
 .../classes/class03.js.testClass03_05.occurrences  |     2 +
 .../classes/class03.js.testClass03_06.occurrences  |     1 +
 .../classes/class03.js.testClass03_07.occurrences  |     2 +
 .../testfiles/markoccurences/classes/class04.js    |    25 +
 .../markoccurences/classes/class04.js.semantic     |    25 +
 .../markoccurences/classes/class04.js.structure    |     7 +
 .../classes/class04.js.testClass04_01.occurrences  |     6 +
 .../classes/class04.js.testClass04_02.occurrences  |     2 +
 .../classes/class04.js.testClass04_03.occurrences  |     2 +
 .../classes/class04.js.testClass04_04.occurrences  |     2 +
 .../classes/class04.js.testClass04_05.occurrences  |     4 +
 .../classes/class04.js.testClass04_06.occurrences  |     2 +
 .../classes/class04.js.testClass04_07.occurrences  |     2 +
 .../classes/class04.js.testClass04_08.occurrences  |     2 +
 .../classes/class04.js.testClass04_09.occurrences  |     2 +
 .../arrayDestructuring01.js                        |     9 +
 .../arrayDestructuring01.js.ast.xml                |   124 +
 .../arrayDestructuring01.js.semantic               |     9 +
 .../arrayDestructuring01.js.structure              |     4 +
 ...uring01.js.testArrayDestructuring01.occurrences |     3 +
 ...uring01.js.testArrayDestructuring02.occurrences |     3 +
 ...uring01.js.testArrayDestructuring03.occurrences |     3 +
 ...uring01.js.testArrayDestructuring04.occurrences |     3 +
 .../arrayDestructuring02.js                        |     6 +
 .../arrayDestructuring02.js.ast.xml                |   101 +
 ...ng02.js.testArrayDestructuring02_01.occurrences |     2 +
 ...ng02.js.testArrayDestructuring02_02.occurrences |     2 +
 ...ng02.js.testArrayDestructuring02_03.occurrences |     2 +
 ...ng02.js.testArrayDestructuring02_04.occurrences |     2 +
 .../arrayDestructuring03.js                        |     8 +
 ...ng03.js.testArrayDestructuring03_01.occurrences |     3 +
 ...ng03.js.testArrayDestructuring03_02.occurrences |     3 +
 ...ng03.js.testArrayDestructuring03_03.occurrences |     2 +
 .../arrayDestructuring04.js                        |     9 +
 ...ng04.js.testArrayDestructuring01_01.occurrences |     2 +
 ...ng04.js.testArrayDestructuring01_02.occurrences |     2 +
 ...ng04.js.testArrayDestructuring01_03.occurrences |     3 +
 .../destructuringAssignments/example01.js          |    13 +
 .../destructuringAssignments/example01.js.ast.xml  |   356 +
 .../destructuringAssignments/example01.js.semantic |    13 +
 .../example01.js.structure                         |     5 +
 .../example01.js.testExample01_01.occurrences      |     3 +
 .../example01.js.testExample01_02.occurrences      |     2 +
 .../example01.js.testExample01_03.occurrences      |     3 +
 .../example01.js.testExample01_04.occurrences      |     2 +
 .../example01.js.testExample01_05.occurrences      |     2 +
 .../example01.js.testExample01_06.occurrences      |     1 +
 .../example01.js.testExample01_07.occurrences      |     2 +
 .../example01.js.testExample01_08.occurrences      |     0
 .../example01.js.testExample01_09.occurrences      |     0
 .../objectDestructuring01.js                       |     5 +
 .../objectDestructuring01.js.ast.xml               |   117 +
 .../objectDestructuring01.js.semantic              |     5 +
 .../objectDestructuring01.js.structure             |     5 +
 ...g01.js.testObjectDestructuring01_01.occurrences |     2 +
 ...g01.js.testObjectDestructuring01_02.occurrences |     2 +
 ...g01.js.testObjectDestructuring01_03.occurrences |     2 +
 .../objectDestructuring02.js                       |     7 +
 .../objectDestructuring02.js.semantic              |     7 +
 .../objectDestructuring02.js.structure             |     3 +
 ...g02.js.testObjectDestructuring02_01.occurrences |     3 +
 ...g02.js.testObjectDestructuring02_02.occurrences |     3 +
 ...g02.js.testObjectDestructuring02_03.occurrences |     3 +
 ...g02.js.testObjectDestructuring02_04.occurrences |     1 +
 ...g02.js.testObjectDestructuring02_05.occurrences |     1 +
 .../objectDestructuring03.js                       |     7 +
 .../objectDestructuring03.js.semantic              |     7 +
 .../objectDestructuring03.js.structure             |     3 +
 ...g03.js.testObjectDestructuring03_01.occurrences |     3 +
 .../objectDestructuring04.js                       |     6 +
 .../objectDestructuring04.js.semantic              |     6 +
 .../objectDestructuring04.js.structure             |     3 +
 ...g04.js.testObjectDestructuring04_01.occurrences |     1 +
 ...g04.js.testObjectDestructuring04_02.occurrences |     2 +
 ...g04.js.testObjectDestructuring04_03.occurrences |     2 +
 ...g04.js.testObjectDestructuring04_04.occurrences |     1 +
 ...g04.js.testObjectDestructuring04_05.occurrences |     2 +
 .../objectDestructuring05.js                       |     5 +
 .../objectDestructuring05.js.semantic              |     5 +
 .../objectDestructuring05.js.structure             |     5 +
 ...g05.js.testObjectDestructuring05_01.occurrences |     2 +
 ...g05.js.testObjectDestructuring05_02.occurrences |     2 +
 ...g05.js.testObjectDestructuring05_03.occurrences |     2 +
 ...g05.js.testObjectDestructuring05_04.occurrences |     2 +
 ...g05.js.testObjectDestructuring05_05.occurrences |     2 +
 .../objectDestructuring06.js                       |     4 +
 .../objectDestructuring06.js.semantic              |     4 +
 ...g06.js.testObjectDestructuring06_01.occurrences |     1 +
 ...g06.js.testObjectDestructuring06_02.occurrences |     2 +
 ...g06.js.testObjectDestructuring06_03.occurrences |     2 +
 .../regExpDestructuring01.js                       |    10 +
 ...g01.js.testRegExpDestructuring01_01.occurrences |     2 +
 ...g01.js.testRegExpDestructuring01_02.occurrences |     2 +
 ...g01.js.testRegExpDestructuring01_03.occurrences |     2 +
 ...g01.js.testRegExpDestructuring01_04.occurrences |     3 +
 .../functionDeclaration/functionDeclaration01.js   |     8 +
 ...n01.js.testFunctionDeclaration01_01.occurrences |     3 +
 ...n01.js.testFunctionDeclaration01_02.occurrences |     2 +
 .../functionDeclaration/functionDeclaration02.js   |    11 +
 ...n02.js.testFunctionDeclaration02_01.occurrences |     2 +
 ...n02.js.testFunctionDeclaration02_02.occurrences |     2 +
 ...n02.js.testFunctionDeclaration02_03.occurrences |     2 +
 .../functionDeclaration/functionDeclaration03.js   |    12 +
 ...n03.js.testFunctionDeclaration03_01.occurrences |     2 +
 ...n03.js.testFunctionDeclaration03_02.occurrences |     2 +
 ...n03.js.testFunctionDeclaration03_03.occurrences |     2 +
 .../functionDeclaration/functionDeclaration04.js   |    15 +
 ...n04.js.testFunctionDeclaration04_01.occurrences |     2 +
 ...n04.js.testFunctionDeclaration04_02.occurrences |     2 +
 ...n04.js.testFunctionDeclaration04_03.occurrences |     2 +
 ...n04.js.testFunctionDeclaration04_04.occurrences |     2 +
 ...n04.js.testFunctionDeclaration04_05.occurrences |     2 +
 .../functionDeclaration/functionDeclaration05.js   |    15 +
 .../functionDeclaration05.js.semantic              |    15 +
 ...n05.js.testFunctionDeclaration05_01.occurrences |     3 +
 ...n05.js.testFunctionDeclaration05_02.occurrences |     2 +
 ...n05.js.testFunctionDeclaration05_03.occurrences |     1 +
 .../functionDeclaration/functionDeclaration06.js   |    13 +
 ...n06.js.testFunctionDeclaration06_01.occurrences |     2 +
 ...n06.js.testFunctionDeclaration06_02.occurrences |     3 +
 ...n06.js.testFunctionDeclaration06_03.occurrences |     4 +
 .../issue222964.js.testIssue222964_01.completion   |    38 +-
 .../issue222964.js.testIssue222964_02.completion   |    38 +-
 .../issue222964.js.testIssue222964_03.completion   |    38 +-
 .../issue222964.js.testIssue222964_05.completion   |    38 +-
 .../data/testfiles/markoccurences/issue223970.js   |    16 +
 .../issue223970.js.testIssue223970_01.occurrences  |     3 +
 .../issue223970.js.testIssue223970_02.occurrences  |     2 +
 .../markoccurences/issue225399.js.structure        |     2 +-
 .../data/testfiles/markoccurences/issue231627.js   |     8 +
 .../markoccurences/issue231627.js.semantic         |     8 +
 .../issue231627.js.testIssue231627_01.occurrences  |     2 +
 .../issue232792.js.testCCinWith01.completion       |    10 +
 .../testfiles/markoccurences/issue241171.js.model  |    64 -
 .../testfiles/markoccurences/issue242421.js.model  |    36 -
 .../markoccurences/issue242421.js.semantic         |     2 +-
 .../markoccurences/issue244344.js.semantic         |     2 +-
 .../markoccurences/issue244344.js.structure        |     5 +-
 .../markoccurences/issue245488.js.structure        |     3 +-
 .../data/testfiles/markoccurences/issue246239.js   |     7 +
 .../markoccurences/issue246239.js.semantic         |     7 +
 .../issue246239.js.testIssue246239_01.occurrences  |     2 +
 .../issue246239.js.testIssue246239_02.occurrences  |     2 +
 .../issue249487.js.testIssue249487.hints           |     2 +-
 .../issue251823.js.testIssue251892_01.occurrences  |     2 +-
 .../data/testfiles/markoccurences/issue251853.js   |     2 +-
 .../issue251853.js.testIssue251853_02.occurrences  |     2 +-
 .../markoccurences/issue251984.js.semantic         |     2 +-
 .../testfiles/markoccurences/issue252135.js.model  |    22 -
 .../markoccurences/issue252375.js.structure        |     2 +-
 .../testfiles/markoccurences/issue252755_01.js     |     8 +
 .../markoccurences/issue252755_01.js.semantic      |     8 +
 ...ssue252755_01.js.testIssue252755_01.occurrences |     2 +
 ...ssue252755_01.js.testIssue252755_02.occurrences |     2 +
 .../testfiles/markoccurences/issue252755_02.js     |    12 +
 .../markoccurences/issue252755_02.js.semantic      |    12 +
 ...ssue252755_02.js.testIssue252755_03.occurrences |     4 +
 .../data/testfiles/markoccurences/issue258724.js   |    12 +
 .../issue258724.js.testIssue258724_01.occurrences  |     2 +
 .../issue258724.js.testIssue258724_02.occurrences  |     2 +
 .../data/testfiles/markoccurences/issue262469.js   |     8 +
 .../markoccurences/issue262469.js.ast.xml          |   102 +
 .../issue262469.js.testIssue262469_01.occurrences  |     2 +
 .../data/testfiles/markoccurences/issue267694.js   |    15 +
 .../markoccurences/issue267694.js.semantic         |    15 +
 .../issue267694.js.testIssue267694_01.occurrences  |     3 +
 .../issue267694.js.testIssue267694_02.occurrences  |     3 +
 .../data/testfiles/markoccurences/issue267974.js   |    21 +
 .../markoccurences/issue267974.js.structure        |     3 +
 .../issue267974.js.testIssue267974_01.occurrences  |     6 +
 .../testfiles/markoccurences/issue267974_01.js     |     8 +
 .../markoccurences/issue267974_01.js.structure     |     0
 ...ssue267974_01.js.testIssue267974_02.occurrences |     3 +
 .../parser => markoccurences/jsdoc}/issue252873.js |     0
 .../issue252873.js.testIssue252873_01.occurrences  |     0
 .../issue252873.js.testIssue252873_02.occurrences  |     0
 .../testfiles/markoccurences/strangeMethodName.js  |     6 +
 .../markoccurences/strangeMethodName.js.structure  |     3 +
 ...odName.js.testStrangeMethodNames_01.occurrences |     2 +
 .../testfiles/model/anonymousFunction.js.model     |    22 -
 .../testfiles/model/anonymousFunction2.js.model    |    32 -
 .../unit/data/testfiles/model/arrowFunction.js     |    54 +
 ...rrowFunction.js.testArrowFunction01.occurrences |     1 +
 ...rrowFunction.js.testArrowFunction02.occurrences |     2 +
 ...rrowFunction.js.testArrowFunction03.occurrences |     1 +
 ...rrowFunction.js.testArrowFunction04.occurrences |     2 +
 ...rrowFunction.js.testArrowFunction05.occurrences |     2 +
 ...rrowFunction.js.testArrowFunction06.occurrences |     1 +
 .../unit/data/testfiles/model/closers01.js.model   |    57 -
 .../unit/data/testfiles/model/defaultParameters.js |    46 +
 ...rameters.js.testDefaultParameters01.occurrences |     2 +
 ...rameters.js.testDefaultParameters02.occurrences |     3 +
 .../getterSettterInObjectLiteral.js.structure      |     4 +-
 .../data/testfiles/model/issue236141_01.js.model   |    29 -
 .../data/testfiles/model/issue236141_02.js.model   |    31 -
 .../unit/data/testfiles/model/issue242454.js.model |    24 -
 .../data/testfiles/model/issue242454.js.semantic   |     2 +-
 .../data/testfiles/model/issue242454.js.structure  |     8 +-
 .../unit/data/testfiles/model/issue247834.js.model |    36 -
 .../unit/data/testfiles/model/issue251911.js.model |    43 -
 .../data/testfiles/model/issue251911.js.semantic   |     2 +-
 .../data/testfiles/model/jQueryFragment01.js.model |    59 -
 .../testfiles/model/jQueryFragment01.js.structure  |     2 +-
 .../data/testfiles/model/jQueryFragment02.js.model |    48 -
 .../test/unit/data/testfiles/model/person.js.model |   155 -
 .../data/testfiles/model/person.js.model.revert    |   155 -
 .../unit/data/testfiles/model/property03.js.model  |    18 -
 .../unit/data/testfiles/navigation/issue227972.js  |     6 +-
 .../parser/asyncFunctions/asyncFunctions1.js       |    10 +
 .../asyncFunctions/asyncFunctions1.js.ast.xml      |   135 +
 .../asyncFunctions/asyncFunctions1.js.semantic     |    10 +
 .../parser/asyncFunctions/asyncFunctions2.js       |     5 +
 .../asyncFunctions/asyncFunctions2.js.ast.xml      |    64 +
 .../asyncFunctions/asyncFunctions2.js.semantic     |     5 +
 .../parser/asyncFunctions/asyncFunctions3.js       |    17 +
 .../asyncFunctions/asyncFunctions3.js.ast.xml      |   146 +
 .../asyncFunctions/asyncFunctions3.js.semantic     |    17 +
 .../parser/asyncFunctions/asyncFunctions4.js       |     3 +
 .../asyncFunctions/asyncFunctions4.js.ast.xml      |     0
 .../asyncFunctions/asyncFunctions4.js.semantic     |     3 +
 .../parser/asyncFunctions/asyncFunctions5.js       |     4 +
 .../asyncFunctions/asyncFunctions5.js.ast.xml      |    39 +
 .../asyncFunctions/asyncFunctions5.js.semantic     |     4 +
 .../parser/asyncFunctions/asyncFunctions6.js       |    10 +
 .../asyncFunctions/asyncFunctions6.js.ast.xml      |    93 +
 .../asyncFunctions/asyncFunctions6.js.semantic     |    10 +
 .../parser/asyncFunctions/asyncFunctions7.js       |     4 +
 .../asyncFunctions/asyncFunctions7.js.ast.xml      |    45 +
 .../asyncFunctions/asyncFunctions7.js.semantic     |     4 +
 .../unit/data/testfiles/parser/classProperty1.js   |    13 +
 .../testfiles/parser/classProperty1.js.ast.xml     |   103 +
 .../testfiles/parser/decorators/decorators1.js     |     8 +
 .../parser/decorators/decorators1.js.ast.xml       |     0
 .../testfiles/parser/decorators/decorators10.js    |    10 +
 .../parser/decorators/decorators10.js.ast.xml      |   124 +
 .../testfiles/parser/decorators/decorators2.js     |     9 +
 .../parser/decorators/decorators2.js.ast.xml       |     0
 .../testfiles/parser/decorators/decorators3.js     |     9 +
 .../parser/decorators/decorators3.js.ast.xml       |   140 +
 .../testfiles/parser/decorators/decorators4.js     |     9 +
 .../parser/decorators/decorators4.js.ast.xml       |   154 +
 .../testfiles/parser/decorators/decorators5.js     |     9 +
 .../parser/decorators/decorators5.js.ast.xml       |    71 +
 .../testfiles/parser/decorators/decorators6.js     |     9 +
 .../parser/decorators/decorators6.js.ast.xml       |     0
 .../testfiles/parser/decorators/decorators7.js     |    12 +
 .../parser/decorators/decorators7.js.ast.xml       |    99 +
 .../testfiles/parser/decorators/decorators8.js     |     7 +
 .../parser/decorators/decorators8.js.ast.xml       |    87 +
 .../parser/decorators/decorators8.js.semantic      |     7 +
 .../decorators8.js.testDecorators8_01.occurrences  |     2 +
 .../testfiles/parser/decorators/decorators9.js     |     9 +
 .../parser/decorators/decorators9.js.ast.xml       |   118 +
 .../unit/data/testfiles/parser/exponentiation.js   |     5 +
 .../testfiles/parser/exponentiation.js.ast.xml     |    53 +
 .../test/unit/data/testfiles/parser/jsx/jsx1.js    |    13 +
 .../unit/data/testfiles/parser/jsx/jsx1.js.ast.xml |   143 +
 .../test/unit/data/testfiles/parser/jsx/jsx10.js   |     1 +
 .../data/testfiles/parser/jsx/jsx10.js.ast.xml     |    24 +
 .../test/unit/data/testfiles/parser/jsx/jsx11.js   |     1 +
 .../data/testfiles/parser/jsx/jsx11.js.ast.xml     |    24 +
 .../test/unit/data/testfiles/parser/jsx/jsx12.js   |     1 +
 .../data/testfiles/parser/jsx/jsx12.js.ast.xml     |    14 +
 .../test/unit/data/testfiles/parser/jsx/jsx13.js   |     1 +
 .../data/testfiles/parser/jsx/jsx13.js.ast.xml     |    14 +
 .../test/unit/data/testfiles/parser/jsx/jsx2.js    |     6 +
 .../unit/data/testfiles/parser/jsx/jsx2.js.ast.xml |    51 +
 .../test/unit/data/testfiles/parser/jsx/jsx3.js    |    30 +
 .../unit/data/testfiles/parser/jsx/jsx3.js.ast.xml |   150 +
 .../test/unit/data/testfiles/parser/jsx/jsx4.js    |    10 +
 .../unit/data/testfiles/parser/jsx/jsx4.js.ast.xml |    75 +
 .../test/unit/data/testfiles/parser/jsx/jsx5.js    |     9 +
 .../unit/data/testfiles/parser/jsx/jsx5.js.ast.xml |   101 +
 .../test/unit/data/testfiles/parser/jsx/jsx6.js    |    12 +
 .../unit/data/testfiles/parser/jsx/jsx6.js.ast.xml |   167 +
 .../test/unit/data/testfiles/parser/jsx/jsx7.js    |     5 +
 .../unit/data/testfiles/parser/jsx/jsx7.js.ast.xml |    39 +
 .../test/unit/data/testfiles/parser/jsx/jsx8.js    |     5 +
 .../unit/data/testfiles/parser/jsx/jsx8.js.ast.xml |    67 +
 .../test/unit/data/testfiles/parser/jsx/jsx9.js    |     5 +
 .../unit/data/testfiles/parser/jsx/jsx9.js.ast.xml |    47 +
 .../test/unit/data/testfiles/parser/node01.js      |    13 +
 .../unit/data/testfiles/parser/node01.js.structure |     3 +
 .../unit/data/testfiles/parser/regexpInTemplate.js |     3 +
 .../testfiles/parser/regexpInTemplate.js.ast.xml   |   149 +
 .../restSpreadProperties/restSpreadProperties1.js  |     3 +
 .../restSpreadProperties1.js.ast.xml               |    88 +
 .../restSpreadProperties/restSpreadProperties2.js  |     3 +
 .../restSpreadProperties2.js.ast.xml               |   181 +
 .../restSpreadProperties/restSpreadProperties3.js  |     1 +
 .../restSpreadProperties3.js.ast.xml               |    26 +
 .../restSpreadProperties/restSpreadProperties4.js  |     1 +
 .../restSpreadProperties4.js.ast.xml               |    20 +
 .../restSpreadProperties/restSpreadProperties5.js  |     1 +
 .../restSpreadProperties5.js.ast.xml               |   128 +
 .../parser/trailingCommas/trailingCommas1.js       |     7 +
 .../trailingCommas/trailingCommas1.js.ast.xml      |    59 +
 .../parser/trailingCommas/trailingCommas2.js       |     4 +
 .../trailingCommas/trailingCommas2.js.ast.xml      |    58 +
 .../parser/trailingCommas/trailingCommas3.js       |     3 +
 .../trailingCommas/trailingCommas3.js.ast.xml      |     0
 .../parser/trailingCommas/trailingCommas4.js       |     1 +
 .../trailingCommas/trailingCommas4.js.ast.xml      |    30 +
 .../parser/trailingCommas/trailingCommas5.js       |     3 +
 .../trailingCommas/trailingCommas5.js.ast.xml      |     0
 .../parser/trailingCommas/trailingCommas6.js       |     3 +
 .../trailingCommas/trailingCommas6.js.ast.xml      |    56 +
 .../parser/trailingCommas/trailingCommas7.js       |     1 +
 .../trailingCommas/trailingCommas7.js.ast.xml      |    40 +
 .../parser/trailingCommas/trailingCommas8.js       |     1 +
 .../trailingCommas/trailingCommas8.js.ast.xml      |    14 +
 .../parser/trailingCommas/trailingCommas9.js       |     6 +
 .../trailingCommas/trailingCommas9.js.ast.xml      |    71 +
 .../unit/data/testfiles/scriptInput.js.tokens.txt  |    33 -
 .../data/testfiles/scriptInputBroken.js.tokens.txt |    44 -
 .../classWithSDoc.js.testAllCompletion.completion  |    26 -
 .../test/unit/data/testfiles/simple.json.structure |    11 +-
 .../testfiles/structure/issue217011.js.structure   |    10 +-
 .../testfiles/structure/issue222177.js.structure   |     4 +-
 .../issue223602.js.testIssue223602_01.completion   |    38 +-
 .../issue223602.js.testIssue223602_02.completion   |     6 +-
 .../issue223602.js.testIssue223602_03.completion   |     6 +-
 .../issue223891.js.testIssue223891_01.completion   |     6 +-
 .../testfiles/structure/issue224796.js.structure   |     2 +-
 .../testfiles/structure/issue226480.js.structure   |     2 +-
 .../testfiles/structure/issue226490.js.structure   |     2 +-
 .../testfiles/structure/issue226930.js.structure   |    18 +-
 .../testfiles/structure/issue231815.js.structure   |    48 +-
 .../testfiles/structure/issue232910.js.structure   |     6 +-
 .../structure/issue243140_01.js.structure          |     5 +-
 .../testfiles/structure/issue245519.js.structure   |     2 +-
 .../testfiles/structure/issue246896.js.semantic    |     4 +-
 .../testfiles/structure/issue246896.js.structure   |     8 +-
 .../testfiles/structure/issue247365.js.structure   |     4 +-
 .../data/testfiles/structure/issue250392.js.model  |    22 -
 .../testfiles/structure/issue250392.js.structure   |     5 +-
 .../testfiles/structure/issue252028.js.structure   |     4 +-
 .../unit/data/testfiles/structure/issue262549.js   |     5 +
 .../testfiles/structure/issue262549.js.structure   |     2 +
 .../structure/semitypes/semiTypes.js.model         |    73 -
 .../structure/semitypes/semiTypes.js.structure     |    18 -
 .../test/unit/data/testfiles/testInput.js          |    84 -
 .../unit/data/testfiles/testInput.js.tokens.txt    |   604 -
 .../unit/data/testfiles/testInput.json.tokens.txt  |   157 -
 .../issue234373.js.testIssue234373_02.completion   |    10 +
 .../issue234375.js.testIssue234375_01.completion   |    10 +-
 .../issue234375.js.testIssue234375_03.completion   |     8 +-
 .../data/testfiles/with/issue234381.js.structure   |     2 +-
 .../issue234381.js.testIssue234381_03.completion   |    12 +-
 .../unit/data/testfiles/with/woman.js.structure    |    11 +
 .../editor/CompletionContextFinderTest.java        |     4 +-
 .../javascript2/editor/JsBracesMatcherTest.java    |     7 +
 .../editor/JsCamelCaseInterceptorTest.java         |     2 +-
 .../editor/JsCodeCompletionArgumentsTest.java      |     6 +-
 .../editor/JsCodeCompletionES6Test.java            |    71 +
 .../editor/JsCodeCompletionGeneralTest.java        |    30 +-
 .../editor/JsCodeCompletionGeneratorsTest.java     |   104 +
 .../editor/JsCodeCompletionPrototypeChain01.java   |   112 -
 .../JsCodeCompletionPrototypeChain01Test.java      |   112 +
 .../javascript2/editor/JsCodeCompletionTest.java   |    16 +
 .../editor/JsCodeCompletionWithAnonymProperty.java |    92 -
 .../JsCodeCompletionWithAnonymPropertyTest.java    |    92 +
 .../editor/JsCodeCompletionWithAnonymous.java      |    87 -
 .../editor/JsCodeCompletionWithAnonymousTest.java  |    87 +
 .../editor/JsCodeCompletionWithComplex.java        |    91 -
 .../editor/JsCodeCompletionWithComplexTest.java    |    91 +
 .../editor/JsDeletedTextInterceptorTest.java       |    15 +-
 .../javascript2/editor/JsSemanticAnalyzerTest.java |   188 +-
 .../javascript2/editor/JsStructureScannerTest.java |   122 +
 .../modules/javascript2/editor/JsTestBase.java     |     2 +-
 .../JsTypedBreakInterceptorEmbeddedTest.java       |     2 +-
 .../editor/JsTypedBreakInterceptorTest.java        |     6 +-
 .../editor/JsTypedTextInterceptorTest.java         |    56 +-
 .../modules/javascript2/editor/JsWithBase.java     |     7 +-
 .../modules/javascript2/editor/JsonTestBase.java   |     2 +-
 .../editor/JsonTypedBreakInterceptorTest.java      |     2 +-
 .../editor/doc/JsCommentGeneratorEmbeddedTest.java |   188 +
 .../editor/doc/JsCommentGeneratorTest.java         |    16 -
 .../editor/doc/JsDocumentationHolderTest.java      |   111 -
 .../editor/doc/JsDocumentationReaderTest.java      |    90 -
 .../editor/doc/JsDocumentationResolutionTest.java  |   114 +
 .../editor/doc/JsDocumentationSupportTest.java     |   116 -
 .../editor/doc/JsDocumentationTestBase.java        |   372 -
 .../editor/embedding/JsEmbeddingProviderTest.java  |   120 +
 .../editor/extdoc/ExtDocCodeCompletionTest.java    |    92 -
 .../extdoc/ExtDocCompletionDocumentationTest.java  |   109 -
 .../extdoc/ExtDocDocumentationProviderTest.java    |   309 -
 .../javascript2/editor/extdoc/ExtDocModelTest.java |   395 -
 .../editor/extdoc/ExtDocParserTest.java            |   117 -
 .../editor/formatter/JsFormatterEmbeddedTest.java  |   108 +-
 .../editor/formatter/JsFormatterTest.java          |   864 +-
 .../editor/formatter/JsFormatterTestBase.java      |   250 +
 .../editor/formatter/PackageFormatterTest.java     |     2 +-
 .../editor/hint/JsConventionHintTest.java          |    44 +
 .../editor/jsdoc/JsDocCodeCompletionTest.java      |    97 -
 .../jsdoc/JsDocCompletionDocumentationTest.java    |   150 -
 .../jsdoc/JsDocDocumentationProviderTest.java      |   406 -
 .../javascript2/editor/jsdoc/JsDocModelTest.java   |   498 -
 .../javascript2/editor/jsdoc/JsDocParserTest.java  |   213 -
 .../editor/jsdoc/TypeDefIssue249068.java           |    66 -
 .../lexer/JsDocumentationLexerRandomTest.java      |   111 -
 .../editor/lexer/JsDocumentationLexerTest.java     |   398 -
 .../editor/lexer/JsLexerRandomTest.java            |   123 -
 .../javascript2/editor/lexer/JsLexerTest.java      |   594 -
 .../javascript2/editor/lexer/JsTokenDumpTest.java  |    80 -
 .../editor/lexer/JsonTokenDumpTest.java            |    70 -
 .../editor/model/impl/MarkOccurrenceTest.java      |  1617 -
 .../javascript2/editor/model/impl/ModelTest.java   |   298 -
 .../editor/model/impl/ModelTestBase.java           |   103 -
 .../editor/navigation/GoToDeclarationTest.java     |    18 +-
 .../editor/navigation/MarkOccurrenceTest.java      |  2284 ++
 .../modules/javascript2/editor/parser/AstTest.java |  3142 ++
 .../javascript2/editor/parser/AstXmlVisitor.java   |   493 +
 .../javascript2/editor/parser/Ecma6TestSuite.java  |    65 +
 .../editor/parser/JsParserEmbeddedTest.java        |     2 +-
 .../javascript2/editor/parser/JsParserTest.java    |    29 +-
 .../javascript2/editor/parser/JsonParserTest.java  |    81 +-
 .../editor/sdoc/SDocCodeCompletionTest.java        |    92 -
 .../sdoc/SDocCompletionDocumentationTest.java      |   145 -
 .../editor/sdoc/SDocDocumentationProviderTest.java |   330 -
 .../javascript2/editor/sdoc/SDocModelTest.java     |   400 -
 .../javascript2/editor/sdoc/SDocParserTest.java    |   118 -
 .../tools/JavaScriptColoringScanner.flex           |   570 -
 javascript2.editor/tools/JsDocColoringScanner.flex |   228 -
 .../tools/JsDocumentationColoringScanner.flex      |   228 -
 javascript2.editor/tools/JsonColoringScanner.flex  |   254 -
 javascript2.editor/tools/SDocColoringScanner.flex  |   220 -
 javascript2.editor/tools/lexer-js.patch            |   104 -
 javascript2.editor/tools/lexer-jsdoc.patch         |   112 -
 javascript2.editor/tools/lexer-sdoc.patch          |   112 -
 javascript2.extdoc/build.xml                       |    44 +
 javascript2.extdoc/manifest.mf                     |     7 +
 javascript2.extdoc/nbproject/project.properties    |    39 +
 javascript2.extdoc/nbproject/project.xml           |   217 +
 .../modules/javascript2/extdoc/Bundle.properties   |    38 +
 .../ExtDocAnnotationCompletionTagProvider.java     |   108 +
 .../modules/javascript2/extdoc/ExtDocComment.java  |   247 +
 .../extdoc/ExtDocDocumentationHolder.java          |    67 +
 .../extdoc/ExtDocDocumentationProvider.java        |    96 +
 .../modules/javascript2/extdoc/ExtDocParser.java   |   158 +
 .../javascript2/extdoc/ExtDocSyntaxProvider.java   |    72 +
 .../extdoc/completion/DescriptionTag.java          |    66 +
 .../extdoc/completion/IdentDescribedTag.java       |    69 +
 .../extdoc/completion/IdentSimpleTag.java          |    66 +
 .../extdoc/completion/TypeDescribedTag.java        |    69 +
 .../extdoc/completion/TypeNamedTag.java            |    70 +
 .../extdoc/completion/TypeSimpleTag.java           |    66 +
 .../netbeans/modules/javascript2/extdoc/layer.xml  |    52 +
 .../extdoc/model/ExtDocBaseElement.java            |    70 +
 .../extdoc/model/ExtDocDescriptionElement.java     |    78 +
 .../javascript2/extdoc/model/ExtDocElement.java    |    56 +
 .../extdoc/model/ExtDocElementType.java            |   129 +
 .../extdoc/model/ExtDocElementUtils.java           |   241 +
 .../extdoc/model/ExtDocIdentDescribedElement.java  |    79 +
 .../extdoc/model/ExtDocIdentSimpleElement.java     |    78 +
 .../extdoc/model/ExtDocSimpleElement.java          |    65 +
 .../extdoc/model/ExtDocTypeDescribedElement.java   |   106 +
 .../extdoc/model/ExtDocTypeNamedElement.java       |   130 +
 .../extdoc/model/ExtDocTypeSimpleElement.java      |   105 +
 .../data/testfiles/extdoc/allTypesAsterisks.js     |     0
 .../data/testfiles/extdoc/allTypesNoAsterisks.js   |     0
 .../unit/data/testfiles/extdoc/blockComment.js     |     0
 .../unit/data/testfiles/extdoc/classWithExtDoc.js  |     0
 ...classWithExtDoc.js.testAllCompletion.completion |    23 +
 ...sWithExtDoc.js.testMethodCompletion1.completion |     0
 ...sWithExtDoc.js.testMethodCompletion2.completion |     0
 .../classWithExtDoc.js.testNoCompletion.completion |     0
 ...ssWithExtDoc.js.testParamCompletion2.completion |     0
 ...ssWithExtDoc.js.testParamCompletion3.completion |     0
 ...ssWithExtDoc.js.testParamCompletion4.completion |     0
 ...ssWithExtDoc.js.testParamCompletion5.completion |     0
 ...ssWithExtDoc.js.testParamCompletion6.completion |     0
 .../completionDocumentation01.js                   |     0
 ...testCompletionDocumentation01completionDoc.html |     0
 ...testCompletionDocumentation02completionDoc.html |     0
 ...testCompletionDocumentation03completionDoc.html |     0
 ...testCompletionDocumentation04completionDoc.html |     0
 ...testCompletionDocumentation05completionDoc.html |     0
 .../unit/data/testfiles/extdoc/modelTestFile.js    |     0
 .../unit/data/testfiles/extdoc/parameterTypes.js   |     0
 .../extdoc/ExtDocCodeCompletionTest.java           |    93 +
 .../extdoc/ExtDocCompletionDocumentationTest.java  |   109 +
 .../extdoc/ExtDocDocumentationProviderTest.java    |   306 +
 .../javascript2/extdoc/ExtDocModelTest.java        |   400 +
 .../javascript2/extdoc/ExtDocParserTest.java       |   117 +
 javascript2.extjs/build.xml                        |    39 +
 javascript2.extjs/manifest.mf                      |     2 +-
 javascript2.extjs/nbproject/project.properties     |    37 +
 javascript2.extjs/nbproject/project.xml            |    82 +-
 .../modules/javascript2/extjs/Bundle.properties    |    37 +
 .../javascript2/extjs/ExtJsCodeCompletion.java     |     5 +-
 .../extjs/model/ExtApplyFunctionInterceptor.java   |    14 +-
 .../extjs/model/ExtDefineFunctionInterceptor.java  |    14 +-
 .../model/ExtNamespaceFunctionInterceptor.java     |    14 +-
 .../completion/applyMethod/ClassManager.js.model   |  1722 +-
 .../applyMethod/ClassManager.js.structure          |    72 +-
 .../defineMethod/issue237938.js.semantic           |     2 +-
 ...02.js.testDefineMethodInterceptor_02.completion |     2 +-
 ...03.js.testDefineMethodInterceptor_03.completion |     1 +
 ...04.js.testDefineMethodInterceptor_04.completion |     4 +-
 ...05.js.testDefineMethodInterceptor_05.completion |     1 +
 .../javascript2/extjs/model/ExtModelTest.java      |     2 +-
 javascript2.jade/build.xml                         |    43 +-
 javascript2.jade/manifest.mf                       |     2 +-
 javascript2.jade/nbproject/project.properties      |    37 +
 javascript2.jade/nbproject/project.xml             |    52 +-
 .../jade/editor/JadeCompletionContext.java         |     2 +-
 .../jade/editor/lexer/JadeColoringLexer.java       |   995 +-
 .../javascript2/jade/editor/lexer/JadeTokenId.java |     2 +-
 .../netbeans/modules/javascript2/jade/layer.xml    |     2 -
 .../javascript2/jade/resources/Bundle.properties   |     2 -
 .../javascript2/jade/resources/fontsColors.xml     |    39 +
 .../unit/data/testfiles/lexer/issue258274_01.jade  |     1 +
 .../data/testfiles/lexer/issue258274_01.jade.lexer |     1 +
 .../unit/data/testfiles/lexer/issue258274_02.jade  |     1 +
 .../data/testfiles/lexer/issue258274_02.jade.lexer |     1 +
 .../unit/data/testfiles/lexer/issue258274_03.jade  |     1 +
 .../data/testfiles/lexer/issue258274_03.jade.lexer |     1 +
 .../jade/editor/lexer/JadeLexerTest.java           |    12 +
 javascript2.jade/tools/JadeColoringScanner.flex    |     5 +-
 javascript2.jquery/build.xml                       |    39 +
 .../external/jquery-propertyNames.xml              |     3 -
 javascript2.jquery/manifest.mf                     |     2 +-
 javascript2.jquery/nbproject/project.properties    |    37 +
 javascript2.jquery/nbproject/project.xml           |    75 +
 .../modules/javascript2/jquery/Bundle.properties   |    37 +
 .../javascript2/jquery/SelectorsLoader.java        |    74 +-
 .../jquery/editor/JQueryCodeCompletion.java        |     6 +-
 .../jquery/editor/JQueryDeclarationFinder.java     |     4 +-
 .../jquery/model/JQueryExtendInterceptor.java      |    66 +-
 .../javascript2/jquery/model/JQueryModel.java      |    19 +-
 .../jquery/model/JQueryModelInterceptor.java       |     6 +-
 .../javascript2/jquery/model/JQueryUtils.java      |     4 +-
 .../jquery/model/JQueryWidgetInterceptor.java      |    12 +-
 .../jQuery/issue223963.js.testIssue223963.html     |    10 +-
 .../jQueryFragment01.js.testProperty01.completion  |    10 +
 .../data/testfiles/jquery/issue236722.js.structure |    10 +-
 .../data/testfiles/jquery/issue238856.js.structure |    36 +-
 .../jquery/JQueryCodeCompletionTest.java           |     2 +-
 javascript2.jsdoc/build.xml                        |    44 +
 javascript2.jsdoc/manifest.mf                      |     7 +
 javascript2.jsdoc/nbproject/project.properties     |    39 +
 javascript2.jsdoc/nbproject/project.xml            |   217 +
 .../modules/javascript2/jsdoc/Bundle.properties    |    38 +
 .../JsDocAnnotationCompletionTagProvider.java      |   108 +
 .../modules/javascript2/jsdoc/JsDocComment.java    |   325 +
 .../javascript2/jsdoc/JsDocCommentType.java        |    71 +
 .../jsdoc/JsDocDocumentationHolder.java            |    69 +
 .../jsdoc/JsDocDocumentationProvider.java          |    92 +
 .../modules/javascript2/jsdoc/JsDocParser.java     |   232 +
 .../javascript2/jsdoc/JsDocSyntaxProvider.java     |    72 +
 .../javascript2/jsdoc/completion/AssingTag.java    |    69 +
 .../jsdoc/completion/DescriptionTag.java           |    66 +
 .../javascript2/jsdoc/completion/LinkTag.java      |    66 +
 .../jsdoc/completion/TypeDescribedTag.java         |    69 +
 .../javascript2/jsdoc/completion/TypeNamedTag.java |    70 +
 .../jsdoc/completion/TypeSimpleTag.java            |    66 +
 .../netbeans/modules/javascript2/jsdoc/layer.xml   |    52 +
 .../javascript2/jsdoc/model/AssignElement.java     |    82 +
 .../jsdoc/model/DeclarationElement.java            |    77 +
 .../jsdoc/model/DescriptionElement.java            |    78 +
 .../javascript2/jsdoc/model/JsDocElement.java      |    69 +
 .../javascript2/jsdoc/model/JsDocElementImpl.java  |    65 +
 .../javascript2/jsdoc/model/JsDocElementType.java  |   141 +
 .../javascript2/jsdoc/model/JsDocElementUtils.java |   283 +
 .../javascript2/jsdoc/model/LinkElement.java       |    72 +
 .../modules/javascript2/jsdoc/model/NamePath.java  |    64 +
 .../jsdoc/model/NamedParameterElement.java         |   200 +
 .../javascript2/jsdoc/model/ParameterElement.java  |    79 +
 .../javascript2/jsdoc/model/SimpleElement.java     |    66 +
 .../jsdoc/model/UnnamedParameterElement.java       |    88 +
 .../unit/data/testfiles/jsdoc/allTypesAsterisks.js |     0
 .../data/testfiles/jsdoc/allTypesNoAsterisk.js     |     0
 .../test/unit/data/testfiles/jsdoc/blockComment.js |     0
 .../unit/data/testfiles/jsdoc/classWithJsDoc.js    |     0
 .../classWithJsDoc.js.testAllCompletion.completion |     0
 ...ssWithJsDoc.js.testMethodCompletion1.completion |     0
 ...ssWithJsDoc.js.testMethodCompletion2.completion |     0
 .../classWithJsDoc.js.testNoCompletion.completion  |     0
 ...assWithJsDoc.js.testParamCompletion2.completion |     0
 ...assWithJsDoc.js.testParamCompletion3.completion |     0
 ...assWithJsDoc.js.testParamCompletion4.completion |     0
 ...assWithJsDoc.js.testParamCompletion5.completion |     0
 ...assWithJsDoc.js.testParamCompletion6.completion |     0
 ...assWithJsDoc.js.testReturnCompletion.completion |     0
 .../completionDocumentation01.js                   |     0
 ...testCompletionDocumentation01completionDoc.html |     0
 ...testCompletionDocumentation02completionDoc.html |     0
 ...testCompletionDocumentation03completionDoc.html |     0
 ...testCompletionDocumentation04completionDoc.html |     0
 ...testCompletionDocumentation05completionDoc.html |     0
 ...testCompletionDocumentation06completionDoc.html |     0
 ...testCompletionDocumentation07completionDoc.html |     0
 ...testCompletionDocumentation08completionDoc.html |     0
 ...testCompletionDocumentation09completionDoc.html |     0
 ...testCompletionDocumentation10completionDoc.html |     0
 ...testCompletionDocumentation11completionDoc.html |     0
 ...testCompletionDocumentation12completionDoc.html |     0
 ...testCompletionDocumentation13completionDoc.html |     0
 .../test/unit/data/testfiles/jsdoc/issue233176.js  |     0
 .../test/unit/data/testfiles/jsdoc/issue249068.js  |     0
 .../data/testfiles/jsdoc/issue249068.js.semantic   |     0
 .../unit/data/testfiles/jsdoc/modelTestFile.js     |     0
 .../unit/data/testfiles/jsdoc/parameterTypes.js    |     0
 .../data/testfiles/jsdoc/parser/issue188091.js     |     0
 .../data/testfiles/jsdoc/parser/issue217857.js     |     0
 .../data/testfiles/jsdoc/parser/issue224205.js     |     0
 .../data/testfiles/jsdoc/parser/issue224265.js     |     0
 .../data/testfiles/jsdoc/parser/issue224552.js     |     0
 .../data/testfiles/jsdoc/parser/issue249834.js     |     0
 .../jsdoc/parser/paramGoogleCompilerSyntax.js      |     0
 .../test/unit/data/testfiles/jsdoc/returnTypes.js  |     0
 .../test/unit/data/testfiles/jsdoc/windowStub.js   |     0
 .../javascript2/jsdoc/JsDocCodeCompletionTest.java |    97 +
 .../jsdoc/JsDocCompletionDocumentationTest.java    |   150 +
 .../jsdoc/JsDocDocumentationProviderTest.java      |   405 +
 .../modules/javascript2/jsdoc/JsDocModelTest.java  |   503 +
 .../modules/javascript2/jsdoc/JsDocParserTest.java |   212 +
 .../javascript2/jsdoc/TypeDefIssue249068.java      |    66 +
 javascript2.json/build.xml                         |    44 +
 javascript2.json/manifest.mf                       |     6 +
 javascript2.json/nbproject/project.properties      |    40 +
 javascript2.json/nbproject/project.xml             |   139 +
 .../modules/javascript2/json/Bundle.properties     |    39 +
 .../json/GlobalJsonOptionsQueryImpl.java           |   112 +
 .../modules/javascript2/json/MergedResult.java     |    97 +
 .../json/ProjectJsonOptionsQueryImpl.java          |   140 +
 .../javascript2/json/api/JsonOptionsQuery.java     |   119 +
 .../javascript2/json/parser/JsonBaseListener.java  |   154 +
 .../javascript2/json/parser/JsonBaseVisitor.java   |    99 +
 .../modules/javascript2/json/parser/JsonLexer.java |   415 +
 .../javascript2/json/parser/JsonListener.java      |   113 +
 .../javascript2/json/parser/JsonParser.java        |   565 +
 .../javascript2/json/parser/JsonVisitor.java       |    92 +
 .../javascript2/json/parser/ParseTreeToXml.java    |   209 +
 .../modules/javascript2/json/parser/Recovery.java  |   152 +
 .../json/spi/JsonOptionsQueryImplementation.java   |    64 +
 .../json/spi/support/JsonPreferences.java          |   159 +
 .../javascript2/json/api/JsonOptionsQueryTest.java |   159 +
 .../javascript2/json/parser/JsonLexerTest.java     |   150 +
 .../json/parser/JsonParserPerfTest.java            |   102 +
 .../json/parser/ParseTreeToXmlTest.java            |   196 +
 javascript2.json/tools/Json.g4                     |   272 +
 javascript2.kit/build.xml                          |    39 +
 javascript2.kit/manifest.mf                        |     4 +-
 javascript2.kit/nbproject/project.xml              |    66 +
 javascript2.knockout/build.xml                     |    39 +
 javascript2.knockout/manifest.mf                   |     2 +-
 javascript2.knockout/nbproject/project.properties  |    37 +
 javascript2.knockout/nbproject/project.xml         |    72 +-
 .../modules/javascript2/knockout/Bundle.properties |    37 +
 .../knockout/index/KnockoutIndexer.java            |    56 +-
 .../modules/javascript2/knockout/layer.xml         |    39 +
 .../model/KnockoutApplyBindingsInterceptor.java    |    14 +-
 .../knockout/model/KnockoutExportInterceptor.java  |    16 +-
 .../knockout/model/KnockoutExtendInterceptor.java  |    14 +-
 .../knockout/model/KnockoutModelInterceptor.java   |     6 +-
 .../model/KnockoutRegisterInterceptor.java         |    16 +-
 .../javascript2/knockout/model/ModelUtils.java     |     6 +-
 .../completion/simple.js.testSimple1.completion    |     2 +-
 .../completion/simple.js.testSimple2.completion    |     2 +-
 .../unit/data/testfiles/model/bindings2.js.model   |    94 +-
 .../unit/data/testfiles/model/bindings3.js.model   |    94 +-
 .../data/testfiles/model/bindingsExpenses.js.model |   194 +-
 .../knockout/model/KnockoutModelTest.java          |    38 +-
 javascript2.lexer/build.xml                        |    85 +
 javascript2.lexer/manifest.mf                      |     6 +
 javascript2.lexer/nbproject/project.properties     |    40 +
 javascript2.lexer/nbproject/project.xml            |   174 +
 .../modules/javascript2/lexer/Bundle.properties    |    38 +
 .../modules/javascript2/lexer/JsColoringLexer.java |  1961 +
 .../lexer/JsDocumentationColoringLexer.java        |   845 +
 .../javascript2/lexer/JsDocumentationLexer.java    |   104 +
 .../modules/javascript2/lexer/JsLexer.java         |   103 +
 .../modules/javascript2/lexer/JsonLexer.java       |   129 +
 .../javascript2/lexer/NbLexerCharStream.java       |   142 +
 .../lexer/api/JsDocumentationTokenId.java          |   145 +
 .../modules/javascript2/lexer/api/JsTokenId.java   |   327 +
 .../javascript2/lexer/api/LexUtilities.java        |   600 +
 .../test/unit/data/testfiles/comments.js           |    16 +
 .../unit/data/testfiles/comments.js.tokens.txt     |    41 +
 .../test/unit/data/testfiles/exponentiation.js     |     5 +
 .../data/testfiles/exponentiation.js.tokens.txt    |    32 +
 .../test/unit/data/testfiles/importExport01.js     |     4 +
 .../data/testfiles/importExport01.js.tokens.txt    |    30 +
 .../test/unit/data/testfiles/issue262621.js        |     1 +
 .../unit/data/testfiles/issue262621.js.tokens.txt  |    13 +
 .../test/unit/data/testfiles/jsx/inner01.js        |     8 +
 .../unit/data/testfiles/jsx/inner01.js.tokens.txt  |    72 +
 .../test/unit/data/testfiles/jsx/issue267422.js    |     3 +
 .../data/testfiles/jsx/issue267422.js.tokens.txt   |    21 +
 .../test/unit/data/testfiles/jsx/simple01.js       |    12 +
 .../unit/data/testfiles/jsx/simple01.js.tokens.txt |    45 +
 .../test/unit/data/testfiles/jsx/simple02.js       |     2 +
 .../unit/data/testfiles/jsx/simple02.js.tokens.txt |    30 +
 .../test/unit/data/testfiles/jsx/simple03.js       |     7 +
 .../unit/data/testfiles/jsx/simple03.js.tokens.txt |    69 +
 .../test/unit/data/testfiles/jsx/simple04.js       |     3 +
 .../unit/data/testfiles/jsx/simple04.js.tokens.txt |    34 +
 .../test/unit/data/testfiles/jsx/simple05.js       |     4 +
 .../unit/data/testfiles/jsx/simple05.js.tokens.txt |    26 +
 .../test/unit/data/testfiles/jsx/templates01.js    |     5 +
 .../data/testfiles/jsx/templates01.js.tokens.txt   |    41 +
 .../test/unit/data/testfiles/keywordsAsIdent.js    |    47 +
 .../data/testfiles/keywordsAsIdent.js.tokens.txt   |   426 +
 .../test/unit/data/testfiles/regularExpression.js  |     1 +
 .../data/testfiles/regularExpression.js.tokens.txt |    13 +
 .../test/unit/data/testfiles/scriptInput.js        |     4 +
 .../unit/data/testfiles/scriptInput.js.tokens.txt  |    33 +
 .../test/unit/data/testfiles/scriptInputBroken.js  |     6 +
 .../data/testfiles/scriptInputBroken.js.tokens.txt |    44 +
 .../test/unit/data/testfiles/spread.js             |     2 +
 .../test/unit/data/testfiles/spread.js.tokens.txt  |    42 +
 .../test/unit/data/testfiles/templates.js          |    48 +
 .../unit/data/testfiles/templates.js.tokens.txt    |   328 +
 .../test/unit/data/testfiles/testInput.js          |    86 +
 .../unit/data/testfiles/testInput.js.tokens.txt    |   637 +
 .../test/unit/data/testfiles/testInput.json        |     0
 .../unit/data/testfiles/testInput.json.tokens.txt  |   101 +
 .../lexer/JsDocumentationLexerRandomTest.java      |   112 +
 .../lexer/JsDocumentationLexerTest.java            |   399 +
 .../modules/javascript2/lexer/JsLexerJsxTest.java  |   103 +
 .../javascript2/lexer/JsLexerRandomTest.java       |   123 +
 .../modules/javascript2/lexer/JsLexerTest.java     |   729 +
 .../modules/javascript2/lexer/JsTokenDumpTest.java |   120 +
 .../javascript2/lexer/JsonTokenDumpTest.java       |    70 +
 javascript2.lexer/tools/JsColoringScanner.flex     |   759 +
 .../tools/JsDocumentationColoringScanner.flex      |   229 +
 javascript2.lexer/tools/JsonColoringScanner.flex   |   254 +
 javascript2.lexer/tools/lexer-js.patch             |   104 +
 .../tools/lexer-jsdocumentation.patch              |     0
 .../tools/lexer-json.patch                         |     0
 javascript2.model/build.xml                        |    44 +
 javascript2.model/manifest.mf                      |     6 +
 javascript2.model/nbproject/project.properties     |    40 +
 javascript2.model/nbproject/project.xml            |   296 +
 .../modules/javascript2/model/AnonymousObject.java |   106 +
 .../modules/javascript2/model/Bundle.properties    |    38 +
 .../modules/javascript2/model/CatchBlockImpl.java  |   109 +
 .../javascript2/model/DeclarationScopeImpl.java    |   109 +
 .../modules/javascript2/model/EmbeddingHelper.java |    63 +
 .../model/FunctionArgumentAccessor.java            |    90 +
 .../FunctionInterceptorRegistrationProcessor.java  |    81 +
 .../modules/javascript2/model/JsArrayImpl.java     |   156 +
 .../javascript2/model/JsArrayReference.java        |    75 +
 .../modules/javascript2/model/JsElementImpl.java   |   271 +
 .../modules/javascript2/model/JsFunctionImpl.java  |   410 +
 .../javascript2/model/JsFunctionReference.java     |   107 +
 .../modules/javascript2/model/JsObjectImpl.java    |   864 +
 .../javascript2/model/JsObjectReference.java       |   148 +
 .../javascript2/model/JsWithObjectImpl.java        |   243 +
 .../javascript2/model/JsonModelResolver.java       |   401 +
 .../modules/javascript2/model/ModelAccessor.java   |    81 +
 .../modules/javascript2/model/ModelBuilder.java    |   163 +
 .../javascript2/model/ModelElementFactory.java     |   309 +
 .../model/ModelElementFactoryAccessor.java         |    80 +
 .../modules/javascript2/model/ModelExtender.java   |   143 +
 .../ModelInterceptorRegistrationProcessor.java     |    81 +
 .../modules/javascript2/model/ModelResolver.java   |    88 +
 .../modules/javascript2/model/ModelVisitor.java    |  3553 ++
 .../ObjectInterceptorRegistrationProcessor.java    |    81 +
 .../javascript2/model/OccurrenceBuilder.java       |   230 +
 .../modules/javascript2/model/ParameterObject.java |   116 +
 .../javascript2/model/SemiTypeResolverVisitor.java |   566 +
 .../TypeNameConvertorRegistrationProcessor.java    |    82 +
 .../modules/javascript2/model/UsageBuilder.java    |    50 +
 .../modules/javascript2/model/api/Index.java       |   599 +
 .../javascript2/model/api/IndexedElement.java      |   462 +
 .../modules/javascript2/model/api/JsArray.java     |    55 +
 .../modules/javascript2/model/api/JsElement.java   |   123 +
 .../modules/javascript2/model/api/JsFunction.java  |    63 +
 .../modules/javascript2/model/api/JsObject.java    |   110 +
 .../modules/javascript2/model/api/JsReference.java |    52 +
 .../modules/javascript2/model/api/JsWith.java      |    62 +
 .../modules/javascript2/model/api/Model.java       |   926 +
 .../modules/javascript2/model/api/ModelUtils.java  |  1848 +
 .../modules/javascript2/model/api/Occurrence.java  |    95 +
 .../javascript2/model/spi/FunctionArgument.java    |   121 +
 .../javascript2/model/spi/FunctionInterceptor.java |    82 +
 .../javascript2/model/spi/IndexChangeSupport.java  |    55 +
 .../javascript2/model/spi/ModelContainer.java      |    78 +
 .../javascript2/model/spi/ModelElementFactory.java |   690 +
 .../javascript2/model/spi/ModelInterceptor.java    |    66 +
 .../javascript2/model/spi/ObjectInterceptor.java   |    65 +
 .../javascript2/model/spi/PathNodeVisitor.java     |   646 +
 .../javascript2/model/spi/PlatformProvider.java    |    55 +
 .../javascript2/model/spi/QuerySupportFactory.java |    55 +
 .../javascript2/model/spi/TypeNameConvertor.java   |    73 +
 .../unit/data/testfiles/coloring/czechChars.js     |    30 +
 .../data/testfiles/coloring/czechChars.js.model    |    48 +
 .../unit/data/testfiles/coloring/issue252655.js    |     5 +
 .../data/testfiles/coloring/issue252655.js.model   |     0
 .../testfiles/completion/arguments/arguments.js    |    29 +
 .../completion/arguments/arguments.js.model        |    65 +
 .../data/testfiles/completion/typeInferenceNew.js  |    40 +
 .../testfiles/completion/typeInferenceNew.js.model |     0
 .../unit/data/testfiles/hints/issue248696_01.js    |     3 +
 .../data/testfiles/hints/issue248696_01.js.model   |    26 +
 .../test/unit/data/testfiles/hints/issue252022.js  |    18 +
 .../unit/data/testfiles/hints/issue252022.js.model |    24 +
 .../data/testfiles/markoccurences/issue231782.js   |     7 +
 .../testfiles/markoccurences/issue231782.js.model  |     0
 .../data/testfiles/markoccurences/issue241171.js   |    16 +
 .../testfiles/markoccurences/issue241171.js.model  |    64 +
 .../data/testfiles/markoccurences/issue242421.js   |    10 +
 .../testfiles/markoccurences/issue242421.js.model  |    37 +
 .../data/testfiles/markoccurences/issue244861.js   |    14 +
 .../testfiles/markoccurences/issue244861.js.model  |     0
 .../data/testfiles/markoccurences/issue252135.js   |    10 +
 .../testfiles/markoccurences/issue252135.js.model  |    23 +
 .../unit/data/testfiles/model/anonymousFunction.js |     0
 .../testfiles/model/anonymousFunction.js.model     |    22 +
 .../data/testfiles/model/anonymousFunction2.js     |     0
 .../testfiles/model/anonymousFunction2.js.model    |    32 +
 .../unit/data/testfiles/model/arrowFunction.js     |    54 +
 ...rrowFunction.js.testArrowFunction01.occurrences |     1 +
 ...rrowFunction.js.testArrowFunction02.occurrences |     2 +
 ...rrowFunction.js.testArrowFunction03.occurrences |     1 +
 ...rrowFunction.js.testArrowFunction04.occurrences |     2 +
 ...rrowFunction.js.testArrowFunction05.occurrences |     2 +
 ...rrowFunction.js.testArrowFunction06.occurrences |     1 +
 .../test/unit/data/testfiles/model/closers01.js    |     0
 .../unit/data/testfiles/model/closers01.js.model   |    57 +
 .../unit/data/testfiles/model/defaultParameters.js |    46 +
 ...rameters.js.testDefaultParameters01.occurrences |     2 +
 ...rameters.js.testDefaultParameters02.occurrences |     3 +
 .../unit/data/testfiles/model/functionInGlobal.js  |    21 +
 ...obal.js.testFunctionInGlobalSpace01.occurrences |     2 +
 ...obal.js.testFunctionInGlobalSpace02.occurrences |     3 +
 .../model/getterSettterInObjectLiteral.js          |    23 +
 .../model/getterSettterInObjectLiteral.js.semantic |    23 +
 .../getterSettterInObjectLiteral.js.structure      |    12 +
 ...s.testGetterSetterInObjectLiteral01.occurrences |     4 +
 ...s.testGetterSetterInObjectLiteral02.occurrences |     4 +
 ....js.testGetterSettterInObjectLiteral.completion |     8 +
 ...ObjectLiteral.js.testIssue218652_01.occurrences |     1 +
 ...ObjectLiteral.js.testIssue218652_02.occurrences |     1 +
 .../test/unit/data/testfiles/model/issue229717.js  |    18 +
 .../unit/data/testfiles/model/issue229717.js.model |     0
 .../data/testfiles/model/issue229717.js.structure  |     8 +
 .../issue229717.js.testIssue229717_01.completion   |     7 +
 .../issue229717.js.testIssue229717_01.occurrences  |     4 +
 .../issue229717.js.testIssue229717_02.completion   |     6 +
 .../issue229717.js.testIssue229717_03.completion   |     7 +
 .../test/unit/data/testfiles/model/issue231530.js  |    10 +
 .../unit/data/testfiles/model/issue231530.js.model |    22 +
 .../unit/data/testfiles/model/issue236141_01.js    |     0
 .../data/testfiles/model/issue236141_01.js.model   |    29 +
 .../unit/data/testfiles/model/issue236141_02.js    |     0
 .../data/testfiles/model/issue236141_02.js.model   |    31 +
 .../unit/data/testfiles/model/issue238685_01.js    |    15 +
 .../data/testfiles/model/issue238685_01.js.model   |     0
 .../testfiles/model/issue238685_01.js.structure    |     5 +
 .../test/unit/data/testfiles/model/issue238693.js  |    14 +
 .../unit/data/testfiles/model/issue238693.js.model |     0
 .../issue238693.js.testIssue238693_01.occurrences  |     3 +
 .../test/unit/data/testfiles/model/issue242408.js  |    17 +
 .../unit/data/testfiles/model/issue242408.js.model |     0
 .../data/testfiles/model/issue242408.js.semantic   |    17 +
 .../data/testfiles/model/issue242408.js.structure  |     7 +
 .../issue242408.js.testIssue242408_01.completion   |     5 +
 .../issue242408.js.testIssue242408_01.occurrences  |     3 +
 .../issue242408.js.testIssue242408_02.completion   |     5 +
 .../issue242408.js.testIssue242408_02.occurrences  |     3 +
 .../issue242408.js.testIssue242408_03.occurrences  |     2 +
 .../issue242408.js.testIssue242408_04.occurrences  |     3 +
 .../issue242408.js.testIssue242408_05.occurrences  |     2 +
 .../test/unit/data/testfiles/model/issue242454.js  |    16 +
 .../unit/data/testfiles/model/issue242454.js.model |    25 +
 .../data/testfiles/model/issue242454.js.semantic   |    16 +
 .../data/testfiles/model/issue242454.js.structure  |     4 +
 .../issue242454.js.testIssue242454_01.completion   |     5 +
 .../issue242454.js.testIssue242454_01.occurrences  |     2 +
 .../test/unit/data/testfiles/model/issue243449.js  |    12 +
 .../data/testfiles/model/issue243449.js.semantic   |    12 +
 .../data/testfiles/model/issue243449.js.structure  |     9 +
 .../issue243449.js.testIssue243449_01.occurrences  |     2 +
 .../issue243449.js.testIssue243449_02.occurrences  |     2 +
 .../issue243449.js.testIssue243449_03.occurrences  |     2 +
 .../test/unit/data/testfiles/model/issue247834.js  |     0
 .../unit/data/testfiles/model/issue247834.js.model |    36 +
 .../test/unit/data/testfiles/model/issue251911.js  |    21 +
 .../unit/data/testfiles/model/issue251911.js.model |    45 +
 .../data/testfiles/model/issue251911.js.semantic   |    21 +
 .../issue251911.js.testIssue251911_01.occurrences  |     2 +
 .../issue251911.js.testIssue251911_02.occurrences  |     2 +
 .../issue251911.js.testIssue251911_03.occurrences  |     2 +
 .../issue251911.js.testIssue251911_04.occurrences  |     2 +
 .../issue251911.js.testIssue251911_05.occurrences  |     3 +
 .../issue251911.js.testIssue251911_06.occurrences  |     5 +
 .../issue251911.js.testIssue251911_07.occurrences  |     2 +
 .../unit/data/testfiles/model/jQueryFragment01.js  |    41 +
 .../data/testfiles/model/jQueryFragment01.js.model |    59 +
 .../testfiles/model/jQueryFragment01.js.semantic   |    41 +
 .../testfiles/model/jQueryFragment01.js.structure  |    15 +
 .../unit/data/testfiles/model/jQueryFragment02.js  |     0
 .../data/testfiles/model/jQueryFragment02.js.model |    48 +
 .../test/unit/data/testfiles/model/kolo.js         |     0
 .../test/unit/data/testfiles/model/kolo.js.model   |     0
 .../test/unit/data/testfiles/model/namespaces01.js |     0
 .../data/testfiles/model/namespaces01.js.model     |     0
 .../unit/data/testfiles/model/objectAsParameter.js |    64 +
 .../testfiles/model/objectAsParameter.js.model     |     0
 .../testfiles/model/objectAsParameter.js.semantic  |    64 +
 .../unit/data/testfiles/model/objectMethods01.js   |     0
 .../data/testfiles/model/objectMethods01.js.model  |     0
 .../unit/data/testfiles/model/objectNames01.js     |     0
 .../data/testfiles/model/objectNames01.js.model    |     0
 .../test/unit/data/testfiles/model/parameters01.js |    77 +
 .../parameters01.js.testAssignments01.occurrences  |     4 +
 .../parameters01.js.testAssignments02.occurrences  |     4 +
 ...eters01.js.testFunctionParameters01.occurrences |     3 +
 ...eters01.js.testFunctionParameters02.occurrences |     3 +
 ...eters01.js.testFunctionParameters03.occurrences |     2 +
 .../model/parameters01.js.testMethod01.occurrences |     2 +
 .../test/unit/data/testfiles/model/person.js       |   111 +
 .../test/unit/data/testfiles/model/person.js.model |   153 +
 .../data/testfiles/model/person.js.model.revert    |   153 +
 .../unit/data/testfiles/model/person.js.semantic   |   111 +
 .../unit/data/testfiles/model/person.js.structure  |    25 +
 .../model/person.js.testIssue217086_02.occurrences |     5 +
 .../model/person.js.testIssue241171_03.occurrences |     3 +
 .../model/person.js.testIssue249454.completion     |    16 +
 .../model/person.js.testPrototype01.completion     |     6 +
 .../model/person.js.testPrototype02.completion     |    21 +
 .../model/person.js.testPrototype03.completion     |     5 +
 .../model/person.js.testPrototype04.completion     |     6 +
 .../model/person.js.testPrototype05.completion     |    21 +
 .../model/person.js.testPrototype06.completion     |     5 +
 .../unit/data/testfiles/model/privateMethod.js     |     0
 .../test/unit/data/testfiles/model/property01.js   |     0
 .../unit/data/testfiles/model/property01.js.model  |     0
 .../test/unit/data/testfiles/model/property02.js   |     0
 .../test/unit/data/testfiles/model/property03.js   |     0
 .../unit/data/testfiles/model/property03.js.model  |    18 +
 .../unit/data/testfiles/model/propertyWithNew.js   |     0
 .../data/testfiles/model/propertyWithNew.js.model  |     0
 .../test/unit/data/testfiles/model/recursion.js    |     0
 .../unit/data/testfiles/model/recursion.js.model   |     0
 .../unit/data/testfiles/model/returnTypes01.js     |     0
 .../data/testfiles/model/returnTypes01.js.model    |     0
 .../unit/data/testfiles/model/returnTypes02.js     |   104 +
 .../data/testfiles/model/returnTypes02.js.model    |     0
 .../returnTypes02.js.testAssignments03.occurrences |     5 +
 ...Types02.js.testFunctionParameters04.occurrences |     3 +
 .../test/unit/data/testfiles/model/simpleCall.js   |     0
 .../unit/data/testfiles/model/simpleCall.js.model  |     0
 .../unit/data/testfiles/model/simpleFunction.js    |     0
 .../data/testfiles/model/simpleFunction.js.model   |     0
 .../test/unit/data/testfiles/model/simpleObject.js |    62 +
 .../data/testfiles/model/simpleObject.js.model     |     0
 .../simpleObject.js.testSimpleObject01.completion  |     8 +
 .../simpleObject.js.testSimpleObject01.occurrences |     4 +
 .../simpleObject.js.testSimpleObject02.completion  |     5 +
 .../simpleObject.js.testSimpleObject02.occurrences |     3 +
 .../simpleObject.js.testSimpleObject03.completion  |     8 +
 .../simpleObject.js.testSimpleObject03.occurrences |     3 +
 .../simpleObject.js.testSimpleObject04.completion  |     5 +
 .../simpleObject.js.testSimpleObject04.occurrences |     2 +
 .../data/testfiles/model/simpleObjectContinue.js   |    52 +
 ...ObjectContinue.js.testSimpleObject01.completion |     9 +
 .../unit/data/testfiles/model/staticMethods01.js   |     0
 .../data/testfiles/model/staticMethods01.js.model  |     0
 .../test/unit/data/testfiles/model/ternary.js      |     0
 .../unit/data/testfiles/model/ternary.js.model     |     0
 .../unit/data/testfiles/model/testIssue217679.js   |     0
 .../data/testfiles/model/testIssue217679.js.model  |     0
 .../test/unit/data/testfiles/model/variables01.js  |    33 +
 .../unit/data/testfiles/model/variables01.js.model |     0
 .../unit/data/testfiles/structure/issue230709.js   |     8 +
 .../data/testfiles/structure/issue230709.js.model  |     0
 .../data/testfiles/structure/issue243140_01.js     |    22 +
 .../testfiles/structure/issue243140_01.js.model    |     0
 .../unit/data/testfiles/structure/issue250392.js   |    14 +
 .../data/testfiles/structure/issue250392.js.model  |    40 +
 .../testfiles/structure/semitypes/semiTypes.js     |    34 +
 .../structure/semitypes/semiTypes.js.model         |    73 +
 .../org.netbeans.spi.lexer.LanguageProvider        |     0
 .../modules/javascript2/model/ModelTest.java       |   302 +
 .../modules/javascript2/model/ModelTestBase.java   |   140 +
 javascript2.nodejs/build.xml                       |    39 +
 javascript2.nodejs/manifest.mf                     |     2 +-
 javascript2.nodejs/nbproject/project.properties    |    37 +
 javascript2.nodejs/nbproject/project.xml           |    94 +-
 .../nodejs/editor/NodeJsCodeCompletion.java        |    12 +-
 .../nodejs/editor/NodeJsCompletionItem.java        |     2 +-
 .../javascript2/nodejs/editor/NodeJsContext.java   |     4 +-
 .../nodejs/editor/NodeJsDataProvider.java          |     6 +-
 .../nodejs/editor/NodeJsDeclarationFinder.java     |     4 +-
 .../javascript2/nodejs/editor/NodeJsUtils.java     |    28 +-
 .../editor/model/NodeJsModelInterceptor.java       |     6 +-
 .../editor/model/NodeJsObjectInterceptor.java      |    15 +-
 .../model/NodeJsRequireFunctionInterceptor.java    |    18 +-
 .../model/NodeJsTypeDisplayNameConvertor.java      |    10 +-
 .../modules/javascript2/nodejs/resources/layer.xml |    41 +-
 .../public_html/js/cc01/issue249500.js             |     2 +-
 .../issue249500.js.testIssue249500_01.completion   |     2 +
 .../issue249500.js.testIssue249500_02.completion   |     3 +-
 .../issue249626.js.testIssue249626_01.completion   |     3 +-
 .../issue251777.js.testIssue251777_01.completion   |     1 +
 .../issue251777.js.testIssue251777_02.completion   |     1 -
 .../js/foo2.js.testBasicExport01.completion        |     2 +-
 .../folder/{literal.js => literal247565.js}        |     0
 .../folder/{literalRef.js => literalRef247565.js}  |     0
 .../public_html/js/issue247565/issue247565.js      |    24 +-
 ...issue250338_01.js.testIssue250338_01.completion |     3 +-
 ...issue250338_02.js.testIssue250338_02.completion |     3 +-
 ...issue250338_03.js.testIssue250338_03.completion |     3 +-
 .../inFunction03.js.testIssue250346_03.completion  |     2 -
 .../unit/data/testfiles/model/issue252218.js.model |    86 +-
 .../issue252218.js.testIssue252218_01.completion   |     2 +-
 .../structure/issue247449_01.js.structure          |     4 +-
 .../nodejs/editor/NodeJSCodeCompletionTest.java    |     2 +-
 .../nodejs/editor/NodeJsContextTest.java           |     4 +-
 .../nodejs/editor/NodeJsDeclarationFinderTest.java |    30 +-
 .../javascript2/nodejs/editor/NodeJsModelTest.java |     2 +-
 javascript2.prototypejs/build.xml                  |    39 +
 javascript2.prototypejs/manifest.mf                |     2 +-
 .../nbproject/project.properties                   |    37 +
 javascript2.prototypejs/nbproject/project.xml      |    67 +-
 .../javascript2/prototypejs/Bundle.properties      |    37 +
 .../prototypejs/model/CreateInterceptor.java       |    22 +-
 javascript2.react/build.xml                        |    44 +
 javascript2.react/manifest.mf                      |     6 +
 javascript2.react/nbproject/project.properties     |    40 +
 javascript2.react/nbproject/project.xml            |   209 +
 .../modules/javascript2/react/Bundle.properties    |    43 +
 .../react/ReactEmbeddingProviderPlugin.java        |    76 +
 .../javascript2/react/ReactHtmlExtension.java      |    84 +
 .../javascript2/react/resources/Bundle.properties  |    39 +
 .../javascript2/react/resources/jsxtemplate.jsx    |    15 +
 .../modules/javascript2/react/resources/layer.xml  |    67 +
 .../javascript2/react/resources/reactjs.html       |    49 +
 .../javascript2/react/ReactHtmlExtensionTest.java  |    56 +
 javascript2.requirejs/build.xml                    |    39 +
 javascript2.requirejs/manifest.mf                  |     2 +-
 javascript2.requirejs/nbproject/project.properties |    37 +
 javascript2.requirejs/nbproject/project.xml        |   123 +-
 .../javascript2/requirejs/Bundle.properties        |    37 +
 .../javascript2/requirejs/editor/EditorUtils.java  |     4 +-
 .../requirejs/editor/FSCompletionUtils.java        |    11 +-
 .../requirejs/editor/RequireJSCodeCompletion.java  |     6 +-
 .../editor/RequireJsDeclarationFinder.java         |     4 +-
 .../requirejs/editor/index/IndexElement.java       |     2 +-
 .../requirejs/editor/index/RequireJsIndex.java     |     4 +-
 .../requirejs/editor/index/RequireJsIndexer.java   |     6 +-
 .../requirejs/editor/model/ConfigInterceptor.java  |    25 +-
 .../requirejs/editor/model/DefineInterceptor.java  |    22 +-
 .../editor/model/RequireJsModelInterceptor.java    |     6 +-
 .../html/RequireJsFileReferenceCompletion.java     |     6 +-
 .../html/RequireJsHtmlCompletionItem.java          |     2 +-
 .../requirejs/html/RequireJsHtmlExtension.java     |     2 -
 .../modules/javascript2/requirejs/layer.xml        |    41 +-
 ...s.testObjectCCIssue245156Property_02.completion |     3 +-
 .../requirejs/TestCreateModelRequireJs.java        |     6 +-
 .../editor/RequireJsDeclarationFinderCodeTest.java |     7 -
 javascript2.sdoc/build.xml                         |    44 +
 javascript2.sdoc/manifest.mf                       |     7 +
 javascript2.sdoc/nbproject/project.properties      |    39 +
 javascript2.sdoc/nbproject/project.xml             |   217 +
 .../modules/javascript2/sdoc/Bundle.properties     |    38 +
 .../sdoc/SDocAnnotationCompletionTagProvider.java  |   100 +
 .../modules/javascript2/sdoc/SDocComment.java      |   283 +
 .../javascript2/sdoc/SDocDocumentationHolder.java  |    67 +
 .../sdoc/SDocDocumentationProvider.java            |    96 +
 .../modules/javascript2/sdoc/SDocParser.java       |   158 +
 .../javascript2/sdoc/SDocSyntaxProvider.java       |    72 +
 .../sdoc/completion/DescriptionTag.java            |    66 +
 .../javascript2/sdoc/completion/IdentifierTag.java |    66 +
 .../sdoc/completion/TypeDescribedTag.java          |    69 +
 .../javascript2/sdoc/completion/TypeNamedTag.java  |    70 +
 .../javascript2/sdoc/completion/TypeSimpleTag.java |    66 +
 .../javascript2/sdoc/elements/SDocBaseElement.java |    69 +
 .../sdoc/elements/SDocDescriptionElement.java      |    78 +
 .../javascript2/sdoc/elements/SDocElement.java     |    56 +
 .../javascript2/sdoc/elements/SDocElementType.java |   128 +
 .../sdoc/elements/SDocElementUtils.java            |   207 +
 .../sdoc/elements/SDocIdentifierElement.java       |    78 +
 .../sdoc/elements/SDocSimpleElement.java           |    65 +
 .../sdoc/elements/SDocTypeDescribedElement.java    |   106 +
 .../sdoc/elements/SDocTypeNamedElement.java        |   113 +
 .../sdoc/elements/SDocTypeSimpleElement.java       |   105 +
 .../netbeans/modules/javascript2/sdoc/layer.xml    |    52 +
 .../unit/data/testfiles/sdoc/allTypesAsterisks.js  |     0
 .../data/testfiles/sdoc/allTypesNoAsterisks.js     |     0
 .../test/unit/data/testfiles/sdoc/blockComment.js  |     0
 .../test/unit/data/testfiles/sdoc/classWithSDoc.js |     0
 .../classWithSDoc.js.testAllCompletion.completion  |    27 +
 ...assWithSDoc.js.testMethodCompletion1.completion |     0
 ...assWithSDoc.js.testMethodCompletion2.completion |     0
 .../classWithSDoc.js.testNoCompletion.completion   |     0
 ...lassWithSDoc.js.testParamCompletion2.completion |     0
 ...lassWithSDoc.js.testParamCompletion3.completion |     0
 ...lassWithSDoc.js.testParamCompletion4.completion |     0
 ...lassWithSDoc.js.testParamCompletion5.completion |     0
 ...lassWithSDoc.js.testParamCompletion6.completion |     0
 .../completionDocumentation01.js                   |     0
 ...testCompletionDocumentation01completionDoc.html |     0
 ...testCompletionDocumentation02completionDoc.html |     0
 ...testCompletionDocumentation03completionDoc.html |     0
 ...testCompletionDocumentation04completionDoc.html |     0
 ...testCompletionDocumentation05completionDoc.html |     0
 ...testCompletionDocumentation06completionDoc.html |     0
 ...testCompletionDocumentation07completionDoc.html |     0
 ...testCompletionDocumentation09completionDoc.html |     0
 ...testCompletionDocumentation10completionDoc.html |     0
 ...testCompletionDocumentation11completionDoc.html |     0
 ...testCompletionDocumentation12completionDoc.html |     0
 ...testCompletionDocumentation13completionDoc.html |     0
 .../test/unit/data/testfiles/sdoc/modelTestFile.js |     0
 .../unit/data/testfiles/sdoc/parameterTypes.js     |     0
 .../javascript2/sdoc/SDocCodeCompletionTest.java   |    92 +
 .../sdoc/SDocCompletionDocumentationTest.java      |   144 +
 .../sdoc/SDocDocumentationProviderTest.java        |   327 +
 .../modules/javascript2/sdoc/SDocModelTest.java    |   405 +
 .../modules/javascript2/sdoc/SDocParserTest.java   |   118 +
 javascript2.source.query/build.xml                 |    44 +
 javascript2.source.query/manifest.mf               |     6 +
 .../nbproject/project.properties                   |    50 +
 javascript2.source.query/nbproject/project.xml     |   139 +
 .../javascript2/source/query/Bundle.properties     |    45 +
 .../source/query/SourceElementsQueryImpl.java      |   117 +
 javascript2.types/build.xml                        |    44 +
 javascript2.types/manifest.mf                      |     6 +
 javascript2.types/nbproject/project.properties     |    40 +
 javascript2.types/nbproject/project.xml            |    95 +
 .../modules/javascript2/types/Bundle.properties    |    38 +
 .../javascript2/types/api/DeclarationScope.java    |    57 +
 .../modules/javascript2/types/api/Identifier.java  |   101 +
 .../modules/javascript2/types/api/Type.java        |    72 +
 .../modules/javascript2/types/api/TypeUsage.java   |   119 +
 .../javascript2/types/spi/ParserResult.java        |    57 +
 javawebstart/AntTasks/build.xml                    |    45 +-
 javawebstart/AntTasks/nbproject/build-impl.xml     |    34 +-
 .../AntTasks/nbproject/genfiles.properties         |     6 +-
 javawebstart/AntTasks/nbproject/project.properties |    50 +-
 javawebstart/AntTasks/nbproject/project.xml        |    39 +
 .../org/netbeans/modules/javawebstart/antlib.xml   |    39 +
 .../modules/javawebstart/anttasks/antlib.xml       |    39 +
 javawebstart/manifest.mf                           |     2 +-
 .../netbeans/modules/javawebstart/JWSAntTasks.xml  |    43 +-
 .../modules/javawebstart/JnlpTemplate.jnlp         |    39 +
 .../javawebstart/resources/JNLPTemplate.html       |    11 +-
 .../modules/javawebstart/resources/jnlp-impl.xml_  |     4 +-
 .../modules/javawebstart/resources/launch.html     |    39 +
 jellytools.cnd/build.xml                           |    39 +
 jellytools.cnd/manifest.mf                         |     2 +-
 jellytools.cnd/nbproject/project.properties        |    37 +
 jellytools.cnd/nbproject/project.xml               |    39 +
 .../modules/jellytools/cnd/Bundle.properties       |    37 +
 .../jellytools/CNDBundleKeysTest.properties        |    37 +
 jellytools.enterprise/build.xml                    |    39 +
 jellytools.enterprise/manifest.mf                  |     2 +-
 jellytools.enterprise/nbproject/project.properties |    37 +
 jellytools.enterprise/nbproject/project.xml        |    39 +
 .../jellytools/enterprise/Bundle.properties        |    37 +
 .../jellytools/EnterpriseBundleKeysTest.properties |    37 +
 jellytools.ide/build.xml                           |    39 +
 .../org-netbeans-modules-jellytools-ide.sig        |    91 +-
 jellytools.ide/nbproject/project.properties        |    39 +-
 jellytools.ide/nbproject/project.xml               |    39 +
 .../modules/jellytools/ide/Bundle.properties       |    37 +
 .../jellytools/IDEBundleKeysTest.properties        |    37 +
 jellytools.java/build.xml                          |    39 +
 jellytools.java/manifest.mf                        |     2 +-
 jellytools.java/nbproject/project.properties       |    37 +
 jellytools.java/nbproject/project.xml              |    39 +
 .../jellytools/modules/form/actions/package.html   |    16 +-
 .../netbeans/jellytools/modules/form/package.html  |    16 +-
 .../modules/form/properties/editors/package.html   |    18 +-
 .../modules/java/editor/GenerateCodeOperator.java  |    14 +-
 .../modules/jellytools/java/Bundle.properties      |    37 +
 .../jellytools/JavaBundleKeysTest.properties       |    37 +
 jellytools.platform/build.xml                      |    39 +
 jellytools.platform/manifest.mf                    |     2 +-
 .../org-netbeans-modules-jellytools-platform.sig   |    78 +-
 jellytools.platform/nbproject/project.properties   |    37 +
 jellytools.platform/nbproject/project.xml          |    39 +
 .../jellytools/properties/editors/package.html     |    16 +-
 .../netbeans/jellytools/properties/package.html    |    18 +-
 .../src/org/netbeans/jellytools/util/package.html  |    16 +-
 .../modules/jellytools/platform/Bundle.properties  |    37 +
 .../jellytools/PlatformBundleKeysTest.properties   |    37 +
 .../jemmy => jemmy}/external/binaries-list         |     0
 jemmy/manifest.mf                                  |     2 +-
 jemmy/nbproject/project.properties                 |     4 +-
 jsp.lexer/manifest.mf                              |     2 +-
 jsp.lexer/src/org/netbeans/lib/jsp/lexer/layer.xml |    39 +
 jumpto/LICENSE                                     |    46 -
 jumpto/apichanges.xml                              |    13 +
 jumpto/build.xml                                   |     1 -
 jumpto/nbproject/project.properties                |     7 +-
 jumpto/nbproject/project.xml                       |     3 +-
 .../modules/jumpto/common/AbstractModelFilter.java |     9 +-
 .../netbeans/modules/jumpto/common/Factory.java    |     1 +
 .../jumpto/common/HighlightingNameFormatter.java   |    45 +-
 .../modules/jumpto/common/ItemRenderer.java        |   247 +-
 .../netbeans/modules/jumpto/file/Bundle.properties |     2 -
 .../modules/jumpto/file/FileDescription.java       |    14 +-
 .../modules/jumpto/file/FileSearchAction.java      |   175 +-
 .../modules/jumpto/file/FileSearchOptions.java     |     2 -
 .../modules/jumpto/file/FileSearchPanel.java       |    18 +-
 .../org/netbeans/modules/jumpto/file/Worker.java   |     5 +-
 .../modules/jumpto/resources/Bundle.properties     |     3 -
 .../netbeans/modules/jumpto/resources/layer.xml    |     4 +-
 .../modules/jumpto/settings/Bundle.properties      |    37 +
 .../modules/jumpto/settings/JumpToPanel.form       |    43 +-
 .../modules/jumpto/settings/JumpToPanel.java       |    30 +-
 .../modules/jumpto/symbol/Bundle.properties        |     1 +
 .../modules/jumpto/symbol/ContentProviderImpl.java |   160 +-
 .../netbeans/modules/jumpto/symbol/GoToPanel.java  |     4 +-
 .../modules/jumpto/symbol/GoToPanelImpl.java       |    31 +-
 .../netbeans/modules/jumpto/type/GoToPanel.java    |    33 +-
 .../modules/jumpto/type/GoToTypeAction.java        |   103 +-
 .../org/netbeans/spi/jumpto/file/FileProvider.java |     3 +-
 .../netbeans/spi/jumpto/support/NameMatcher.java   |     4 +
 .../jumpto/symbol/ContentProviderImplTest.java     |     6 +-
 junit.ant.ui/build.xml                             |    39 +
 junit.ant.ui/manifest.mf                           |     2 +-
 junit.ant.ui/nbproject/project.properties          |    37 +
 junit.ant.ui/nbproject/project.xml                 |    39 +
 .../modules/junit/ant/ui/Bundle.properties         |    37 +
 junit.ant/build.xml                                |    39 +
 junit.ant/manifest.mf                              |     2 +-
 junit.ant/nbproject/project.properties             |    37 +
 junit.ant/nbproject/project.xml                    |    39 +
 .../netbeans/modules/junit/ant/Bundle.properties   |    37 +
 junit.ui/build.xml                                 |    39 +
 junit.ui/manifest.mf                               |     2 +-
 junit.ui/nbproject/project.properties              |    37 +
 junit.ui/nbproject/project.xml                     |    39 +
 .../netbeans/modules/junit/ui/Bundle.properties    |    37 +
 .../modules/junit/ui/actions/Bundle.properties     |     9 +-
 .../junit/ui/actions/TestClassInfoTask.java        |     9 +-
 .../modules/junit/ui/resources/EmptyJUnitTest.html |    16 +-
 .../modules/junit/ui/resources/JUnitFolder.html    |    16 +-
 .../junit/ui/resources/SimpleJUnitTest.html        |    16 +-
 .../modules/junit/ui/resources/TestSuite.html      |    16 +-
 junit/arch.xml                                     |    49 +-
 junit/arch/arch-junit.xml                          |    49 +-
 junit/manifest.mf                                  |     2 +-
 .../org/netbeans/modules/junit/resources/layer.xml |     6 +-
 .../data/JunitTestProject/nbproject/build-impl.xml |     2 +-
 junitlib/build.xml                                 |    39 +
 .../junitlib => junitlib}/external/binaries-list   |     0
 junitlib/manifest.mf                               |     2 +-
 junitlib/nbproject/project.properties              |    41 +-
 junitlib/nbproject/project.xml                     |    39 +
 .../netbeans/modules/junitlib/Bundle.properties    |    37 +
 .../src/org/netbeans/modules/junitlib/hamcrest.xml |    41 +-
 .../src/org/netbeans/modules/junitlib/junit_4.xml  |    41 +-
 .../src/org/netbeans/modules/junitlib/layer.xml    |    39 +
 keyring.fallback/build.xml                         |    39 +
 keyring.fallback/manifest.mf                       |     2 +-
 keyring.fallback/nbproject/project.properties      |    37 +
 keyring.fallback/nbproject/project.xml             |    39 +
 .../modules/keyring/fallback/Bundle.properties     |    37 +
 keyring.impl/build.xml                             |    39 +
 keyring.impl/manifest.mf                           |     2 +-
 keyring.impl/nbproject/project.properties          |    37 +
 keyring.impl/nbproject/project.xml                 |    39 +
 .../modules/keyring/impl/Bundle.properties         |    37 +
 .../modules/keyring/kde/CommonKWalletProvider.java |   250 +
 .../modules/keyring/kde/KWalletProvider.java       |   216 +-
 keyring/arch.xml                                   |    45 +-
 keyring/build.xml                                  |    39 +
 keyring/manifest.mf                                |     2 +-
 keyring/nbproject/org-netbeans-modules-keyring.sig |     2 +-
 keyring/nbproject/project.properties               |    37 +
 keyring/nbproject/project.xml                      |    39 +
 .../org/netbeans/modules/keyring/Bundle.properties |    37 +
 keyring/src/org/netbeans/modules/keyring/layer.xml |    39 +
 ko4j.debugging/build.xml                           |    39 +
 ko4j.debugging/manifest.mf                         |     2 +-
 ko4j.debugging/nbproject/project.properties        |    37 +
 ko4j.debugging/nbproject/project.xml               |    39 +
 .../modules/ko4j/debugging/Bundle.properties       |    37 +
 languages.apacheconf/build.xml                     |    43 +-
 languages.apacheconf/manifest.mf                   |     2 +-
 languages.apacheconf/nbproject/project.properties  |    37 +
 languages.apacheconf/nbproject/project.xml         |    66 +-
 .../apacheconf/lexer/ApacheConfColoringLexer.java  |   206 +-
 .../languages/apacheconf/lexer/StateStack.java     |   167 -
 .../resources/ApacheConfFileDescription.html       |    11 +-
 .../apacheconf/resources/ApacheConfResolver.xml    |    44 +-
 .../apacheconf/resources/Bundle.properties         |    37 +
 .../languages/apacheconf/resources/layer.xml       |    39 +
 .../tools/ApacheConfColoringLexer.flex             |    17 +-
 languages.apacheconf/tools/skeleton.netbeans       |    41 -
 languages.diff/build.xml                           |    39 +
 languages.diff/manifest.mf                         |     2 +-
 languages.diff/nbproject/project.properties        |    37 +
 languages.diff/nbproject/project.xml               |    39 +
 .../org/netbeans/modules/languages/diff/layer.xml  |    45 +-
 languages.ini/build.xml                            |    44 +-
 languages.ini/manifest.mf                          |     2 +-
 languages.ini/nbproject/project.properties         |    37 +
 languages.ini/nbproject/project.xml                |    66 +-
 .../languages/ini/lexer/IniColoringLexer.java      |    62 +-
 .../modules/languages/ini/lexer/StateStack.java    |   162 -
 .../ini/resources/EmptyINIFileDescription.html     |    11 +-
 .../modules/languages/ini/resources/layer.xml      |    45 +-
 languages.ini/tools/IniColoringLexer.flex          |    17 +-
 languages.ini/tools/skeleton.netbeans              |    41 -
 languages.manifest/build.xml                       |    39 +
 languages.manifest/manifest.mf                     |     2 +-
 languages.manifest/nbproject/project.properties    |    37 +
 languages.manifest/nbproject/project.xml           |    39 +
 .../netbeans/modules/languages/manifest/layer.xml  |    45 +-
 languages.neon/build.xml                           |    43 +-
 languages.neon/manifest.mf                         |     2 +-
 languages.neon/nbproject/project.properties        |    37 +
 languages.neon/nbproject/project.xml               |    66 +-
 .../languages/neon/lexer/NeonColoringLexer.java    |   484 +-
 .../modules/languages/neon/lexer/StateStack.java   |   169 -
 .../languages/neon/resources/Bundle.properties     |    37 +
 .../neon/resources/NeonFileDescription.html        |    11 +-
 .../modules/languages/neon/resources/layer.xml     |    39 +
 .../neon/lexer/NeonLexerTest/issue246906.pass      |   102 +
 .../unit/data/testfiles/lexer/issue246906.neon     |    21 +
 .../languages/neon/lexer/NeonLexerTest.java        |     4 +
 languages.neon/tools/NeonColoringLexer.flex        |    22 +-
 languages.neon/tools/skeleton.netbeans             |    41 -
 languages.yaml/build.xml                           |    39 +
 languages.yaml/manifest.mf                         |     2 +-
 languages.yaml/nbproject/project.properties        |    37 +
 languages.yaml/nbproject/project.xml               |    48 +
 .../languages/yaml/BlueTheme-fontsColors.xml       |    39 +
 .../languages/yaml/EmptyYAMLFileDescription.html   |    20 +-
 .../modules/languages/yaml/YamlScanner.java        |     4 +-
 .../netbeans/modules/languages/yaml/refcard.html   |    39 +
 languages/arch.xml                                 |    47 +-
 languages/build.xml                                |    39 +
 languages/nbproject/project.properties             |    39 +-
 languages/nbproject/project.xml                    |    39 +
 languages/src/META-INF/netbeans/translate.names    |    37 +
 .../modules/languages/parser/LLSyntaxAnalyser.java |    12 +-
 .../netbeans/modules/languages/parser/Grammar1.nbs |    45 +-
 lexer.nbbridge/build.xml                           |    39 +
 lexer.nbbridge/nbproject/project.properties        |    39 +-
 lexer.nbbridge/nbproject/project.xml               |    39 +
 .../modules/lexer/nbbridge/Bundle.properties       |    37 +
 .../lexer/nbbridge/MimeLookupFolderInfo.java       |     4 +-
 lexer/apichanges.xml                               |     2 +-
 lexer/arch.xml                                     |    85 +-
 .../org/netbeans/modules/lexer/demo/antlr/Calc.g   |    42 +-
 .../modules/lexer/demo/antlr/CalcLanguage.xml      |    39 +
 .../lexer/demo/handcoded/link/LinkLanguage.xml     |    39 +
 .../lexer/demo/handcoded/plain/PlainLanguage.xml   |    39 +
 .../org/netbeans/modules/lexer/demo/javacc/Calc.jj |    40 +-
 .../modules/lexer/demo/javacc/CalcLanguage.xml     |    39 +
 lexer/nbproject/org-netbeans-modules-lexer.sig     |     2 +-
 lexer/nbproject/project.properties                 |     2 +-
 lexer/src/org/netbeans/api/lexer/package.html      |    16 +-
 lexer/src/org/netbeans/spi/lexer/package.html      |    16 +-
 lib.nbjavac/build.xml                              |    39 +
 lib.nbjavac/nbproject/project.properties           |    39 +-
 lib.nbjavac/nbproject/project.xml                  |    39 +
 .../src/org/netbeans/lib/nbjavac/Bundle.properties |    37 +
 .../lib/nbjavac/services/NBClassReader.java        |    11 +-
 .../lib/nbjavac/services/NBClassWriter.java        |     9 +-
 .../lib/nbjavac/services/NBParserFactory.java      |     4 +-
 .../lib/nbjavac/services/PartialReparser.java      |     6 +-
 .../nbjavac/services/AnonymousNumberingTest.java   |     9 -
 .../lib/nbjavac/services/CouplingTest.java         |     8 +-
 .../lib/nbjavac/services/NBClassWriterTest.java    |    19 +-
 .../netbeans/lib/nbjavac/services/Utilities.java   |     6 +-
 lib.profiler.charts/manifest.mf                    |     2 +-
 lib.profiler.common/manifest.mf                    |     2 +-
 lib.profiler.common/nbproject/project.xml          |     6 +-
 .../lib/profiler/common/AttachSettings.java        |    93 +-
 .../org/netbeans/lib/profiler/common/Profiler.java |     1 +
 .../lib/profiler/common/ProfilingSettings.java     |   182 +-
 .../profiler/common/ProfilingSettingsPresets.java  |     3 +
 .../lib/profiler/common/filters/Bundle.properties  |    48 -
 .../lib/profiler/common/filters/FilterSet.java     |   331 -
 .../lib/profiler/common/filters/FilterUtils.java   |   177 -
 .../lib/profiler/common/filters/SimpleFilter.java  |   190 -
 lib.profiler.ui/manifest.mf                        |     2 +-
 lib.profiler.ui/nbproject/project.xml              |    14 +-
 .../org/netbeans/lib/profiler/ui/UIConstants.java  |     3 +-
 .../src/org/netbeans/lib/profiler/ui/UIUtils.java  |    62 +-
 .../lib/profiler/ui/components/HTMLLabel.java      |    84 +-
 .../profiler/ui/components/JExtendedSpinner.java   |    19 +
 .../lib/profiler/ui/components/LazyComboBox.java   |    16 +-
 .../netbeans/lib/profiler/ui/cpu/Bundle.properties |     2 +
 .../lib/profiler/ui/cpu/CPUJavaNameRenderer.java   |     9 +-
 .../netbeans/lib/profiler/ui/cpu/CPUTableView.java |   168 +-
 .../lib/profiler/ui/cpu/CPUTreeTableView.java      |    75 +-
 .../netbeans/lib/profiler/ui/cpu/LiveCPUView.java  |   106 +-
 .../lib/profiler/ui/cpu/SnapshotCPUView.java       |    39 +-
 .../lib/profiler/ui/cpu/ThreadsSelector.java       |    25 +-
 .../lib/profiler/ui/graphs/ColorFactory.java       |    10 +-
 .../netbeans/lib/profiler/ui/graphs/GraphsUI.java  |     3 +-
 .../lib/profiler/ui/graphs/XYBackground.java       |     7 +-
 .../lib/profiler/ui/jdbc/Bundle.properties         |    93 +
 .../lib/profiler/ui/jdbc/JDBCJavaNameRenderer.java |   162 +
 .../lib/profiler/ui/jdbc/JDBCTreeTableView.java    |   479 +
 .../netbeans/lib/profiler/ui/jdbc/JDBCView.java    |   104 +
 .../lib/profiler/ui/jdbc/LiveJDBCView.java         |   404 +
 .../lib/profiler/ui/jdbc/SQLFilterPanel.java       |   349 +
 .../lib/profiler/ui/jdbc/SQLFormatter.java         |   188 +
 .../lib/profiler/ui/jdbc/SnapshotJDBCView.java     |   367 +
 .../lib/profiler/ui/jdbc/TablesSelector.java       |   268 +
 .../lib/profiler/ui/locks/LockContentionPanel.java |     7 +
 .../profiler/ui/locks/LockContentionRenderer.java  |    67 +-
 .../lib/profiler/ui/memory/AllocTableView.java     |    57 +-
 .../lib/profiler/ui/memory/AllocTreeTableView.java |    53 +-
 .../lib/profiler/ui/memory/LiveMemoryView.java     |    24 +-
 .../lib/profiler/ui/memory/LivenessTableView.java  |    75 +-
 .../profiler/ui/memory/LivenessTreeTableView.java  |    55 +-
 .../lib/profiler/ui/memory/MemoryView.java         |    13 +-
 .../lib/profiler/ui/memory/SampledTableView.java   |     4 +-
 .../lib/profiler/ui/memory/SnapshotMemoryView.java |    10 +-
 .../lib/profiler/ui/results/Bundle.properties      |    47 +
 .../lib/profiler/ui/results/ColoredFilter.java     |   186 +
 .../netbeans/lib/profiler/ui/results/DataView.java |     5 +
 .../lib/profiler/ui/results/PackageColorer.java    |   204 +
 .../lib/profiler/ui/swing/Bundle.properties        |     3 +-
 .../lib/profiler/ui/swing/FilterUtils.java         |   206 +-
 .../lib/profiler/ui/swing/GenericToolbar.java      |     7 +
 .../lib/profiler/ui/swing/InvisibleToolbar.java    |    56 +-
 .../lib/profiler/ui/swing/PopupButton.java         |    18 +-
 .../profiler/ui/swing/ProfilerPopupFactory.java    |   376 +
 .../lib/profiler/ui/swing/ProfilerTable.java       |    95 +-
 .../profiler/ui/swing/ProfilerTableContainer.java  |    16 +-
 .../lib/profiler/ui/swing/ProfilerTableHovers.java |   509 +
 .../lib/profiler/ui/swing/ProfilerTreeTable.java   |    86 +-
 .../netbeans/lib/profiler/ui/swing/TextArea.java   |    10 +-
 .../profiler/ui/swing/renderer/BarRenderer.java    |    19 +-
 .../profiler/ui/swing/renderer/BaseRenderer.java   |    26 +-
 .../ui/swing/renderer/JavaNameRenderer.java        |     8 +
 .../profiler/ui/swing/renderer/LabelRenderer.java  |     3 +-
 .../ui/swing/renderer/NormalBoldGrayRenderer.java  |    38 +-
 .../ui/swing/renderer/ProfilerRenderer.java        |     3 +-
 .../lib/profiler/ui/threads/NameStateRenderer.java |    11 +-
 .../lib/profiler/ui/threads/TimelineRenderer.java  |    37 +-
 .../lib/profiler/ui/threads/ViewManager.java       |     9 +-
 lib.profiler/manifest.mf                           |     2 +-
 lib.profiler/native/build/buildnative-solaris.sh   |     2 +-
 lib.profiler/native/build/buildnative-solaris64.sh |     4 +-
 lib.profiler/native/src-jdk15/class_file_cache.c   |    12 +
 lib.profiler/nbproject/project.properties          |     2 +-
 lib.profiler/nbproject/project.xml                 |     2 +
 .../jdk15/windows-amd64/profilerinterface.map      |    66 +-
 .../deployed/jdk15/windows/profilerinterface.map   |    36 +-
 .../jdk16/windows-amd64/profilerinterface.map      |   100 +-
 .../deployed/jdk16/windows/profilerinterface.map   |    78 +-
 .../release/remote-pack-defs/calibrate-mac-15.sh   |     6 +-
 .../release/remote-pack-defs/profile-mac-16.sh     |     6 +-
 .../lib/profiler/server/system/ThreadDump.java     |     2 +-
 ...profiler.results.cpu.CPUProfilingResultListener |     1 +
 .../org/netbeans/lib/profiler/ProfilerClient.java  |    55 +-
 .../lib/profiler/ProfilerEngineSettings.java       |    13 +-
 .../org/netbeans/lib/profiler/TargetAppRunner.java |     3 +-
 .../lib/profiler/classfile/ClassFileCache.java     |     2 +-
 .../lib/profiler/classfile/ClassFileParser.java    |     8 +-
 .../netbeans/lib/profiler/classfile/ClassPath.java |     3 +-
 .../lib/profiler/classfile/ClassRepository.java    |     4 +-
 .../lib/profiler/filters/GenericFilter.java        |   360 +
 .../profiler/filters/InstrumentationFilter.java    |    69 +
 .../lib/profiler/filters/JavaTypeFilter.java       |   165 +
 .../netbeans/lib/profiler/filters/TextFilter.java  |   196 +
 .../lib/profiler/global/CommonConstants.java       |     4 +-
 .../lib/profiler/global/InstrumentationFilter.java |   309 -
 .../org/netbeans/lib/profiler/global/Platform.java |     6 +-
 .../netbeans/lib/profiler/heap/HprofGCRoot.java    |    16 +-
 .../netbeans/lib/profiler/heap/HprofGCRoots.java   |   161 +
 .../org/netbeans/lib/profiler/heap/HprofHeap.java  |   162 +-
 .../org/netbeans/lib/profiler/heap/HprofProxy.java |    95 +-
 .../lib/profiler/heap/JavaFrameHprofGCRoot.java    |    23 +-
 .../netbeans/lib/profiler/heap/NearestGCRoot.java  |    25 +-
 .../org/netbeans/lib/profiler/heap/NumberList.java |     9 +-
 .../lib/profiler/heap/PrimitiveArrayDump.java      |    14 +
 .../org/netbeans/lib/profiler/heap/StackFrame.java |     3 +-
 .../lib/profiler/heap/StackFrameSegment.java       |    72 +-
 .../lib/profiler/heap/StackTraceSegment.java       |    36 +-
 .../lib/profiler/heap/ThreadObjectHprofGCRoot.java |    14 +-
 .../org/netbeans/lib/profiler/heap/TreeObject.java |    24 +-
 .../instrumentation/CPExtensionsRepository.java    |   390 +-
 .../lib/profiler/instrumentation/ClassManager.java |     8 +-
 .../instrumentation/InstrumentationFactory.java    |     2 +-
 .../lib/profiler/instrumentation/Instrumentor.java |    10 +-
 .../instrumentation/JavaClassConstants.java        |   438 +-
 .../MemoryProfMethodInstrumentor.java              |    10 +-
 .../MethodEntryExitCallsInjector.java              |   275 +-
 .../ObjLivenessInstrCallsInjector.java             |    10 +-
 .../ObjLivenessMethodInstrumentor.java             |     4 +-
 .../RecursiveMethodInstrumentor.java               |    69 +-
 .../RecursiveMethodInstrumentor1.java              |    79 +-
 .../RecursiveMethodInstrumentor2.java              |    30 +-
 .../RecursiveMethodInstrumentor3.java              |     4 +-
 .../org/netbeans/lib/profiler/jps/JpsProxy.java    |     2 +-
 .../netbeans/lib/profiler/marker/ClassMarker.java  |     3 +-
 .../lib/profiler/marker/CompositeMarker.java       |     4 +-
 .../netbeans/lib/profiler/marker/MethodMarker.java |     2 +-
 .../lib/profiler/marker/PackageMarker.java         |     2 +-
 .../lib/profiler/results/cpu/CPUCCTContainer.java  |     6 +-
 .../profiler/results/cpu/CPUCallGraphBuilder.java  |    35 +-
 .../results/cpu/CPUDataFrameProcessor.java         |   128 +-
 .../results/cpu/CPUProfilingResultListener.java    |     8 +-
 .../profiler/results/cpu/CPUResultsSnapshot.java   |    10 +-
 .../results/cpu/CPUSamplingDataFrameProcessor.java |    22 +-
 .../lib/profiler/results/cpu/DiffCPUCCTNode.java   |     2 +-
 .../results/cpu/FlatProfileContainerFree.java      |     1 -
 .../lib/profiler/results/cpu/MethodIdMap.java      |     5 +-
 .../profiler/results/cpu/PrestimeCPUCCTNode.java   |     5 +-
 .../results/cpu/PrestimeCPUCCTNodeBacked.java      |     2 +-
 .../results/cpu/StackTraceSnapshotBuilder.java     |    20 +-
 .../lib/profiler/results/cpu/ThreadInfo.java       |    26 +-
 .../lib/profiler/results/cpu/ThreadInfos.java      |    16 +-
 .../lib/profiler/results/cpu/cct/CCTFlattener.java |    67 +-
 .../lib/profiler/results/jdbc/JdbcCCTProvider.java |    85 +
 .../profiler/results/jdbc/JdbcGraphBuilder.java    |   953 +
 .../lib/profiler/results/jdbc/JdbcResultsDiff.java |   234 +
 .../profiler/results/jdbc/JdbcResultsSnapshot.java |   474 +
 .../lib/profiler/results/jdbc/SQLConnection.java   |    89 +
 .../lib/profiler/results/jdbc/SQLParser.java       |   171 +
 .../lib/profiler/results/jdbc/SQLStatement.java    |   477 +
 .../lib/profiler/results/jdbc/StringCache.java     |    69 +
 .../lib/profiler/results/locks/LockCCTNode.java    |     2 +-
 .../profiler/results/locks/LockGraphBuilder.java   |     6 +-
 .../results/memory/AllocMemoryResultsSnapshot.java |     2 +-
 .../results/memory/DiffObjAllocCCTNode.java        |     6 +-
 .../results/memory/DiffObjLivenessCCTNode.java     |     2 +-
 .../results/memory/HeapHistogramManager.java       |    12 +-
 .../profiler/results/memory/JMethodIdTable.java    |     4 +-
 .../results/memory/MemoryResultsSnapshot.java      |     2 +-
 .../results/memory/PresoObjAllocCCTNode.java       |    16 +-
 .../results/memory/PresoObjLivenessCCTNode.java    |     2 +-
 .../results/memory/RuntimeMemoryCCTNode.java       |     6 +-
 .../results/memory/RuntimeObjAllocTermCCTNode.java |     2 +-
 .../memory/SampledMemoryResultsSnapshot.java       |     2 +-
 .../results/monitor/VMTelemetryDataManager.java    |    30 +-
 .../lib/profiler/server/ClassBytesLoader.java      |     3 +-
 .../lib/profiler/server/ClassLoaderManager.java    |    26 +-
 .../lib/profiler/server/HeapHistogramManager.java  |    27 +-
 .../lib/profiler/server/ProfilerInterface.java     |    46 +-
 .../lib/profiler/server/ProfilerRuntime.java       |     2 +-
 .../lib/profiler/server/ProfilerRuntimeCPU.java    |   340 +-
 .../server/ProfilerRuntimeCPUFullInstr.java        |     8 +
 .../server/ProfilerRuntimeCPUSampledInstr.java     |    10 +
 .../lib/profiler/server/ProfilerRuntimeMemory.java |    44 +-
 .../lib/profiler/server/ProfilerServer.java        |    14 +-
 .../netbeans/lib/profiler/server/ThreadInfo.java   |    19 +
 .../lib/profiler/utils/MethodNameFormatter.java    |   334 -
 .../org/netbeans/lib/profiler/utils/MiscUtils.java |     5 +
 .../netbeans/lib/profiler/utils/StringUtils.java   |    35 +-
 .../org/netbeans/lib/profiler/utils/VMUtils.java   |    11 +
 .../utils/formatting/MethodNameFormatter.java      |     1 -
 .../formatting/PlainFormattableMethodName.java     |    87 +-
 .../wireprotocol/RootClassLoadedCommand.java       |    12 +-
 .../tests/jfluid/perf/InstrumentationTest.java     |     8 +-
 .../tests/jfluid/CommonProfilerTestCase.java       |     9 +-
 .../tests/jfluid/benchmarks/JbbTestType.java       |     2 +-
 .../lib/profiler/tests/jfluid/cpu/BasicTest.java   |     7 +-
 .../tests/jfluid/monitor/MonitorTestCase.java      |     2 +-
 .../tests/jfluid/others/MeasureDiffsTestCase.java  |     2 +-
 .../tests/jfluid/perf/InstrumentationTest.java     |     8 +-
 .../profilingpoints/ProfilingPointsTestCase.java   |     2 +-
 .../org/netbeans/lib/profiler/heap/HeapTest.java   |    24 -
 .../netbeans/lib/profiler/heap/testHeapDumpLog.txt |   294 +-
 .../profiler/utils/MethodNameFormatterTest.java    |   150 -
 .../formatting/PlainFormattableMethodNameTest.java |   150 +
 lib.terminalemulator/ReleaseNotes.ivan.txt         |    99 +
 lib.terminalemulator/arch.xml                      |    49 +-
 lib.terminalemulator/doc-files/func_spec.html      |    76 +-
 lib.terminalemulator/doc-files/interpreter.html    |    78 +-
 lib.terminalemulator/doc-files/properties.html     |    76 +-
 lib.terminalemulator/doc-files/sequences           |    25 +-
 lib.terminalemulator/examples/TermApp/build.xml    |    39 +
 .../examples/TermApp/nbproject/build-impl.xml      |   152 +-
 .../TermApp/nbproject/configs/64bit.properties     |    37 +
 .../examples/TermApp/nbproject/genfiles.properties |     4 +-
 .../examples/TermApp/nbproject/project.properties  |    40 +-
 .../examples/TermApp/nbproject/project.xml         |    39 +
 .../examples/TermApp/src/nbterm/TermExecutor.java  |     4 +
 lib.terminalemulator/examples/TermDriver/build.xml |    48 +-
 .../examples/TermDriver/nbproject/build-impl.xml   |   148 +-
 .../TermDriver/nbproject/genfiles.properties       |     8 +-
 .../TermDriver/nbproject/project.properties        |    37 +
 .../examples/TermDriver/nbproject/project.xml      |    39 +
 .../examples/TermDriver/src/termdriver/Main.java   |     1 -
 .../examples/TermExample/build.xml                 |    39 +
 .../TermExample/nbproject/genfiles.properties      |     4 +-
 .../TermExample/nbproject/platform.properties      |    38 +
 .../TermExample/nbproject/project.properties       |    39 +-
 .../examples/TermExample/nbproject/project.xml     |    47 +
 .../TermExample/nbproject/suite.properties         |    37 +
 .../netbeans/terminal/example/Bundle.properties    |    37 +
 .../netbeans/terminal/example/TermExecutor.java    |     4 +
 .../example/TerminalIOProviderSupport.java         |     4 +-
 .../example/comprehensive/Bundle.properties        |    37 +
 .../terminal/example/control/Bundle.properties     |    37 +
 .../terminal/example/control/ControlView.java      |     4 +-
 .../terminal/example/dedicatedtc/Bundle.properties |    37 +
 .../terminal/example/iofeatures/Bundle.properties  |    37 +
 .../src/org/netbeans/terminal/example/layer.xml    |    39 +
 .../example/topcomponent/Bundle.properties         |    37 +
 .../topcomponent/MuxableTerminalTopComponent.form  |     5 +-
 .../topcomponent/MuxableTerminalTopComponent.java  |     2 +-
 .../example/topcomponent/TerminalTopComponent.form |     1 +
 .../example/topcomponent/TerminalTopComponent.java |     2 +-
 lib.terminalemulator/examples/TermSuite/build.xml  |    39 +
 .../TermSuite/nbproject/genfiles.properties        |     8 +-
 .../TermSuite/nbproject/platform.properties        |    37 +
 .../examples/TermSuite/nbproject/platform.xml      |    41 +-
 .../TermSuite/nbproject/project.properties         |    37 +
 .../examples/TermSuite/nbproject/project.xml       |    39 +
 lib.terminalemulator/examples/TermTester/build.xml |    48 +-
 .../examples/TermTester/nbproject/build-impl.xml   |   148 +-
 .../TermTester/nbproject/genfiles.properties       |     8 +-
 .../TermTester/nbproject/project.properties        |   185 +-
 .../examples/TermTester/nbproject/project.xml      |    39 +
 .../examples/TermTester/src/interp/BaseCmdSet.java |     1 -
 .../examples/TermTester/src/interp/Cmd.java        |     1 -
 .../examples/TermTester/src/interp/CmdSet.java     |     1 -
 .../examples/TermTester/src/interp/Interp.java     |     1 -
 .../examples/TermTester/src/interp/Listener.java   |     1 -
 .../TermTester/src/interp/ListenerOutput.java      |     1 -
 .../examples/TermTester/src/interp/SysCmdSet.java  |     1 -
 .../examples/TermTester/src/resources/bpt.png      |   Bin 0 -> 877 bytes
 .../TermTester/src/termtester/Context.java         |     1 -
 .../src/termtester/ExternalTestSubject.java        |     1 -
 .../src/termtester/InternalTestSubject.java        |     1 -
 .../examples/TermTester/src/termtester/Main.java   |    19 +-
 .../TermTester/src/termtester/MainCmdSet.java      |    96 +-
 .../TermTester/src/termtester/MainFrame.java       |     1 -
 .../TermTester/src/termtester/SequenceViewer.java  |     1 -
 .../examples/TermTester/src/termtester/Test.java   |     1 -
 .../TermTester/src/termtester/TestSubject.java     |     1 -
 .../examples/TermTester/src/termtester/Util.java   |     1 -
 .../examples/TermTester/src/tests/Test_acs.java    |     1 -
 .../examples/TermTester/src/tests/Test_al.java     |     1 -
 .../examples/TermTester/src/tests/Test_attr.java   |     1 -
 .../examples/TermTester/src/tests/Test_bc.java     |     1 -
 .../examples/TermTester/src/tests/Test_cd.java     |     1 -
 .../examples/TermTester/src/tests/Test_ce.java     |     1 -
 .../examples/TermTester/src/tests/Test_cha.java    |     1 -
 .../examples/TermTester/src/tests/Test_cm.java     |     1 -
 .../examples/TermTester/src/tests/Test_cud.java    |     1 -
 .../examples/TermTester/src/tests/Test_cuu.java    |     1 -
 .../examples/TermTester/src/tests/Test_cv.java     |     1 -
 .../examples/TermTester/src/tests/Test_dc.java     |     1 -
 .../examples/TermTester/src/tests/Test_dl.java     |     1 -
 .../examples/TermTester/src/tests/Test_do.java     |     1 -
 .../examples/TermTester/src/tests/Test_ech.java    |     1 -
 .../examples/TermTester/src/tests/Test_ed.java     |     1 -
 .../examples/TermTester/src/tests/Test_el.java     |     1 -
 .../examples/TermTester/src/tests/Test_el2.java    |     1 -
 .../examples/TermTester/src/tests/Test_font.java   |     1 -
 .../examples/TermTester/src/tests/Test_ic.java     |     1 -
 .../examples/TermTester/src/tests/Test_im.java     |     1 -
 .../examples/TermTester/src/tests/Test_key.java    |     1 -
 .../examples/TermTester/src/tests/Test_lf.java     |     1 -
 .../examples/TermTester/src/tests/Test_misc.java   |     1 -
 .../examples/TermTester/src/tests/Test_nd.java     |     1 -
 .../examples/TermTester/src/tests/Test_om.java     |     1 -
 .../TermTester/src/tests/Test_overstrike.java      |     1 -
 .../TermTester/src/tests/Test_reverse.java         |     1 -
 .../examples/TermTester/src/tests/Test_ri.java     |     1 -
 .../examples/TermTester/src/tests/Test_scrc.java   |     1 -
 .../examples/TermTester/src/tests/Test_tab.java    |    53 +-
 .../examples/TermTester/src/tests/Test_txtprm.java |     1 -
 .../examples/TermTester/src/tests/Test_up.java     |     1 -
 .../examples/TermTester/src/tests/Test_vpa.java    |     1 -
 lib.terminalemulator/examples/buildtool/build.xml  |    49 +-
 .../examples/lib.richexecution/arch.xml            |    49 +-
 .../examples/lib.richexecution/build.xml           |    41 +-
 .../lib.richexecution/maintainers.properties       |    37 +
 .../nbproject/genfiles.properties                  |     4 +-
 .../nbproject/platform.properties                  |    38 +
 .../lib.richexecution/nbproject/project.properties |    39 +-
 .../lib.richexecution/nbproject/project.xml        |    39 +
 .../lib.richexecution/nbproject/suite.properties   |    37 +
 .../netbeans/lib/richexecution/Bundle.properties   |    37 +
 .../org/netbeans/lib/richexecution/package.html    |    16 +-
 .../examples/telnet/TelnetApp.java                 |    51 +-
 lib.terminalemulator/examples/telnet/build.xml     |    49 +-
 lib.terminalemulator/manifest.mf                   |     2 +-
 lib.terminalemulator/nbproject/project.properties  |    37 +
 lib.terminalemulator/nbproject/project.xml         |    49 +-
 .../lib/terminalemulator/AbstractInterp.java       |    17 +-
 .../lib/terminalemulator/ActiveRegion.java         |     1 -
 .../netbeans/lib/terminalemulator/ActiveTerm.java  |    10 +-
 .../lib/terminalemulator/ActiveTermListener.java   |     2 -
 .../org/netbeans/lib/terminalemulator/Attr.java    |    79 +-
 .../org/netbeans/lib/terminalemulator/BCoord.java  |     1 -
 .../org/netbeans/lib/terminalemulator/BExtent.java |     1 -
 .../org/netbeans/lib/terminalemulator/Buffer.java  |    83 +-
 .../org/netbeans/lib/terminalemulator/Coord.java   |     1 -
 .../org/netbeans/lib/terminalemulator/Extent.java  |     1 -
 .../org/netbeans/lib/terminalemulator/Interp.java  |     3 +-
 .../netbeans/lib/terminalemulator/InterpANSI.java  |    25 +-
 .../lib/terminalemulator/InterpDtTerm.java         |    25 +-
 .../netbeans/lib/terminalemulator/InterpDumb.java  |    29 +-
 .../netbeans/lib/terminalemulator/InterpKit.java   |    23 +-
 .../lib/terminalemulator/InterpProtoANSI.java      |    68 +-
 .../lib/terminalemulator/InterpProtoANSIX.java     |    26 +-
 .../netbeans/lib/terminalemulator/InterpXTerm.java |    19 +-
 .../org/netbeans/lib/terminalemulator/Line.java    |     2 +-
 .../lib/terminalemulator/LineDiscipline.java       |    14 +-
 .../netbeans/lib/terminalemulator/LineVisitor.java |     1 -
 .../lib/terminalemulator/LogicalLineVisitor.java   |     1 -
 .../lib/terminalemulator/MyFontMetrics.java        |     3 +-
 .../lib/terminalemulator/NullTermStream.java       |     6 +-
 .../src/org/netbeans/lib/terminalemulator/Ops.java |     2 +-
 .../lib/terminalemulator/RegionException.java      |     1 -
 .../lib/terminalemulator/RegionManager.java        |     2 +-
 .../org/netbeans/lib/terminalemulator/Screen.java  |    51 +-
 .../src/org/netbeans/lib/terminalemulator/Sel.java |    32 +-
 .../org/netbeans/lib/terminalemulator/State.java   |     1 -
 .../netbeans/lib/terminalemulator/StreamTerm.java  |    11 +-
 .../org/netbeans/lib/terminalemulator/Term.java    |   475 +-
 .../netbeans/lib/terminalemulator/TermAdapter.java |    71 +
 .../lib/terminalemulator/TermInputListener.java    |     1 -
 .../lib/terminalemulator/TermListener.java         |     5 +-
 .../netbeans/lib/terminalemulator/TermStream.java  |     1 -
 .../lib/terminalemulator/WordDelineator.java       |    57 +-
 .../org/netbeans/lib/terminalemulator/package.html |    16 +-
 .../lib/terminalemulator/support/Bundle.properties |    38 +
 .../terminalemulator/support/DefaultFindState.java |    51 +-
 .../lib/terminalemulator/support/FindBar.java      |    47 +-
 .../lib/terminalemulator/support/TermOptions.java  |    62 +-
 .../lib/terminalemulator/support/package.html      |    16 +-
 lib.uihandler/build.xml                            |    39 +
 lib.uihandler/manifest.mf                          |     2 +-
 .../nbproject/org-netbeans-lib-uihandler.sig       |     2 +-
 lib.uihandler/nbproject/project.properties         |    37 +
 lib.uihandler/nbproject/project.xml                |    39 +
 .../org/netbeans/lib/uihandler/InputGesture.java   |    17 +-
 .../org/netbeans/lib/uihandler/LogFormatter.java   |    23 +-
 .../src/org/netbeans/lib/uihandler/LogRecords.java |    29 +-
 .../src/org/netbeans/lib/uihandler/ProjectOp.java  |    27 +-
 .../src/org/netbeans/lib/uihandler/layer.xml       |    39 +
 .../netbeans/lib/uihandler/LogFormatterTest.java   |    27 +-
 .../org/netbeans/lib/uihandler/ProjectOpTest.java  |    19 +-
 .../org/netbeans/lib/uihandler/TestHandler.java    |    21 +-
 .../lib/uihandlerserver/InputGestureTest.java      |    23 +-
 .../lib/uihandlerserver/LogRecordsTest.java        |    27 +-
 .../netbeans/lib/uihandlerserver/Props.properties  |    16 +-
 .../lib/uihandlerserver/ReadBigDataTest.java       |    33 +-
 lib.v8debug/arch.xml                               |    45 +-
 lib.v8debug/manifest.mf                            |     2 +-
 lib.v8debug/nbproject/project.xml                  |     1 +
 .../src/org/netbeans/lib/v8debug/JSONReader.java   |    17 +-
 .../src/org/netbeans/lib/v8debug/JSONWriter.java   |    21 +-
 .../org/netbeans/lib/v8debug/vars/V8Generator.java |    78 +
 .../src/org/netbeans/lib/v8debug/vars/V8Value.java |     3 +-
 .../v8debug/client/cmdline/AbstractTestBase.java   |     4 +
 .../external/binaries-list                         |     0
 libs.amazon/manifest.mf                            |     2 +-
 .../external/binaries-list                         |     0
 .../external/binaries-list                         |     0
 libs.antlr3.runtime/nbproject/project.properties   |     2 +-
 libs.antlr4.runtime/build.xml                      |    52 +
 .../external/antlr-runtime-4.5.3-license.txt       |    37 +
 libs.antlr4.runtime/external/binaries-list         |     1 +
 libs.antlr4.runtime/manifest.mf                    |     5 +
 libs.antlr4.runtime/nbproject/project.properties   |    51 +
 libs.antlr4.runtime/nbproject/project.xml          |    64 +
 .../netbeans/libs/antlr4/runtime/Bundle.properties |    49 +
 .../libs.asm => libs.asm}/external/binaries-list   |     0
 libs.asm/manifest.mf                               |     2 +-
 .../external/binaries-list                         |     0
 libs.bytelist/nbproject/project.properties         |     2 +-
 .../external/binaries-list                         |     0
 libs.cglib/manifest.mf                             |     2 +-
 libs.clank/build.xml                               |     2 +-
 libs.clank/external/binaries-list                  |     9 +
 ...k_0.3.6-license.txt => clank_0.3.9-license.txt} |     0
 libs.clank/nbproject/project.properties            |    11 +-
 libs.clank/nbproject/project.xml                   |     8 +
 .../external/binaries-list                         |     0
 libs.commons_compress/nbproject/project.properties |     2 +-
 libs.commons_compress/nbproject/project.xml        |     1 +
 .../external/binaries-list                         |     0
 libs.commons_fileupload/manifest.mf                |     2 +-
 .../external/binaries-list                         |     0
 libs.commons_net/nbproject/project.properties      |     2 +-
 .../external/binaries-list                         |     0
 libs.elimpl/nbproject/project.properties           |     2 +-
 libs.felix/build.xml                               |    39 +
 .../external/binaries-list                         |     0
 libs.felix/manifest.mf                             |     2 +-
 libs.felix/nbproject/project.xml                   |    39 +
 .../external/binaries-list                         |     0
 libs.freemarker/nbproject/project.properties       |     2 +-
 .../libs/freemarker/FreemarkerResolver.xml         |    39 +
 .../org/netbeans/libs/freemarker/RsrcLoader.java   |    63 +-
 libs.git/arch.xml                                  |    51 +-
 libs.git/manifest.mf                               |     2 +-
 libs.git/nbproject/org-netbeans-libs-git.sig       |    61 +-
 .../libs/git/jgit/commands/Bundle.properties       |     1 +
 .../git/jgit/commands/CreateBranchCommand.java     |    19 +-
 .../jgit/commands/SetUpstreamBranchCommand.java    |    13 +
 .../libs/git/jgit/commands/StashListCommand.java   |     5 +
 .../libs/git/jgit/commands/BranchTest.java         |    33 +
 .../git/jgit/commands/SetUpstreamBranchTest.java   |    25 +-
 .../external/binaries-list                         |     0
 .../nbproject/project.properties                   |     2 +-
 libs.groovy/build.xml                              |    39 +
 libs.groovy/external/binaries-list                 |     1 +
 libs.groovy/external/groovy-all-2.1.7-license.txt  |   207 -
 libs.groovy/external/groovy-all-2.4.5-license.txt  |   207 +
 libs.groovy/manifest.mf                            |     2 +-
 libs.groovy/nbproject/project.properties           |    39 +-
 libs.groovy/nbproject/project.xml                  |    41 +-
 .../netbeans/modules/libs/groovy/Bundle.properties |    37 +
 .../netbeans/modules/libs/groovy/groovy-all.xml    |     2 +-
 .../src/org/netbeans/modules/libs/groovy/layer.xml |    39 +
 .../external/binaries-list                         |     0
 libs.ini4j/manifest.mf                             |     2 +-
 libs.javacapi/external/binaries-list               |     1 +
 libs.javacapi/nbproject/project.properties         |    16 +-
 libs.javacapi/nbproject/project.xml                |    39 +
 libs.javacimpl/external/binaries-list              |     1 +
 libs.javacimpl/nbproject/project.properties        |     4 +-
 libs.javacimpl/nbproject/project.xml               |    40 +
 .../external/binaries-list                         |     0
 libs.javacup/nbproject/project.properties          |     2 +-
 libs.javafx/build.xml                              |    39 +
 .../external/binaries-list                         |     0
 libs.javafx/manifest.mf                            |     2 +-
 libs.javafx/nbproject/project.xml                  |    39 +
 .../src/org/netbeans/libs/javafx/Bundle.properties |    37 +
 libs.jaxb/build.xml                                |    39 +
 .../libs.jaxb => libs.jaxb}/external/binaries-list |     0
 libs.jaxb/manifest.mf                              |     2 +-
 libs.jaxb/nbproject/project.properties             |     4 +-
 libs.jaxb/nbproject/project.xml                    |    39 +
 libs.jna.platform/external/binaries-list           |     1 +
 .../external/jna-platform-4.1.0-license.txt        |   208 -
 .../external/jna-platform-4.2.2-license.txt        |   208 +
 libs.jna.platform/manifest.mf                      |     2 +-
 libs.jna.platform/nbproject/project.properties     |     2 +-
 libs.jna.platform/nbproject/project.xml            |     4 +-
 libs.jna/external/binaries-list                    |     1 +
 libs.jna/external/jna-4.1.0-license.txt            |   208 -
 libs.jna/external/jna-4.2.2-license.txt            |   208 +
 libs.jna/manifest.mf                               |     2 +-
 libs.jna/nbproject/project.properties              |    24 +-
 libs.jna/nbproject/project.xml                     |     4 +-
 libs.jna/src/org/netbeans/libs/jna/Installer.java  |     2 +-
 .../external/binaries-list                         |     0
 libs.jsch.agentproxy/manifest.mf                   |     2 +-
 libs.json_simple/build.xml                         |    39 +
 .../external/binaries-list                         |     0
 libs.json_simple/manifest.mf                       |     2 +-
 libs.json_simple/nbproject/project.xml             |    39 +
 libs.jsr223/manifest.mf                            |     2 +-
 libs.jstestdriver/build.xml                        |    39 +
 .../external/binaries-list                         |     0
 libs.jstestdriver/manifest.mf                      |     2 +-
 .../netbeans/libs/jstestdriver/Bundle.properties   |    37 +
 .../libs.jstl => libs.jstl}/external/binaries-list |     0
 libs.jstl/nbproject/project.properties             |     2 +-
 .../external/binaries-list                         |     0
 libs.junit4/manifest.mf                            |     2 +-
 .../external/binaries-list                         |     0
 libs.jvyamlb/manifest.mf                           |     2 +-
 .../external/binaries-list                         |     0
 libs.lucene/manifest.mf                            |     2 +-
 libs.nashorn/build.xml                             |    39 +
 libs.nashorn/external/asm-all-4.0-license.txt      |    37 -
 libs.nashorn/external/binaries-list                |     1 +
 .../external/com.oracle.js.parser-license.txt      |   431 +
 .../nashorn-02f810c26ff9-patched-license.txt       |   360 -
 libs.nashorn/external/nashorn.patch                |  1245 -
 libs.nashorn/manifest.mf                           |     4 +-
 libs.nashorn/nbproject/project.properties          |     5 +-
 libs.nashorn/nbproject/project.xml                 |    49 +-
 .../org/netbeans/libs/nashorn/Bundle.properties    |    37 +
 libs.nbi.ant/build.xml                             |    39 +
 libs.nbi.ant/manifest.mf                           |     2 +-
 libs.nbi.ant/nbproject/project.properties          |    37 +
 libs.nbi.ant/nbproject/project.xml                 |    39 +
 .../org/netbeans/libs/nbi/ant/Bundle.properties    |    37 +
 libs.nbi.ant/stub/build.properties                 |    61 +-
 libs.nbi.ant/stub/build.xml                        |    49 +-
 .../ext/components/products/helloworld/build.xml   |    45 +-
 .../products/helloworld/data/Bundle.properties     |    60 +-
 .../helloworld/nbproject/project.properties        |    37 +
 .../products/helloworld/nbproject/project.xml      |    39 +
 .../helloworld/src/org/mycompany/Bundle.properties |    37 +
 .../src/org/mycompany/ConfigurationLogic.java      |    11 +-
 .../helloworld/src/org/mycompany/wizard.xml        |    69 +-
 .../org/mycompany/wizard/panels/Bundle.properties  |    61 +-
 .../mycompany/wizard/panels/HelloWorldPanel.java   |    15 +-
 libs.nbi.ant/stub/ext/engine/build.properties      |    60 +-
 libs.nbi.ant/stub/ext/engine/build.xml             |    77 +-
 .../stub/ext/engine/nbproject/build-impl.xml       |     2 +-
 .../stub/ext/engine/nbproject/project.properties   |    60 +-
 libs.nbi.ant/stub/ext/engine/nbproject/project.xml |    67 +-
 .../stub/ext/engine/src/data/engine.properties     |    61 +-
 .../native/launcher/unix/i18n/launcher.properties  |    60 +-
 .../launcher/windows/i18n/launcher.properties      |    60 +-
 .../installer/utils/applications/Bundle.properties |    60 +-
 .../utils/applications/NetBeansRCPUtils.java       |    66 +-
 .../wizard/components/actions/Bundle.properties    |    37 +
 .../components/actions/InitializeAction.java       |    68 +-
 .../wizard/components/panels/Bundle.properties     |    37 +
 .../components/panels/PostInstallSummaryPanel.java |    63 +-
 .../components/panels/PreInstallSummaryPanel.java  |    61 +-
 .../wizard/components/panels/WelcomePanel.java     |    61 +-
 .../wizard/components/sequences/Bundle.properties  |    60 +-
 .../wizard/components/sequences/MainSequence.java  |    63 +-
 .../installer/wizard/wizard-components.xml         |    77 +-
 .../stub/ext/infra/build/engine/build.properties   |    39 -
 libs.nbi.ant/stub/ext/infra/build/engine/build.xml |    38 -
 .../build/products/helloworld/build.properties     |    39 -
 .../ext/infra/build/products/helloworld/build.xml  |    38 -
 libs.nbi.ant/stub/tmpl.properties                  |    37 +
 libs.nbi.engine/build.xml                          |    39 +
 libs.nbi.engine/manifest.mf                        |     2 +-
 libs.nbi.engine/nbproject/project.properties       |    37 +
 libs.nbi.engine/nbproject/project.xml              |    39 +
 .../org/netbeans/libs/nbi/engine/Bundle.properties |    37 +
 libs.osgi/build.xml                                |    39 +
 .../libs.osgi => libs.osgi}/external/binaries-list |     0
 libs.osgi/manifest.mf                              |     2 +-
 libs.osgi/nbproject/project.properties             |    37 +
 libs.osgi/nbproject/project.xml                    |    39 +
 .../src/org/netbeans/libs/osgi/Bundle.properties   |    37 +
 libs.plist/build.xml                               |    39 +
 .../external/binaries-list                         |     0
 libs.plist/manifest.mf                             |     2 +-
 libs.plist/nbproject/project.properties            |    37 +
 libs.plist/nbproject/project.xml                   |    39 +
 .../src/org/netbeans/libs/plist/Bundle.properties  |    37 +
 libs.smack/README.html                             |   227 -
 libs.smack/build.xml                               |    39 +
 libs.smack/changelog.html                          |   336 -
 .../external/binaries-list                         |     0
 libs.smack/manifest.mf                             |     2 +-
 libs.smack/nbproject/project.properties            |    37 +
 libs.smack/nbproject/project.xml                   |    39 +
 .../src/org/netbeans/libs/smack/Bundle.properties  |    37 +
 .../external/binaries-list                         |     0
 libs.springframework/manifest.mf                   |     2 +-
 .../external/binaries-list                         |     2 +
 .../svnClientAdapter-javahl-1.10.12-license.txt    |   209 +
 .../svnClientAdapter-javahl-1.10.3-license.txt     |   209 -
 .../external/svnjavahl-1.8.4-license.txt           |   209 -
 .../external/svnjavahl-1.9.3-license.txt           |   209 +
 libs.svnClientAdapter.javahl/manifest.mf           |     2 +-
 .../nbproject/project.properties                   |     4 +-
 libs.svnClientAdapter.javahl/nbproject/project.xml |     4 +-
 .../javahl/JavaHlClientAdapterFactory.java         |    14 +-
 .../external/binaries-list                         |     4 +
 ....ssh2_1.0.0.build219_t20150519_2322-license.txt |    94 -
 ..._1.0.0.build220_r167_v20150618_1733-license.txt |    94 +
 ...svnkit_1.8.12.r10533_v20160129_0158-license.txt |    54 +
 ...svnkit_1.8.10.r10446_v20150526_1454-license.txt |    54 -
 .../svnClientAdapter-svnkit-1.10.12-license.txt    |   209 +
 .../svnClientAdapter-svnkit-1.10.3-license.txt     |   209 -
 libs.svnClientAdapter.svnkit/manifest.mf           |     2 +-
 .../nbproject/project.properties                   |     6 +-
 libs.svnClientAdapter.svnkit/nbproject/project.xml |     6 +-
 .../svnkit/SvnKitClientAdapterFactory.java         |     4 +-
 libs.svnClientAdapter/external/binaries-list       |     1 +
 .../external/svnClientAdapter-1.10.3-license.txt   |   209 -
 .../svnClientAdapter-main-1.10.12-license.txt      |   209 +
 libs.svnClientAdapter/manifest.mf                  |     2 +-
 libs.svnClientAdapter/nbproject/project.properties |     2 +-
 libs.svnClientAdapter/nbproject/project.xml        |     2 +-
 .../external/binaries-list                         |     0
 libs.swingx/manifest.mf                            |     2 +-
 libs.swingx/nbproject/project.properties           |     2 +-
 .../external/binaries-list                         |     0
 libs.testng/manifest.mf                            |     2 +-
 libs.testng/nbproject/project.properties           |     2 +-
 .../external/binaries-list                         |     0
 libs.xerces/nbproject/project.properties           |     2 +-
 localhistory/build.xml                             |    39 +
 localhistory/manifest.mf                           |     2 +-
 localhistory/nbproject/project.properties          |    37 +
 localhistory/nbproject/project.xml                 |    39 +
 .../modules/localhistory/Bundle.properties         |    37 +
 .../resources/HistoryTopComponentSettings.xml      |    39 +
 .../resources/HistoryTopComponentWstcref.xml       |    39 +
 .../localhistory/ui/actions/Bundle.properties      |    37 +
 .../localhistory/ui/actions/RevertPanel.java       |     8 +-
 .../modules/localhistory/ui/view/Bundle.properties |    37 +
 localtasks/build.xml                               |    39 +
 localtasks/manifest.mf                             |     2 +-
 localtasks/nbproject/project.properties            |    37 +
 localtasks/nbproject/project.xml                   |    39 +
 .../modules/localtasks/task/LocalTask.java         |     1 +
 masterfs.linux/build.xml                           |    39 +
 masterfs.linux/manifest.mf                         |     2 +-
 masterfs.linux/nbproject/project.properties        |    37 +
 masterfs.linux/nbproject/project.xml               |    39 +
 .../masterfs/watcher/linux/Bundle.properties       |    37 +
 .../masterfs/watcher/linux/LinuxNotifier.java      |     9 +-
 masterfs.macosx/build.xml                          |    39 +
 masterfs.macosx/manifest.mf                        |     2 +-
 masterfs.macosx/nbproject/project.properties       |    37 +
 masterfs.macosx/nbproject/project.xml              |    39 +
 .../masterfs/watcher/macosx/Bundle.properties      |    37 +
 .../masterfs/watcher/macosx/OSXNotifier.java       |     9 +-
 masterfs.nio2/build.xml                            |    39 +
 masterfs.nio2/manifest.mf                          |     2 +-
 masterfs.nio2/nbproject/project.properties         |    37 +
 masterfs.nio2/nbproject/project.xml                |    39 +
 .../masterfs/watcher/nio2/Bundle.properties        |    37 +
 masterfs.ui/build.xml                              |    39 +
 masterfs.ui/nbproject/project.properties           |    39 +-
 masterfs.ui/nbproject/project.xml                  |    39 +
 .../netbeans/modules/masterfs/ui/Bundle.properties |    37 +
 masterfs.windows/build.xml                         |    39 +
 masterfs.windows/manifest.mf                       |     2 +-
 masterfs.windows/nbproject/project.properties      |    37 +
 masterfs.windows/nbproject/project.xml             |    39 +
 .../masterfs/watcher/windows/Bundle.properties     |    37 +
 .../masterfs/watcher/windows/WindowsNotifier.java  |     9 +-
 masterfs/nbproject/project.properties              |     2 +-
 .../filebasedfs/fileobjects/BaseFileObj.java       |    71 +-
 .../filebasedfs/fileobjects/FileObjectKeeper.java  |    15 +-
 .../modules/masterfs/providers/Notifier.java       |     9 +-
 .../netbeans/modules/masterfs/watcher/Watcher.java |     9 +-
 .../filebasedfs/BaseFileObjectTestHid.java         |    30 +-
 maven.apisupport/manifest.mf                       |     2 +-
 .../modules/maven/apisupport/NbAppDescription.html |    39 +
 .../maven/apisupport/NbModuleDescription.html      |    39 +
 .../maven/apisupport/NbmWizardIterator.java        |     4 +-
 .../maven/apisupport/NbmWizardPanelVisual.form     |     1 +
 .../maven/apisupport/NbmWizardPanelVisual.java     |    56 +-
 maven.checkstyle/build.xml                         |    39 +
 maven.checkstyle/manifest.mf                       |     2 +-
 maven.checkstyle/nbproject/project.properties      |    37 +
 maven.checkstyle/nbproject/project.xml             |    39 +
 .../modules/maven/checkstyle/Bundle.properties     |    37 +
 maven.coverage/build.xml                           |    39 +
 maven.coverage/manifest.mf                         |     2 +-
 maven.coverage/nbproject/project.properties        |    37 +
 maven.coverage/nbproject/project.xml               |    39 +
 .../modules/maven/coverage/Bundle.properties       |    37 +
 .../modules/maven/coverage/action-mappings.xml     |    39 +
 .../org/netbeans/modules/maven/coverage/layer.xml  |    39 +
 maven.embedder/build.xml                           |     9 +
 maven.embedder/external/binaries-list              |     7 +
 .../external/wagon-file-2.10-license.txt           |   208 +
 .../external/wagon-http-2.10-shaded-license.txt    |   208 +
 .../external/wagon-http-2.8-shaded-license.txt     |   208 -
 .../external/wagon-http-shared-2.10-license.txt    |   208 +
 .../external/wagon-provider-api-2.10-license.txt   |   208 +
 maven.embedder/manifest.mf                         |     2 +-
 maven.embedder/nbproject/project.properties        |     1 -
 maven.embedder/nbproject/project.xml               |     8 +-
 .../ext/maven/rootpackage/default-report.xml       |    39 +
 maven.grammar/nbproject/project.properties         |     4 +-
 .../modules/maven/codegen/AbstractGenerator.java   |    36 +
 .../modules/maven/codegen/Bundle.properties        |    37 +
 .../modules/maven/codegen/DependencyGenerator.java |    19 +-
 .../modules/maven/codegen/LicenseGenerator.java    |     8 +-
 .../modules/maven/codegen/PluginGenerator.java     |     9 +-
 .../modules/maven/codegen/ProfileGenerator.java    |     6 +-
 .../maven/grammar/ShowEffPomDiffAction.java        |     3 +-
 .../maven/hyperlinks/GoToImplementation.java       |    34 +-
 maven.graph/manifest.mf                            |     2 +-
 .../modules/maven/graph/ArtifactWidget.java        |    41 +-
 .../maven/graph/DependencyGraphTopComponent.java   |    12 +-
 maven.groovy/build.xml                             |    39 +
 maven.groovy/manifest.mf                           |     2 +-
 maven.groovy/nbproject/project.properties          |    37 +
 maven.groovy/nbproject/project.xml                 |    39 +
 .../modules/maven/groovy/Bundle.properties         |    37 +
 .../maven/groovy/extender/AddGroovyDependency.java |    14 +-
 .../groovy/extender/AddGroovyEclipseCompiler.java  |    14 +-
 .../groovy/extender/AddMavenCompilerPlugin.java    |   148 +-
 .../maven/groovy/extender/MavenConstants.java      |    65 +
 .../maven/groovy/extender/MavenGroovyExtender.java |     4 +-
 maven.hints/manifest.mf                            |     2 +-
 .../hints/errors/SearchClassDependencyHint.java    |     4 +-
 .../hints/errors/SearchClassDependencyInRepo.java  |    58 +-
 .../hints/pom/MoveToDependencyManagementHint.java  |    22 +-
 .../modules/maven/hints/ui/SearchDependencyUI.java |     4 +-
 .../ui/customizers/SearchDependencyCustomizer.java |     4 +-
 .../modules/maven/hints/ui/nodes/ArtifactNode.java |     4 +-
 .../modules/maven/hints/ui/nodes/VersionNode.java  |     4 +-
 maven.indexer.ui/manifest.mf                       |     2 +-
 .../external/binaries-list                         |     0
 maven.indexer/manifest.mf                          |     2 +-
 maven.indexer/nbproject/project.properties         |     2 +-
 maven.indexer/nbproject/project.xml                |     4 +-
 .../maven/indexer/NexusRepositoryIndexerImpl.java  |   386 +-
 .../org/netbeans/modules/maven/indexer/OnStop.java |     2 +-
 .../maven/indexer/RemoteIndexTransferListener.java |     4 +-
 .../maven/indexer/RepositoryIndexerListener.java   |     4 +-
 .../netbeans/modules/maven/indexer/ResultImpl.java |   152 +
 .../modules/maven/indexer/api/NBArtifactInfo.java  |     4 +-
 .../modules/maven/indexer/api/NBGroupInfo.java     |     4 +-
 .../modules/maven/indexer/api/NBVersionInfo.java   |     4 +-
 .../maven/indexer/api/RepositoryIndexer.java       |    39 +-
 .../modules/maven/indexer/api/RepositoryInfo.java  |    46 +-
 .../maven/indexer/api/RepositoryPreferences.java   |     4 +-
 .../maven/indexer/api/RepositoryQueries.java       |   397 +-
 .../modules/maven/indexer/api/RepositoryUtil.java  |     4 +-
 .../maven/indexer/spi/ArchetypeQueries.java        |     2 +-
 .../modules/maven/indexer/spi/BaseQueries.java     |    76 +-
 .../modules/maven/indexer/spi/ChecksumQueries.java |     4 +-
 .../modules/maven/indexer/spi/ClassUsageQuery.java |     2 +-
 .../modules/maven/indexer/spi/ClassesQuery.java    |     8 +-
 .../maven/indexer/spi/DependencyInfoQueries.java   |     5 +-
 .../maven/indexer/spi/GenericFindQuery.java        |     4 +-
 .../modules/maven/indexer/spi/NullResultImpl.java  |    79 +
 .../netbeans/modules/maven/indexer/spi/Redo.java   |    53 -
 .../indexer/spi/RepositoryIndexQueryProvider.java  |   130 +
 .../spi/RepositoryIndexerImplementation.java       |    67 -
 .../maven/indexer/spi/ResultImplementation.java    |    94 +
 .../spi/impl/IndexingNotificationProvider.java     |     2 +-
 .../modules/maven/indexer/spi/impl/Redo.java       |    53 +
 .../spi/impl/RepositoryIndexerImplementation.java  |    72 +
 .../indexer/NexusRepositoryIndexerImplTest.java    |    12 +-
 .../modules/maven/indexer/NexusTestBase.java       |     3 +-
 .../indexer/api/AbstractTestQueryProvider.java     |   181 +
 .../maven/indexer/api/RepositoryQueriesTest.java   |   144 +
 maven.j2ee/manifest.mf                             |     2 +-
 maven.j2ee/nbproject/project.xml                   |     8 +
 .../maven/j2ee/ear/EarModuleProviderImpl.java      |    18 +-
 .../modules/maven/j2ee/execution/Bundle.properties |    37 +
 .../maven/j2ee/execution/DeploymentHelper.java     |     8 +-
 .../j2ee/execution/PrerequisitesCheckerImpl.java   |     4 +-
 .../maven/j2ee/ui/customizer/Bundle.properties     |    37 +
 .../ui/customizer/MavenCompositePanelProvider.java |     3 +-
 .../j2ee/ui/customizer/impl/Bundle.properties      |    37 +
 .../ui/wizard/resources/AppClientDescription.html  |    39 +
 .../j2ee/ui/wizard/resources/EADescription.html    |    39 +
 .../j2ee/ui/wizard/resources/EjbDescription.html   |    39 +
 .../ui/wizard/resources/WebAppDescription.html     |    39 +
 .../modules/maven/j2ee/utils/Bundle.properties     |    37 +
 .../j2ee/web/CssPreprocessorsProblemProvider.java  |     4 +-
 .../modules/maven/j2ee/utils/Bundle.properties     |    37 +
 maven.jaxws/manifest.mf                            |     2 +-
 .../modules/maven/jaxws/MavenModelUtils.java       |    87 +-
 .../maven/jaxws/wizards/JaxWsClientCreator.java    |     2 +-
 .../maven/jaxws/wizards/JaxWsServiceCreator.java   |     2 +-
 .../maven/jaxws/wizards/MavenSchemaCompiler.java   |     9 +-
 .../jaxws/wizards/MavenSchemaCompilerProvider.java |     9 +-
 maven.junit.ui/build.xml                           |    39 +
 maven.junit.ui/manifest.mf                         |     2 +-
 maven.junit.ui/nbproject/project.properties        |    37 +
 maven.junit.ui/nbproject/project.xml               |    39 +
 .../modules/maven/junit/ui/Bundle.properties       |    37 +
 .../maven/junit/ui/MavenJUnitTestMethodNode.java   |    14 +-
 maven.junit/manifest.mf                            |     2 +-
 .../maven/junit/JUnitOutputListenerProvider.java   |    54 +-
 maven.kit/manifest.mf                              |     2 +-
 maven.model/build.xml                              |    39 +
 maven.model/config/xam-maven-4.0.0.xml             |    39 +
 maven.model/config/xam-profiles-1.0.0.xml          |    39 +
 maven.model/config/xam-settings-1.0.0.xml          |    39 +
 maven.model/manifest.mf                            |     2 +-
 maven.model/nbproject/project.properties           |    37 +
 maven.model/nbproject/project.xml                  |    39 +
 .../netbeans/modules/maven/model/Bundle.properties |    37 +
 maven.osgi/build.xml                               |    39 +
 maven.osgi/manifest.mf                             |     2 +-
 maven.osgi/nbproject/project.properties            |    37 +
 maven.osgi/nbproject/project.xml                   |    69 +-
 .../netbeans/modules/maven/osgi/Bundle.properties  |    37 +
 .../modules/maven/osgi/OSGILookupProvider.java     |    48 +-
 .../maven/osgi/OSGiJarAccessibilityQueryImpl.java  |    16 +-
 .../maven/osgi/customizer/Bundle.properties        |    37 +
 .../src/org/netbeans/modules/maven/osgi/layer.xml  |    39 +
 .../maven/osgi/templates/OSGiDescription.html      |    39 +
 .../maven/osgi/templates/new_OSGi_activator.html   |    16 +-
 maven.persistence/manifest.mf                      |     2 +-
 .../persistence/MavenPersistenceProvider.java      |     4 +-
 .../PersistenceLocationProviderImpl.java           |     4 +-
 .../maven/persistence/PersistenceScopeImpl.java    |     4 +-
 .../persistence/PersistenceScopeProviderImpl.java  |     4 +-
 .../persistence/PersistenceScopesProviderImpl.java |     4 +-
 maven.profiler/manifest.mf                         |     2 +-
 maven.profiler/nbproject/project.xml               |    14 +-
 .../MavenProjectProfilingSupportProvider.java      |    56 +-
 maven.refactoring/build.xml                        |    39 +
 maven.refactoring/manifest.mf                      |     2 +-
 maven.refactoring/nbproject/project.properties     |    37 +
 maven.refactoring/nbproject/project.xml            |    39 +
 .../modules/maven/refactoring/Bundle.properties    |    37 +
 maven.repository/manifest.mf                       |     2 +-
 maven.repository/nbproject/project.xml             |    12 +-
 .../modules/maven/repository/ArtifactChildren.java |     4 +-
 .../modules/maven/repository/ArtifactNode.java     |     4 +-
 .../maven/repository/GroupListChildren.java        |    29 +-
 .../modules/maven/repository/RepositoryNode.java   |     4 +-
 .../modules/maven/repository/VersionNode.java      |     4 +-
 .../dependency/AddAsDependencyAction.java          |     4 +-
 .../repository/ui/ArtifactMultiViewFactory.java    |     4 +-
 maven.samples/build.xml                            |    45 +-
 maven.samples/manifest.mf                          |     2 +-
 maven.samples/nbproject/project.properties         |    37 +
 maven.samples/nbproject/project.xml                |    39 +
 .../MavenCRUDSample/application/pom.xml            |    39 +
 .../samples_src/MavenCRUDSample/branding/pom.xml   |    39 +
 .../org/netbeans/core/startup/Bundle.properties    |    37 +
 .../core/windows/view/ui/Bundle.properties         |    37 +
 .../org/netbeans/core/ui/Bundle.properties         |    37 +
 .../crudsampleapplication/Bundle.properties        |    37 +
 .../modules/crudsampleapplication/layer.xml        |    41 +-
 .../MavenCRUDSample/crudsample/eclipselink.xml     |    39 +
 .../samples_src/MavenCRUDSample/crudsample/pom.xml |    39 +
 .../src/main/resources/META-INF/eclipselink.xml    |    39 +
 .../src/main/resources/META-INF/persistence.xml    |    39 +
 .../src/main/resources/META-INF/toplink.xml        |    39 +
 .../crudsampleapplication/Bundle.properties        |    37 +
 .../dbaccess/Bundle.properties                     |    37 +
 .../crudsampleapplication/editor/Bundle.properties |    37 +
 .../editor/EditorTopComponentSettings.xml          |    39 +-
 .../editor/EditorTopComponentWstcref.xml           |    39 +-
 .../modules/crudsampleapplication/layer.xml        |    39 +
 .../crudsampleapplication/viewer/Bundle.properties |    37 +
 .../viewer/CustomerTopComponentSettings.xml        |    39 +-
 .../viewer/CustomerTopComponentWstcref.xml         |    39 +-
 .../MavenCRUDSample/crudsample/toplink.xml         |    39 +
 maven.samples/samples_src/MavenCRUDSample/pom.xml  |    39 +
 .../MavenCalculatorClient/src/jax-ws-catalog.xml   |    39 +
 .../mavenCalculator/CalculatorService.wsdl         |    42 +-
 .../mavenCalculator/CalculatorService.xsd_1.xsd    |    42 +-
 maven.samples/samples_src/MavenScrumToys/pom.xml   |    61 +-
 .../src/main/resources/META-INF/persistence.xml    |    39 +
 .../main/resources/ValidationMessages.properties   |    37 +
 .../resources/ValidationMessages_pt_BR.properties  |    37 +
 .../src/main/resources/i18n.properties             |    37 +
 .../src/main/resources/i18n_en_US.properties       |    37 +
 .../src/main/resources/i18n_pt_BR.properties       |    37 +
 .../src/main/webapp/WEB-INF/sun-web.xml            |     2 +-
 .../MavenScrumToys/src/main/webapp/footer.xhtml    |     2 +-
 .../MavenScrumToys/src/main/webapp/home.xhtml      |     4 +-
 .../MavenScrumToys/src/main/webapp/index.html      |    62 +-
 .../main/webapp/resources/css/1_1/appBlueSkin.css  |    39 +
 .../webapp/resources/css/1_1/appOrangeSkin.css     |    39 +
 .../main/webapp/resources/css/1_1/appRedSkin.css   |    39 +
 .../webapp/resources/css/1_1/appSelectedColor.css  |    39 +
 .../webapp/resources/css/1_1/appYellowSkin.css     |    39 +
 .../src/main/webapp/resources/css/1_1/common.css   |    45 +-
 .../src/main/webapp/resources/js/app.js            |    59 +-
 .../src/main/webapp/resources/js/date.js           |    42 +-
 .../src/main/webapp/resources/js/menu.js           |    59 +-
 .../src/main/webapp/resources/js/validations.js    |    42 +-
 .../javaee7/samples/batch/api/SimpleLock.java      |    39 +
 .../src/main/webapp/WEB-INF/beans.xml              |    39 +
 .../src/main/webapp/WEB-INF/web.xml                |    39 +
 .../payroll/src/main/webapp/WEB-INF/beans.xml      |    39 +
 .../batch/payroll/src/main/webapp/WEB-INF/web.xml  |    39 +
 .../cdi-guess/src/main/webapp/WEB-INF/beans.xml    |    39 +
 .../cdi/events/src/main/webapp/WEB-INF/beans.xml   |    39 +
 .../javaee7/cdi/events/src/main/webapp/index.jsp   |    41 +-
 .../interceptors/src/main/webapp/WEB-INF/beans.xml |    41 +-
 .../cdi/interceptors/src/main/webapp/index.jsp     |    41 +-
 .../executor/src/main/webapp/WEB-INF/web.xml       |    39 +
 .../executor/src/main/webapp/index.html            |    76 +-
 .../glassfish/schedule/MyDelayedRunnableTask.java  |    41 +-
 .../schedule/src/main/webapp/index.html            |    76 +-
 .../concurrency/threads/src/main/webapp/index.html |    76 +-
 .../mailconnector-ear/gf-users-admin.xml           |     5 +-
 .../src/main/application/META-INF/application.xml  |    43 +-
 .../fileUpload/src/main/webapp/WEB-INF/beans.xml   |    43 +-
 .../html5/src/main/webapp/resources/stylesheet.css |    39 +
 .../javaee7/rest/async-chat/nb-configuration.xml   |    41 +-
 .../async-chat/src/main/webapp/WEB-INF/sun-web.xml |     1 -
 .../rest/message-board/nb-configuration.xml        |    41 +-
 .../src/main/webapp/WEB-INF/sun-web.xml            |     2 -
 .../fragment1/dependency-reduced-pom.xml           |    39 +
 .../fragment2/dependency-reduced-pom.xml           |    39 +
 .../fragment3/dependency-reduced-pom.xml           |    39 +
 .../dependency-reduced-pom.xml                     |    39 +
 .../tictactoe/server/src/main/webapp/index.jsp     |    39 +
 .../samples/descriptions/AbsoluteOrdering.html     |    39 +
 .../maven/samples/descriptions/AnnotationWar.html  |    39 +
 .../maven/samples/descriptions/AsyncChat.html      |    39 +
 .../descriptions/AsynchronousProcessing.html       |    39 +
 .../maven/samples/descriptions/Auction.html        |    39 +
 .../maven/samples/descriptions/AutomaticTimer.html |    39 +
 .../maven/samples/descriptions/BeanValidation.html |    39 +
 .../maven/samples/descriptions/CDIGuess.html       |    39 +
 .../maven/samples/descriptions/CDIServlet.html     |    39 +
 .../maven/samples/descriptions/Contracts.html      |    39 +
 .../modules/maven/samples/descriptions/Draw.html   |    39 +
 .../samples/descriptions/DynamicRegistration.html  |    39 +
 .../modules/maven/samples/descriptions/EL.html     |    39 +
 .../modules/maven/samples/descriptions/Echo.html   |    39 +
 .../maven/samples/descriptions/EjbEmbedded.html    |    39 +
 .../modules/maven/samples/descriptions/Events.html |    39 +
 .../maven/samples/descriptions/Executor.html       |    39 +
 .../maven/samples/descriptions/FileUpload.html     |    39 +
 .../modules/maven/samples/descriptions/HTML5.html  |    39 +
 .../samples/descriptions/HelloStatelessEjb.html    |    39 +
 .../samples/descriptions/HelloStatelessWar.html    |    39 +
 .../maven/samples/descriptions/HttpUpgrade.html    |    39 +
 .../maven/samples/descriptions/Interceptors.html   |    39 +
 .../modules/maven/samples/descriptions/JSONP.html  |    39 +
 .../maven/samples/descriptions/JoboperatorAPI.html |    39 +
 .../samples/descriptions/JspResourceInJar.html     |    39 +
 .../maven/samples/descriptions/MailConnector.html  |    39 +
 .../samples/descriptions/Maven2Calculator.html     |    39 +
 .../descriptions/Maven2CalculatorClient.html       |    39 +
 .../samples/descriptions/MavenCRUDSample.html      |    16 +-
 .../maven/samples/descriptions/MavenScrumToys.html |    39 +
 .../maven/samples/descriptions/MessageBoard.html   |    39 +
 .../maven/samples/descriptions/Multipart.html      |    39 +
 .../samples/descriptions/NonBlockingRead.html      |    39 +
 .../samples/descriptions/NonBlockingWrite.html     |    39 +
 .../maven/samples/descriptions/Payroll.html        |    39 +
 .../maven/samples/descriptions/Schedule.html       |    39 +
 .../maven/samples/descriptions/Scrumtoys.html      |    39 +
 .../samples/descriptions/ServletContainer.html     |    39 +
 .../maven/samples/descriptions/SessionCookie.html  |    39 +
 .../maven/samples/descriptions/Threads.html        |    39 +
 .../maven/samples/descriptions/Tictactoe.html      |    39 +
 .../samples/descriptions/TransactionScoped.html    |    39 +
 .../maven/samples/descriptions/Transactional.html  |    39 +
 .../org/netbeans/modules/maven/samples/layer.xml   |    41 +-
 maven.search/manifest.mf                           |     2 +-
 maven.spring/manifest.mf                           |     2 +-
 maven/build.xml                                    |    17 +-
 maven/external/binaries-list                       |     2 +
 maven/manifest.mf                                  |     2 +-
 .../netbeans/modules/maven/event/components.xml    |    41 +-
 .../modules/maven/workspace/reader/components.xml  |    39 +
 maven/nbproject/project.properties                 |     2 +-
 maven/nbproject/project.xml                        |     2 +
 .../netbeans/modules/maven/ActionProviderImpl.java |    59 +-
 .../modules/maven/MavenProjectPropsImpl.java       |    87 +-
 .../modules/maven/NbMavenProjectFactory.java       |     5 +-
 .../netbeans/modules/maven/NbMavenProjectImpl.java |    20 +
 .../netbeans/modules/maven/TextValueCompleter.java |    35 +-
 .../modules/maven/actions/ViewJavadocAction.java   |     4 +-
 .../modules/maven/actions/scm/CheckoutAction.java  |     4 +-
 .../modules/maven/actions/scm/ui/CheckoutUI.java   |     4 +-
 .../maven/actions/usages/FindArtifactUsages.java   |     4 +-
 .../modules/maven/actions/usages/ui/UsagesUI.java  |     4 +-
 .../modules/maven/api/CommonArtifactActions.java   |     4 +-
 .../org/netbeans/modules/maven/api/ModelUtils.java |     4 +-
 .../netbeans/modules/maven/api/NbMavenProject.java |    11 +-
 .../modules/maven/api/ProjectProfileHandler.java   |     4 +-
 .../modules/maven/api/output/OutputUtils.java      |    49 +-
 .../modules/maven/classpath/BootClassPathImpl.java |     5 +-
 .../maven/classpath/ClassPathProviderImpl.java     |     8 +
 .../modules/maven/configurations/Bundle.properties |    37 +
 .../configurations/ProjectProfileHandlerImpl.java  |     4 +-
 .../modules/maven/customizer/ActionMappings.form   |     3 -
 .../modules/maven/customizer/ActionMappings.java   |     3 +-
 .../modules/maven/customizer/Bundle.properties     |     1 +
 .../modules/maven/customizer/CompilePanel.java     |     4 +-
 .../modules/maven/customizer/RunJarPanel.java      |     2 +
 .../maven/customizer/RunJarPanelProvider.java      |    11 +-
 .../modules/maven/customizer/SourcesPanel.java     |     2 +-
 .../modules/maven/debug/DebuggerChecker.java       |    14 +-
 .../netbeans/modules/maven/debug/JPDAStart.java    |     4 +-
 .../modules/maven/dependencies/Bundle.properties   |    37 +
 .../maven/dependencies/ExcludeDependencyPanel.java |    21 +-
 .../maven/execute/MavenCommandLineExecutor.java    |    22 +-
 .../modules/maven/execute/ModelRunConfig.java      |   131 +-
 .../maven/execute/model/NetbeansActionProfile.java |     9 +-
 maven/src/org/netbeans/modules/maven/nbactions.xml |    39 +
 .../maven/newproject/ExistingDescription.html      |    39 +
 .../modules/maven/newproject/MavenDescription.html |    39 +
 .../maven/newproject/idenative/pom-root.html       |    39 +
 .../maven/newproject/idenative/quickstart.html     |    39 +
 .../netbeans/modules/maven/newproject/javafx.html  |    39 +
 .../modules/maven/newproject/pom-root.html         |    39 +
 .../modules/maven/newproject/quickstart.html       |    39 +
 .../modules/maven/nodes/BootCPNodeFactory.java     |    17 +-
 .../modules/maven/nodes/DependencyNode.java        |     5 +-
 .../modules/maven/nodes/MavenProjectNode.java      |    24 +-
 .../maven/output/GlobalOutputProcessor.java        |     2 +-
 .../maven/output/JavaOutputListenerProvider.java   |    18 +-
 .../queries/RepositoryForBinaryQueryImpl.java      |    82 +-
 .../maven/queries/RepositoryMavenCPProvider.java   |    11 +-
 .../modules/maven/runjar/RunJarPrereqChecker.java  |     4 +-
 maven/src/org/netbeans/modules/maven/settings.xml  |    47 +-
 .../maven/classpath/ClassPathProviderImplTest.java |    54 +-
 .../modules/maven/execute/ModelRunConfigTest.java  |   301 +
 .../modules/maven/output/MEVENIDE637Test.java      |     4 +-
 mercurial.remote/build.xml                         |    39 +
 mercurial.remote/nbproject/project.properties      |    39 +-
 mercurial.remote/nbproject/project.xml             |    41 +-
 .../modules/mercurial/remote/Mercurial.java        |     6 +-
 .../mercurial/remote/MercurialAnnotator.java       |    56 +-
 .../modules/mercurial/remote/MercurialVCS.java     |     8 +-
 .../modules/mercurial/remote/WorkingCopyInfo.java  |     6 +-
 .../mercurial/remote/ui/actions/Bundle.properties  |    37 +
 .../remote/ui/clone/CloneExternalAction.java       |    15 +-
 .../remote/ui/repository/RepositoryPanel.java      |    18 +-
 .../remote/ui/status/HgVersioningTopComponent.java |     4 +-
 .../mercurial/remote/ui/status/package.html        |    39 +
 .../remote/ui/update/ResolveConflictsExecutor.java |     4 +-
 .../CloneDestinationDirectoryWizardPanel.java      |     7 +-
 .../remote/ui/wizards/ClonePathsWizardPanel.java   |     7 +-
 .../ui/wizards/CloneRepositoryWizardPanel.java     |    10 +-
 .../remote/ui/wizards/CloneWizardAction.java       |    17 +-
 .../mercurial/remote/DeleteInterceptorTest.java    |     4 +-
 .../mercurial/remote/RemoteVersioningTestBase.java |     1 +
 mercurial/nbproject/project.properties             |    39 +-
 mercurial/nbproject/project.xml                    |    39 +
 .../org/netbeans/modules/mercurial/Mercurial.java  |     2 +-
 .../modules/mercurial/MercurialInterceptor.java    |     9 +-
 .../modules/mercurial/config/Scrambler.java        |    12 +-
 .../mercurial/ui/annotate/AnnotateAction.java      |     5 +
 .../mercurial/ui/annotate/AnnotateLine.java        |    48 +
 .../mercurial/ui/annotate/AnnotationBar.java       |    16 +-
 .../modules/mercurial/ui/log/Bundle.properties     |     2 +-
 .../modules/mercurial/ui/status/package.html       |    39 +
 .../netbeans/modules/mercurial/util/HgCommand.java |     3 +
 mobility.cldcplatform/manifest.mf                  |     2 +-
 .../cldcplatform/customwizard/debuggerinfo.html    |    39 +
 .../cldcplatform/customwizard/executioninfo.html   |    39 +
 .../cldcplatform/customwizard/preverifyinfo.html   |    39 +
 .../resources/templates/j2meplatform.xml           |     2 +-
 .../templates/j2meplatformdefinition.html          |    39 +
 .../templates/kjavaplatformdefinition.html         |    39 +
 mobility.databindingme/manifest.mf                 |     2 +-
 .../mobility/databindingme/resources/layer.xml     |     2 +-
 mobility.end2end/manifest.mf                       |     2 +-
 .../MIDP/E2EWebApplication_wsclient.html           |    40 +-
 .../modules/mobility/end2end/resources/layer.xml   |     2 +-
 mobility.jsr172/manifest.mf                        |     2 +-
 .../modules/e2e/wsdl/wsdl2java/Bundle.properties   |    39 +-
 .../descriptions/MIDP/JSR172_wsclient.html         |    75 +-
 .../modules/mobility/jsr172/resources/layer.xml    |     2 +-
 mobility.licensing/manifest.mf                     |     2 +-
 mobility.licensing/nbproject/project.properties    |    37 +
 mobility.licensing/nbproject/project.xml           |    39 +
 mobility.project.ant/build.xml                     |    39 +
 mobility.project.ant/manifest.mf                   |     2 +-
 mobility.project.ant/nbproject/project.properties  |    37 +
 mobility.project.ant/nbproject/project.xml         |    39 +
 .../modules/mobility/project/Bundle.properties     |    37 +
 mylyn.util/build.xml                               |    39 +
 mylyn.util/manifest.mf                             |     2 +-
 mylyn.util/nbproject/project.properties            |    37 +
 mylyn.util/nbproject/project.xml                   |    39 +
 .../netbeans/modules/mylyn/util/MylynSupport.java  |     2 +-
 .../netbeans/modules/mylyn/util/MylynUtils.java    |     1 -
 .../org/netbeans/modules/mylyn/util/WikiUtils.java |    43 +-
 .../modules/mylyn/util/resources/layer.xml         |    39 +
 nashorn.execution/manifest.mf                      |     2 +-
 .../antsrc/org/netbeans/nbbuild/CustomJavac.java   |    18 +
 nbbuild/antsrc/org/netbeans/nbbuild/JNLP-6.0.dtd   |    55 +-
 nbbuild/antsrc/org/netbeans/nbbuild/LocFiles.java  |     9 +-
 .../org/netbeans/nbbuild/ParseProjectXml.java      |    11 +-
 .../org/netbeans/nbbuild/UpdateTracking.java       |     2 +-
 .../org/netbeans/nbbuild/extlibs/package.html      |    39 +
 nbbuild/antsrc/org/netbeans/nbbuild/package.html   |    16 +-
 nbbuild/build.properties                           |     9 +-
 nbbuild/build.xml                                  |    17 +-
 nbbuild/cluster.properties                         |   194 +-
 nbbuild/external/binaries-list                     |     1 +
 nbbuild/external/findbugs/build.xml                |    23 +-
 nbbuild/hudson/core-main                           |     2 +-
 nbbuild/javadoctools/apichanges.dtd                |     2 +-
 nbbuild/javadoctools/arch-empty.xml                |    39 +
 nbbuild/javadoctools/export2apichanges.xsl         |     7 +-
 nbbuild/javadoctools/export2html.xsl               |     7 +-
 nbbuild/javadoctools/javadoc-generic.css           |    39 +
 nbbuild/javadoctools/javadoc.css                   |    39 +
 nbbuild/javadoctools/links.xml                     |     3 +
 nbbuild/javadoctools/nb-docs-stability.css         |    39 +
 nbbuild/javadoctools/nb-docs.css                   |    39 +
 nbbuild/javadoctools/netbeans-lite.css             |    39 +
 nbbuild/javadoctools/netbeans.css                  |    39 +
 nbbuild/javadoctools/properties.xml                |     3 +
 nbbuild/javadoctools/prose.css                     |    39 +
 nbbuild/javadoctools/replaces.xml                  |     3 +
 nbbuild/jdk.xml                                    |     4 +-
 nbbuild/misc/hints-settings.xml                    |    41 +-
 nbbuild/nbproject/genfiles.properties              |     5 +
 nbbuild/nbproject/jdk.xml                          |   157 +
 nbbuild/nbproject/nbjdk.properties                 |     1 +
 nbbuild/nbproject/nbjdk.xml                        |    28 +
 nbbuild/nbproject/project.xml                      |    10 +
 nbbuild/newbuild/build-all-components.sh           |    25 +-
 nbbuild/newbuild/build-mac-nbi.sh                  |    39 +
 nbbuild/newbuild/files-info.sh                     |     4 +-
 nbbuild/newbuild/init.sh                           |     6 +-
 nbbuild/newbuild/push-remote-java-help.sh          |    38 +
 nbbuild/newbuild/trunk-nightly.sh                  |     8 +-
 nbbuild/newbuild/upload-bits.sh                    |     4 +-
 nbbuild/templates/common.xml                       |     7 +-
 nbbuild/templates/projectized.xml                  |    28 +-
 .../cleaner/windows/nbproject/Makefile-Debug.mk    |    65 -
 .../cleaner/windows/nbproject/Makefile-Release.mk  |    63 -
 .../cleaner/windows/nbproject/Makefile-impl.mk     |   113 -
 .../jnilib/linux/nbproject/Makefile-Debug.mk       |    68 -
 .../jnilib/linux/nbproject/Makefile-Debug_amd64.mk |    98 -
 .../jnilib/linux/nbproject/Makefile-Release.mk     |    68 -
 .../native/jnilib/linux/nbproject/Makefile-impl.mk |   113 -
 .../jnilib/macosx/nbproject/Makefile-Debug.mk      |    68 -
 .../jnilib/macosx/nbproject/Makefile-Release.mk    |    68 -
 .../jnilib/macosx/nbproject/Makefile-impl.mk       |   111 -
 .../jnilib/macosx/nbproject/configurations.xml     |    39 +
 .../solaris-sparc/nbproject/Makefile-Debug.mk      |    72 -
 .../solaris-sparc/nbproject/Makefile-Debug_gnu.mk  |   102 -
 .../solaris-sparc/nbproject/Makefile-Debug_x64.mk  |   102 -
 .../nbproject/Makefile-Debug_x64_gnu.mk            |   102 -
 .../solaris-sparc/nbproject/Makefile-Release.mk    |    72 -
 .../solaris-sparc/nbproject/Makefile-impl.mk       |   113 -
 .../jnilib/solaris-x86/nbproject/Makefile-Debug.mk |    72 -
 .../solaris-x86/nbproject/Makefile-Debug_gnu.mk    |   102 -
 .../solaris-x86/nbproject/Makefile-Debug_x64.mk    |   102 -
 .../nbproject/Makefile-Debug_x64_gnu.mk            |   102 -
 .../solaris-x86/nbproject/Makefile-Release.mk      |    72 -
 .../jnilib/solaris-x86/nbproject/Makefile-impl.mk  |   113 -
 .../windows/nbproject/Makefile-Default-32bit.mk    |   110 -
 .../windows/nbproject/Makefile-Default-64bit.mk    |   110 -
 .../jnilib/windows/nbproject/Makefile-impl.mk      |   113 -
 .../native/launcher/unix/i18n/launcher.properties  |     2 +-
 nbi/engine/native/launcher/unix/src/launcher.sh    |     2 +-
 .../launcher/windows/i18n/launcher.properties      |     2 +-
 .../launcher/windows/nbproject/Makefile-Debug.mk   |   132 -
 .../launcher/windows/nbproject/Makefile-Release.mk |   132 -
 .../launcher/windows/nbproject/Makefile-impl.mk    |   133 -
 .../windows/nbproject/Makefile-variables.mk        |    35 -
 .../launcher/windows/nbproject/Package-Debug.bash  |    75 -
 .../windows/nbproject/Package-Release.bash         |    75 -
 .../launcher/windows/nbproject/configurations.xml  |    39 +
 .../native/launcher/windows/resources/res.rc       |    42 +
 nbi/engine/nbproject/genfiles.properties           |    51 +-
 nbi/engine/nbproject/project.properties            |     6 +-
 .../org/netbeans/installer/utils/FileUtils.java    |    50 +-
 .../installer/utils/applications/JavaUtils.java    |     6 +-
 .../utils/system/launchers/impl/ExeLauncher.java   |     2 +-
 nbi/infra/build/jvm/conf/common.properties         |     8 +-
 .../server/modules/war-admin/web/css/main.css      |    66 +-
 nbjunit/apichanges.xml                             |    32 +-
 nbjunit/arch.xml                                   |     2 +-
 nbjunit/manifest.mf                                |     2 +-
 nbjunit/nbproject/org-netbeans-modules-nbjunit.sig |    47 +-
 nbjunit/src/META-INF/upgrade/NbModuleSuite.hint    |    39 +
 net.java.html.boot.fx/build.xml                    |    39 +
 net.java.html.boot.fx/external/binaries-list       |     1 +
 net.java.html.boot.fx/nbproject/project.properties |    39 +-
 net.java.html.boot.fx/nbproject/project.xml        |    41 +-
 net.java.html.boot.script/build.xml                |    39 +
 net.java.html.boot.script/external/binaries-list   |     1 +
 .../nbproject/project.properties                   |    39 +-
 net.java.html.boot.script/nbproject/project.xml    |    41 +-
 net.java.html.boot/build.xml                       |    39 +
 net.java.html.boot/external/binaries-list          |     1 +
 net.java.html.boot/nbproject/project.properties    |    39 +-
 net.java.html.boot/nbproject/project.xml           |    41 +-
 net.java.html.geo/build.xml                        |    39 +
 net.java.html.geo/external/binaries-list           |     1 +
 net.java.html.geo/nbproject/project.properties     |    39 +-
 net.java.html.geo/nbproject/project.xml            |    41 +-
 net.java.html.json/build.xml                       |    39 +
 net.java.html.json/external/binaries-list          |     1 +
 net.java.html.json/nbproject/project.properties    |    39 +-
 net.java.html.json/nbproject/project.xml           |    41 +-
 net.java.html.sound/build.xml                      |    39 +
 net.java.html.sound/external/binaries-list         |     1 +
 net.java.html.sound/nbproject/project.properties   |    39 +-
 net.java.html.sound/nbproject/project.xml          |    41 +-
 net.java.html/build.xml                            |    40 +-
 net.java.html/external/binaries-list               |     1 +
 net.java.html/nbproject/project.properties         |    39 +-
 net.java.html/nbproject/project.xml                |    41 +-
 netbinox/build.xml                                 |     2 +-
 netbinox/external/binaries-list                    |     1 +
 netbinox/manifest.mf                               |     2 +-
 netbinox/nbproject/project.xml                     |    39 +
 .../netbeans/modules/netbinox/Bundle.properties    |     2 +-
 .../netbeans/modules/netbinox/EmptyBundleFile.java |     2 +-
 .../netbeans/modules/netbinox/JarBundleFile.java   |     4 +-
 .../org/netbeans/modules/netbinox/Netbinox.java    |    12 +-
 .../netbeans/modules/netbinox/NetbinoxFactory.java |     2 +-
 .../netbeans/modules/netbinox/NetbinoxHooks.java   |     2 +-
 .../netbeans/modules/netbinox/NetbinoxLoader.java  |     2 +-
 .../modules/netbinox/NetigsoBundleFile.java        |     2 +-
 .../test/unit/src/org/netbeans/MockEvents.java     |     2 +-
 .../unit/src/org/netbeans/MockModuleInstaller.java |     2 +-
 netbinox/test/unit/src/org/netbeans/SetupHid.java  |     2 +-
 .../modules/netbinox/BundleResourceTest.java       |     2 +-
 .../modules/netbinox/BundleURLConnectionTest.java  |     4 +-
 .../netbinox/CachingAndExternalPathsTest.java      |     2 +-
 .../netbinox/CachingAndExternalURLTest.java        |     2 +-
 .../netbinox/CachingPreventsFileTouchesTest.java   |     2 +-
 .../modules/netbinox/ContextClassLoaderTest.java   |     4 +-
 .../modules/netbinox/CountingSecurityManager.java  |     2 +-
 .../modules/netbinox/EnabledAutoloadTest.java      |     2 +-
 .../modules/netbinox/ExternalDirectoryTest.java    |     4 +-
 .../netbeans/modules/netbinox/ExternalJARTest.java |     4 +-
 .../modules/netbinox/HookConfiguratorTest.java     |     4 +-
 .../netbeans/modules/netbinox/IntegrationTest.java |     2 +-
 .../netbeans/modules/netbinox/LoadedBytesTest.java |     6 +-
 .../modules/netbinox/LogReaderServiceTest.java     |     4 +-
 .../netbinox/NetbinoxBuddyClassLoaderTest.java     |     2 +-
 .../modules/netbinox/NetbinoxLibraryTest.java      |     4 +-
 .../netbinox/NetbinoxUseSystemPropertiesTest.java  |     6 +-
 .../modules/netbinox/NetigsoActivationTest.java    |     4 +-
 .../netbinox/NetigsoActivationWithAllDirsTest.java |     2 +-
 .../modules/netbinox/NetigsoDashnamesTest.java     |     2 +-
 .../modules/netbinox/NetigsoHasSAXParserTest.java  |     6 +-
 .../org/netbeans/modules/netbinox/NetigsoHid.java  |     4 +-
 .../modules/netbinox/NetigsoLayerTest.java         |     2 +-
 .../modules/netbinox/NetigsoLoggingTest.java       |     2 +-
 .../netbinox/NetigsoOSGiActivationVisibleTest.java |     4 +-
 .../modules/netbinox/NetigsoOSGiCanDependTest.java |     2 +-
 .../netbinox/NetigsoOSGiCanRequestTest.java        |     2 +-
 .../org/netbeans/modules/netbinox/NetigsoTest.java |     2 +-
 .../modules/netbinox/NetigsoUsesSwingTest.java     |     2 +-
 netserver/build.xml                                |    39 +
 netserver/manifest.mf                              |     2 +-
 netserver/nbproject/project.properties             |    37 +
 netserver/nbproject/project.xml                    |    39 +
 .../netbeans/modules/netserver/Bundle.properties   |    37 +
 notifications/build.xml                            |    39 +
 notifications/manifest.mf                          |     2 +-
 notifications/nbproject/project.properties         |    37 +
 notifications/nbproject/project.xml                |    39 +
 .../modules/notifications/Bundle.properties        |    37 +
 o.apache.commons.codec/build.xml                   |    39 +
 .../external/binaries-list                         |     0
 o.apache.commons.codec/manifest.mf                 |     2 +-
 .../nbproject/project.properties                   |    37 +
 o.apache.commons.codec/nbproject/project.xml       |    39 +
 o.apache.commons.httpclient/build.xml              |    39 +
 .../external/binaries-list                         |     0
 o.apache.commons.httpclient/manifest.mf            |     2 +-
 .../nbproject/project.properties                   |    37 +
 o.apache.commons.httpclient/nbproject/project.xml  |    39 +
 o.apache.commons.io/build.xml                      |    39 +
 .../external/binaries-list                         |     0
 o.apache.commons.io/nbproject/project.properties   |    37 +
 o.apache.commons.io/nbproject/project.xml          |    39 +
 o.apache.commons.lang/build.xml                    |    52 +-
 o.apache.commons.lang/external/binaries-list       |     1 +
 .../external/commons-lang-2.4-license.txt          |   208 -
 ...he.commons.lang-2.6.0.v201404270220-license.txt |   208 +
 o.apache.commons.lang/nbproject/project.properties |    40 +-
 o.apache.commons.lang/nbproject/project.xml        |    43 +-
 o.apache.commons.logging/build.xml                 |    39 +
 .../external/binaries-list                         |     0
 .../nbproject/project.properties                   |    37 +
 o.apache.commons.logging/nbproject/project.xml     |    39 +
 o.apache.tools.ant.module/arch.xml                 |     2 +-
 o.apache.tools.ant.module/build.xml                |     6 +-
 .../external/ant-1.9.4-license.txt                 |   209 -
 .../external/ant-1.9.7-license.txt                 |   209 +
 o.apache.tools.ant.module/external/binaries-list   |     3 +
 o.apache.tools.ant.module/external/build.xml       |     2 +-
 .../nbproject/org-apache-tools-ant-module.sig      |     4 +-
 .../nbproject/project.properties                   |     4 +-
 o.apache.tools.ant.module/release/VERSION.txt      |     2 +-
 .../org/apache/tools/ant/module/api/package.html   |    16 +-
 .../tools/ant/module/api/support/package.html      |    16 +-
 .../apache/tools/ant/module/bridge/AntBridge.java  |   199 +-
 .../module/resources/CustomTaskDescription.html    |    16 +-
 .../ant/module/resources/ProjectDescription.html   |    16 +-
 .../tools/ant/module/run/LastTargetExecuted.java   |     4 +
 .../org/apache/tools/ant/module/spi/package.html   |    16 +-
 o.apache.ws.commons.util/build.xml                 |    39 +
 .../external/binaries-list                         |     0
 .../nbproject/project.properties                   |    37 +
 o.apache.ws.commons.util/nbproject/project.xml     |    39 +
 .../external/binaries-list                         |     0
 o.apache.xml.resolver/nbproject/project.properties |     2 +-
 o.apache.xmlrpc/build.xml                          |    39 +
 .../external/binaries-list                         |     0
 o.apache.xmlrpc/nbproject/project.properties       |    37 +
 o.apache.xmlrpc/nbproject/project.xml              |    41 +-
 o.eclipse.core.contenttype/build.xml               |    39 +
 o.eclipse.core.contenttype/external/binaries-list  |     1 +
 .../nbproject/project.properties                   |    37 +
 o.eclipse.core.contenttype/nbproject/project.xml   |    39 +
 o.eclipse.core.jobs/build.xml                      |    39 +
 o.eclipse.core.jobs/external/binaries-list         |     1 +
 o.eclipse.core.jobs/nbproject/project.properties   |    37 +
 o.eclipse.core.jobs/nbproject/project.xml          |    41 +-
 o.eclipse.core.net/build.xml                       |    39 +
 o.eclipse.core.net/external/binaries-list          |     1 +
 o.eclipse.core.net/nbproject/project.properties    |    37 +
 o.eclipse.core.net/nbproject/project.xml           |    39 +
 .../build.xml                                      |    39 +
 .../external/binaries-list                         |     1 +
 .../nbproject/project.properties                   |    37 +
 .../nbproject/project.xml                          |    39 +
 o.eclipse.core.runtime/build.xml                   |    39 +
 o.eclipse.core.runtime/external/binaries-list      |     1 +
 .../nbproject/project.properties                   |    37 +
 o.eclipse.core.runtime/nbproject/project.xml       |    39 +
 o.eclipse.equinox.app/build.xml                    |    39 +
 o.eclipse.equinox.app/external/binaries-list       |     1 +
 o.eclipse.equinox.app/nbproject/project.properties |    37 +
 o.eclipse.equinox.app/nbproject/project.xml        |    39 +
 o.eclipse.equinox.common/build.xml                 |    39 +
 o.eclipse.equinox.common/external/binaries-list    |     1 +
 .../nbproject/project.properties                   |    37 +
 o.eclipse.equinox.common/nbproject/project.xml     |    39 +
 o.eclipse.equinox.preferences/build.xml            |    39 +
 .../external/binaries-list                         |     1 +
 .../nbproject/project.properties                   |    37 +
 .../nbproject/project.xml                          |    43 +-
 o.eclipse.equinox.registry/build.xml               |    39 +
 o.eclipse.equinox.registry/external/binaries-list  |     1 +
 .../nbproject/project.properties                   |    37 +
 o.eclipse.equinox.registry/nbproject/project.xml   |    39 +
 o.eclipse.equinox.security/build.xml               |    39 +
 o.eclipse.equinox.security/external/binaries-list  |     1 +
 .../nbproject/project.properties                   |    37 +
 o.eclipse.equinox.security/nbproject/project.xml   |    43 +-
 o.eclipse.jgit.java7/build.xml                     |    39 +
 o.eclipse.jgit.java7/external/binaries-list        |     1 +
 o.eclipse.jgit.java7/nbproject/project.properties  |    37 +
 o.eclipse.jgit.java7/nbproject/project.xml         |    39 +
 o.eclipse.jgit/build.xml                           |    39 +
 o.eclipse.jgit/external/binaries-list              |     1 +
 o.eclipse.jgit/nbproject/project.properties        |    37 +
 o.eclipse.jgit/nbproject/project.xml               |    46 +-
 o.eclipse.mylyn.bugzilla.core/build.xml            |    39 +
 .../external/binaries-list                         |     1 +
 ...bugzilla.core-3.17.0.v20150828-2026-license.txt |    72 +
 ...bugzilla.core_3.14.2.v20150217-2341-license.txt |    72 -
 .../nbproject/project.properties                   |    39 +-
 .../nbproject/project.xml                          |    41 +-
 o.eclipse.mylyn.commons.core/build.xml             |    39 +
 .../external/binaries-list                         |     1 +
 ....commons.core-3.17.0.v20150625-2042-license.txt |    72 +
 ...n.commons.core_3.10.0.20130926-1710-license.txt |    72 -
 .../nbproject/project.properties                   |    39 +-
 o.eclipse.mylyn.commons.core/nbproject/project.xml |    41 +-
 o.eclipse.mylyn.commons.net/build.xml              |    39 +
 o.eclipse.mylyn.commons.net/external/binaries-list |     1 +
 ...n.commons.net-3.17.0.v20150706-2057-license.txt |    72 +
 ...yn.commons.net_3.10.0.20131018-1210-license.txt |    72 -
 .../nbproject/project.properties                   |    39 +-
 o.eclipse.mylyn.commons.net/nbproject/project.xml  |    41 +-
 .../build.xml                                      |    39 +
 .../external/binaries-list                         |     1 +
 ...ositories.core-1.9.0.v20150625-2042-license.txt |    72 +
 ...positories.core_1.2.0.20130704-2116-license.txt |    72 -
 .../nbproject/project.properties                   |    39 +-
 .../nbproject/project.xml                          |    41 +-
 o.eclipse.mylyn.commons.xmlrpc/build.xml           |    39 +
 .../external/binaries-list                         |     1 +
 ...ommons.xmlrpc-3.17.0.v20150625-2042-license.txt |    72 +
 ...commons.xmlrpc_3.10.0.20130704-2116-license.txt |    72 -
 .../nbproject/project.properties                   |    39 +-
 .../nbproject/project.xml                          |    41 +-
 o.eclipse.mylyn.tasks.core/build.xml               |    39 +
 o.eclipse.mylyn.tasks.core/external/binaries-list  |     1 +
 ...n.tasks.core-3.17.0.v20150828-2026-license.txt} |     0
 .../nbproject/project.properties                   |    39 +-
 o.eclipse.mylyn.tasks.core/nbproject/project.xml   |    41 +-
 o.eclipse.mylyn.wikitext.confluence.core/build.xml |    39 +
 .../external/binaries-list                         |     1 +
 ...onfluence.core-2.6.0.v20150901-2143-license.txt |    94 +
 ...confluence.core_1.9.0.20131007-2055-license.txt |    94 -
 .../nbproject/project.properties                   |    39 +-
 .../nbproject/project.xml                          |    41 +-
 o.eclipse.mylyn.wikitext.core/build.xml            |    39 +
 .../external/binaries-list                         |     1 +
 ....wikitext.core-2.6.0.v20150901-2143-license.txt |    94 +
 ...n.wikitext.core_1.9.0.20131007-2055-license.txt |    94 -
 .../nbproject/project.properties                   |    39 +-
 .../nbproject/project.xml                          |    43 +-
 o.eclipse.mylyn.wikitext.markdown.core/build.xml   |    44 +
 .../external/binaries-list                         |     1 +
 ....markdown.core-2.6.0.v20150901-2143-license.txt |    94 +
 o.eclipse.mylyn.wikitext.markdown.core/manifest.mf |     1 +
 .../nbproject/project.properties                   |    40 +
 .../nbproject/project.xml                          |    54 +
 o.eclipse.mylyn.wikitext.textile.core/build.xml    |    39 +
 .../external/binaries-list                         |     1 +
 ...t.textile.core-2.6.0.v20150901-2143-license.txt |    94 +
 ...xt.textile.core_1.9.0.20131007-2055-license.txt |    94 -
 .../nbproject/project.properties                   |    39 +-
 .../nbproject/project.xml                          |    41 +-
 .../external/binaries-list                         |     0
 .../nbproject/project.properties                   |     6 +-
 .../external/binaries-list                         |     0
 o.jdesktop.layout/manifest.mf                      |     2 +-
 o.jdesktop.layout/nbproject/project.properties     |     4 +-
 o.n.bootstrap/launcher/unix/nbexec                 |    36 +-
 o.n.bootstrap/launcher/windows/Makefile            |    56 +-
 o.n.bootstrap/launcher/windows/argnames.h          |     2 +-
 o.n.bootstrap/launcher/windows/jvmlauncher.cpp     |    45 +-
 o.n.bootstrap/launcher/windows/jvmlauncher.h       |     7 +-
 o.n.bootstrap/launcher/windows/nbexec.cpp          |     5 +-
 o.n.bootstrap/launcher/windows/nbexecexe.cpp       |     5 +-
 o.n.bootstrap/launcher/windows/nbexecloader.h      |     2 +-
 .../launcher/windows/nbproject/Makefile-impl.mk    |   133 -
 .../launcher/windows/nbproject/Makefile-nbexec.mk  |   120 -
 .../windows/nbproject/Makefile-nbexec64.mk         |   120 -
 .../windows/nbproject/Makefile-variables.mk        |    35 -
 .../launcher/windows/nbproject/Package-nbexec.bash |    76 -
 .../windows/nbproject/Package-nbexec64.bash        |    76 -
 .../launcher/windows/nbproject/configurations.xml  |    54 +-
 .../launcher/windows/nbproject/project.properties  |    37 +
 .../launcher/windows/nbproject/project.xml         |    39 +
 .../launcher/windows/platformlauncher.cpp          |    30 +-
 o.n.bootstrap/launcher/windows/platformlauncher.h  |     7 +-
 o.n.bootstrap/launcher/windows/utilsfuncs.cpp      |     6 +-
 o.n.bootstrap/launcher/windows/utilsfuncs.h        |     5 +-
 o.n.bootstrap/launcher/windows/version.h           |    12 +-
 o.n.bootstrap/manifest.mf                          |     2 +-
 o.n.bootstrap/nbproject/project.properties         |    10 +-
 o.n.bootstrap/src/org/netbeans/CLIHandler.java     |    22 +-
 o.n.bootstrap/src/org/netbeans/ModuleManager.java  |    29 +-
 o.n.bootstrap/src/org/netbeans/PatchByteCode.java  |     5 +
 .../src/org/netbeans/ProxyClassLoader.java         |     5 +-
 .../src/org/netbeans/TopSecurityManager.java       |    11 +-
 o.n.core/manifest.mf                               |     2 +-
 .../netbeans/beaninfo/editors/package-info.java    |    39 +
 .../src/org/netbeans/beaninfo/package-info.java    |    39 +
 o.n.core/src/org/netbeans/core/NotifyExcPanel.java |    13 +-
 o.n.html.ko4j/build.xml                            |    39 +
 o.n.html.ko4j/external/binaries-list               |     1 +
 o.n.html.ko4j/nbproject/project.properties         |    39 +-
 o.n.html.ko4j/nbproject/project.xml                |    41 +-
 o.n.html.xhr4j/build.xml                           |    44 +
 o.n.html.xhr4j/external/binaries-list              |     1 +
 o.n.html.xhr4j/manifest.mf                         |     1 +
 o.n.html.xhr4j/nbproject/project.properties        |    40 +
 o.n.html.xhr4j/nbproject/project.xml               |    54 +
 o.n.insane/nbproject/project.properties            |     2 +-
 o.n.swing.dirchooser/build.xml                     |    39 +
 o.n.swing.dirchooser/manifest.mf                   |     2 +-
 o.n.swing.dirchooser/nbproject/project.properties  |    37 +
 o.n.swing.dirchooser/nbproject/project.xml         |    39 +
 .../netbeans/swing/dirchooser/Bundle.properties    |    37 +
 .../swing/dirchooser/DirectoryCellEditor.java      |     2 +
 .../swing/dirchooser/DirectoryChooserUI.java       |     2 +
 .../netbeans/swing/dirchooser/DirectoryNode.java   |     2 +
 .../swing/dirchooser/FileCompletionPopup.java      |     2 +
 .../netbeans/swing/dirchooser/InputBlocker.java    |     2 +
 .../src/org/netbeans/swing/dirchooser/Module.java  |     2 +
 o.n.swing.outline/build.xml                        |    39 +
 o.n.swing.outline/manifest.mf                      |     2 +-
 .../nbproject/org-netbeans-swing-outline.sig       |    12 +-
 o.n.swing.outline/nbproject/project.properties     |    37 +
 o.n.swing.outline/nbproject/project.xml            |    39 +
 .../src/org/netbeans/swing/etable/ETable.java      |    33 +-
 .../src/org/netbeans/swing/outline/Outline.java    |     6 +-
 o.n.swing.plaf/manifest.mf                         |     2 +-
 o.n.swing.plaf/nbproject/project.properties        |     2 +-
 .../src/org/netbeans/swing/plaf/Startup.java       |   106 +-
 .../swing/plaf/metal/StatusLineBorder.java         |     4 -
 .../swing/plaf/nimbus/StatusLineBorder.java        |     4 -
 .../src/org/netbeans/swing/plaf/package.html       |    18 +-
 .../swing/plaf/winclassic/StatusLineBorder.java    |     4 -
 .../swing/plaf/windows8/StatusLineBorder.java      |     4 -
 .../swing/plaf/winvista/StatusLineBorder.java      |     4 -
 .../swing/plaf/winxp/StatusLineBorder.java         |     4 -
 o.n.swing.tabcontrol/manifest.mf                   |     2 +-
 .../nbproject/org-netbeans-swing-tabcontrol.sig    |     7 +-
 .../src/org/netbeans/swing/tabcontrol/package.html |    16 +-
 .../plaf/BasicScrollingTabDisplayerUI.java         |     3 +
 .../plaf/BasicSlidingTabDisplayerUI.java           |     4 -
 o.n.upgrader/manifest.mf                           |     2 +-
 .../src/org/netbeans/upgrade/AutoUpgrade.java      |     2 +-
 .../AntSettings-null-ant-home.settings             |    39 +
 .../upgrade/systemoptions/formsettings.settings    |    39 +
 .../upgrade/systemoptions/javaSettings.settings    |    39 +
 ...rg-apache-tools-ant-module-AntSettings.settings |    39 +
 .../org-netbeans-core-IDESettings.settings         |    39 +
 ...modules-apisupport-project-ui-ModuleUI.settings |    39 +
 ...ans-modules-db-explorer-DatabaseOption.settings |    39 +
 ...rg-netbeans-modules-derby-DerbyOptions.settings |    39 +
 ...-modules-httpserver-HttpServerSettings.settings |    39 +
 .../org-netbeans-modules-i18n-I18nOptions.settings |    39 +
 ...dules-java-project-packageViewSettings.settings |    39 +
 ...javadoc-settings-DocumentationSettings.settings |    39 +
 ...g-netbeans-modules-junit-JUnitSettings.settings |    39 +
 ...ans-modules-project-ui-OpenProjectList.settings |    39 +
 ...es-subversion-settings-SvnModuleConfig.settings |    39 +
 ...eans-modules-tasklist-docscan-Settings.settings |    39 +
 ...g-system-cvss-settings-CvsModuleConfig.settings |    39 +
 ...modules-xml-core-settings-CoreSettings.settings |    39 +
 o.openidex.util/apichanges.xml                     |     2 +-
 o.openidex.util/manifest.mf                        |     2 +-
 openide.actions/manifest.mf                        |     2 +-
 openide.actions/nbproject/org-openide-actions.sig  |     2 +-
 .../src/org/openide/actions/UndoRedoAction.java    |     9 +-
 .../src/org/openide/actions/doc-files/api.html     |    44 +-
 .../actions/doc-files/toolbarsAdvanced.html        |    22 +-
 .../src/org/openide/actions/package.html           |    16 +-
 .../org/openide/actions/UndoRedoActionTest.java    |     9 +-
 openide.awt/apichanges.xml                         |    22 +-
 openide.awt/arch.xml                               |    10 +-
 openide.awt/manifest.mf                            |     2 +-
 openide.awt/nbproject/org-openide-awt.sig          |     7 +-
 .../src/org/netbeans/api/actions/package.html      |    77 +-
 .../modules/openide/awt/ActionProcessor.java       |     9 +-
 .../src/org/netbeans/spi/actions/package.html      |    75 +-
 openide.awt/src/org/openide/awt/ActionID.java      |     9 +-
 .../src/org/openide/awt/ActionReference.java       |     9 +-
 .../src/org/openide/awt/ActionReferences.java      |     9 +-
 .../src/org/openide/awt/ActionRegistration.java    |     9 +-
 .../src/org/openide/awt/CloseButtonFactory.java    |    22 +-
 .../src/org/openide/awt/HtmlRendererImpl.java      |     9 +-
 openide.awt/src/org/openide/awt/Mnemonics.java     |     2 +
 .../src/org/openide/awt/Mnemonics.properties       |     4 +-
 openide.awt/src/org/openide/awt/QuickSearch.java   |     3 +-
 .../src/org/openide/awt/ToolbarWithOverflow.java   |     3 +-
 openide.awt/src/org/openide/awt/package.html       |    16 +-
 .../modules/openide/awt/ActionProcessorTest.java   |     9 +-
 .../unit/src/org/openide/awt/UndoRedoTest.java     |     9 +-
 openide.compat/manifest.mf                         |     2 +-
 .../src/org/openide/explorer/FindHelpTest.java     |     5 +
 openide.dialogs/apichanges.xml                     |     2 +-
 openide.dialogs/arch.xml                           |     4 +-
 openide.dialogs/manifest.mf                        |     2 +-
 openide.dialogs/nbproject/org-openide-dialogs.sig  |     3 +-
 .../src/org/openide/NotifyDescriptor.java          |    10 +
 .../org/openide/doc-files/wizard-guidebook.html    |    95 +-
 openide.dialogs/src/org/openide/package.html       |    75 +-
 openide.execution.compat8/build.xml                |    39 +
 openide.execution.compat8/manifest.mf              |     2 +-
 .../nbproject/project.properties                   |    37 +
 openide.execution.compat8/nbproject/project.xml    |    39 +
 .../openide/execution/compat8/Bundle.properties    |    37 +
 openide.execution/manifest.mf                      |     2 +-
 .../nbproject/org-openide-execution.sig            |     2 +-
 .../src/org/openide/execution/doc-files/api.html   |    50 +-
 .../src/org/openide/execution/package.html         |    16 +-
 openide.explorer/apichanges.xml                    |    12 +-
 openide.explorer/arch.xml                          |     6 +-
 openide.explorer/manifest.mf                       |     2 +-
 .../nbproject/org-openide-explorer.sig             |    15 +-
 .../src/META-INF/upgrade/TreeView.hint             |    39 +
 .../openide/explorer/ExplorerActionsImpl.java      |    47 +-
 .../src/org/openide/explorer/doc-files/api.html    |    58 +-
 .../explorer/doc-files/customExplorerViews.html    |    26 +-
 .../explorer/doc-files/propertySheetReference.html |    18 +-
 .../doc-files/propertyViewCustomization.html       |    22 +-
 .../src/org/openide/explorer/package.html          |    16 +-
 .../explorer/propertysheet/PropertyPanel.java      |    10 +
 .../propertysheet/editors/package-info.java        |    39 +
 .../openide/explorer/propertysheet/package.html    |    75 +-
 .../openide/explorer/view/CustomPopupFactory.java  |   258 +
 .../org/openide/explorer/view/NodeRenderer.java    |    20 +
 .../src/org/openide/explorer/view/TreeView.java    |    16 -
 .../org/openide/explorer/view/ViewTooltips.java    |    64 +-
 .../src/org/openide/explorer/view/package.html     |    75 +-
 .../explorer/propertysheet/NodeDeletionTest.java   |    11 +-
 .../PropertySheetQuickSearchEnablementTest.java    |    11 +-
 .../AnotherSetKeysBeforeEventsProcessedTest.java   |    12 +-
 .../openide/explorer/view/BeanTreeViewTest.java    |   227 +-
 .../openide/explorer/view/ContextTreeViewTest.java |    26 +-
 .../explorer/view/TreeTableMemoryLeakTest.java     |    39 +
 .../explorer/view/TreeViewExpandAllTest.java       |    12 +-
 .../explorer/view/TreeViewQuickSearchTest.java     |   111 +-
 .../org/openide/explorer/view/TreeViewTest.java    |    55 +-
 openide.filesystems.compat8/arch.xml               |    39 +
 openide.filesystems.compat8/build.xml              |    39 +
 openide.filesystems.compat8/manifest.mf            |     2 +-
 .../nbproject/project.properties                   |    37 +
 openide.filesystems.compat8/nbproject/project.xml  |    39 +
 .../openide/filesystems/compat8/Bundle.properties  |    37 +
 openide.filesystems.nb/build.xml                   |    39 +
 openide.filesystems.nb/manifest.mf                 |     2 +-
 .../nbproject/org-openide-filesystems-nb.sig       |   152 +-
 .../nbproject/project.properties                   |    37 +
 openide.filesystems.nb/nbproject/project.xml       |    39 +
 .../org/openide/filesystems/nb/Bundle.properties   |    37 +
 openide.filesystems/apichanges.xml                 |    65 +-
 openide.filesystems/arch.xml                       |     2 +-
 openide.filesystems/manifest.mf                    |     2 +-
 .../nbproject/org-openide-filesystems.sig          |    63 +-
 openide.filesystems/nbproject/project.properties   |     2 +-
 .../src/META-INF/upgrade/FileObject.hint           |    39 +
 .../src/META-INF/upgrade/FileUtil.hint             |    59 +
 .../src/META-INF/upgrade/Repository.hint           |    39 +
 .../filesystems/RecognizeInstanceFiles.java        |    48 +-
 .../src/org/openide/filesystems/FileUtil.java      |   261 +-
 .../filesystems/JarArchiveRootProvider.java        |   214 +
 .../src/org/openide/filesystems/attributes.dtd     |    39 +
 .../openide/filesystems/doc-files/HOWTO-MIME.html  |    16 +-
 .../src/org/openide/filesystems/doc-files/api.html |    56 +-
 .../doc-files/resolverDocumentation.html           |    75 +-
 .../src/org/openide/filesystems/filesystem.dtd     |    39 +
 .../src/org/openide/filesystems/filesystem1_1.dtd  |    39 +
 .../src/org/openide/filesystems/filesystem1_2.dtd  |    39 +
 .../src/org/openide/filesystems/package.html       |    16 +-
 .../filesystems/spi/ArchiveRootProvider.java       |   156 +
 .../src/org/openide/filesystems/FileUtilTest.java  |     2 +-
 .../openide/filesystems/JarFileSystemHidden.java   |    15 +-
 .../filesystems/annotations/LayerBuilderTest.java  |     5 +
 openide.io/apichanges.xml                          |    14 +-
 openide.io/manifest.mf                             |     2 +-
 openide.io/nbproject/org-openide-io.sig            |     2 +-
 openide.io/src/org/openide/windows/package.html    |    18 +-
 openide.loaders/apichanges.xml                     |    31 +-
 openide.loaders/arch.xml                           |     6 +-
 openide.loaders/manifest.mf                        |     2 +-
 openide.loaders/nbproject/org-openide-loaders.sig  |    61 +-
 .../upgrade/org.openide.loaders.DataObject.hint    |    39 +
 .../modules/openide/loaders/EntityCatalog.dtd      |    39 +
 .../org/netbeans/modules/openide/loaders/layer.xml |    39 +
 .../netbeans/modules/openide/loaders/xmlinfo.dtd   |    39 +
 .../netbeans/modules/templates/Bundle.properties   |    37 +
 openide.loaders/src/org/openide/awt/MenuBar.java   |    91 +-
 .../src/org/openide/loaders/Bundle.properties      |     1 +
 .../src/org/openide/loaders/DataFolder.java        |    15 +
 .../src/org/openide/loaders/DataNode.java          |   191 +-
 .../src/org/openide/loaders/FolderChildren.java    |     6 +-
 .../src/org/openide/loaders/FolderComparator.java  |   124 +
 .../src/org/openide/loaders/FolderOrder.java       |    19 +-
 .../src/org/openide/loaders/SortModeEditor.java    |     6 +-
 .../src/org/openide/loaders/doc-files/api.html     |   100 +-
 .../src/org/openide/loaders/package.html           |    16 +-
 .../unit/src/META-INF/netbeans/translate.names     |    37 +
 .../unit/src/org/openide/awt/MenuBarCNFETest.java  |    10 +-
 .../test/unit/src/org/openide/awt/MenuBarTest.java |   162 +-
 .../src/org/openide/loaders/Deadlock60917Test.java |     2 +
 .../org/openide/loaders/FolderComparatorTest.java  |   167 +
 openide.modules/apichanges.xml                     |     8 +-
 openide.modules/manifest.mf                        |     2 +-
 openide.modules/nbproject/org-openide-modules.sig  |    15 +-
 .../src/org/openide/modules/doc-files/api.html     |    42 +-
 .../org/openide/modules/doc-files/classpath.html   |    20 +-
 .../openide/modules/doc-files/i18n-branding.html   |    16 +-
 .../src/org/openide/modules/package.html           |    16 +-
 openide.nodes/apichanges.xml                       |    30 +-
 openide.nodes/arch.xml                             |    10 +-
 openide.nodes/manifest.mf                          |     2 +-
 openide.nodes/nbproject/org-openide-nodes.sig      |     4 +-
 .../META-INF/upgrade/org.openides.nodes.Node.hint  |    39 +
 openide.nodes/src/org/openide/cookies/package.html |    75 +-
 .../src/org/openide/nodes/AsynchChildren.java      |     6 +
 .../src/org/openide/nodes/ChildFactory.java        |     5 +
 .../org/openide/nodes/DestroyableNodesFactory.java |    64 +
 .../src/org/openide/nodes/EntrySupportLazy.java    |    30 +-
 .../src/org/openide/nodes/SynchChildren.java       |     7 +
 .../src/org/openide/nodes/doc-files/api.html       |   124 +-
 openide.nodes/src/org/openide/nodes/package.html   |    16 +-
 .../src/org/openide/util/actions/CookieAction.java |     2 +-
 .../modules/openide/nodes/package-info.java        |    39 +
 .../src/org/openide/nodes/ChildFactoryTest.java    |    83 +
 openide.options/manifest.mf                        |     2 +-
 .../src/org/openide/options/doc-files/api.html     |    28 +-
 .../src/org/openide/options/package.html           |    16 +-
 openide.text/apichanges.xml                        |     2 +-
 openide.text/arch.xml                              |     4 +-
 openide.text/manifest.mf                           |     2 +-
 openide.text/nbproject/org-openide-text.sig        |    20 +-
 .../openide/text/CloneableEditorInitializer.java   |     1 +
 .../org/openide/text/CloneableEditorSupport.java   |    20 +-
 .../src/org/openide/text/DocumentLine.java         |    61 +-
 .../src/org/openide/text/DocumentOpenClose.java    |    16 +-
 .../src/org/openide/text/EditorSupportLineSet.java |    31 +-
 openide.text/src/org/openide/text/Line.java        |    58 +-
 openide.text/src/org/openide/text/LineVector.java  |   492 +
 .../src/org/openide/text/QuietEditorPane.java      |    29 +-
 .../src/org/openide/text/doc-files/api.html        |   124 +-
 openide.text/src/org/openide/text/package.html     |    16 +-
 .../unit/src/org/openide/text/LineSetTest.java     |    38 +
 .../text/UndoRedoWrappingCooperationTest.java      |     9 +-
 openide.util.enumerations/manifest.mf              |     2 +-
 .../src/org/openide/util/enum/package.html         |    75 +-
 openide.util.lookup/apichanges.xml                 |    12 +-
 openide.util.lookup/arch.xml                       |    26 +-
 openide.util.lookup/build.xml                      |    39 +
 openide.util.lookup/manifest.mf                    |     2 +-
 .../nbproject/org-openide-util-lookup.sig          |     5 +-
 openide.util.lookup/nbproject/project.properties   |     2 +-
 openide.util.lookup/nbproject/project.xml          |    39 +
 .../META-INF/upgrade/org.openide.util.Lookup.hint  |    39 +
 .../src/org/openide/util/lookup/Bundle.properties  |    37 +
 .../openide/util/lookup/MetaInfServicesLookup.java |     2 +-
 .../org/openide/util/lookup/doc-files/index.html   |    91 +-
 .../openide/util/lookup/doc-files/lookup-api.html  |    77 +-
 .../openide/util/lookup/doc-files/lookup-spi.html  |    81 +-
 .../implspi/AbstractServiceProviderProcessor.java  |     5 +-
 .../openide/util/lookup/implspi/ActiveQueue.java   |    97 +-
 .../src/org/openide/util/lookup/package.html       |    16 +-
 .../src/org/openide/util/package.html              |    75 +-
 .../modules/openide/util/ActiveQueueTest.java      |     2 +
 .../openide/util/lookup/LookupPermGenLeakTest.java |     2 +-
 .../util/test/AnnotationProcessorTestUtils.java    |    20 +-
 openide.util.ui/apichanges.xml                     |     6 +-
 openide.util.ui/arch.xml                           |     8 +-
 openide.util.ui/manifest.mf                        |     2 +-
 openide.util.ui/nbproject/org-openide-util-ui.sig  |  1703 +
 .../src/META-INF/upgrade/ImageUtilities.hint       |    39 +
 openide.util.ui/src/META-INF/upgrade/NbBundle.hint |    39 +
 .../src/META-INF/upgrade/Utilities.hint            |    39 +
 .../modules/openide/util/NbBundleProcessor.java    |     2 +-
 openide.util.ui/src/org/openide/package.html       |    75 +-
 .../src/org/openide/util/ImageUtilities.java       |    29 +-
 .../openide/util/actions/CallableSystemAction.java |     2 +-
 .../openide/util/actions/CallbackSystemAction.java |     2 +-
 .../src/org/openide/util/actions/package.html      |    75 +-
 .../src/org/openide/util/datatransfer/package.html |    75 +-
 .../src/org/openide/util/doc-files/api.html        |    44 +-
 .../src/org/openide/util/doc-files/logging.html    |    69 +-
 .../org/openide/util/doc-files/preferences.html    |    41 +-
 openide.util.ui/src/org/openide/util/package.html  |    75 +-
 openide.util/arch.xml                              |    49 +-
 openide.util/build.xml                             |    39 +
 openide.util/manifest.mf                           |     2 +-
 openide.util/nbproject/org-openide-util.sig        |  1114 +
 openide.util/nbproject/project.properties          |    37 +
 openide.util/nbproject/project.xml                 |    39 +
 .../openide/util/DefaultMutexImplementation.java   |    43 -
 .../modules/openide/util/NbBundleProcessor.java    |     2 +-
 .../src/org/openide/util/base/Bundle.properties    |    37 +
 .../src/org/openide/util/base/doc-files/api.html   |    22 +-
 .../org/openide/util/base/doc-files/logging.html   |    47 +-
 .../src/org/openide/util/doc-files/api.html        |    40 +-
 .../src/org/openide/util/doc-files/logging.html    |    69 +-
 .../org/openide/util/doc-files/preferences.html    |    41 +-
 openide.util/src/org/openide/util/io/package.html  |    75 +-
 openide.util/src/org/openide/util/package.html     |    75 +-
 openide.util/src/org/openide/xml/package.html      |    16 +-
 .../src/org/openide/util/ReadWriteAccessTest.java  |   132 +-
 .../org/openide/util/UtilitiesActiveQueueTest.java |    44 +
 openide.windows/apichanges.xml                     |     8 +-
 openide.windows/arch.xml                           |    10 +-
 openide.windows/manifest.mf                        |     2 +-
 openide.windows/nbproject/org-openide-windows.sig  |     6 +-
 .../src/org/openide/windows/doc-files/api.html     |    74 +-
 .../src/org/openide/windows/package.html           |    16 +-
 options.api/manifest.mf                            |     2 +-
 .../nbproject/org-netbeans-modules-options-api.sig |     2 +-
 .../netbeans/modules/options/CategoryModel.java    |     5 +-
 .../org/netbeans/modules/options/OptionsPanel.java |    25 +-
 options.editor/apichanges.xml                      |     2 +-
 options.editor/manifest.mf                         |     2 +-
 .../src/META-INF/netbeans/translate.names          |    37 +
 .../modules/options/colors/AnnotationsPanel.java   |     8 +-
 .../modules/options/colors/FontAndColorsPanel.java |     1 -
 .../options/colors/SyntaxColoringPanel.java        |    65 +-
 .../CodeCompletionOptionsPanelController.java      |     1 -
 .../modules/options/editor/spi/OptionsFilter.java  |    22 +-
 .../options/indentation/FormattingPanel.java       |     1 -
 .../options/indentation/IndentationPanel.java      |     2 +-
 options.java/build.xml                             |    39 +
 options.java/manifest.mf                           |     2 +-
 options.java/nbproject/project.properties          |    37 +
 options.java/nbproject/project.xml                 |    40 +
 .../modules/options/java/Bundle.properties         |    37 +
 .../org/netbeans/modules/options/java/layer.xml    |    39 +
 options.keymap/manifest.mf                         |     2 +-
 options.keymap/nbproject/project.properties        |    37 +
 parsing.api/apichanges.xml                         |     2 +-
 parsing.api/arch.xml                               |    49 +-
 parsing.api/build.xml                              |    39 +
 .../nbproject/org-netbeans-modules-parsing-api.sig |   295 +-
 parsing.api/nbproject/project.properties           |    39 +-
 parsing.api/nbproject/project.xml                  |    39 +
 .../org/netbeans/modules/parsing/api/package.html  |    41 +-
 .../org/netbeans/modules/parsing/spi/package.html  |    39 +
 .../modules/parsing/api/EmbeddingTest.java         |    41 -
 parsing.indexing/apichanges.xml                    |     2 +-
 parsing.indexing/arch.xml                          |    49 +-
 parsing.indexing/build.xml                         |    39 +
 .../org-netbeans-modules-parsing-indexing.sig      |   345 +
 parsing.indexing/nbproject/project.properties      |    41 +-
 parsing.indexing/nbproject/project.xml             |    39 +
 .../parsing/api/indexing/IndexingManager.java      |    43 -
 .../parsing/impl/indexing/IndexingUtils.java       |    43 -
 .../parsing/impl/indexing/PathRegistry.java        |     2 +-
 .../parsing/impl/indexing/RepositoryUpdater.java   |   292 +-
 .../parsing/impl/indexing/RootsListener.java       |    57 +-
 .../parsing/impl/indexing/errors/Utilities.java    |     4 +-
 .../modules/parsing/indexing/Bundle.properties     |    37 +
 .../parsing/impl/indexing/IndexingTestBase.java    |    41 -
 .../impl/indexing/TestEnvironmentFactory.java      |    40 -
 parsing.lucene/apichanges.xml                      |     2 +-
 parsing.lucene/build.xml                           |    39 +
 parsing.lucene/nbproject/project.properties        |    39 +-
 parsing.lucene/nbproject/project.xml               |    39 +
 .../modules/parsing/lucene/Bundle.properties       |    37 +
 .../modules/parsing/lucene/LuceneIndex.java        |     4 +-
 parsing.nb/apichanges.xml                          |     2 +-
 parsing.nb/build.xml                               |    39 +
 parsing.nb/nbproject/project.properties            |    39 +-
 parsing.nb/nbproject/project.xml                   |    39 +
 .../netbeans/modules/parsing/nb/Bundle.properties  |    37 +
 .../netbeans/modules/parsing/nb/EventSupport.java  |    43 -
 parsing.ui/build.xml                               |    39 +
 parsing.ui/nbproject/project.properties            |    39 +-
 parsing.ui/nbproject/project.xml                   |    39 +
 .../netbeans/modules/parsing/ui/Bundle.properties  |    37 +
 .../modules/parsing/ui/indexing/Bundle.properties  |    37 +
 .../src/org/netbeans/modules/parsing/ui/layer.xml  |    39 +
 performance.ergonomics/build.xml                   |    39 +
 performance.ergonomics/manifest.mf                 |     2 +-
 .../performance/ergonomics/Bundle.properties       |    37 +
 performance.java/build.xml                         |    49 +-
 performance.java/manifest.mf                       |     2 +-
 .../modules/performance/java/Bundle.properties     |    37 +
 .../performance/j2se/MeasureJ2SEActionsTest.java   |     2 +-
 performance.javaee/build.xml                       |    47 +-
 performance.javaee/manifest.mf                     |     2 +-
 .../modules/performance/javaee/Bundle.properties   |    37 +
 performance.scripting/build.xml                    |    45 +-
 performance.scripting/manifest.mf                  |     2 +-
 .../performance/scripting/Bundle.properties        |    37 +
 .../ScriptingPerfTest/nbproject/project.properties |     6 +-
 .../actions/PageUpPageDownScriptingEditorTest.java |     2 -
 performance.web/build.xml                          |    45 +-
 performance.web/manifest.mf                        |     2 +-
 .../modules/performance/web/Bundle.properties      |    37 +
 .../org/netbeans/actions/api/ContextProvider.java  |    45 +-
 .../src/org/netbeans/actions/api/Engine.java       |    45 +-
 .../engine/spi/AbstractContextMenuFactory.java     |    41 +-
 .../actions/engine/spi/AbstractEngine.java         |    41 +-
 .../actions/engine/spi/AbstractMenuFactory.java    |    39 +
 .../actions/engine/spi/AbstractToolbarFactory.java |    39 +
 .../netbeans/actions/engine/spi/ActionFactory.java |    47 +-
 .../actions/engine/spi/ContextMenuFactory.java     |    43 +-
 .../netbeans/actions/engine/spi/MenuFactory.java   |    39 +
 .../actions/engine/spi/ToolbarFactory.java         |    41 +-
 .../org/netbeans/actions/examples/MiniEdit.java    |    39 +
 .../org/netbeans/actions/examples/actiondefs.xml   |    43 +-
 .../netbeans/actions/examples/actions.properties   |    39 +-
 .../actions/simple/SimpleActionProvider.java       |    47 +-
 .../netbeans/actions/simple/SimpleConstraint.java  |    41 +-
 .../actions/simple/SimpleContainerProvider.java    |    43 +-
 .../org/netbeans/actions/simple/SimpleEngine.java  |    39 +
 .../org/netbeans/actions/simple/SimpleInvoker.java |    45 +-
 .../src/org/netbeans/actions/simple/SimpleKey.java |    41 +-
 .../org/netbeans/actions/simple/SimpleKeymap.java  |    45 +-
 .../org/netbeans/actions/spi/ActionProvider.java   |    43 +-
 .../netbeans/actions/spi/ContainerProvider.java    |    47 +-
 .../actions/spi/ContextProviderSupport.java        |    41 +-
 .../netbeans/actions/spi/ProxyActionProvider.java  |    47 +-
 .../actions/spi/ProxyContainerProvider.java        |    45 +-
 .../netbeans/actions/spi/ProxyContextProvider.java |    49 +-
 performance/benchmarks/build.xml                   |    33 +-
 .../performance/benchmarks/bde/BDEGrammar.jjt      |     4 +-
 .../benchmarks/bde/generated/ASCII_CharStream.java |   381 -
 .../benchmarks/bde/generated/ASTArgData.java       |    19 -
 .../benchmarks/bde/generated/ASTArgDataList.java   |    19 -
 .../benchmarks/bde/generated/ASTArgDataSeries.java |    19 -
 .../bde/generated/ASTClassIdentifier.java          |    19 -
 .../benchmarks/bde/generated/ASTClassName.java     |    19 -
 .../benchmarks/bde/generated/ASTId.java            |    19 -
 .../benchmarks/bde/generated/ASTIdentifier.java    |    19 -
 .../benchmarks/bde/generated/ASTInteger.java       |    19 -
 .../benchmarks/bde/generated/ASTIntegerDef.java    |    19 -
 .../bde/generated/ASTLoadDefinition.java           |    19 -
 .../benchmarks/bde/generated/ASTMethodFilter.java  |    19 -
 .../bde/generated/ASTMethodFilterList.java         |    19 -
 .../benchmarks/bde/generated/ASTRegexp.java        |    19 -
 .../benchmarks/bde/generated/ASTStart.java         |    19 -
 .../bde/generated/ASTStoreDefinition.java          |    19 -
 .../benchmarks/bde/generated/ASTString.java        |    19 -
 .../bde/generated/ASTTestDefinition.java           |    19 -
 .../bde/generated/ASTTestDefinitionList.java       |    19 -
 .../benchmarks/bde/generated/ASTValSpec.java       |    19 -
 .../benchmarks/bde/generated/ASTValSpecList.java   |    19 -
 .../benchmarks/bde/generated/BDEGrammar.jj         |   551 -
 .../benchmarks/bde/generated/BDEParser.java        |   789 -
 .../bde/generated/BDEParserConstants.java          |    45 -
 .../bde/generated/BDEParserTokenManager.java       |   700 -
 .../bde/generated/BDEParserTreeConstants.java      |    49 -
 .../benchmarks/bde/generated/BDEParserVisitor.java |    26 -
 .../bde/generated/JJTBDEParserState.java           |   123 -
 .../performance/benchmarks/bde/generated/Node.java |    37 -
 .../benchmarks/bde/generated/ParseException.java   |   191 -
 .../benchmarks/bde/generated/SimpleNode.java       |   134 -
 .../benchmarks/bde/generated/Token.java            |    81 -
 .../benchmarks/bde/generated/TokenMgrError.java    |   133 -
 .../benchmarks/bde/override/SimpleNode.xjava       |     2 +-
 performance/benchmarks/test/reports/build.xml      |    45 +-
 .../test/reports/nbproject/project.properties      |    37 +
 .../benchmarks/test/reports/nbproject/project.xml  |    39 +
 .../performance/results/TestResultTest.java        |    45 +-
 performance/cnd/build.xml                          |    39 +
 performance/cnd/nbproject/platform.properties      |    37 +
 .../org/netbeans/performance/cnd/Bundle.properties |    37 +
 performance/enterprise/build.xml                   |    39 +
 .../enterprise/nbproject/platform.properties       |    37 +
 .../performance/enterprise/Bundle.properties       |    37 +
 .../external/binaries-list                         |     0
 performance/external/javacc-3.2-license.txt        |    39 +
 performance/gcsettings/index.html                  |   237 -
 performance/gcsettings/laptop/gcavgtime.png        |   Bin 25085 -> 0 bytes
 performance/gcsettings/laptop/gccount.png          |   Bin 22429 -> 0 bytes
 performance/gcsettings/laptop/gcseconds.png        |   Bin 26573 -> 0 bytes
 performance/gcsettings/laptop/index.html           | 14068 -------
 performance/gcsettings/laptop/report.html          |     3 -
 performance/gcsettings/laptop/sessionlength.png    |   Bin 18987 -> 0 bytes
 performance/gcsettings/linux/gcavgtime.png         |   Bin 22974 -> 0 bytes
 performance/gcsettings/linux/gccount.png           |   Bin 23010 -> 0 bytes
 performance/gcsettings/linux/gcseconds.png         |   Bin 22751 -> 0 bytes
 performance/gcsettings/linux/index.html            | 14067 -------
 performance/gcsettings/linux/report.html           |     3 -
 performance/gcsettings/linux/sessionlength.png     |   Bin 19490 -> 0 bytes
 performance/gcsettings/solaris/gcavgtime.png       |   Bin 24980 -> 0 bytes
 performance/gcsettings/solaris/gccount.png         |   Bin 22117 -> 0 bytes
 performance/gcsettings/solaris/gcseconds.png       |   Bin 26137 -> 0 bytes
 performance/gcsettings/solaris/index.html          | 14066 -------
 performance/gcsettings/solaris/sessionlength.png   |   Bin 21322 -> 0 bytes
 performance/gcsettings/windows/gcavgtime.png       |   Bin 23467 -> 0 bytes
 performance/gcsettings/windows/gccount.png         |   Bin 21711 -> 0 bytes
 performance/gcsettings/windows/gcseconds.png       |   Bin 25324 -> 0 bytes
 performance/gcsettings/windows/index.html          | 11761 ------
 performance/gcsettings/windows/sessionlength.png   |   Bin 17206 -> 0 bytes
 performance/hudson/ExecutePerformanceTests.sh      |    39 +
 performance/hudson/PreparePerformanceTests.xml     |    41 +-
 .../hudson/PreparePerformanceTestsScript.sh        |    39 +
 performance/hudson/PublishPerformanceTests.xml     |    39 +
 performance/hudson/coldstart.sh                    |    39 +
 performance/hudson/j2ee.sh                         |    38 +
 performance/hudson/j2se.sh                         |    38 +
 performance/hudson/languages.sh                    |    39 +
 performance/hudson/mobility.sh                     |    38 +
 performance/hudson/netbeans.conf                   |    38 +
 performance/hudson/setupenv.sh                     |    38 +
 performance/hudson/web.sh                          |    39 +
 .../src/org/netbeans/imagecache/CDataBuffer.java   |    49 +-
 .../src/org/netbeans/imagecache/CImage.java        |    43 +-
 .../src/org/netbeans/imagecache/CRaster.java       |    45 +-
 .../src/org/netbeans/imagecache/CSampleModel.java  |    47 +-
 .../org/netbeans/imagecache/CacheWriterTask.java   |    49 +-
 .../org/netbeans/imagecache/ImageCacheTest.java    |    39 +
 performance/manifest.mf                            |     2 +-
 performance/mobility/build.xml                     |    39 +
 performance/mobility/nbproject/platform.properties |    37 +
 .../performance/mobility/Bundle.properties         |    37 +
 .../performance/antext/GenerateHTMLreport.java     |    43 +-
 .../performance/impl/analysis/ChartMaker.java      |    45 +-
 .../performance/impl/analysis/GcCharts.java        |    43 +-
 .../performance/impl/analysis/GenRunsData.java     |    43 +-
 .../netbeans/performance/impl/chart/NbChart.java   |    47 +-
 .../impl/chart/NbStatisticalDataset.java           |    43 +-
 .../impl/logparsing/FolderAggregation.java         |    51 +-
 .../netbeans/performance/impl/logparsing/Gc.java   |    43 +-
 .../performance/impl/logparsing/GcLog.java         |    39 +
 .../performance/impl/logparsing/GcTestSet.java     |    43 +-
 .../performance/impl/logparsing/IdeCfg.java        |    43 +-
 .../impl/logparsing/JavaLineswitch.java            |    45 +-
 .../performance/impl/logparsing/ModuleEntry.java   |    43 +-
 .../performance/impl/logparsing/ModulesLog.java    |    39 +
 .../performance/impl/logparsing/NbLog.java         |    41 +-
 .../performance/impl/logparsing/NbRunLog.java      |    45 +-
 .../performance/impl/logparsing/TestSet.java       |    45 +-
 .../performance/impl/logparsing/TimeLog.java       |    43 +-
 .../performance/impl/logparsing/Utils.java         |    39 +
 .../performance/spi/AbstractDataAggregation.java   |    41 +-
 .../performance/spi/AbstractLogElement.java        |    43 +-
 .../netbeans/performance/spi/AbstractLogFile.java  |    45 +-
 .../src/org/netbeans/performance/spi/Analyzer.java |    41 +-
 .../src/org/netbeans/performance/spi/Average.java  |    49 +-
 .../spi/AveragedNameValueLogElement.java           |    41 +-
 .../netbeans/performance/spi/DataAggregation.java  |    41 +-
 .../performance/spi/DataNotFoundException.java     |    49 +-
 .../netbeans/performance/spi/ElementFilter.java    |    39 +
 .../org/netbeans/performance/spi/LogElement.java   |    39 +
 .../src/org/netbeans/performance/spi/LogFile.java  |    39 +
 .../performance/spi/NameValueLogElement.java       |    43 +-
 .../performance/spi/NameValuePairLogElement.java   |    41 +-
 .../src/org/netbeans/performance/spi/Named.java    |    39 +
 .../netbeans/performance/spi/ParseException.java   |    45 +-
 .../org/netbeans/performance/spi/Timestamped.java  |    39 +
 .../performance/spi/TimestampedLogElement.java     |    45 +-
 .../netbeans/performance/spi/ValueLogElement.java  |    47 +-
 .../src/org/netbeans/performance/spi/Valued.java   |    39 +
 .../performance/spi/html/AbstractHTML.java         |    47 +-
 .../spi/html/AbstractHTMLContainer.java            |    49 +-
 .../org/netbeans/performance/spi/html/HTML.java    |    43 +-
 .../performance/spi/html/HTMLContainer.java        |    47 +-
 .../performance/spi/html/HTMLDocument.java         |    43 +-
 .../netbeans/performance/spi/html/HTMLImage.java   |    43 +-
 .../performance/spi/html/HTMLIterator.java         |    43 +-
 .../performance/spi/html/HTMLListItem.java         |    43 +-
 .../performance/spi/html/HTMLSubdocument.java      |    49 +-
 .../netbeans/performance/spi/html/HTMLTable.java   |    41 +-
 .../performance/spi/html/HTMLTableRow.java         |    51 +-
 .../performance/spi/html/HTMLTextItem.java         |    45 +-
 .../performance/spi/html/HTMLUnorderedList.java    |    43 +-
 .../performance/resources/ActionTracker.xsl        |    41 +-
 .../performance/resources/Bundle.properties        |    37 +
 .../modules/performance/resources/netbeans.conf    |    38 +
 .../netbeans/performance/scanning/Utilities.java   |     2 +-
 performance/threaddemo/build.properties            |    37 +
 performance/threaddemo/logging.properties          |    37 +
 .../threaddemo/src/threaddemo/locking/package.html |    39 +
 .../threaddemo/src/threaddemo/util/package.html    |    39 +
 php.api.annotation/build.xml                       |    39 +
 php.api.annotation/manifest.mf                     |     2 +-
 php.api.annotation/nbproject/project.properties    |    39 +-
 php.api.annotation/nbproject/project.xml           |    48 +
 php.api.documentation/build.xml                    |    39 +
 php.api.documentation/manifest.mf                  |     2 +-
 php.api.documentation/nbproject/project.properties |    39 +-
 php.api.documentation/nbproject/project.xml        |    39 +
 php.api.editor/build.xml                           |    39 +
 php.api.editor/manifest.mf                         |     2 +-
 php.api.editor/nbproject/project.properties        |    39 +-
 php.api.editor/nbproject/project.xml               |    40 +
 .../modules/php/api/editor/EditorSupport.java      |     8 +
 .../modules/php/api/editor/PhpBaseElement.java     |    16 +-
 .../netbeans/modules/php/api/editor/PhpClass.java  |    64 +-
 .../modules/php/api/editor/PhpInterface.java       |    91 +
 .../netbeans/modules/php/api/editor/PhpTrait.java  |   118 +
 .../netbeans/modules/php/api/editor/PhpType.java   |   158 +
 php.api.executable/build.xml                       |    39 +
 php.api.executable/manifest.mf                     |     2 +-
 php.api.executable/nbproject/project.properties    |    39 +-
 php.api.executable/nbproject/project.xml           |    39 +
 .../modules/php/api/executable/PhpExecutable.java  |     4 +-
 php.api.framework/build.xml                        |    39 +
 php.api.framework/manifest.mf                      |     2 +-
 php.api.framework/nbproject/project.properties     |    39 +-
 php.api.framework/nbproject/project.xml            |    42 +
 .../php/spi/framework/PhpFrameworkProvider.java    |    15 +
 .../spi/framework/PhpModuleCustomizerExtender.java |    15 +
 php.api.phpmodule/build.xml                        |    39 +
 php.api.phpmodule/manifest.mf                      |     2 +-
 php.api.phpmodule/nbproject/project.properties     |    39 +-
 php.api.phpmodule/nbproject/project.xml            |    40 +
 .../org/netbeans/modules/php/api/PhpVersion.java   |    20 +-
 .../php/api/phpmodule/resources/Bundle.properties  |    37 +
 php.api.templates/build.xml                        |    39 +
 php.api.templates/manifest.mf                      |     2 +-
 php.api.templates/nbproject/project.properties     |    39 +-
 php.api.templates/nbproject/project.xml            |    39 +
 php.api.testing/build.xml                          |    39 +
 php.api.testing/manifest.mf                        |     2 +-
 php.api.testing/nbproject/project.properties       |    39 +-
 php.api.testing/nbproject/project.xml              |    41 +-
 .../php/spi/testing/PhpTestingProvider.java        |     4 +-
 .../PhpTestingProviderRegistrationTest.java        |     4 +-
 php.apigen/build.xml                               |    39 +
 php.apigen/manifest.mf                             |     2 +-
 php.apigen/nbproject/project.properties            |    39 +-
 php.apigen/nbproject/project.xml                   |    48 +
 .../apigen/annotations/parser/SeeLineParser.java   |    21 +-
 .../annotations/parser/ThrowsLineParser.java       |     9 +-
 php.atoum/build.xml                                |    39 +
 php.atoum/manifest.mf                              |     2 +-
 php.atoum/nbproject/project.properties             |    39 +-
 php.atoum/nbproject/project.xml                    |    43 +-
 .../modules/php/atoum/AtoumTestingProvider.java    |     4 +-
 .../netbeans/modules/php/atoum/run/TapParser.java  |     2 +-
 .../modules/php/atoum/ui/resources/AtoumTest.php   |     2 -
 php.code.analysis/build.xml                        |    39 +
 php.code.analysis/manifest.mf                      |     2 +-
 php.code.analysis/nbproject/project.properties     |    39 +-
 php.code.analysis/nbproject/project.xml            |    48 +
 .../modules/php/analysis/commands/CodeSniffer.java |    46 +-
 .../analysis/commands/CodingStandardsFixer.java    |     3 +
 .../php/analysis/commands/MessDetector.java        |     1 +
 .../analysis/parsers/CodeSnifferReportParser.java  |    27 +
 .../test/unit/data/phpcs-log-with-summary-1.xml    |     7 +
 .../test/unit/data/phpcs-log-with-summary-2.xml    |    22 +
 .../parsers/CodeSnifferReportParserTest.java       |    24 +-
 php.codeception/build.xml                          |    39 +
 php.codeception/manifest.mf                        |     2 +-
 php.codeception/nbproject/project.properties       |    39 +-
 php.codeception/nbproject/project.xml              |    43 +-
 .../codeception/CodeceptionTestingProvider.java    |    10 +-
 .../php/codeception/ImportantFilesImpl.java        |     6 +-
 .../modules/php/codeception/commands/Codecept.java |    68 +-
 .../php/codeception/create/TestCreator.java        |     1 +
 .../CodeceptionPreferencesValidator.java           |     8 +-
 php.composer/build.xml                             |    39 +
 php.composer/manifest.mf                           |     2 +-
 php.composer/nbproject/project.properties          |    39 +-
 php.composer/nbproject/project.xml                 |    41 +-
 .../modules/php/composer/PhpProjectConvertor.java  |    44 +-
 .../modules/php/composer/SharabilityQueryImpl.java |    29 +-
 .../modules/php/composer/commands/Composer.java    |     7 +-
 .../php/composer/options/ComposerOptions.java      |    55 +-
 .../php/composer/ui/options/Bundle.properties      |     5 +-
 .../composer/ui/options/ComposerOptionsPanel.form  |    78 +-
 .../composer/ui/options/ComposerOptionsPanel.java  |   111 +-
 .../ui/options/ComposerOptionsPanelController.java |    18 +-
 .../composer/ui/resources/phpConvertorProject.png  |   Bin 0 -> 325 bytes
 .../php/composer/ui/resources/phpProject.png       |   Bin 486 -> 0 bytes
 php.dbgp/build.xml                                 |    39 +
 php.dbgp/manifest.mf                               |     2 +-
 php.dbgp/nbproject/project.properties              |    39 +-
 php.dbgp/nbproject/project.xml                     |    59 +-
 .../netbeans/modules/php/dbgp/DebugSession.java    |     6 +-
 .../netbeans/modules/php/dbgp/SessionManager.java  |    14 +
 .../php/dbgp/annotations/ToolTipAnnotation.java    |    15 +-
 .../php/dbgp/breakpoints/AbstractBreakpoint.java   |    10 +
 .../php/dbgp/breakpoints/LineBreakpoint.java       |    91 +-
 .../modules/php/dbgp/breakpoints/Utils.java        |     3 +
 .../modules/php/dbgp/models/VariablesModel.java    |    50 +-
 .../modules/php/dbgp/packets/BrkpntSetCommand.java |     5 +-
 .../modules/php/dbgp/packets/DbgpCommand.java      |     5 +-
 .../modules/php/dbgp/packets/DbgpMessage.java      |     2 +-
 .../modules/php/dbgp/packets/DbgpStream.java       |    11 +-
 .../php/dbgp/packets/FeatureGetCommand.java        |     4 +-
 .../modules/php/dbgp/packets/Property.java         |    11 +-
 .../php/dbgp/packets/PropertySetCommand.java       |     6 +-
 .../netbeans/modules/php/dbgp/packets/Reason.java  |     4 +-
 .../netbeans/modules/php/dbgp/packets/Stack.java   |     3 +-
 .../netbeans/modules/php/dbgp/packets/Status.java  |     4 +-
 .../netbeans/modules/php/dbgp/DebuggerTest.java    |     2 +-
 .../netbeans/modules/php/dbgp/resources/index.php  |    41 +
 php.doctrine2/build.xml                            |    39 +
 php.doctrine2/manifest.mf                          |     2 +-
 php.doctrine2/nbproject/project.properties         |    39 +-
 php.doctrine2/nbproject/project.xml                |    48 +
 php.editor/build.xml                               |    98 +-
 .../external/binaries-list                         |     0
 php.editor/nbproject/project.properties            |    44 +-
 php.editor/nbproject/project.xml                   |    88 +-
 .../org/netbeans/modules/php/editor/CodeUtils.java |   297 +-
 .../org/netbeans/modules/php/editor/NavUtils.java  |    18 +-
 .../modules/php/editor/PHPBracesMatcher.java       |   303 +-
 .../modules/php/editor/PHPCodeTemplateFilter.java  |    11 +-
 .../modules/php/editor/PhpEmbeddingProvider.java   |    21 +
 .../modules/php/editor/PredefinedSymbols.java      |    13 +-
 .../modules/php/editor/actions/FixUsesAction.java  |    60 +-
 .../php/editor/actions/FixUsesPerformer.java       |   214 +-
 .../php/editor/actions/ImportDataCreator.java      |    45 +-
 .../php/editor/actions/ImportModulePanel.java      |     6 +-
 .../php/editor/actions/InsertSemicolonAction.java  |     4 +-
 .../editor/actions/ToggleBlockCommentAction.java   |     5 +-
 .../php/editor/actions/UsedNamesCollector.java     |     8 +-
 .../modules/php/editor/api/PhpElementKind.java     |     2 +-
 .../php/editor/api/elements/AliasedClass.java      |     5 +
 .../php/editor/api/elements/AliasedFunction.java   |     7 +
 .../editor/api/elements/BaseFunctionElement.java   |     3 +
 .../php/editor/api/elements/ClassElement.java      |     3 +-
 .../modules/php/editor/codegen/CGSGenerator.java   |    34 +-
 .../modules/php/editor/codegen/CGSInfo.java        |    14 +
 .../modules/php/editor/codegen/CodegenUtils.java   |     3 +-
 .../editor/codegen/PHPCodeTemplateProcessor.java   |     7 +-
 .../modules/php/editor/codegen/Property.java       |     6 +
 .../codegen/SelectedPropertyMethodsCreator.java    |    14 +-
 .../modules/php/editor/codegen/SemiAttribute.java  |    40 +-
 .../codegen/SinglePropertyMethodCreator.java       |    61 +-
 .../php/editor/codegen/ui/TableGeneratorPanel.java |     2 +-
 .../editor/completion/CompletionContextFinder.java |   250 +-
 .../modules/php/editor/completion/DocRenderer.java |   581 +-
 .../php/editor/completion/PHPCodeCompletion.java   |   721 +-
 .../php/editor/completion/PHPCompletionItem.java   |   106 +-
 .../PhpTypeCompletionProviderWrapper.java          |     5 +-
 .../modules/php/editor/csl/FoldingScanner.java     |    15 +-
 .../modules/php/editor/csl/NavigatorScanner.java   |    11 +-
 .../modules/php/editor/csl/PHPTypeSearcher.java    |    12 +-
 .../modules/php/editor/csl/SemanticAnalysis.java   |   200 +-
 .../elements/BaseFunctionElementSupport.java       |    50 +-
 .../php/editor/elements/ClassElementImpl.java      |     6 +
 .../php/editor/elements/FieldElementImpl.java      |     7 +-
 .../php/editor/elements/FunctionElementImpl.java   |    10 +-
 .../php/editor/elements/IndexQueryImpl.java        |    74 +-
 .../php/editor/elements/MethodElementImpl.java     |     8 +-
 .../php/editor/elements/ParameterElementImpl.java  |     3 +-
 .../php/editor/elements/TraitElementImpl.java      |    13 +-
 .../php/editor/elements/TypeNameResolverImpl.java  |     6 +-
 .../php/editor/elements/TypeTreeElementImpl.java   |    37 +-
 .../php/editor/elements/VariableElementImpl.java   |     3 +-
 .../modules/php/editor/indent/CodeStyle.java       |    39 +
 .../modules/php/editor/indent/FmtOptions.java      |    17 +
 .../modules/php/editor/indent/FormatToken.java     |    13 +
 .../modules/php/editor/indent/FormatVisitor.java   |   576 +-
 .../modules/php/editor/indent/IndentUtils.java     |     5 +-
 .../php/editor/indent/IndentationCounter.java      |    63 +-
 .../modules/php/editor/indent/TokenFormatter.java  |   204 +-
 .../modules/php/editor/indent/ui/Braces.php        |     9 +
 .../modules/php/editor/indent/ui/Bundle.properties |    11 +-
 .../modules/php/editor/indent/ui/FmtAlignment.form |    21 +-
 .../modules/php/editor/indent/ui/FmtAlignment.java |    15 +-
 .../modules/php/editor/indent/ui/FmtBraces.form    |   981 +-
 .../modules/php/editor/indent/ui/FmtBraces.java    |   238 +-
 .../modules/php/editor/indent/ui/FmtSpaces.java    |     5 +-
 .../modules/php/editor/indent/ui/FmtUses.form      |    12 +-
 .../modules/php/editor/indent/ui/FmtUses.java      |    18 +-
 .../modules/php/editor/indent/ui/FmtWrapping.form  |   206 +-
 .../modules/php/editor/indent/ui/FmtWrapping.java  |   166 +-
 .../modules/php/editor/indent/ui/Spaces.php        |    35 +-
 .../netbeans/modules/php/editor/indent/ui/Uses.php |    18 +-
 .../modules/php/editor/indent/ui/Wrapping.php      |     3 +
 .../modules/php/editor/index/PHPIndexer.java       |     2 +-
 .../modules/php/editor/index/Signature.java        |     2 +-
 .../editor/lexer/DocumentorColoringScanner.java    |    41 -
 .../modules/php/editor/lexer/LexUtilities.java     |     8 +-
 .../php/editor/lexer/PHP5ColoringLexer.java        |  2836 +-
 .../modules/php/editor/lexer/PHPTokenId.java       |    11 +-
 .../modules/php/editor/lexer/StateStack.java       |   171 -
 .../modules/php/editor/model/GroupUseScope.java    |    52 +
 .../modules/php/editor/model/ModelUtils.java       |    18 +-
 .../modules/php/editor/model/NamespaceScope.java   |    21 +-
 .../php/editor/model/ParameterInfoSupport.java     |    19 +-
 .../modules/php/editor/model/UseScope.java         |     1 +
 .../php/editor/model/impl/ClassScopeImpl.java      |    60 +-
 .../php/editor/model/impl/EditorSupportImpl.java   |    94 +-
 .../php/editor/model/impl/FunctionScopeImpl.java   |   165 +-
 .../php/editor/model/impl/GroupUseScopeImpl.java   |    81 +
 .../php/editor/model/impl/MethodScopeImpl.java     |    10 +-
 .../php/editor/model/impl/ModelBuilder.java        |    37 +-
 .../php/editor/model/impl/ModelVisitor.java        |   254 +-
 .../php/editor/model/impl/NamespaceScopeImpl.java  |    44 +-
 .../php/editor/model/impl/OccurenceBuilder.java    |   728 +-
 .../modules/php/editor/model/impl/ScopeImpl.java   |     1 +
 .../php/editor/model/impl/TraitScopeImpl.java      |    39 +-
 .../modules/php/editor/model/impl/Type.java        |    26 +
 .../php/editor/model/impl/TypeScopeImpl.java       |    66 +-
 .../php/editor/model/impl/UseScopeImpl.java        |    36 +-
 .../php/editor/model/impl/VariousUtils.java        |   229 +-
 .../php/editor/model/nodes/ASTNodeInfo.java        |    39 +-
 .../model/nodes/ClassInstanceCreationInfo.java     |   142 +
 .../model/nodes/FunctionDeclarationInfo.java       |    17 +-
 .../model/nodes/GroupUseStatementPartInfo.java     |    72 +
 .../model/nodes/LambdaFunctionDeclarationInfo.java |    15 +-
 .../model/nodes/SingleUseStatementPartInfo.java    |   104 +
 .../editor/model/nodes/UseStatementPartInfo.java   |    68 -
 .../editor/nav/hierarchy/ClassHierarchyPanel.java  |    37 +-
 .../modules/php/editor/parser/ASTPHP5Parser.java   |  6307 ++--
 .../modules/php/editor/parser/ASTPHP5Scanner.java  |  2463 +-
 .../modules/php/editor/parser/ASTPHP5Symbols.java  |   284 +-
 .../php/editor/parser/EncodedActionTable1.java     |  8378 ++---
 .../php/editor/parser/EncodedActionTable2.java     |  6020 +--
 .../php/editor/parser/EncodedActionTable3.java     |  6698 ++--
 .../php/editor/parser/EncodedActionTable4.java     |  6234 ++--
 .../php/editor/parser/EncodedActionTable5.java     |  6952 ++--
 .../php/editor/parser/EncodedActionTable6.java     |  6816 ++--
 .../php/editor/parser/EncodedActionTable7.java     |  6944 ++--
 .../php/editor/parser/EncodedActionTable8.java     |  5348 ++-
 .../php/editor/parser/EncodedActionTable9.java     |  4335 +++
 .../modules/php/editor/parser/GSFPHPParser.java    |    34 +-
 .../php/editor/parser/PHP5ErrorHandlerImpl.java    |     4 +
 .../php/editor/parser/PHPDocCommentParser.java     |    79 +-
 .../php/editor/parser/PHPVarCommentParser.java     |     2 +-
 .../php/editor/parser/UnusedUsesCollector.java     |    78 +-
 .../netbeans/modules/php/editor/parser/Utils.java  |    12 +
 .../parser/astnodes/ClassInstanceCreation.java     |   141 +-
 .../parser/astnodes/ConditionalExpression.java     |    84 +-
 .../parser/astnodes/ConstantDeclaration.java       |     1 +
 .../parser/astnodes/ExpressionArrayAccess.java     |     1 +
 .../editor/parser/astnodes/ForEachStatement.java   |     6 +
 .../editor/parser/astnodes/FormalParameter.java    |     3 +
 .../parser/astnodes/FunctionDeclaration.java       |    40 +-
 .../parser/astnodes/GroupUseStatementPart.java     |   105 +
 .../editor/parser/astnodes/InfixExpression.java    |     3 +-
 .../parser/astnodes/LambdaFunctionDeclaration.java |    42 +-
 .../php/editor/parser/astnodes/Reference.java      |     4 +
 .../parser/astnodes/SingleUseStatementPart.java    |   118 +
 .../php/editor/parser/astnodes/StateStack.java     |   134 -
 .../parser/astnodes/StaticConstantAccess.java      |    17 +-
 .../php/editor/parser/astnodes/StaticDispatch.java |    23 +-
 .../php/editor/parser/astnodes/UseStatement.java   |    30 +-
 .../editor/parser/astnodes/UseStatementPart.java   |    56 +-
 .../editor/parser/astnodes/UseTraitStatement.java  |    10 +-
 .../php/editor/parser/astnodes/Visitor.java        |     6 +-
 .../parser/astnodes/YieldFromExpression.java       |    63 +
 .../astnodes/visitors/DefaultTreePathVisitor.java  |    20 +-
 .../parser/astnodes/visitors/DefaultVisitor.java   |    32 +-
 .../php/editor/resources/DefaultKeyBindings.xml    |     2 +-
 .../resources/PhpHierarchyTopComponentSettings.xml |    39 +
 .../resources/PhpHierarchyTopComponentWstcref.xml  |    39 +
 .../modules/php/editor/resources/fontsColors.xml   |    39 +
 .../modules/php/editor/resources/layer.xml         |   118 +-
 .../typinghooks/PhpCamelCaseInterceptor.java       |     2 +-
 .../editor/typinghooks/PhpCommentGenerator.java    |    48 +-
 .../typinghooks/PhpTypedBreakInterceptor.java      |   134 +-
 .../typinghooks/PhpTypedTextInterceptor.java       |     9 +-
 .../AbstractClassInstantiationHintError.java       |    10 +
 .../verification/AccidentalAssignmentHint.java     |    25 +
 .../verification/AddUseImportSuggestion.java       |    40 +-
 .../verification/AmbiguousComparisonHint.java      |    16 +
 .../editor/verification/ArraySyntaxSuggestion.java |    24 +-
 .../verification/AssignVariableSuggestion.java     |    22 +
 .../php/editor/verification/BracesHint.java        |    25 +
 .../ConstantRedeclarationHintError.java            |   132 +
 .../verification/EmptyGroupUseHintError.java       |   173 +
 .../editor/verification/EmptyStatementHint.java    |    24 +
 .../verification/ErrorControlOperatorHint.java     |    10 +
 .../verification/FieldRedeclarationHintError.java  |   137 +
 .../IdenticalComparisonSuggestion.java             |    13 +
 .../verification/ImmutableVariablesHint.java       |    61 +-
 .../ImplementAbstractMethodsHintError.java         |    72 +-
 .../IncorrectMixedGroupUseHintError.java           |   192 +
 .../verification/InitializeFieldSuggestion.java    |    44 +
 .../editor/verification/IntroduceSuggestion.java   |   263 +-
 .../LoopOnlyKeywordsUnhandledError.java            |    13 +
 .../verification/MethodRedeclarationHintError.java |    26 +
 .../verification/ModifiersCheckHintError.java      |    16 +
 .../php/editor/verification/NestedBlocksHint.java  |    32 +-
 .../editor/verification/PHP53UnhandledError.java   |    91 +-
 .../editor/verification/PHP54UnhandledError.java   |    83 +-
 .../editor/verification/PHP55UnhandledError.java   |    33 +-
 .../editor/verification/PHP56UnhandledError.java   |    59 +-
 .../editor/verification/PHP70UnhandledError.java   |   337 +
 .../php/editor/verification/PHPHintsProvider.java  |    52 +-
 .../modules/php/editor/verification/PSR0Hint.java  |    19 +
 .../modules/php/editor/verification/PSR1Hint.java  |    41 +-
 .../verification/ParentConstructorCallHint.java    |    13 +
 .../php/editor/verification/SuperglobalsHint.java  |    10 +
 .../php/editor/verification/TooManyLinesHint.java  |    29 +-
 .../verification/TooManyReturnStatementsHint.java  |    16 +
 .../verification/TypeRedeclarationHintError.java   |    13 +
 .../verification/UninitializedVariableHint.java    |    63 +-
 .../UnnecessaryClosingDelimiterHint.java           |     7 +-
 .../verification/UnreachableStatementHint.java     |    53 +-
 .../php/editor/verification/UnusedUsesHint.java    |    12 +-
 .../editor/verification/UnusedVariableHint.java    |   131 +-
 .../php/editor/verification/VarDocSuggestion.java  |     9 +-
 .../php/editor/verification/VerificationUtils.java |     6 +-
 .../editor/verification/WrongOrderOfArgsHint.java  |    32 +-
 .../editor/verification/WrongParamNameHint.java    |    23 +-
 .../src/org/netbeans/test/php/Commit.java          |     2 +-
 .../structure/anonymousClassInClassScope.pass      |    27 +
 .../structure/anonymousClassInNamespaceScope.pass  |    22 +
 .../structure/anonymousClassInTraitScope.pass      |    28 +
 .../lexer/PHP53FeaturesTest/lexer/elvis_01.pass    |    14 +
 .../lexer/PHP53FeaturesTest/lexer/elvis_02.pass    |    11 +
 .../lexer/PHP53FeaturesTest/lexer/elvis_03.pass    |    15 +
 .../lexer/PHP53FeaturesTest/lexer/elvis_04.pass    |    12 +
 .../lexer/PHP53FeaturesTest/lexer/elvis_05.pass    |    15 +
 .../lexer/PHP53FeaturesTest/lexer/elvis_06.pass    |    12 +
 .../lexer/PHP53FeaturesTest/lexer/heredoc_001.pass |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_002.pass |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_003.pass |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_004.pass |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_005.pass |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_006.pass |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_007.pass |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_008.pass |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_009.pass |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_010.pass |     4 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_011.pass |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_012.pass |     4 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_013.pass |     4 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_014.pass |     6 +-
 .../lexer/PHP53FeaturesTest/lexer/heredoc_015.pass |     4 +-
 .../lexer/PHP53FeaturesTest/lexer/issue225549.pass |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/jump01.pass      |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/jump02.pass      |     4 +-
 .../lexer/PHP53FeaturesTest/lexer/jump04.pass      |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/jump05.pass      |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/jump12.pass      |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_001.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_002.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_003.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_004.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_005.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_006.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_007.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_008.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_009.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_010.pass  |     4 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_011.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_012.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_013.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_014.pass  |     2 +-
 .../lexer/PHP53FeaturesTest/lexer/nowdoc_015.pass  |    12 +-
 .../PHP54FeaturesTest/lexer/binaryNotation_01.pass |     2 +-
 .../PHP54FeaturesTest/lexer/binaryNotation_02.pass |     2 +-
 .../PHP54FeaturesTest/lexer/binaryNotation_03.pass |     2 +-
 .../PHP54FeaturesTest/lexer/binaryNotation_04.pass |     2 +-
 .../lexer/shortArraysStaticScalar_01.pass          |     2 +-
 .../lexer/shortArraysStaticScalar_02.pass          |     2 +-
 .../PHP54FeaturesTest/lexer/shortArrays_01.pass    |     4 +-
 .../lexer/PHP70FeaturesTest/lexer/coalesce_01.pass |    13 +
 .../lexer/PHP70FeaturesTest/lexer/coalesce_02.pass |    10 +
 .../lexer/PHP70FeaturesTest/lexer/coalesce_03.pass |    17 +
 .../lexer/PHP70FeaturesTest/lexer/coalesce_04.pass |    13 +
 .../lexer/PHP70FeaturesTest/lexer/coalesce_05.pass |    10 +
 .../PHP70FeaturesTest/lexer/return_types_01.pass   |    15 +
 .../PHP70FeaturesTest/lexer/return_types_02.pass   |    15 +
 .../PHP70FeaturesTest/lexer/return_types_03.pass   |    43 +
 .../PHP70FeaturesTest/lexer/scalar_types_01.pass   |    86 +
 .../PHP70FeaturesTest/lexer/spaceship_01.pass      |    11 +
 .../PHP70FeaturesTest/lexer/spaceship_02.pass      |    25 +
 .../PHP70FeaturesTest/lexer/yield_from_01.pass     |    29 +
 .../PHP70FeaturesTest/lexer/yield_from_02.pass     |    35 +
 .../PHP70FeaturesTest/lexer/yield_from_03.pass     |    40 +
 .../PHP70FeaturesTest/lexer/yield_from_04.pass     |    38 +
 .../PHP70FeaturesTest/lexer/yield_from_05.pass     |    29 +
 .../PHP70FeaturesTest/lexer/yield_from_06.pass     |    24 +
 .../editor/lexer/PHPLexerTest/lexer/heredoc00.pass |    10 +-
 .../editor/lexer/PHPLexerTest/lexer/heredoc01.pass |     4 +-
 .../lexer/PHPLexerTest/lexer/heredoc_04.pass       |     2 +-
 .../lexer/PHPLexerTest/lexer/issue138261.pass      |     6 +-
 .../lexer/PHPLexerTest/lexer/issue144337.pass      |     4 +-
 .../lexer/PHPLexerTest/lexer/issue222092_01.pass   |     2 +-
 .../lexer/PHPLexerTest/lexer/issue222092_02.pass   |     2 +-
 .../lexer/PHPLexerTest/lexer/yieldKeyword.pass     |     4 +-
 .../ASTPHP5ParserTest/parser/TextSearchQuery.pass  |  2362 +-
 .../parser/anonymousClass_01.pass                  |  1424 +
 .../parser/anonymousObjectVariable.pass            |    64 +-
 .../parser/arrayDereferencing_01.pass              |    20 +-
 .../parser/arrayDereferencing_06.pass              |    20 +-
 .../parser/arrayDereferencing_07.pass              |    20 +-
 .../parser/arrayDereferencing_08.pass              |    66 +-
 .../parser/arrayDereferencing_09.pass              |    40 +-
 .../ASTPHP5ParserTest/parser/coalesce_01.pass      |    40 +
 .../ASTPHP5ParserTest/parser/coalesce_02.pass      |   103 +
 .../parser/constantArrayAccess_01.pass             |  1554 +
 .../parser/constantScalarExpressions_01.pass       |    54 +-
 .../parser/fieldArraysWithArrayDereferencing.pass  |    40 +-
 .../ASTPHP5ParserTest/parser/groupUse_01.pass      |    96 +
 .../ASTPHP5ParserTest/parser/groupUse_02.pass      |    92 +
 .../ASTPHP5ParserTest/parser/groupUse_03.pass      |    92 +
 .../ASTPHP5ParserTest/parser/groupUse_04.pass      |   131 +
 .../ASTPHP5ParserTest/parser/heredoc_006.pass      |    16 +-
 .../ASTPHP5ParserTest/parser/heredoc_007.pass      |    16 +-
 .../ASTPHP5ParserTest/parser/heredoc_011.pass      |     8 +-
 .../ASTPHP5ParserTest/parser/heredoc_015.pass      |    10 +-
 .../ASTPHP5ParserTest/parser/issue258959.pass      |  2303 ++
 .../ASTPHP5ParserTest/parser/listInForeach.pass    |   225 -
 .../ASTPHP5ParserTest/parser/listInForeach_01.pass |   225 +
 .../ASTPHP5ParserTest/parser/listInForeach_02.pass |   250 +
 .../parser/ASTPHP5ParserTest/parser/mixed01.pass   |    20 +-
 .../parser/ASTPHP5ParserTest/parser/mixed02.pass   |    20 +-
 .../ASTPHP5ParserTest/parser/nowdoc_011.pass       |     8 +-
 .../ASTPHP5ParserTest/parser/returnTypes_01.pass   |    47 +
 .../ASTPHP5ParserTest/parser/returnTypes_02.pass   |    45 +
 .../ASTPHP5ParserTest/parser/returnTypes_03.pass   |   128 +
 .../ASTPHP5ParserTest/parser/returnTypes_04.pass   |    75 +
 .../parser/ASTPHP5ParserTest/parser/simple01.pass  |    20 +-
 .../parser/ASTPHP5ParserTest/parser/simple02.pass  |    20 +-
 .../ASTPHP5ParserTest/parser/spaceship_01.pass     |    34 +
 .../ASTPHP5ParserTest/parser/spaceship_02.pass     |    84 +
 .../parser/staticExpressionCall_01.pass            |     8 +-
 .../parser/staticExpressionCall_02.pass            |     8 +-
 .../parser/testVariadicFunctions_02.pass           |   261 +
 .../parser/uniformVariableSyntax_01.pass           |   101 +
 .../parser/uniformVariableSyntax_02.pass           |    62 +
 .../parser/uniformVariableSyntax_03.pass           |    96 +
 .../parser/uniformVariableSyntax_04.pass           |   112 +
 .../parser/uniformVariableSyntax_05.pass           |   141 +
 .../parser/uniformVariableSyntax_06.pass           |   112 +
 .../parser/uniformVariableSyntax_07.pass           |   157 +
 .../parser/uniformVariableSyntax_08.pass           |    64 +
 .../parser/uniformVariableSyntax_09.pass           |    60 +
 .../parser/uniformVariableSyntax_10.pass           |    83 +
 .../parser/uniformVariableSyntax_11.pass           |    48 +
 .../parser/uniformVariableSyntax_12.pass           |    60 +
 .../parser/uniformVariableSyntax_13.pass           |    66 +
 .../parser/uniformVariableSyntax_14.pass           |    48 +
 .../parser/uniformVariableSyntax_15.pass           |    67 +
 .../parser/uniformVariableSyntax_16.pass           |    85 +
 .../parser/uniformVariableSyntax_17.pass           |    71 +
 .../parser/uniformVariableSyntax_18.pass           |    95 +
 .../parser/uniformVariableSyntax_19.pass           |    75 +
 .../parser/uniformVariableSyntax_20.pass           |    69 +
 .../parser/uniformVariableSyntax_23.pass           |   136 +
 .../parser/useFuncAndConst_01.pass                 |     8 +-
 .../parser/ASTPHP5ParserTest/parser/useGlobal.pass |     4 +-
 .../parser/useGlobalSubNamespace.pass              |     4 +-
 .../ASTPHP5ParserTest/parser/useNamespaceAs.pass   |     4 +-
 .../parser/ASTPHP5ParserTest/parser/useSimple.pass |     4 +-
 .../ASTPHP5ParserTest/parser/useSubNamespace.pass  |     4 +-
 .../ASTPHP5ParserTest/parser/yieldFrom_01.pass     |    94 +
 .../ASTPHP5ParserTest/parser/yieldFrom_02.pass     |   120 +
 .../ASTPHP5ParserTest/parser/yieldFrom_03.pass     |   141 +
 .../ASTPHP5ParserTest/parser/yieldFrom_05.pass     |    94 +
 .../ASTPHP5ParserTest/parser/yieldFrom_06.pass     |    62 +
 .../parser/ASTPHP5ParserTest/parser/yield_01.pass  |     2 +-
 .../parser/ASTPHP5ParserTest/parser/yield_02.pass  |     2 +-
 .../parser/ASTPHP5ParserTest/parser/yield_03.pass  |     2 +-
 .../parser/ASTPHP5ParserTest/parser/yield_04.pass  |     2 +-
 .../parser/ASTPHP5ParserTest/parser/yield_07.pass  |     2 +-
 .../PHPDocCommentParserTest/testIssue257869.pass   |     9 +
 .../PHPDocCommentParserTest/testIssue257953.pass   |    11 +
 .../SanitizeSourceTest/sanitize/curly05.pass       |    16 +-
 .../SanitizeSourceTest/sanitize/curly06.pass       |    16 +-
 .../SanitizeSourceTest/sanitize/curly07.pass       |    16 +-
 .../SanitizeSourceTest/sanitize/curly08.pass       |    16 +-
 .../SanitizeSourceTest/sanitize/sanitize007.pass   |    16 +-
 .../SanitizeSourceTest/sanitize/sanitize008.pass   |    16 +-
 .../actions/insertSemicolon/testInsert.php         |     7 +
 .../insertSemicolon/testInsert.php.insertSemicolon |     7 +
 .../actions/insertSemicolon/testInsertNewLine.php  |     7 +
 .../testInsertNewLine.php.insertSemicolon          |     8 +
 .../unit/data/testfiles/actions/issue209755.php    |    18 +
 .../testfiles/actions/issue209755.php.usedNames    |     2 +
 .../actions/testGroupUse/01/testGroupUse_01.php    |    66 +
 .../testGroupUse/01/testGroupUse_01.php.fixUses    |    64 +
 .../actions/testGroupUse/02/testGroupUse_02.php    |    66 +
 .../testGroupUse/02/testGroupUse_02.php.fixUses    |    63 +
 .../actions/testGroupUse/03/testGroupUse_03.php    |    73 +
 .../testGroupUse/03/testGroupUse_03.php.fixUses    |    63 +
 .../actions/testGroupUse/04/testGroupUse_04.php    |    66 +
 .../testGroupUse/04/testGroupUse_04.php.fixUses    |    63 +
 .../actions/testGroupUse/05/testGroupUse_05.php    |    66 +
 .../testGroupUse/05/testGroupUse_05.php.fixUses    |    63 +
 .../actions/testGroupUse/06/testGroupUse_06.php    |    62 +
 .../testGroupUse/06/testGroupUse_06.php.fixUses    |    64 +
 .../actions/testGroupUse/07/testGroupUse_07.php    |    40 +
 .../testGroupUse/07/testGroupUse_07.php.fixUses    |    42 +
 .../actions/testGroupUse/08/testGroupUse_08.php    |    40 +
 .../testGroupUse/08/testGroupUse_08.php.fixUses    |    42 +
 .../actions/testGroupUse/09/testGroupUse_09.php    |    40 +
 .../testGroupUse/09/testGroupUse_09.php.fixUses    |    42 +
 .../actions/testGroupUse/10/testGroupUse_10.php    |    40 +
 .../testGroupUse/10/testGroupUse_10.php.fixUses    |    42 +
 .../actions/testGroupUse/11/testGroupUse_11.php    |    41 +
 .../testGroupUse/11/testGroupUse_11.php.fixUses    |    42 +
 .../actions/testGroupUse/12/testGroupUse_12.php    |    44 +
 .../testGroupUse/12/testGroupUse_12.php.fixUses    |    50 +
 .../actions/testGroupUse/13/testGroupUse_13.php    |    41 +
 .../testGroupUse/13/testGroupUse_13.php.fixUses    |    38 +
 .../actions/testGroupUse/14/testGroupUse_14.php    |    41 +
 .../testGroupUse/14/testGroupUse_14.php.fixUses    |    47 +
 .../01/testGroupUseComplex_01.php                  |   117 +
 .../01/testGroupUseComplex_01.php.fixUses          |   120 +
 .../actions/testImportData/libs/nette.min.php      | 22446 ++++++++++++
 .../actions/testImportData/testImportData_01.php   |    25 +
 .../testImportData_01.php.importData               |    33 +
 .../actions/testImportData/testImportData_02.php   |    25 +
 .../testImportData_02.php.importData               |    32 +
 .../actions/testImportData/testImportData_03.php   |    25 +
 .../testImportData_03.php.importData               |    28 +
 .../actions/testImportData/testImportData_04.php   |    23 +
 .../testImportData_04.php.importData               |    18 +
 .../actions/testImportData/testImportData_05.php   |    25 +
 .../testImportData_05.php.importData               |    33 +
 .../actions/testImportData/testImportData_06.php   |    25 +
 .../testImportData_06.php.importData               |    33 +
 .../actions/testImportData/testImportData_07.php   |    17 +
 .../testImportData_07.php.importData               |    12 +
 .../actions/testImportData/testImportData_08.php   |    10 +
 .../testImportData_08.php.importData               |     7 +
 .../testImportData_09_issue209408.php              |    17 +
 .../testImportData_09_issue209408.php.importData   |    11 +
 .../testImportData/testImportData_issue227304.php  |    22 +
 .../testImportData_issue227304.php.importData      |    13 +
 .../testImportData/testImportData_issue246537a.php |    12 +
 .../testImportData_issue246537a.php.importData     |    13 +
 .../testImportData/testImportData_issue246537b.php |    17 +
 .../testImportData_issue246537b.php.importData     |    13 +
 .../testIssue210093/01/testIssue210093_01.php      |    18 +
 .../01/testIssue210093_01.php.fixUses              |    18 +
 .../testIssue210093/02/testIssue210093_02.php      |    18 +
 .../02/testIssue210093_02.php.fixUses              |    18 +
 .../testIssue211566/01/testIssue211566_01.php      |    22 +
 .../01/testIssue211566_01.php.fixUses              |    24 +
 .../testIssue211566/02/testIssue211566_02.php      |    22 +
 .../02/testIssue211566_02.php.fixUses              |    24 +
 .../testIssue211585/01/testIssue211585_01.php      |    17 +
 .../01/testIssue211585_01.php.fixUses              |    21 +
 .../testIssue211585/02/testIssue211585_02.php      |    17 +
 .../02/testIssue211585_02.php.fixUses              |    20 +
 .../testIssue211585/03/testIssue211585_03.php      |    17 +
 .../03/testIssue211585_03.php.fixUses              |    20 +
 .../actions/testIssue214699/testIssue214699.php    |    17 +
 .../testIssue214699/testIssue214699.php.fixUses    |    21 +
 .../testfiles/actions/testIssue222595/01/test.php  |    16 +
 .../testIssue222595/01/testIssue222595_01.php      |    28 +
 .../01/testIssue222595_01.php.fixUses              |    28 +
 .../testfiles/actions/testIssue222595/02/test.php  |    16 +
 .../testIssue222595/02/testIssue222595_02.php      |    28 +
 .../02/testIssue222595_02.php.fixUses              |    28 +
 .../testfiles/actions/testIssue222595/03/test.php  |    28 +
 .../testIssue222595/03/testIssue222595_03.php      |    16 +
 .../03/testIssue222595_03.php.fixUses              |    16 +
 .../testfiles/actions/testIssue222595/04/test.php  |    28 +
 .../testIssue222595/04/testIssue222595_04.php      |    16 +
 .../04/testIssue222595_04.php.fixUses              |    16 +
 .../actions/testIssue233527/SomeClass.php          |     7 +
 .../actions/testIssue233527/testIssue233527.php    |    14 +
 .../testIssue233527/testIssue233527.php.fixUses    |    16 +
 .../actions/testIssue238828/testIssue238828.php    |    32 +
 .../testIssue238828/testIssue238828.php.fixUses    |    34 +
 .../testfiles/actions/testIssue243271/01/data.php  |     5 +
 .../testIssue243271/01/testIssue243271_01.php      |    12 +
 .../01/testIssue243271_01.php.fixUses              |    12 +
 .../testfiles/actions/testIssue243271/02/data.php  |     5 +
 .../testIssue243271/02/testIssue243271_02.php      |    12 +
 .../02/testIssue243271_02.php.fixUses              |    12 +
 .../testIssue249140/01/testIssue249140_01.php      |     6 +
 .../01/testIssue249140_01.php.fixUses              |     6 +
 .../testIssue249140/02/testIssue249140_02.php      |     8 +
 .../02/testIssue249140_02.php.fixUses              |     8 +
 .../actions/testUseFuncAndConst/01/test.php        |    10 +
 .../01/testUseFuncAndConst_01.php                  |    22 +
 .../01/testUseFuncAndConst_01.php.fixUses          |    22 +
 .../actions/testUseFuncAndConst/02/test.php        |    10 +
 .../02/testUseFuncAndConst_02.php                  |    22 +
 .../02/testUseFuncAndConst_02.php.fixUses          |    22 +
 .../actions/testUseFuncAndConst/03/test.php        |    10 +
 .../03/testUseFuncAndConst_03.php                  |    18 +
 .../03/testUseFuncAndConst_03.php.fixUses          |    20 +
 .../actions/testUseFuncAndConst/04/test.php        |    10 +
 .../04/testUseFuncAndConst_04.php                  |    18 +
 .../04/testUseFuncAndConst_04.php.fixUses          |    18 +
 .../actions/testUseFuncAndConst/05/test.php        |    10 +
 .../05/testUseFuncAndConst_05.php                  |    18 +
 .../05/testUseFuncAndConst_05.php.fixUses          |    20 +
 .../actions/toggleComment/issue198269_01.php       |    12 +
 .../toggleComment/issue198269_01.php.toggleComment |    12 +
 .../actions/toggleComment/issue198269_02.php       |    12 +
 .../toggleComment/issue198269_02.php.toggleComment |    12 +
 .../actions/toggleComment/issue198269_03.php       |    13 +
 .../toggleComment/issue198269_03.php.toggleComment |    13 +
 .../actions/toggleComment/issue198269_04.php       |    13 +
 .../toggleComment/issue198269_04.php.toggleComment |    13 +
 .../actions/toggleComment/issue207153.php          |    17 +
 .../toggleComment/issue207153.php.toggleComment    |    17 +
 .../actions/toggleComment/issue213706_01.php       |     1 +
 .../toggleComment/issue213706_01.php.toggleComment |     1 +
 .../actions/toggleComment/issue213706_02.php       |     1 +
 .../toggleComment/issue213706_02.php.toggleComment |     1 +
 .../actions/toggleComment/issue213706_03.php       |     1 +
 .../toggleComment/issue213706_03.php.toggleComment |     1 +
 .../actions/toggleComment/issue218830_01.php       |    10 +
 .../toggleComment/issue218830_01.php.toggleComment |    10 +
 .../actions/toggleComment/issue218830_02.php       |    10 +
 .../toggleComment/issue218830_02.php.toggleComment |    10 +
 .../actions/toggleComment/issue218830_03.php       |    10 +
 .../toggleComment/issue218830_03.php.toggleComment |    10 +
 .../actions/toggleComment/issue218830_04.php       |    10 +
 .../toggleComment/issue218830_04.php.toggleComment |    10 +
 .../actions/toggleComment/issue218830_05.php       |    10 +
 .../toggleComment/issue218830_05.php.toggleComment |    10 +
 .../actions/toggleComment/issue228731_01.php       |    15 +
 .../toggleComment/issue228731_01.php.toggleComment |    15 +
 .../actions/toggleComment/issue228731_02.php       |    15 +
 .../toggleComment/issue228731_02.php.toggleComment |    15 +
 .../actions/toggleComment/issue228731_03.php       |    15 +
 .../toggleComment/issue228731_03.php.toggleComment |    15 +
 .../actions/toggleComment/issue228731_04.php       |    15 +
 .../toggleComment/issue228731_04.php.toggleComment |    15 +
 .../actions/toggleComment/issue228731_05.php       |    15 +
 .../toggleComment/issue228731_05.php.toggleComment |    15 +
 .../actions/toggleComment/issue228731_06.php       |    15 +
 .../toggleComment/issue228731_06.php.toggleComment |    15 +
 .../actions/toggleComment/issue228768_01.php       |     4 +
 .../toggleComment/issue228768_01.php.toggleComment |     4 +
 .../actions/toggleComment/issue228768_02.php       |     4 +
 .../toggleComment/issue228768_02.php.toggleComment |     4 +
 .../actions/toggleComment/issue228768_03.php       |     4 +
 .../toggleComment/issue228768_03.php.toggleComment |     4 +
 .../actions/toggleComment/issue228768_04.php       |     4 +
 .../toggleComment/issue228768_04.php.toggleComment |     4 +
 .../actions/toggleComment/issue228768_05.php       |     4 +
 .../toggleComment/issue228768_05.php.toggleComment |     4 +
 .../actions/toggleComment/issue228768_06.php       |     4 +
 .../toggleComment/issue228768_06.php.toggleComment |     4 +
 .../actions/toggleComment/issue231715_01.php       |     5 +
 .../toggleComment/issue231715_01.php.toggleComment |     5 +
 .../actions/toggleComment/issue231715_02.php       |     8 +
 .../toggleComment/issue231715_02.php.toggleComment |     8 +
 .../actions/toggleComment/issue231715_03.php       |     5 +
 .../toggleComment/issue231715_03.php.toggleComment |     5 +
 .../unit/data/testfiles/actions/useCase_01.php     |    25 +
 .../testfiles/actions/useCase_01.php.usedNames     |     8 +
 .../unit/data/testfiles/actions/useCase_02.php     |    21 +
 .../testfiles/actions/useCase_02.php.usedNames     |    10 +
 .../unit/data/testfiles/actions/useCase_03.php     |    23 +
 .../testfiles/actions/useCase_03.php.usedNames     |     8 +
 .../unit/data/testfiles/actions/useCase_04.php     |    29 +
 .../testfiles/actions/useCase_04.php.usedNames     |     9 +
 .../unit/data/testfiles/actions/useCase_05.php     |    29 +
 .../testfiles/actions/useCase_05.php.usedNames     |     8 +
 .../unit/data/testfiles/actions/useCase_06.php     |    17 +
 .../testfiles/actions/useCase_06.php.usedNames     |     4 +
 .../unit/data/testfiles/actions/useCase_07.php     |    21 +
 .../testfiles/actions/useCase_07.php.usedNames     |     3 +
 .../unit/data/testfiles/actions/useCase_08.php     |    21 +
 .../testfiles/actions/useCase_08.php.usedNames     |     3 +
 php.editor/test/unit/data/testfiles/animalTest.php |    86 +
 .../test/unit/data/testfiles/animalTest2.php       |    52 +
 .../data/testfiles/anonymousClass_01.php.folds     |    97 +
 php.editor/test/unit/data/testfiles/arrays1.php    |     5 +
 .../testfiles/bracematching/braceContextTest.php   |   130 +
 ...ContextTest.php.testFindContext_01.bracecontext |   130 +
 ...ContextTest.php.testFindContext_02.bracecontext |   130 +
 ...ContextTest.php.testFindContext_03.bracecontext |   130 +
 ...ContextTest.php.testFindContext_04.bracecontext |   130 +
 ...ContextTest.php.testFindContext_05.bracecontext |   130 +
 ...ContextTest.php.testFindContext_06.bracecontext |   130 +
 ...ContextTest.php.testFindContext_07.bracecontext |   130 +
 ...ContextTest.php.testFindContext_08.bracecontext |   130 +
 ...ContextTest.php.testFindContext_09.bracecontext |   130 +
 ...ContextTest.php.testFindContext_10.bracecontext |   130 +
 ...ContextTest.php.testFindContext_11.bracecontext |   130 +
 ...ContextTest.php.testFindContext_12.bracecontext |   130 +
 ...ContextTest.php.testFindContext_13.bracecontext |   130 +
 ...ContextTest.php.testFindContext_14.bracecontext |   130 +
 ...ContextTest.php.testFindContext_15.bracecontext |   130 +
 ...ContextTest.php.testFindContext_16.bracecontext |   130 +
 ...ContextTest.php.testFindContext_17.bracecontext |   130 +
 ...ContextTest.php.testFindContext_18.bracecontext |   130 +
 ...ContextTest.php.testFindContext_19.bracecontext |   130 +
 ...ContextTest.php.testFindContext_20.bracecontext |   130 +
 ...ContextTest.php.testFindContext_21.bracecontext |   130 +
 ...ContextTest.php.testFindContext_22.bracecontext |   130 +
 ...ContextTest.php.testFindContext_23.bracecontext |   130 +
 ...ContextTest.php.testFindContext_24.bracecontext |   130 +
 ...ContextTest.php.testFindContext_25.bracecontext |   130 +
 ...ContextTest.php.testFindContext_26.bracecontext |   130 +
 ...ContextTest.php.testFindContext_27.bracecontext |   130 +
 ...ContextTest.php.testFindContext_28.bracecontext |   130 +
 .../bracematching/braceContextUseTraitTest.php     |    15 +
 ...seTraitTest.php.testFindContext_29.bracecontext |    15 +
 .../alternativeSyntaxForEach_01.php                |     5 +
 .../alternativeSyntaxForEach_01.php.indented       |     7 +
 .../alternativeSyntaxForEach_02.php                |     5 +
 .../alternativeSyntaxForEach_02.php.indented       |     6 +
 .../bracketCompleter/alternativeSyntaxFor_01.php   |     3 +
 .../alternativeSyntaxFor_01.php.indented           |     5 +
 .../bracketCompleter/alternativeSyntaxFor_02.php   |     5 +
 .../alternativeSyntaxFor_02.php.indented           |     6 +
 .../bracketCompleter/alternativeSyntaxFor_03.php   |     5 +
 .../alternativeSyntaxFor_03.php.indented           |     6 +
 .../bracketCompleter/alternativeSyntaxFor_04.php   |     6 +
 .../alternativeSyntaxFor_04.php.indented           |     7 +
 .../bracketCompleter/alternativeSyntaxIf_01.php    |     3 +
 .../alternativeSyntaxIf_01.php.indented            |     5 +
 .../bracketCompleter/alternativeSyntaxIf_02.php    |     4 +
 .../alternativeSyntaxIf_02.php.indented            |     5 +
 .../bracketCompleter/alternativeSyntaxIf_03.php    |     5 +
 .../alternativeSyntaxIf_03.php.indented            |     7 +
 .../bracketCompleter/alternativeSyntaxIf_04.php    |     6 +
 .../alternativeSyntaxIf_04.php.indented            |     7 +
 .../bracketCompleter/alternativeSyntaxIf_05.php    |    15 +
 .../alternativeSyntaxIf_05.php.indented            |    17 +
 .../bracketCompleter/alternativeSyntaxIf_06.php    |    16 +
 .../alternativeSyntaxIf_06.php.indented            |    17 +
 .../alternativeSyntaxSwitch_01.php                 |     4 +
 .../alternativeSyntaxSwitch_01.php.indented        |     6 +
 .../alternativeSyntaxSwitch_02.php                 |     5 +
 .../alternativeSyntaxSwitch_02.php.indented        |     6 +
 .../alternativeSyntaxSwitch_03.php                 |     6 +
 .../alternativeSyntaxSwitch_03.php.indented        |     7 +
 .../bracketCompleter/alternativeSyntaxWhile_01.php |     4 +
 .../alternativeSyntaxWhile_01.php.indented         |     6 +
 .../bracketCompleter/alternativeSyntaxWhile_02.php |     4 +
 .../alternativeSyntaxWhile_02.php.indented         |     5 +
 .../bracketCompleter/alternativeSyntaxWhile_03.php |     4 +
 .../alternativeSyntaxWhile_03.php.indented         |     6 +
 .../testfiles/bracketCompleter/issue166424_01.php  |     2 +
 .../bracketCompleter/issue166424_01.php.indented   |     5 +
 .../testfiles/bracketCompleter/issue166424_02.php  |     2 +
 .../bracketCompleter/issue166424_02.php.indented   |     5 +
 .../testfiles/bracketCompleter/issue166424_03.php  |     2 +
 .../bracketCompleter/issue166424_03.php.indented   |     4 +
 .../testfiles/bracketCompleter/issue167816_01.php  |     2 +
 .../bracketCompleter/issue167816_01.php.indented   |     5 +
 .../testfiles/bracketCompleter/issue167816_02.php  |     2 +
 .../bracketCompleter/issue167816_02.php.indented   |     5 +
 .../testfiles/bracketCompleter/issue170779_01.php  |    11 +
 .../testfiles/bracketCompleter/issue170779_02.php  |     0
 .../testfiles/bracketCompleter/issue170779_03.php  |     0
 .../testfiles/bracketCompleter/issue170779_04.php  |     0
 .../testfiles/bracketCompleter/issue191856_01.php  |    24 +
 .../bracketCompleter/issue191856_01.php.indented   |    25 +
 .../testfiles/bracketCompleter/issue191892_01.php  |     7 +
 .../bracketCompleter/issue191892_01.php.indented   |     9 +
 .../testfiles/bracketCompleter/issue193118_01.php  |     8 +
 .../bracketCompleter/issue193118_01.php.indented   |    10 +
 .../testfiles/bracketCompleter/issue193118_02.php  |     8 +
 .../bracketCompleter/issue193118_02.php.indented   |    10 +
 .../testfiles/bracketCompleter/issue195771_01.php  |     1 +
 .../bracketCompleter/issue195771_01.php.indented   |     4 +
 .../testfiles/bracketCompleter/issue195771_02.php  |     1 +
 .../bracketCompleter/issue195771_02.php.indented   |     4 +
 .../testfiles/bracketCompleter/issue195771_03.php  |     5 +
 .../bracketCompleter/issue195771_03.php.indented   |     6 +
 .../testfiles/bracketCompleter/issue195771_04.php  |     1 +
 .../bracketCompleter/issue195771_04.php.indented   |     4 +
 .../testfiles/bracketCompleter/issue195771_05.php  |     1 +
 .../bracketCompleter/issue195771_05.php.indented   |     4 +
 .../testfiles/bracketCompleter/issue195771_06.php  |     1 +
 .../bracketCompleter/issue195771_06.php.indented   |     4 +
 .../testfiles/bracketCompleter/issue195771_07.php  |     1 +
 .../bracketCompleter/issue195771_07.php.indented   |     4 +
 .../testfiles/bracketCompleter/issue196596_01.php  |     6 +
 .../bracketCompleter/issue196596_01.php.indented   |     7 +
 .../testfiles/bracketCompleter/issue196596_02.php  |     6 +
 .../bracketCompleter/issue196596_02.php.indented   |     7 +
 .../testfiles/bracketCompleter/issue196596_03.php  |     6 +
 .../bracketCompleter/issue196596_03.php.indented   |     7 +
 .../testfiles/bracketCompleter/issue196596_04.php  |     6 +
 .../bracketCompleter/issue196596_04.php.indented   |     7 +
 .../testfiles/bracketCompleter/issue197924_01.php  |     8 +
 .../bracketCompleter/issue197924_01.php.indented   |    11 +
 .../testfiles/bracketCompleter/issue197924_02.php  |     8 +
 .../bracketCompleter/issue197924_02.php.indented   |    11 +
 .../testfiles/bracketCompleter/issue202362_01.php  |    14 +
 .../bracketCompleter/issue202362_01.php.indented   |    15 +
 .../testfiles/bracketCompleter/issue202362_02.php  |    14 +
 .../bracketCompleter/issue202362_02.php.indented   |    15 +
 .../testfiles/bracketCompleter/issue202362_03.php  |    14 +
 .../bracketCompleter/issue202362_03.php.indented   |    16 +
 .../testfiles/bracketCompleter/issue202362_04.php  |    14 +
 .../bracketCompleter/issue202362_04.php.indented   |    16 +
 .../testfiles/bracketCompleter/issue202770_01.php  |     6 +
 .../bracketCompleter/issue202770_01.php.indented   |     8 +
 .../testfiles/bracketCompleter/issue202770_02.php  |    14 +
 .../bracketCompleter/issue202770_02.php.indented   |    16 +
 .../testfiles/bracketCompleter/issue202770_03.php  |    14 +
 .../bracketCompleter/issue202770_03.php.indented   |    16 +
 .../testfiles/bracketCompleter/issue202770_04.php  |    23 +
 .../bracketCompleter/issue202770_04.php.indented   |    25 +
 .../testfiles/bracketCompleter/issue203513.php     |     8 +
 .../bracketCompleter/issue203513.php.indented      |    10 +
 .../testfiles/bracketCompleter/issue211394_01.php  |     5 +
 .../bracketCompleter/issue211394_01.php.indented   |     6 +
 .../testfiles/bracketCompleter/issue211394_02.php  |     5 +
 .../bracketCompleter/issue211394_02.php.indented   |     6 +
 .../testfiles/bracketCompleter/issue211394_03.php  |     5 +
 .../bracketCompleter/issue211394_03.php.indented   |     6 +
 .../testClassPropertyGetter.php                    |     9 +
 ...pertyGetter.php.testClassPropertyGetter.codegen |     4 +
 .../testClassPropertyGetterWithoutPublic.php       |     9 +
 ...hp.testClassPropertyGetterWithoutPublic.codegen |     4 +
 .../testClassPropertySetter.php                    |     9 +
 ...pertySetter.php.testClassPropertySetter.codegen |     4 +
 .../testClassPropertySetterWithFluentInterface.php |     9 +
 ...tClassPropertySetterWithFluentInterface.codegen |     5 +
 .../testClassPropertySetterWithoutPublic.php       |     9 +
 ...hp.testClassPropertySetterWithoutPublic.codegen |     4 +
 .../testGetterWithMoreTypes.php                    |    11 +
 ...oreTypes.php.testGetterWithMoreTypes_01.codegen |     4 +
 ...oreTypes.php.testGetterWithMoreTypes_02.codegen |     4 +
 .../testGetterWithType/testGetterWithType.php      |    10 +
 ...etterWithType.php.testGetterWithType_01.codegen |     4 +
 ...etterWithType.php.testGetterWithType_02.codegen |     4 +
 .../testInstanceImplementMethod.php                |     9 +
 ...thod.php.testInstanceImplementMethod_01.codegen |     2 +
 ...thod.php.testInstanceImplementMethod_02.codegen |     2 +
 .../testInstanceOverrideMethod.php                 |     9 +
 ...ethod.php.testInstanceOverrideMethod_01.codegen |     3 +
 ...ethod.php.testInstanceOverrideMethod_02.codegen |     3 +
 .../testInstancePropertyGetter.php                 |     9 +
 ...tyGetter.php.testInstancePropertyGetter.codegen |     4 +
 .../testInstancePropertySetter.php                 |     9 +
 ...tySetter.php.testInstancePropertySetter.codegen |     4 +
 ...stInstancePropertySetterWithFluentInterface.php |     9 +
 ...stancePropertySetterWithFluentInterface.codegen |     5 +
 .../codegen/testIssue267227/testIssue267227.php    |    32 +
 .../testIssue267227.php.testIssue267227.codegen    |     6 +
 .../completion/documentation/arrayReturnType.php   |    14 +
 .../arrayReturnType.php.testArrayReturnType.html   |     9 +
 .../completion/documentation/fieldVar.php          |    43 +
 .../fieldVar.php.testFieldWithDesc.html            |    11 +
 .../fieldVar.php.testFieldWithDescAndArray.html    |    11 +
 .../fieldVar.php.testFieldWithoutDesc.html         |     9 +
 .../fieldVar.php.testFieldWithoutDescAndArray.html |     9 +
 .../functionWithArrayParamWithoutDesc.php          |    12 +
 ....php.testFunctionWithArrayParamWithoutDesc.html |    11 +
 .../functionWithArrayReturnWithoutDesc.php         |    12 +
 ...php.testFunctionWithArrayReturnWithoutDesc.html |     9 +
 .../completion/documentation/inheritdoc.php        |   193 +
 ...itdoc.php.testInheritdocChildMethodOnlyTag.html |    13 +
 .../inheritdoc.php.testInheritdocClassOnlyTag.html |    11 +
 ...itdoc.php.testInheritdocClassWithInlineTag.html |     9 +
 ...p.testInheritdocGrandchildMethodOnlyTag_01.html |    13 +
 ...p.testInheritdocGrandchildMethodOnlyTag_02.html |     9 +
 ...eritdoc.php.testInheritdocInterfaceOnlyTag.html |    11 +
 ...c.php.testInheritdocInterfaceWithInlineTag.html |     9 +
 ...tdoc.php.testInheritdocMethodWithInlineTag.html |    13 +
 ...doc.php.testInheritdocMethodWithInvalidTag.html |    10 +
 ...c.php.testInheritdocMethodWithMissingParam.html |    13 +
 .../inheritdoc.php.testInheritdocNoDocMethod.html  |     6 +
 .../inheritdoc.php.testInheritdocNoTagMethod.html  |    14 +
 .../completion/documentation/issue197696.php       |    18 +
 .../documentation/issue197696.php.test197696.html  |     6 +
 .../completion/documentation/issue207952.php       |    23 +
 .../issue207952.php.testIssue207952_01.html        |    13 +
 .../issue207952.php.testIssue207952_02.html        |    15 +
 .../completion/documentation/issue207952_nonNs.php |    23 +
 .../issue207952_nonNs.php.testIssue207952_03.html  |    13 +
 .../issue207952_nonNs.php.testIssue207952_04.html  |    15 +
 .../completion/documentation/issue215408.php       |    10 +
 .../issue215408.php.testIssue215408.html           |     6 +
 .../completion/documentation/issue245158.php       |    29 +
 .../issue245158.php.testIssue245158_01.html        |    11 +
 .../issue245158.php.testIssue245158_02.html        |    11 +
 .../completion/documentation/propertyWithArray.php |    13 +
 ...ropertyWithArray.php.testPropertyWithArray.html |     6 +
 .../completion/lib/_base/catchinstanceof.php       |    12 +
 .../catchinstanceof.php.testTypeInCatch.completion |     4 +
 .../lib/_base/classConstructorOptionalParam.php    |    30 +
 ...testClassConstructorOptionalParam_01.completion |    12 +
 .../lib/_base/class_member_visibility.php          |    23 +
 ...ility.php.testClassMemberVisibility1.completion |     5 +
 ...ility.php.testClassMemberVisibility2.completion |     7 +
 ...ility.php.testClassMemberVisibility3.completion |     5 +
 .../completion/lib/_base/clsDeclaration.php        |     8 +
 ...lsDeclaration.php.testClsDeclaration.completion |     3 +
 ...Declaration.php.testClsDeclaration_1.completion |     3 +
 ...Declaration.php.testClsDeclaration_2.completion |     3 +
 ...Declaration.php.testClsDeclaration_3.completion |     6 +
 ...Declaration.php.testClsDeclaration_4.completion |     5 +
 ...Declaration.php.testClsDeclaration_5.completion |     3 +
 ...Declaration.php.testClsDeclaration_6.completion |     6 +
 ...Declaration.php.testClsDeclaration_7.completion |     6 +
 ...Declaration.php.testClsDeclaration_8.completion |     5 +
 .../completion/lib/_base/clsDeclaration02.php      |    17 +
 ...laration02.php.testClsDeclaration_10.completion |    89 +
 ...laration02.php.testClsDeclaration_11.completion |    14 +
 ...laration02.php.testClsDeclaration_12.completion |    14 +
 ...laration02.php.testClsDeclaration_13.completion |    89 +
 ...claration02.php.testClsDeclaration_9.completion |    89 +
 .../testfiles/completion/lib/_base/comments.php    |    11 +
 .../_base/comments.php.testComments1.completion    |     3 +
 .../_base/comments.php.testComments2.completion    |     3 +
 .../completion/lib/_base/function_return_type.php  |    32 +
 ...urn_type.php.testFunctionReturnType1.completion |     6 +
 ...urn_type.php.testFunctionReturnType2.completion |     6 +
 ...urn_type.php.testFunctionReturnType3.completion |     6 +
 .../testfiles/completion/lib/_base/insideClass.php |    20 +
 .../insideClass.php.testInsideClass.completion     |     5 +
 .../insideClass.php.testInsideClass_1.completion   |     5 +
 .../insideClass.php.testInsideClass_2.completion   |    16 +
 .../insideClass.php.testInsideClass_3.completion   |     4 +
 .../insideClass.php.testInsideClass_4.completion   |     3 +
 .../insideClass.php.testInsideClass_5.completion   |     3 +
 .../insideClass.php.testInsideClass_6.completion   |     4 +
 .../insideClass.php.testInsideClass_7.completion   |     5 +
 .../insideClass.php.testInsideClass_8.completion   |     6 +
 .../completion/lib/_base/insideClass2.php          |    24 +
 .../insideClass2.php.testInsideClassAdv.completion |     5 +
 ...nsideClass2.php.testInsideClassAdv_1.completion |     6 +
 ...nsideClass2.php.testInsideClassAdv_2.completion |     6 +
 ...nsideClass2.php.testInsideClassAdv_3.completion |     4 +
 ...nsideClass2.php.testInsideClassAdv_4.completion |     5 +
 .../completion/lib/_base/insideClass3.php          |    12 +
 .../insideClass3.php.testInsideClass_10.completion |     5 +
 .../insideClass3.php.testInsideClass_11.completion |     5 +
 .../insideClass3.php.testInsideClass_9.completion  |     5 +
 .../completion/lib/_base/insideInterface.php       |    13 +
 ...ideInterface.php.testInsideInterface.completion |     5 +
 ...eInterface.php.testInsideInterface_1.completion |     5 +
 ...Interface.php.testInsideInterface_10.completion |     6 +
 ...Interface.php.testInsideInterface_11.completion |     5 +
 ...Interface.php.testInsideInterface_12.completion |     6 +
 ...Interface.php.testInsideInterface_13.completion |     8 +
 ...Interface.php.testInsideInterface_14.completion |     8 +
 ...eInterface.php.testInsideInterface_2.completion |     5 +
 ...eInterface.php.testInsideInterface_3.completion |     5 +
 ...eInterface.php.testInsideInterface_4.completion |     5 +
 ...eInterface.php.testInsideInterface_5.completion |     5 +
 ...eInterface.php.testInsideInterface_6.completion |     5 +
 ...eInterface.php.testInsideInterface_7.completion |     5 +
 ...eInterface.php.testInsideInterface_9.completion |     5 +
 .../testfiles/completion/lib/_base/interfaces.php  |    13 +
 .../interfaces.php.testInterfaces1.completion      |     5 +
 .../testfiles/completion/lib/_base/issue132294.php |     5 +
 .../_base/issue132294.php.test132294.completion    |     4 +
 .../_base/issue132294.php.test132294_1.completion  |     4 +
 .../testfiles/completion/lib/_base/issue135618.php |    13 +
 .../_base/issue135618.php.test135618.completion    |     6 +
 .../_base/issue135618.php.test135618_1.completion  |     6 +
 .../_base/issue135618.php.test135618_2.completion  |     5 +
 .../testfiles/completion/lib/_base/issue136092.php |     9 +
 ...e136092.php.test136092_withReference.completion |     4 +
 ...6092.php.test136092_withoutReference.completion |     4 +
 .../testfiles/completion/lib/_base/issue136188.php |    16 +
 .../_base/issue136188.php.test136188.completion    |     5 +
 .../_base/issue136188.php.test136188_1.completion  |     5 +
 .../_base/issue136188.php.test136188_2.completion  |     5 +
 .../_base/issue136188.php.test136188_3.completion  |     4 +
 .../_base/issue136188.php.test136188_4.completion  |     4 +
 .../testfiles/completion/lib/_base/issue136744.php |    20 +
 .../_base/issue136744.php.test136744_2.completion  |     3 +
 .../_base/issue136744.php.test136744_3.completion  |     4 +
 .../_base/issue136744.php.test136744_4.completion  |     3 +
 .../testfiles/completion/lib/_base/issue137033.php |     5 +
 .../_base/issue137033.php.test137033_1.completion  |     3 +
 .../_base/issue137033.php.test137033_2.completion  |     3 +
 .../testfiles/completion/lib/_base/issue140633.php |     4 +
 .../_base/issue140633.php.test140633.completion    |     5 +
 .../testfiles/completion/lib/_base/issue140758.php |     4 +
 .../_base/issue140758.php.test140758.completion    |    36 +
 .../_base/issue140758.php.test140758_1.completion  |    36 +
 .../testfiles/completion/lib/_base/issue140784.php |    23 +
 .../_base/issue140784.php.test140784.completion    |     5 +
 .../testfiles/completion/lib/_base/issue141999.php |    13 +
 .../_base/issue141999.php.test141999.completion    |     4 +
 .../testfiles/completion/lib/_base/issue142024.php |    14 +
 .../_base/issue142024.php.test142024.completion    |     5 +
 .../testfiles/completion/lib/_base/issue142051.php |    15 +
 .../_base/issue142051.php.test142051.completion    |     4 +
 .../_base/issue142051.php.test142051_1.completion  |     4 +
 .../testfiles/completion/lib/_base/issue142091.php |    10 +
 .../_base/issue142091.php.test142091.completion    |     4 +
 .../_base/issue142091.php.test142091_1.completion  |     4 +
 .../testfiles/completion/lib/_base/issue142234.php |    13 +
 .../_base/issue142234.php.test142234.completion    |     3 +
 .../_base/issue142234.php.test142234_1.completion  |     5 +
 .../testfiles/completion/lib/_base/issue142919.php |    12 +
 .../_base/issue142919.php.test142919.completion    |     6 +
 .../testfiles/completion/lib/_base/issue144409.php |    13 +
 .../_base/issue144409.php.test144409.completion    |     4 +
 .../testfiles/completion/lib/_base/issue144830.php |     8 +
 .../_base/issue144830.php.test144830.completion    |     5 +
 .../completion/lib/_base/issue144840_01.php        |    11 +
 ...ssue144840_01.php.testIssue144840_01.completion |     5 +
 .../testfiles/completion/lib/_base/issue145138.php |     9 +
 .../_base/issue145138.php.test145138_1.completion  |     4 +
 .../_base/issue145138.php.test145138_2.completion  |     4 +
 .../testfiles/completion/lib/_base/issue145206.php |    17 +
 .../_base/issue145206.php.test145206_1.completion  |     5 +
 .../_base/issue145206.php.test145206_2.completion  |     5 +
 .../_base/issue145206.php.test145206_3.completion  |     5 +
 .../_base/issue145206.php.test145206_4.completion  |     5 +
 .../testfiles/completion/lib/_base/issue145692.php |    13 +
 .../_base/issue145692.php.test145692.completion    |     4 +
 .../testfiles/completion/lib/_base/issue146176.php |     8 +
 .../_base/issue146176.php.test146176.completion    |     3 +
 .../testfiles/completion/lib/_base/issue146187.php |    17 +
 .../_base/issue146187.php.test146187.completion    |     5 +
 .../testfiles/completion/lib/_base/issue146648.php |     8 +
 .../_base/issue146648.php.test146648_1.completion  |     5 +
 .../testfiles/completion/lib/_base/issue147055.php |     3 +
 .../_base/issue147055.php.test147055.completion    |     3 +
 .../testfiles/completion/lib/_base/issue147179.php |     9 +
 .../_base/issue147179.php.test147179_1.completion  |     5 +
 .../_base/issue147179.php.test147179_2.completion  |     5 +
 .../testfiles/completion/lib/_base/issue147191.php |    13 +
 .../_base/issue147191.php.test147191.completion    |     5 +
 .../testfiles/completion/lib/_base/issue147427.php |    10 +
 .../_base/issue147427.php.test147427.completion    |     4 +
 .../testfiles/completion/lib/_base/issue147575.php |    27 +
 .../_base/issue147575.php.test147575.completion    |     6 +
 .../_base/issue147575.php.test147575_1.completion  |     6 +
 .../_base/issue147575.php.test147575_2.completion  |     6 +
 .../_base/issue147575.php.test147575_3.completion  |     6 +
 .../_base/issue147575.php.test147575_4.completion  |     6 +
 .../_base/issue147575.php.test147575_5.completion  |     6 +
 .../_base/issue147575.php.test147575_6.completion  |     6 +
 .../_base/issue147575.php.test147575_7.completion  |     6 +
 .../_base/issue147575.php.test147575_8.completion  |     6 +
 .../_base/issue147575.php.test147575_9.completion  |     6 +
 .../_base/issue147575.php.test1o147575.completion  |     6 +
 .../_base/issue147575.php.test2i147575.completion  |     6 +
 .../_base/issue147575.php.test2o147575.completion  |     6 +
 .../_base/issue147575.php.test3i147575.completion  |     6 +
 .../_base/issue147575.php.test3o147575.completion  |     6 +
 .../_base/issue147575.php.test4i147575.completion  |     6 +
 .../_base/issue147575.php.test5i147575.completion  |     6 +
 .../_base/issue147575.php.test6i147575.completion  |     6 +
 .../_base/issue147575.php.test7i147575.completion  |     6 +
 .../_base/issue147575.php.test8i147575.completion  |     6 +
 .../_base/issue147575.php.test9i147575.completion  |     6 +
 .../testfiles/completion/lib/_base/issue147883.php |    12 +
 .../_base/issue147883.php.test147883.completion    |     4 +
 .../testfiles/completion/lib/_base/issue148109.php |    12 +
 .../_base/issue148109.php.test148109.completion    |     6 +
 .../testfiles/completion/lib/_base/issue148213.php |    18 +
 .../_base/issue148213.php.test148213.completion    |     4 +
 .../testfiles/completion/lib/_base/issue148219.php |    11 +
 .../_base/issue148219.php.test148219.completion    |     4 +
 .../testfiles/completion/lib/_base/issue148856.php |    14 +
 .../_base/issue148856.php.test148856.completion    |     4 +
 .../testfiles/completion/lib/_base/issue149519.php |     9 +
 .../_base/issue149519.php.test149519.completion    |     5 +
 .../testfiles/completion/lib/_base/issue153707.php |    20 +
 .../issue153707.php.testIssue153707_01.completion  |   217 +
 .../issue153707.php.testIssue153707_02.completion  |    20 +
 .../issue153707.php.testIssue153707_03.completion  |     4 +
 .../issue153707.php.testIssue153707_04.completion  |     4 +
 .../testfiles/completion/lib/_base/issue153867.php |     3 +
 .../issue153867.php.testIssue153867.completion     |   212 +
 .../issue153867.php.testIssue153867_01.completion  |     3 +
 .../issue153867.php.testIssue153867_02.completion  |     3 +
 .../issue153867.php.testIssue153867_03.completion  |     3 +
 .../testfiles/completion/lib/_base/issue154055.php |     9 +
 .../_base/issue154055.php.test154055.completion    |     5 +
 .../testfiles/completion/lib/_base/issue157534.php |    16 +
 .../issue157534.php.testIssue157534.completion     |     4 +
 .../issue157534.php.testIssue157534_1.completion   |     4 +
 .../issue157534.php.testIssue157534_2.completion   |     4 +
 .../completion/lib/_base/issue171232_01.php        |    14 +
 ...ssue171232_01.php.testIssue171232_01.completion |     5 +
 .../completion/lib/_base/issue171232_02.php        |    14 +
 ...ssue171232_02.php.testIssue171232_02.completion |     5 +
 .../testfiles/completion/lib/_base/issue194300.php |    33 +
 .../issue194300.php.testIssue194300_01.completion  |     6 +
 .../testfiles/completion/lib/_base/issue196714.php |    17 +
 .../issue196714.php.testIssue196714.completion     |     5 +
 .../testfiles/completion/lib/_base/issue197453.php |    18 +
 .../issue197453.php.testIssue197453.completion     |     4 +
 .../testfiles/completion/lib/_base/issue197571.php |    15 +
 .../issue197571.php.testIssue197571.completion     |     8 +
 .../testfiles/completion/lib/_base/issue200178.php |     8 +
 .../issue200178.php.testIssue200178.completion     |     8 +
 .../issue200178.php.testIssue200178_1.completion   |     9 +
 .../testfiles/completion/lib/_base/issue200795.php |    11 +
 .../issue200795.php.testIssue200795.completion     |    89 +
 .../testfiles/completion/lib/_base/issue201032.php |    66 +
 .../issue201032.php.testIssue201032_1.completion   |     4 +
 .../issue201032.php.testIssue201032_2.completion   |     4 +
 .../issue201032.php.testIssue201032_3.completion   |     4 +
 .../issue201032.php.testIssue201032_4.completion   |     4 +
 .../issue201032.php.testIssue201032_5.completion   |     4 +
 .../issue201032.php.testIssue201032_6.completion   |     4 +
 .../issue201032.php.testIssue201032_7.completion   |     4 +
 .../testfiles/completion/lib/_base/issue202281.php |    10 +
 .../issue202281.php.testIssue202281.completion     |     6 +
 .../testfiles/completion/lib/_base/mixedtypes.php  |    57 +
 .../mixedtypes.php.testMixedType01.completion      |     7 +
 .../mixedtypes.php.testMixedType02.completion      |     7 +
 .../mixedtypes.php.testMixedType03.completion      |     6 +
 .../completion/lib/_base/mixedtypes_1.php          |    60 +
 .../mixedtypes_1.php.testMixedType01_1.completion  |     7 +
 .../mixedtypes_1.php.testMixedType02_1.completion  |     7 +
 .../mixedtypes_1.php.testMixedType03_1.completion  |     6 +
 .../testfiles/completion/lib/_base/namespaces1.php |    10 +
 .../testfiles/completion/lib/_base/nowdoc02.php    |    16 +
 .../completion/lib/_base/optional_args.php         |    10 +
 ...optional_args.php.testOptionalArgs_1.completion |     6 +
 ...optional_args.php.testOptionalArgs_2.completion |     5 +
 .../completion/lib/_base/test_cc_on_methods.php    |    46 +
 ...t_cc_on_methods.php.testCCOnMethods0.completion |     4 +
 ...t_cc_on_methods.php.testCCOnMethods1.completion |     6 +
 ...t_cc_on_methods.php.testCCOnMethods2.completion |     6 +
 ...t_cc_on_methods.php.testCCOnMethods3.completion |     6 +
 ...t_cc_on_methods.php.testCCOnMethods4.completion |     4 +
 ...t_cc_on_methods.php.testCCOnMethods5.completion |     6 +
 ...t_cc_on_methods.php.testCCOnMethods6.completion |     4 +
 .../data/testfiles/completion/lib/_base/tst.php    |     3 +
 .../lib/_base/tst.php.testPhpContext9.completion   |     6 +
 .../tst.php.testPhpContextWithPrefix.completion    |    18 +
 .../completion/lib/_base/typeInPHPDoc01.php        |    17 +
 ...ypeInPHPDoc01.php.testTypesInPHPDOC4.completion |     5 +
 .../completion/lib/_base/types_in_phpdoc.php       |    15 +
 ...pes_in_phpdoc.php.testTypesInPHPDOC1.completion |     4 +
 ...pes_in_phpdoc.php.testTypesInPHPDOC2.completion |     4 +
 ...pes_in_phpdoc.php.testTypesInPHPDOC3.completion |     3 +
 .../completion/lib/_base/varAssignment.php         |   157 +
 ...arAssignment.php.testVarAssignment_1.completion |     7 +
 ...rAssignment.php.testVarAssignment_10.completion |     7 +
 ...rAssignment.php.testVarAssignment_11.completion |     7 +
 ...rAssignment.php.testVarAssignment_12.completion |     7 +
 ...rAssignment.php.testVarAssignment_13.completion |    11 +
 ...rAssignment.php.testVarAssignment_14.completion |     7 +
 ...rAssignment.php.testVarAssignment_15.completion |     7 +
 ...rAssignment.php.testVarAssignment_16.completion |     7 +
 ...rAssignment.php.testVarAssignment_18.completion |     7 +
 ...rAssignment.php.testVarAssignment_19.completion |     7 +
 ...arAssignment.php.testVarAssignment_2.completion |     7 +
 ...rAssignment.php.testVarAssignment_20.completion |     7 +
 ...rAssignment.php.testVarAssignment_21.completion |     7 +
 ...rAssignment.php.testVarAssignment_22.completion |     7 +
 ...rAssignment.php.testVarAssignment_23.completion |     7 +
 ...rAssignment.php.testVarAssignment_24.completion |     7 +
 ...arAssignment.php.testVarAssignment_3.completion |     7 +
 ...arAssignment.php.testVarAssignment_4.completion |     7 +
 ...arAssignment.php.testVarAssignment_5.completion |     7 +
 ...arAssignment.php.testVarAssignment_6.completion |     7 +
 ...arAssignment.php.testVarAssignment_7.completion |     7 +
 ...arAssignment.php.testVarAssignment_8.completion |     7 +
 ...arAssignment.php.testVarAssignment_9.completion |     7 +
 .../completion/lib/_base/varAssignment2.php        |     7 +
 .../_base/varAssignment2.php.test145835.completion |     4 +
 .../completion/lib/_base/varTypeComment.php        |    20 +
 ...Comment.php.testVarTypeCommentType02.completion |     4 +
 ...ent.php.testVarTypeCommentVariable02.completion |     4 +
 .../testfiles/completion/lib/_base/var_scope.php   |    12 +
 .../_base/var_scope.php.testVarScope1.completion   |    20 +
 .../_base/var_scope.php.testVarScope2.completion   |     4 +
 .../testfiles/completion/lib/arrays/arrays.php     |    33 +
 .../lib/arrays/arrays.php.testArrays_01.completion |     5 +
 .../lib/arrays/arrays.php.testArrays_02.completion |     5 +
 .../lib/arrays/arrays.php.testArrays_03.completion |     5 +
 .../lib/arrays/arrays.php.testArrays_04.completion |     5 +
 .../completion/lib/byReferences/byReferences.php   |    49 +
 .../byReferences.php.testByReferences01.completion |    13 +
 .../byReferences.php.testByReferences02.completion |     4 +
 .../byReferences.php.testByReferences03.completion |    13 +
 .../byReferences.php.testByReferences04.completion |     5 +
 .../byReferences.php.testByReferences05.completion |    13 +
 .../byReferences.php.testByReferences06.completion |     4 +
 .../byReferences.php.testByReferences07.completion |    13 +
 .../byReferences.php.testByReferences08.completion |    13 +
 .../byReferences.php.testByReferences09.completion |     3 +
 .../byReferences.php.testByReferences10.completion |    13 +
 .../byReferences.php.testByReferences11.completion |     3 +
 .../byReferences.php.testByReferences12.completion |    13 +
 .../byReferences.php.testByReferences13.completion |     5 +
 .../byReferences.php.testByReferences14.completion |    13 +
 .../byReferences.php.testByReferences15.completion |     4 +
 .../byReferences.php.testByReferences16.completion |    13 +
 .../byReferences.php.testByReferences17.completion |     5 +
 .../byReferences.php.testByReferences18.completion |    13 +
 .../byReferences.php.testByReferences19.completion |     4 +
 .../byReferences.php.testByReferences20.completion |    13 +
 .../byReferences.php.testByReferences21.completion |     5 +
 .../byReferences.php.testByReferences22.completion |    13 +
 .../byReferences.php.testByReferences23.completion |     4 +
 .../byReferences.php.testByReferences24.completion |    13 +
 .../byReferences.php.testByReferences25.completion |     5 +
 .../byReferences.php.testByReferences26.completion |    13 +
 .../byReferences.php.testByReferences27.completion |     4 +
 .../byReferences.php.testByReferences28.completion |    13 +
 .../byReferences.php.testByReferences29.completion |     5 +
 .../byReferences.php.testByReferences30.completion |    13 +
 .../byReferences.php.testByReferences31.completion |     4 +
 .../byReferences.php.testByReferences32.completion |    13 +
 .../byReferences.php.testByReferences33.completion |     5 +
 .../byReferences.php.testByReferences34.completion |    13 +
 .../byReferences.php.testByReferences35.completion |     4 +
 .../byReferences.php.testByReferences36.completion |    13 +
 .../byReferences.php.testByReferences37.completion |     4 +
 .../completion/lib/codeTemplateFilter/empty.php    |     2 +
 .../netbeans68version/magicmethods/issue242396.php |     8 +
 .../issue242396.php.testIssue242396.completion     |     5 +
 .../magicmethods/issue242396_data.php              |    39 +
 .../magicmethods/magicmethods.php                  |    10 +
 .../magicmethods.php.testParamDeclTypes.completion |     5 +
 .../paramdecltypes/paramdecltypes.php              |     7 +
 ...aramdecltypes.php.testParamDeclTypes.completion |    89 +
 ...amdecltypes.php.testParamDeclTypes10.completion |     3 +
 ...amdecltypes.php.testParamDeclTypes11.completion |    12 +
 ...amdecltypes.php.testParamDeclTypes12.completion |     3 +
 ...amdecltypes.php.testParamDeclTypes13.completion |     3 +
 ...amdecltypes.php.testParamDeclTypes14.completion |    12 +
 ...ramdecltypes.php.testParamDeclTypes2.completion |     3 +
 ...ramdecltypes.php.testParamDeclTypes3.completion |     3 +
 ...ramdecltypes.php.testParamDeclTypes4.completion |     3 +
 ...ramdecltypes.php.testParamDeclTypes5.completion |    12 +
 ...ramdecltypes.php.testParamDeclTypes6.completion |     3 +
 ...ramdecltypes.php.testParamDeclTypes7.completion |     3 +
 ...ramdecltypes.php.testParamDeclTypes8.completion |    12 +
 ...ramdecltypes.php.testParamDeclTypes9.completion |     3 +
 .../typeinference/typeinference.php                |   108 +
 ...typeinference.php.testTypeInference1.completion |    12 +
 ...ypeinference.php.testTypeInference10.completion |    12 +
 ...ypeinference.php.testTypeInference11.completion |    12 +
 ...ypeinference.php.testTypeInference12.completion |    12 +
 ...ypeinference.php.testTypeInference13.completion |    12 +
 ...ypeinference.php.testTypeInference14.completion |    12 +
 ...ypeinference.php.testTypeInference15.completion |     3 +
 ...ypeinference.php.testTypeInference16.completion |    12 +
 ...ypeinference.php.testTypeInference17.completion |    12 +
 ...ypeinference.php.testTypeInference18.completion |    12 +
 ...typeinference.php.testTypeInference2.completion |    12 +
 ...typeinference.php.testTypeInference3.completion |    12 +
 ...typeinference.php.testTypeInference4.completion |    12 +
 ...typeinference.php.testTypeInference5.completion |    12 +
 ...typeinference.php.testTypeInference7.completion |    12 +
 ...typeinference.php.testTypeInference8.completion |    12 +
 ...typeinference.php.testTypeInference9.completion |    12 +
 .../lib/php54/anonymousObjectVariables.php         |    10 +
 ....php.testAnonymousObjectVariables_01.completion |     5 +
 ....php.testAnonymousObjectVariables_02.completion |     5 +
 .../lib/php54/anonymousObjectVariablesNs.php       |    23 +
 ...hp.testAnonymousObjectVariablesNs_01.completion |     4 +
 ...hp.testAnonymousObjectVariablesNs_02.completion |     4 +
 ...hp.testAnonymousObjectVariablesNs_03.completion |     4 +
 .../completion/lib/php54/callableTypeHint.php      |    11 +
 ...TypeHint.php.testCallableTypeHint_01.completion |    19 +
 ...TypeHint.php.testCallableTypeHint_02.completion |     6 +
 ...TypeHint.php.testCallableTypeHint_03.completion |    19 +
 ...TypeHint.php.testCallableTypeHint_04.completion |     6 +
 .../testfiles/completion/lib/php54/shortArrays.php |     4 +
 .../shortArrays.php.testShortArrays.completion     |     4 +
 .../data/testfiles/completion/lib/php54/traits.php |    45 +
 .../lib/php54/traits.php.testTraits1.completion    |     6 +
 .../lib/php54/traits.php.testTraits2.completion    |     8 +
 .../lib/php54/traits.php.testTraits3.completion    |    10 +
 .../lib/php54/traits.php.testTraits4.completion    |    16 +
 .../completion/lib/php54/traitsMultiUse.php        |    33 +
 ...aitsMultiUse.php.testTraitsMultiUse1.completion |    16 +
 ...aitsMultiUse.php.testTraitsMultiUse2.completion |     8 +
 .../completion/lib/php56/useFuncAndConst.php       |    19 +
 ...cAndConst.php.testUseFuncAndConst_01.completion |     5 +
 ...cAndConst.php.testUseFuncAndConst_02.completion |     5 +
 ...cAndConst.php.testUseFuncAndConst_03.completion |     5 +
 ...cAndConst.php.testUseFuncAndConst_04.completion |     5 +
 ...cAndConst.php.testUseFuncAndConst_05.completion |     4 +
 ...cAndConst.php.testUseFuncAndConst_06.completion |     5 +
 ...cAndConst.php.testUseFuncAndConst_07.completion |     4 +
 ...cAndConst.php.testUseFuncAndConst_08.completion |     5 +
 .../completion/lib/php70/anonymousClass01.php      |    13 +
 ...ousClass01.php.testAnonymousClass01a.completion |     4 +
 ...ousClass01.php.testAnonymousClass01b.completion |     4 +
 ...ousClass01.php.testAnonymousClass01c.completion |     6 +
 ...ousClass01.php.testAnonymousClass01d.completion |     7 +
 ...ousClass01.php.testAnonymousClass01e.completion |     6 +
 ...ousClass01.php.testAnonymousClass01f.completion |     4 +
 ...ousClass01.php.testAnonymousClass01g.completion |     5 +
 ...ousClass01.php.testAnonymousClass01h.completion |    27 +
 .../completion/lib/php70/anonymousClass02.php      |    16 +
 ...ousClass02.php.testAnonymousClass02a.completion |   158 +
 ...ousClass02.php.testAnonymousClass02b.completion |    33 +
 ...ousClass02.php.testAnonymousClass02c.completion |     6 +
 ...ousClass02.php.testAnonymousClass02d.completion |   158 +
 ...ousClass02.php.testAnonymousClass02e.completion |   158 +
 ...ousClass02.php.testAnonymousClass02f.completion |     5 +
 ...ousClass02.php.testAnonymousClass02g.completion |     4 +
 .../completion/lib/php70/anonymousClass03.php      |    30 +
 ...ousClass03.php.testAnonymousClass03a.completion |    19 +
 ...ousClass03.php.testAnonymousClass03b.completion |     7 +
 ...ousClass03.php.testAnonymousClass03c.completion |     8 +
 ...ousClass03.php.testAnonymousClass03d.completion |     4 +
 .../testfiles/completion/lib/php70/groupUse01.php  |    15 +
 .../groupUse01.php.testGroupUse01a.completion      |    14 +
 .../groupUse01.php.testGroupUse01b.completion      |    14 +
 .../groupUse01.php.testGroupUse01c.completion      |     6 +
 .../groupUse01.php.testGroupUse01d.completion      |     7 +
 .../testfiles/completion/lib/php70/groupUse02.php  |    15 +
 .../groupUse02.php.testGroupUse02a.completion      |    14 +
 .../groupUse02.php.testGroupUse02b.completion      |    14 +
 .../groupUse02.php.testGroupUse02c.completion      |     6 +
 .../groupUse02.php.testGroupUse02d.completion      |     7 +
 .../testfiles/completion/lib/php70/groupUse03.php  |    15 +
 .../groupUse03.php.testGroupUse03a.completion      |    14 +
 .../groupUse03.php.testGroupUse03b.completion      |    14 +
 .../groupUse03.php.testGroupUse03c.completion      |     6 +
 .../groupUse03.php.testGroupUse03d.completion      |     7 +
 .../testfiles/completion/lib/php70/groupUse04.php  |    68 +
 .../groupUse04.php.testGroupUse04a.completion      |    14 +
 .../completion/lib/php70/groupUseBase.php          |    39 +
 .../completion/lib/php70/groupUseConst01.php       |    12 +
 ...pUseConst01.php.testGroupUseConst01a.completion |     7 +
 ...pUseConst01.php.testGroupUseConst01b.completion |     6 +
 ...pUseConst01.php.testGroupUseConst01c.completion |     5 +
 .../completion/lib/php70/groupUseConst02.php       |    12 +
 ...pUseConst02.php.testGroupUseConst02a.completion |     7 +
 .../completion/lib/php70/groupUseConst03.php       |    12 +
 ...pUseConst03.php.testGroupUseConst03a.completion |     7 +
 .../completion/lib/php70/groupUseFunction01.php    |    12 +
 ...nction01.php.testGroupUseFunction01a.completion |     7 +
 ...nction01.php.testGroupUseFunction01b.completion |     6 +
 ...nction01.php.testGroupUseFunction01c.completion |     5 +
 .../completion/lib/php70/groupUseFunction02.php    |    12 +
 ...nction02.php.testGroupUseFunction02a.completion |     7 +
 .../completion/lib/php70/groupUseFunction03.php    |    12 +
 ...nction03.php.testGroupUseFunction03a.completion |     7 +
 .../completion/lib/php70/groupUseMixed01.php       |    27 +
 ...pUseMixed01.php.testGroupUseMixed01a.completion |    14 +
 ...pUseMixed01.php.testGroupUseMixed01b.completion |     5 +
 ...pUseMixed01.php.testGroupUseMixed01c.completion |     7 +
 ...pUseMixed01.php.testGroupUseMixed01d.completion |     4 +
 ...pUseMixed01.php.testGroupUseMixed01e.completion |     7 +
 ...pUseMixed01.php.testGroupUseMixed01f.completion |     4 +
 ...pUseMixed01.php.testGroupUseMixed01g.completion |     7 +
 ...pUseMixed01.php.testGroupUseMixed01h.completion |    14 +
 ...pUseMixed01.php.testGroupUseMixed01i.completion |     7 +
 ...pUseMixed01.php.testGroupUseMixed01j.completion |     8 +
 ...pUseMixed01.php.testGroupUseMixed01k.completion |     3 +
 ...pUseMixed01.php.testGroupUseMixed01l.completion |     7 +
 ...pUseMixed01.php.testGroupUseMixed01m.completion |     8 +
 ...pUseMixed01.php.testGroupUseMixed01n.completion |     5 +
 .../testfiles/completion/lib/php70/issue259074.php |    31 +
 .../issue259074.php.testIssue259074a.completion    |     5 +
 .../issue259074.php.testIssue259074b.completion    |     5 +
 .../issue259074.php.testIssue259074c.completion    |     5 +
 .../testfiles/completion/lib/php70/returnTypes.php |    27 +
 .../returnTypes.php.testReturnType01.completion    |    55 +
 .../returnTypes.php.testReturnType02.completion    |    14 +
 .../returnTypes.php.testReturnType03.completion    |    55 +
 .../returnTypes.php.testReturnType04.completion    |     5 +
 .../returnTypes.php.testReturnType05.completion    |    55 +
 .../returnTypes.php.testReturnType06.completion    |    14 +
 .../returnTypes.php.testReturnType07.completion    |    55 +
 .../returnTypes.php.testReturnType08.completion    |    32 +
 .../returnTypes.php.testReturnType09.completion    |     5 +
 .../returnTypes.php.testReturnType10.completion    |     5 +
 .../returnTypes.php.testReturnType11.completion    |     5 +
 .../returnTypes.php.testReturnType12.completion    |    55 +
 .../returnTypes.php.testReturnType13.completion    |    55 +
 .../returnTypes.php.testReturnType14.completion    |    55 +
 .../completion/lib/php70/returnTypesTyping01.php   |     2 +
 ...Typing01.php.testReturnTypesTyping01.completion |    55 +
 .../completion/lib/php70/returnTypesTyping02.php   |     2 +
 ...Typing02.php.testReturnTypesTyping02.completion |    55 +
 .../completion/lib/php70/returnTypesTyping03.php   |     3 +
 ...Typing03.php.testReturnTypesTyping03.completion |    55 +
 .../completion/lib/php70/returnTypesTyping04.php   |     3 +
 ...yping04.php.testReturnTypesTyping04a.completion |    55 +
 ...yping04.php.testReturnTypesTyping04b.completion |    55 +
 .../completion/lib/php70/returnTypesTyping05.php   |     4 +
 ...Typing05.php.testReturnTypesTyping05.completion |    55 +
 .../completion/lib/php70/returnTypesTyping06.php   |     4 +
 ...Typing06.php.testReturnTypesTyping06.completion |    55 +
 .../completion/lib/php70/returnTypesTyping07.php   |     4 +
 ...Typing07.php.testReturnTypesTyping07.completion |    55 +
 .../completion/lib/php70/returnTypesTyping08.php   |     4 +
 ...yping08.php.testReturnTypesTyping08a.completion |    55 +
 ...yping08.php.testReturnTypesTyping08b.completion |    55 +
 .../completion/lib/php70/returnTypesTyping09.php   |     4 +
 ...Typing09.php.testReturnTypesTyping09.completion |    55 +
 .../completion/lib/php70/returnTypesTyping10.php   |     4 +
 ...Typing10.php.testReturnTypesTyping10.completion |    55 +
 .../completion/lib/php70/returnTypesTyping11.php   |     5 +
 ...Typing11.php.testReturnTypesTyping11.completion |    55 +
 .../completion/lib/php70/returnTypesTyping12.php   |     5 +
 ...yping12.php.testReturnTypesTyping12a.completion |    55 +
 ...yping12.php.testReturnTypesTyping12b.completion |    55 +
 .../completion/lib/php70/scalarTypeHints.php       |    36 +
 ...alarTypeHints.php.testBoolTypeHint01.completion |    55 +
 ...alarTypeHints.php.testBoolTypeHint02.completion |     6 +
 ...alarTypeHints.php.testBoolTypeHint03.completion |    55 +
 ...alarTypeHints.php.testBoolTypeHint04.completion |     6 +
 ...larTypeHints.php.testFloatTypeHint01.completion |    55 +
 ...larTypeHints.php.testFloatTypeHint02.completion |     6 +
 ...larTypeHints.php.testFloatTypeHint03.completion |    55 +
 ...larTypeHints.php.testFloatTypeHint04.completion |     6 +
 ...calarTypeHints.php.testIntTypeHint01.completion |    55 +
 ...calarTypeHints.php.testIntTypeHint02.completion |     6 +
 ...calarTypeHints.php.testIntTypeHint03.completion |    55 +
 ...calarTypeHints.php.testIntTypeHint04.completion |     6 +
 ...arTypeHints.php.testStringTypeHint01.completion |    55 +
 ...arTypeHints.php.testStringTypeHint02.completion |     6 +
 ...arTypeHints.php.testStringTypeHint03.completion |    55 +
 ...arTypeHints.php.testStringTypeHint04.completion |     6 +
 .../lib/php70/uniformVariableSyntax01.php          |    17 +
 ...ax01.php.testUniformVariableSyntax01.completion |     5 +
 .../lib/php70/uniformVariableSyntax02.php          |    22 +
 .../lib/php70/uniformVariableSyntax03.php          |    29 +
 ...x03.php.testUniformVariableSyntax03a.completion |     5 +
 ...x03.php.testUniformVariableSyntax03b.completion |     5 +
 ...x03.php.testUniformVariableSyntax03c.completion |     7 +
 ...x03.php.testUniformVariableSyntax03d.completion |     7 +
 ...x03.php.testUniformVariableSyntax03e.completion |     4 +
 .../completion/lib/qualifiedStatic/Strings.php     |     7 +
 .../completion/lib/qualifiedStatic/issue.php       |     7 +
 .../issue.php.testUseCase1.completion              |     6 +
 .../completion/lib/test155085_01/test.php          |    20 +
 .../test155085_01/test.php.testUseCase1.completion |     4 +
 .../completion/lib/test155085_02/declaration.php   |    11 +
 .../completion/lib/test155085_02/test.php          |    14 +
 .../test155085_02/test.php.testUseCase1.completion |     5 +
 .../testfiles/completion/lib/test163432/test.php   |     9 +
 .../lib/test163432/test.php.test163432.completion  |     4 +
 .../test163432/test.php.test163432_1.completion    |     4 +
 .../testfiles/completion/lib/test164755/test.php   |    44 +
 .../lib/test164755/test.php.test164755.completion  |     5 +
 .../test164755/test.php.test164755_1.completion    |     5 +
 .../testfiles/completion/lib/test171178/html.php   |   478 +
 .../lib/test171178/html.php.test171178.completion  |    43 +
 .../completion/lib/test171178/htmlbase.php         |   569 +
 .../completion/lib/test172925/test172925.php       |     8 +
 ...t172925.php.testPhpContextWithPrefix.completion |    22 +
 .../data/testfiles/completion/lib/test186936/a.php |     7 +
 .../data/testfiles/completion/lib/test186936/b.php |     7 +
 .../completion/lib/test186936/issue186936.php      |     6 +
 .../issue186936.php.test186936.completion          |     6 +
 .../completion/lib/test188107/DatabaseRecord.php   |    30 +
 .../completion/lib/test188107/MyTable.php          |    20 +
 .../test188107/MyTable.php.testUseCase1.completion |     5 +
 .../test188107/MyTable.php.testUseCase2.completion |     7 +
 .../test188107/MyTable.php.testUseCase3.completion |     7 +
 .../completion/lib/test194294/TestCase.php         |    26 +
 .../testfiles/completion/lib/test194294/Usage.php  |    19 +
 .../Usage.php.testReturnType01.completion          |     6 +
 .../Usage.php.testReturnType02.completion          |     6 +
 .../Usage.php.testReturnType03.completion          |     6 +
 .../Usage.php.testReturnType04.completion          |     6 +
 .../testfiles/completion/lib/test194836/index.php  |    17 +
 .../index.php.testIssue194836.completion           |     3 +
 .../completion/lib/test194836/index_02.php         |    16 +
 .../index_02.php.testIssue194836_02.completion     |     8 +
 .../completion/lib/test194836/index_03.php         |    16 +
 .../index_03.php.testIssue194836_03.completion     |     8 +
 .../completion/lib/test194836/index_04.php         |    15 +
 .../index_04.php.testIssue194836_04.completion     |     8 +
 .../completion/lib/test194836/index_05.php         |    15 +
 .../index_05.php.testIssue194836_05.completion     |     8 +
 .../completion/lib/test194836/library/Admin.php    |    13 +
 .../lib/test194836/library/SuperUser.php           |     9 +
 .../completion/lib/test194836/library/XUser.php    |    10 +
 .../lib/test194836/library/XUserAbstract.php       |    24 +
 .../lib/test194836/library/XUserInterface.php      |     8 +
 .../completion/lib/test197084/Test197084.php       |    53 +
 .../Test197084.php.testUseCase1.completion         |     4 +
 .../Test197084.php.testUseCase2.completion         |     6 +
 .../Test197084.php.testUseCase3.completion         |     6 +
 .../Test197084.php.testUseCase4.completion         |     6 +
 .../completion/lib/test200501/test200501.php       |    11 +
 .../test200501.php.testUseCase1.completion         |     4 +
 .../completion/lib/test201870/test201870.php       |    11 +
 .../test201870.php.testUseCase1.completion         |     5 +
 .../completion/lib/test202498/test202498_01.php    |    12 +
 .../completion/lib/test202498/test202498_02.php    |    12 +
 .../test202498_02.php.testUseCase1.completion      |     5 +
 .../completion/lib/test202530/test202530.php       |    25 +
 .../test202530.php.testUseCase1.completion         |     6 +
 .../completion/lib/test203294/test203294.php       |    15 +
 .../test203294.php.testUseCase1.completion         |    12 +
 .../completion/lib/test204104/test204104.php       |    31 +
 .../test204104.php.testUseCase1.completion         |     5 +
 .../completion/lib/test204104/test204104_02.php    |    32 +
 .../test204104_02.php.testUseCase2.completion      |     5 +
 .../completion/lib/test204104/test204104_03.php    |    26 +
 .../test204104_03.php.testUseCase3.completion      |     5 +
 .../completion/lib/test204104/test204104_04.php    |    23 +
 .../test204104_04.php.testUseCase4.completion      |     3 +
 .../completion/lib/test204104/test204104_05.php    |    31 +
 .../test204104_05.php.testUseCase5.completion      |     4 +
 .../testfiles/completion/lib/test204847/Types.php  |    12 +
 .../testfiles/completion/lib/test204847/User.php   |    15 +
 .../test204847/User.php.testUseCase1.completion    |     7 +
 .../completion/lib/test204908/test204908.php       |    27 +
 .../test204908.php.testUseCase1.completion         |     5 +
 .../completion/lib/test204958/issue204958.php      |    19 +
 .../issue204958.php.testUseCase1.completion        |    14 +
 .../issue204958.php.testUseCase2.completion        |     5 +
 .../completion/lib/test206521/test206521.php       |    20 +
 .../test206521.php.testUseCase1.completion         |     5 +
 .../completion/lib/test207088/test207088.php       |    16 +
 .../test207088.php.testUseCase1.completion         |    18 +
 .../completion/lib/test207188/test207188.php       |    10 +
 .../test207188.php.testUseCase1.completion         |     4 +
 .../test207188.php.testUseCase2.completion         |    85 +
 .../testfiles/completion/lib/test207345/bar.php    |     9 +
 .../lib/test207345/bar.php.testUseCase1.completion |     8 +
 .../testfiles/completion/lib/test207345/foo.php    |     7 +
 .../completion/lib/test207592/Control.php          |     9 +
 .../completion/lib/test207592/Presenter.php        |     9 +
 .../lib/test207592/PresenterComponent.php          |    12 +
 .../completion/lib/test207592/TaskList.php         |    11 +
 .../TaskList.php.testUseCase1.completion           |     5 +
 .../completion/lib/test207594/exceptions.php       |    17 +
 .../completion/lib/test207594/issue207594.php      |    11 +
 .../issue207594.php.testUseCase1.completion        |     7 +
 .../completion/lib/test208193/issue208193.php      |    26 +
 .../issue208193.php.testUseCase1.completion        |     6 +
 .../completion/lib/test208784/issue208784.php      |    32 +
 .../issue208784.php.testUseCase1.completion        |     4 +
 .../testfiles/completion/lib/test208825/Delme2.php |     9 +
 .../completion/lib/test208825/delme/Delme1.php     |    16 +
 .../completion/lib/test208825/test208825.php       |    10 +
 .../test208825.php.testUseCase1.completion         |     5 +
 .../completion/lib/test209117/issue209117.php      |    17 +
 .../issue209117.php.testUseCase1.completion        |    28 +
 .../completion/lib/test209255/test209255.php       |    16 +
 .../test209255.php.testUseCase1.completion         |     4 +
 .../completion/lib/test209405/issue209405.php      |    12 +
 .../issue209405.php.testUseCase1.completion        |     4 +
 .../issue209405.php.testUseCase2.completion        |     4 +
 .../completion/lib/test209608/issue209608.php      |    13 +
 .../issue209608.php.testUseCase1.completion        |     5 +
 .../completion/lib/test211230/test211230.php       |    17 +
 .../test211230.php.testUseCase1.completion         |     6 +
 .../completion/lib/test215161/test215161.php       |    15 +
 .../test215161.php.testUseCase1.completion         |     5 +
 .../data/testfiles/completion/lib/test215371/A.php |     9 +
 .../data/testfiles/completion/lib/test215371/B.php |     9 +
 .../completion/lib/test215371/Exception.php        |    12 +
 .../completion/lib/test215371/test215371.php       |    17 +
 .../test215371.php.testUseCase1.completion         |     7 +
 .../completion/lib/test216119/test216119.php       |    31 +
 .../test216119.php.testUseCase1.completion         |     6 +
 .../completion/lib/test217990/test217990.php       |    26 +
 .../test217990.php.testUseCase1.completion         |     6 +
 .../completion/lib/test221725/test221725.php       |    28 +
 .../test221725.php.testUseCase1.completion         |     4 +
 .../completion/lib/test224549/declarations.php     |    18 +
 .../completion/lib/test224549/test224549.php       |     9 +
 .../test224549.php.testUseCase1.completion         |     5 +
 .../completion/lib/test225062/test225062.php       |    22 +
 .../test225062.php.testUseCase1.completion         |     5 +
 .../completion/lib/test233756/issue233756.php      |    19 +
 .../issue233756.php.testUseCase1.completion        |    30 +
 .../completion/lib/test233938/issue233938.php      |     4 +
 .../issue233938.php.testUseCase1.completion        |    83 +
 .../completion/lib/test234243/issue234243.php      |    76 +
 .../issue234243.php.testUseCase1.completion        |     5 +
 .../completion/lib/test240242/issue240242.php      |    14 +
 .../issue240242.php.testUseCase1.completion        |     6 +
 .../completion/lib/test242351/issue242351.php      |    18 +
 .../issue242351.php.testUseCase1.completion        |     5 +
 .../completion/lib/tests144653/tests144653.php     |    10 +
 ...s144653.php.testPhpContextWithPrefix.completion |     5 +
 .../completion/lib/tests147730/a147730.php         |     7 +
 ...a147730.php.testPhpContextWithPrefix.completion |     4 +
 .../completion/lib/tests147730/b147730.php         |     5 +
 .../completion/lib/tests159970/issue159970.php     |    41 +
 .../issue159970.php.testCase1.completion           |     6 +
 .../issue159970.php.testCase2.completion           |     6 +
 .../completion/lib/tests160444/issue160444.php     |    68 +
 .../issue160444.php.testIssue160444_1.completion   |     5 +
 .../issue160444.php.testIssue160444_10.completion  |     5 +
 .../issue160444.php.testIssue160444_11.completion  |     5 +
 .../issue160444.php.testIssue160444_12.completion  |     5 +
 .../issue160444.php.testIssue160444_13.completion  |     5 +
 .../issue160444.php.testIssue160444_14.completion  |     5 +
 .../issue160444.php.testIssue160444_15.completion  |     5 +
 .../issue160444.php.testIssue160444_16.completion  |     5 +
 .../issue160444.php.testIssue160444_17.completion  |     5 +
 .../issue160444.php.testIssue160444_18.completion  |     5 +
 .../issue160444.php.testIssue160444_19.completion  |     5 +
 .../issue160444.php.testIssue160444_2.completion   |     5 +
 .../issue160444.php.testIssue160444_20.completion  |     5 +
 .../issue160444.php.testIssue160444_21.completion  |     5 +
 .../issue160444.php.testIssue160444_22.completion  |     5 +
 .../issue160444.php.testIssue160444_23.completion  |     5 +
 .../issue160444.php.testIssue160444_24.completion  |     5 +
 .../issue160444.php.testIssue160444_25.completion  |     5 +
 .../issue160444.php.testIssue160444_26.completion  |     5 +
 .../issue160444.php.testIssue160444_27.completion  |     5 +
 .../issue160444.php.testIssue160444_28.completion  |     5 +
 .../issue160444.php.testIssue160444_29.completion  |     5 +
 .../issue160444.php.testIssue160444_3.completion   |     5 +
 .../issue160444.php.testIssue160444_30.completion  |     5 +
 .../issue160444.php.testIssue160444_31.completion  |     5 +
 .../issue160444.php.testIssue160444_32.completion  |     5 +
 .../issue160444.php.testIssue160444_33.completion  |     5 +
 .../issue160444.php.testIssue160444_34.completion  |     5 +
 .../issue160444.php.testIssue160444_35.completion  |     5 +
 .../issue160444.php.testIssue160444_36.completion  |     5 +
 .../issue160444.php.testIssue160444_4.completion   |     5 +
 .../issue160444.php.testIssue160444_5.completion   |     5 +
 .../issue160444.php.testIssue160444_6.completion   |     5 +
 .../issue160444.php.testIssue160444_7.completion   |     5 +
 .../issue160444.php.testIssue160444_8.completion   |     5 +
 .../issue160444.php.testIssue160444_9.completion   |     5 +
 .../completion/lib/tests166339/tests166339.php     |    12 +
 ...s166339.php.testPhpContextWithPrefix.completion |     5 +
 .../completion/lib/tests178955/tests178955.php     |    35 +
 .../tests178955.php.testUseCase1.completion        |     5 +
 .../tests178955.php.testUseCase2.completion        |     4 +
 .../tests178955.php.testUseCase3.completion        |     6 +
 .../tests178955.php.testUseCase4.completion        |     4 +
 .../tests178955.php.testUseCase5.completion        |     5 +
 .../tests178955.php.testUseCase6.completion        |     6 +
 .../completion/lib/tests191666/issue191666.php     |    34 +
 .../issue191666.php.testUseCase1.completion        |     5 +
 .../issue191666.php.testUseCase2.completion        |     5 +
 .../issue191666.php.testUseCase3.completion        |     5 +
 .../issue191666.php.testUseCase4.completion        |     5 +
 .../issue191666.php.testUseCase5.completion        |     5 +
 .../completion/lib/tests194875/issue194875.php     |    19 +
 .../issue194875.php.testUseCase1.completion        |     7 +
 .../issue194875.php.testUseCase2.completion        |     6 +
 .../completion/lib/tests194875/issue194875_1.php   |    21 +
 .../issue194875_1.php.testUseCase3.completion      |     8 +
 .../issue194875_1.php.testUseCase4.completion      |     7 +
 .../completion/lib/tests195232/issue195232.php     |    50 +
 .../issue195232.php.testUseCase1.completion        |     4 +
 .../issue195232.php.testUseCase2.completion        |     3 +
 .../issue195232.php.testUseCase3.completion        |     4 +
 .../completion/lib/tests196175/Controller.php      |    15 +
 .../completion/lib/tests196175/IndexController.php |     9 +
 .../IndexController.php.testUseCase1.completion    |     6 +
 .../completion/lib/tests196175/Request.php         |    13 +
 .../completion/lib/tests196175/ViewController.php  |    10 +
 .../completion/lib/tests196175/test196175.php      |     5 +
 .../test196175.php.testUseCase2.completion         |     3 +
 .../completion/lib/tests196175/test196175_03.php   |     4 +
 .../test196175_03.php.testUseCase3.completion      |     7 +
 .../completion/lib/tests196175/test196175_04.php   |     4 +
 .../test196175_04.php.testUseCase4.completion      |     7 +
 .../completion/lib/tests196175/test196175_05.php   |     5 +
 .../test196175_05.php.testUseCase5.completion      |     7 +
 .../completion/lib/tests196175/test196175_06.php   |     5 +
 .../test196175_06.php.testUseCase6.completion      |     7 +
 .../completion/lib/tests196564/useCase1.php        |    18 +
 .../useCase1.php.testUseCase1_1.completion         |     5 +
 .../useCase1.php.testUseCase1_2.completion         |     6 +
 .../completion/lib/tests196564/useCase2.php        |    25 +
 .../useCase2.php.testUseCase2_1.completion         |     5 +
 .../useCase2.php.testUseCase2_2.completion         |     5 +
 .../completion/lib/tests196565/useCase1.php        |    18 +
 .../useCase1.php.testUseCase1_1.completion         |     5 +
 .../useCase1.php.testUseCase1_2.completion         |     6 +
 .../completion/lib/tests196565/useCase2.php        |    18 +
 .../useCase2.php.testUseCase2_1.completion         |     5 +
 .../useCase2.php.testUseCase2_2.completion         |     5 +
 .../completion/lib/tests196565/useCase3.php        |    18 +
 .../useCase3.php.testUseCase3.completion           |     5 +
 .../completion/lib/tests196565/useCase4.php        |    17 +
 .../useCase4.php.testUseCase4.completion           |     5 +
 .../completion/lib/tests201310/issue201310.php     |    19 +
 .../issue201310.php.testUseCase1.completion        |     8 +
 .../issue201310.php.testUseCase2.completion        |     7 +
 .../completion/lib/tests201310/issue201310_1.php   |    21 +
 .../issue201310_1.php.testUseCase3.completion      |     9 +
 .../issue201310_1.php.testUseCase4.completion      |     8 +
 .../completion/lib/tests201452_01/issue201452.php  |    42 +
 .../issue201452.php.testUseCase1.completion        |     5 +
 .../issue201452.php.testUseCase2.completion        |     5 +
 .../completion/lib/tests201452_02/Core.User.php    |    20 +
 .../Core.User.php.testUseCase1.completion          |     6 +
 .../Core.User.php.testUseCase2.completion          |     6 +
 .../completion/lib/tests201452_02/Data.User.php    |    13 +
 .../lib/tests201452_02/Shit.Data.User.php          |    11 +
 .../completion/lib/tests203332/test203332_01.php   |    28 +
 .../test203332_01.php.testUseCase1.completion      |     5 +
 .../completion/lib/tests203332/test203332_02.php   |    65 +
 .../test203332_02.php.testUseCase2.completion      |     6 +
 .../completion/lib/tests203332/test203332_03.php   |    36 +
 .../test203332_03.php.testUseCase3.completion      |     6 +
 .../completion/lib/tests204925/test204925_01.php   |    15 +
 .../test204925_01.php.testUseCase1.completion      |     4 +
 .../completion/lib/tests204925/test204925_02.php   |    20 +
 .../test204925_02.php.testUseCase2.completion      |     4 +
 .../completion/lib/tests204925/test204925_03.php   |    22 +
 .../test204925_03.php.testUseCase3.completion      |     4 +
 .../completion/lib/tests204925/test204925_04.php   |    23 +
 .../test204925_04.php.testUseCase4.completion      |     4 +
 .../completion/lib/tests204925/test204925_05.php   |    22 +
 .../test204925_05.php.testUseCase5.completion      |     4 +
 .../completion/lib/tests204925/test204925_06.php   |    28 +
 .../test204925_06.php.testUseCase6.completion      |     4 +
 .../completion/lib/tests204925/test204925_07.php   |    28 +
 .../test204925_07.php.testUseCase7.completion      |     4 +
 .../completion/lib/tests204925/test204925_08.php   |    26 +
 .../test204925_08.php.testUseCase8.completion      |     4 +
 .../completion/lib/tests210254/test210254_01.php   |    22 +
 .../test210254_01.php.testUseCase1.completion      |    13 +
 .../test210254_01.php.testUseCase2.completion      |     6 +
 .../test210254_01.php.testUseCase3.completion      |    13 +
 .../test210254_01.php.testUseCase4.completion      |     4 +
 .../test210254_01.php.testUseCase5.completion      |    13 +
 .../test210254_01.php.testUseCase6.completion      |     4 +
 .../completion/lib/tests215058/test215058.php      |    30 +
 .../test215058.php.testUseCase1.completion         |     9 +
 .../test215058.php.testUseCase2.completion         |     4 +
 .../test215058.php.testUseCase3.completion         |     5 +
 .../test215058.php.testUseCase4.completion         |     5 +
 .../completion/lib/tests217330/MyClass.php         |     8 +
 .../completion/lib/tests217330/tests217330.php     |     4 +
 .../tests217330.php.testUseCase1.completion        |     5 +
 .../completion/lib/tests225089/tests225089.php     |    23 +
 .../tests225089.php.testUseCase1.completion        |    15 +
 .../tests225089.php.testUseCase2.completion        |    15 +
 .../tests225089.php.testUseCase3.completion        |    15 +
 .../tests225089.php.testUseCase4.completion        |    15 +
 .../completion/lib/tests225454/test225454.php      |    31 +
 .../test225454.php.testUseCase1.completion         |     5 +
 .../test225454.php.testUseCase2.completion         |     5 +
 .../completion/lib/tests225687/issue225687.php     |    24 +
 .../issue225687.php.testUseCase1.completion        |     4 +
 .../issue225687.php.testUseCase2.completion        |     4 +
 .../completion/lib/tests226071/issue226071.php     |    28 +
 .../issue226071.php.testUseCase1.completion        |     5 +
 .../issue226071.php.testUseCase2.completion        |     5 +
 .../issue226071.php.testUseCase3.completion        |     5 +
 .../issue226071.php.testUseCase4.completion        |     5 +
 .../completion/lib/tests226632/test226632.php      |    28 +
 .../test226632.php.testUseCase1.completion         |     5 +
 .../completion/lib/tests230052/tests230052.php     |     6 +
 .../tests230052.php.testUseCase1.completion        |     5 +
 .../completion/lib/tests236184/issue236184.php     |    15 +
 .../issue236184.php.testUseCase1.completion        |     4 +
 .../issue236184.php.testUseCase2.completion        |     4 +
 .../issue236184.php.testUseCase3.completion        |     4 +
 .../completion/lib/tests236938/ClsOmg.php          |     6 +
 .../completion/lib/tests236938/issue236938.php     |     9 +
 .../issue236938.php.testUseCase1.completion        |     5 +
 .../issue236938.php.testUseCase2.completion        |     5 +
 .../completion/lib/tests239987/issue239987.php     |   163 +
 ...e239987.php.testCallerDependentTypes.completion |    13 +
 ...9987.php.testCallerDependentTypes_02.completion |    14 +
 ...9987.php.testCallerDependentTypes_03.completion |     4 +
 ...9987.php.testCallerDependentTypes_04.completion |    17 +
 ...9987.php.testCallerDependentTypes_05.completion |    17 +
 ...9987.php.testCallerDependentTypes_06.completion |     4 +
 ...9987.php.testCallerDependentTypes_07.completion |    14 +
 ...7.php.testMethodInvocationReturnType.completion |    16 +
 ...e239987.php.testOnlyReturnStatements.completion |    11 +
 .../issue239987.php.testOnlyReturnTags.completion  |    11 +
 ...239987.php.testReturnTagAndStatement.completion |    10 +
 ...e239987.php.testReturnTagWithOldThis.completion |    10 +
 ...9987.php.testReturnTagsAndStatements.completion |    11 +
 .../completion/lib/tests240522/issue240522.php     |   264 +
 .../issue240522.php.testUseCase1.completion        |     4 +
 .../issue240522.php.testUseCase2.completion        |     4 +
 .../completion/lib/tests240523/issue240523.php     |    37 +
 .../issue240523.php.testUseCase1.completion        |     4 +
 .../issue240523.php.testUseCase2.completion        |     4 +
 .../issue240523.php.testUseCase3.completion        |     4 +
 .../issue240523.php.testUseCase4.completion        |     4 +
 .../completion/lib/tests240527/issue240527.php     |   199 +
 ...ue240527.php.testFluentDynamicAccess.completion |    13 +
 ...27.php.testStaticAccessFromClassName.completion |     7 +
 ...icAccessFromEnclosedExtendedInstance.completion |    22 +
 ...testStaticAccessFromEnclosedInstance.completion |    10 +
 ...estStaticAccessFromExtendedClassName.completion |    13 +
 ...testStaticAccessFromExtendedInstance.completion |    12 +
 ...527.php.testStaticAccessFromInstance.completion |     6 +
 ...hp.testStaticAccessFromInstanceArray.completion |     6 +
 ...e240527.php.testStaticAccessFromThis.completion |    22 +
 .../completion/lib/tests241695/issue241695.php     |    37 +
 .../issue241695.php.testUseCase1.completion        |     5 +
 .../issue241695.php.testUseCase2.completion        |     5 +
 .../issue241695.php.testUseCase3.completion        |     5 +
 .../completion/lib/tests241902/issue241902.php     |    17 +
 .../issue241902.php.testUseCase1.completion        |     8 +
 .../issue241902.php.testUseCase2.completion        |     7 +
 .../issue241902.php.testUseCase3.completion        |     7 +
 .../testfiles/completion/lib/tests241902/lib.php   |     7 +
 .../completion/lib/tests241919/issue241919.php     |    13 +
 .../issue241919.php.testUseCase1.completion        |     5 +
 .../completion/lib/tests242398/issue242398_01.php  |     6 +
 .../issue242398_01.php.testUseCase1.completion     |    12 +
 .../completion/lib/tests242398/issue242398_02.php  |     6 +
 .../issue242398_02.php.testUseCase2.completion     |    12 +
 .../completion/lib/tests243458/issue243458.php     |    35 +
 .../issue243458.php.testUseCase1.completion        |     4 +
 .../issue243458.php.testUseCase2.completion        |     4 +
 .../completion/lib/tests243684/issue243684.php     |    14 +
 .../issue243684.php.testUseCase1.completion        |     4 +
 .../issue243684.php.testUseCase2.completion        |     4 +
 .../completion/lib/tests246396/issue246396.php     |    61 +
 .../issue246396.php.testUseSelf.completion         |    10 +
 .../issue246396.php.testUseStatic.completion       |    10 +
 .../issue246396.php.testUseTraitedSelf.completion  |    16 +
 ...issue246396.php.testUseTraitedStatic.completion |    16 +
 .../completion/lib/tests247082/issue247082.php     |    97 +
 .../issue247082.php.testForKeywords.completion     |    90 +
 .../issue247082.php.testForParent.completion       |    11 +
 .../issue247082.php.testForSelf.completion         |    16 +
 .../issue247082.php.testForThis.completion         |    18 +
 .../completion/lib/tests247169/issue247169.php     |    56 +
 .../issue247169.php.testTraitSelf.completion       |    10 +
 .../issue247169.php.testTraitStatic.completion     |    10 +
 .../completion/lib/tests248884/issue248884.php     |    35 +
 .../issue248884.php.testAfterConst.completion      |     7 +
 .../issue248884.php.testAfterField.completion      |     7 +
 ...ssue248884.php.testFirstTraitInClass.completion |     7 +
 ...ssue248884.php.testFirstTraitInTrait.completion |     7 +
 ...sue248884.php.testSecondTraitInClass.completion |     7 +
 ...sue248884.php.testSecondTraitInTrait.completion |     7 +
 .../completion/lib/tests253290/issue253290.php     |   169 +
 .../issue253290.php.testClassInstance.completion   |    14 +
 ...290.php.testClassInstanceNotEnclosed.completion |     7 +
 .../issue253290.php.testClassStatic.completion     |    10 +
 ...53290.php.testClassStaticNotEnclosed.completion |     6 +
 ...253290.php.testExtendedClassInstance.completion |    15 +
 ...testExtendedClassInstanceNotEnclosed.completion |     9 +
 ...ue253290.php.testExtendedClassStatic.completion |    11 +
 ...p.testExtendedClassStaticNotEnclosed.completion |     7 +
 ...90.php.testMultipleUsedTraitInstance.completion |    39 +
 ...3290.php.testMultipleUsedTraitStatic.completion |    28 +
 ...stMultipleUsedTraitStaticNotEnclosed.completion |    12 +
 ...php.testTraitedExtendedClassInstance.completion |    21 +
 ...itedExtendedClassInstanceNotEnclosed.completion |    11 +
 ...0.php.testTraitedExtendedClassStatic.completion |    14 +
 ...raitedExtendedClassStaticNotEnclosed.completion |     8 +
 ...e253290.php.testTraitedTraitInstance.completion |    21 +
 ...sue253290.php.testTraitedTraitStatic.completion |    16 +
 ...hp.testTraitedTraitStaticNotEnclosed.completion |     8 +
 .../completion/lib/tests256106/issue256106.php     |   134 +
 .../issue256106.php.testEncloging.completion       |    27 +
 ...6106.php.testEnclogingOnlyRetrunSelf.completion |    27 +
 ...06.php.testEnclogingOnlyRetrunStatic.completion |    27 +
 .../issue256106.php.testNotEncloging.completion    |    13 +
 ...6.php.testNotEnclogingOnlyRetrunSelf.completion |    13 +
 ...php.testNotEnclogingOnlyRetrunStatic.completion |    13 +
 .../completion/lib/tests257088/issue257088.php     |     8 +
 .../issue257088.php.testClassKeywords.completion   |    86 +
 .../completion/lib/tests257709/issue257709.php     |    13 +
 .../issue257709.php.testVdocWithTab.completion     |     4 +
 .../completion/lib/tests258226/tests258226.php     |    17 +
 .../tests258226.php.testUseCase1.completion        |     4 +
 .../tests258226.php.testUseCase2.completion        |     4 +
 .../completion/lib/tests258352/issue258352.php     |    49 +
 .../issue258352.php.testForStaticField.completion  |     4 +
 .../issue258352.php.testForStaticMethod.completion |     4 +
 .../lib/tests267226_01/issue267226_01.php          |    32 +
 .../issue267226_01.php.testAliasedTrait.completion |     4 +
 .../completion/lib/tests267226_02/MyClassAlias.php |    10 +
 .../completion/lib/tests267226_02/MyTrait.php      |    16 +
 .../lib/tests267226_02/issue267226_02.php          |     6 +
 ...226_02.php.testAliasedTraitFromIndex.completion |     5 +
 .../completion/phpdoc/testIssue245356/data.php     |    10 +
 .../completion/phpdoc/testIssue245356/issue.php    |    11 +
 .../issue.php.testIssue245356_01.completion        |    25 +
 .../issue.php.testIssue245356_02.completion        |     8 +
 .../typenameresolver/testFullyQualifiedName_01.php |    14 +
 .../typenameresolver/testQualifiedName_01.php      |    19 +
 .../typenameresolver/testQualifiedName_02.php      |    19 +
 .../typenameresolver/testQualifiedName_03.php      |    19 +
 .../typenameresolver/testQualifiedName_04.php      |    19 +
 .../typenameresolver/testQualifiedName_05.php      |    19 +
 .../typenameresolver/testQualifiedName_06.php      |    19 +
 .../typenameresolver/testQualifiedName_07.php      |    17 +
 .../typenameresolver/testQualifiedName_08.php      |    17 +
 .../typenameresolver/testQualifiedName_09.php      |    17 +
 .../typenameresolver/testQualifiedName_10.php      |    19 +
 .../typenameresolver/testQualifiedName_11.php      |    19 +
 .../typenameresolver/testQualifiedName_12.php      |    11 +
 .../elements/typenameresolver/testSmartName_01.php |    19 +
 .../elements/typenameresolver/testSmartName_02.php |    19 +
 .../elements/typenameresolver/testSmartName_03.php |    19 +
 .../elements/typenameresolver/testSmartName_04.php |    19 +
 .../elements/typenameresolver/testSmartName_05.php |    11 +
 .../typenameresolver/testSmartName_fail.php        |     7 +
 php.editor/test/unit/data/testfiles/embeddings.php |     2 +
 .../test/unit/data/testfiles/finally_01.php.folds  |    11 +
 .../test/unit/data/testfiles/finally_02.php.folds  |     9 +
 .../foldingConditionalStatements.php.folds         |    43 +
 .../foldingConditionalStatements_1.php.folds       |    55 +
 .../unit/data/testfiles/foldingCycles.php.folds    |    63 +
 .../unit/data/testfiles/foldingCycles_1.php.folds  |    79 +
 .../unit/data/testfiles/foldingMethod.php.folds    |    23 +
 .../unit/data/testfiles/foldingMethod_1.php.folds  |    28 +
 .../unit/data/testfiles/formatting/TraitUses01.php |    19 +
 .../testfiles/formatting/TraitUses01.php.formatted |    33 +
 .../unit/data/testfiles/formatting/TraitUses02.php |    19 +
 .../testfiles/formatting/TraitUses02.php.formatted |    31 +
 .../unit/data/testfiles/formatting/TraitUses03.php |    19 +
 .../testfiles/formatting/TraitUses03.php.formatted |    31 +
 .../formatting/alignment/alignmentKeywords01.php   |    60 +
 .../alignment/alignmentKeywords01.php.formatted    |    73 +
 .../formatting/alignment/alignmentKeywords02.php   |    60 +
 .../alignment/alignmentKeywords02.php.formatted    |    73 +
 .../formatting/alignment/alignmentKeywords03.php   |    60 +
 .../alignment/alignmentKeywords03.php.formatted    |    88 +
 .../formatting/alignment/alignmentKeywords04.php   |    60 +
 .../alignment/alignmentKeywords04.php.formatted    |    77 +
 .../testfiles/formatting/alignment/finally_01.php  |    10 +
 .../formatting/alignment/finally_01.php.formatted  |    11 +
 .../testfiles/formatting/alignment/finally_02.php  |    10 +
 .../formatting/alignment/finally_02.php.formatted  |    10 +
 .../alignment/groupAlignmentArrayInit01.php        |    41 +
 .../groupAlignmentArrayInit01.php.formatted        |    41 +
 .../alignment/groupAlignmentAssignment01.php       |    41 +
 .../groupAlignmentAssignment01.php.formatted       |    41 +
 .../testfiles/formatting/alignment/issue209030.php |    17 +
 .../formatting/alignment/issue209030.php.formatted |    17 +
 .../testfiles/formatting/alignment/issue210617.php |   118 +
 .../formatting/alignment/issue210617.php.formatted |   118 +
 .../formatting/alignment/issue211445_01.php        |     5 +
 .../alignment/issue211445_01.php.formatted         |     4 +
 .../formatting/alignment/issue211445_02.php        |     5 +
 .../alignment/issue211445_02.php.formatted         |     6 +
 .../formatting/alignment/issue211445_03.php        |     5 +
 .../alignment/issue211445_03.php.formatted         |     4 +
 .../formatting/alignment/issue211445_04.php        |     5 +
 .../alignment/issue211445_04.php.formatted         |     7 +
 .../formatting/alignment/issue211445_05.php        |     6 +
 .../alignment/issue211445_05.php.formatted         |     6 +
 .../testfiles/formatting/alignment/issue211482.php |    32 +
 .../formatting/alignment/issue211482.php.formatted |    32 +
 .../testfiles/formatting/alignment/issue214466.php |    13 +
 .../formatting/alignment/issue214466.php.formatted |    12 +
 .../testfiles/formatting/alignment/issue218847.php |    55 +
 .../formatting/alignment/issue218847.php.formatted |    69 +
 .../testfiles/formatting/alignment/issue225003.php |    16 +
 .../formatting/alignment/issue225003.php.formatted |    17 +
 .../testfiles/formatting/alignment/issue225010.php |     4 +
 .../formatting/alignment/issue225010.php.formatted |     5 +
 .../testfiles/formatting/alignment/issue230798.php |     8 +
 .../formatting/alignment/issue230798.php.formatted |    11 +
 .../formatting/alignment/issue230949_01.php        |     8 +
 .../alignment/issue230949_01.php.formatted         |     7 +
 .../formatting/alignment/issue230949_02.php        |     8 +
 .../alignment/issue230949_02.php.formatted         |     8 +
 .../testfiles/formatting/alignment/issue244566.php |     7 +
 .../formatting/alignment/issue244566.php.formatted |     6 +
 .../data/testfiles/formatting/anonymousClass.php   |    24 +
 .../formatting/anonymousClass.php.formatted        |    33 +
 .../testfiles/formatting/anonymousClassBP_01.php   |     5 +
 .../formatting/anonymousClassBP_01.php.formatted   |     9 +
 .../testfiles/formatting/anonymousClassBP_02.php   |     5 +
 .../formatting/anonymousClassBP_02.php.formatted   |     8 +
 .../testfiles/formatting/anonymousClassBP_03.php   |     5 +
 .../formatting/anonymousClassBP_03.php.formatted   |     8 +
 .../testfiles/formatting/anonymousClassBP_04.php   |     5 +
 .../formatting/anonymousClassBP_04.php.formatted   |     9 +
 .../unit/data/testfiles/formatting/arrays1.php     |     5 +
 .../testfiles/formatting/arrays1.php.formatted     |     6 +
 .../unit/data/testfiles/formatting/arrays2.php     |     8 +
 .../testfiles/formatting/arrays2.php.formatted     |     9 +
 .../unit/data/testfiles/formatting/arrays3.php     |    23 +
 .../testfiles/formatting/arrays3.php.formatted     |    26 +
 .../unit/data/testfiles/formatting/arrays4.php     |     9 +
 .../testfiles/formatting/arrays4.php.formatted     |     9 +
 .../unit/data/testfiles/formatting/arrays5.php     |    15 +
 .../testfiles/formatting/arrays5.php.formatted     |    15 +
 .../blankLines/AlternativeSyntaxPlacement01.php    |    45 +
 .../AlternativeSyntaxPlacement01.php.formatted     |    43 +
 .../formatting/blankLines/AnonymousClass01.php     |    31 +
 .../blankLines/AnonymousClass01.php.formatted      |    32 +
 .../formatting/blankLines/AnonymousClass02.php     |    15 +
 .../blankLines/AnonymousClass02.php.formatted      |    15 +
 .../formatting/blankLines/AnonymousClass03.php     |    59 +
 .../blankLines/AnonymousClass03.php.formatted      |    67 +
 .../formatting/blankLines/BracePlacement01.php     |    60 +
 .../blankLines/BracePlacement01.php.formatted      |    80 +
 .../formatting/blankLines/BracePlacement02.php     |    60 +
 .../blankLines/BracePlacement02.php.formatted      |    80 +
 .../formatting/blankLines/BracePlacement03.php     |    60 +
 .../blankLines/BracePlacement03.php.formatted      |    62 +
 .../testfiles/formatting/blankLines/Class01.php    |    33 +
 .../formatting/blankLines/Class01.php.formatted    |    33 +
 .../testfiles/formatting/blankLines/Class02.php    |    17 +
 .../formatting/blankLines/Class02.php.formatted    |    17 +
 .../testfiles/formatting/blankLines/Class03.php    |    60 +
 .../formatting/blankLines/Class03.php.formatted    |    70 +
 .../testfiles/formatting/blankLines/Fields01.php   |    10 +
 .../formatting/blankLines/Fields01.php.formatted   |     7 +
 .../testfiles/formatting/blankLines/Fields02.php   |    16 +
 .../formatting/blankLines/Fields02.php.formatted   |     8 +
 .../testfiles/formatting/blankLines/Fields03.php   |    13 +
 .../formatting/blankLines/Fields03.php.formatted   |    11 +
 .../testfiles/formatting/blankLines/Fields04.php   |    10 +
 .../formatting/blankLines/Fields04.php.formatted   |    11 +
 .../testfiles/formatting/blankLines/Fields05.php   |    13 +
 .../formatting/blankLines/Fields05.php.formatted   |    12 +
 .../testfiles/formatting/blankLines/Fields06.php   |    18 +
 .../formatting/blankLines/Fields06.php.formatted   |    15 +
 .../testfiles/formatting/blankLines/Fields07.php   |    18 +
 .../formatting/blankLines/Fields07.php.formatted   |    17 +
 .../testfiles/formatting/blankLines/Fields08.php   |    28 +
 .../formatting/blankLines/Fields08.php.formatted   |    32 +
 .../testfiles/formatting/blankLines/Fields09.php   |    34 +
 .../formatting/blankLines/Fields09.php.formatted   |    38 +
 .../testfiles/formatting/blankLines/Fields10.php   |    13 +
 .../formatting/blankLines/Fields10.php.formatted   |    17 +
 .../testfiles/formatting/blankLines/Fields11.php   |     8 +
 .../formatting/blankLines/Fields11.php.formatted   |    12 +
 .../testfiles/formatting/blankLines/Function01.php |     5 +
 .../formatting/blankLines/Function01.php.formatted |     7 +
 .../testfiles/formatting/blankLines/Function02.php |    22 +
 .../formatting/blankLines/Function02.php.formatted |    14 +
 .../testfiles/formatting/blankLines/Function04.php |     8 +
 .../formatting/blankLines/Function04.php.formatted |    15 +
 .../testfiles/formatting/blankLines/GroupUse01.php |    12 +
 .../formatting/blankLines/GroupUse01.php.formatted |    20 +
 .../testfiles/formatting/blankLines/GroupUse02.php |    27 +
 .../formatting/blankLines/GroupUse02.php.formatted |    20 +
 .../testfiles/formatting/blankLines/GroupUse03.php |    39 +
 .../formatting/blankLines/GroupUse03.php.formatted |    26 +
 .../testfiles/formatting/blankLines/GroupUse04.php |    13 +
 .../formatting/blankLines/GroupUse04.php.formatted |    18 +
 .../formatting/blankLines/Namespace01.php          |     9 +
 .../blankLines/Namespace01.php.formatted           |    14 +
 .../formatting/blankLines/Namespace02.php          |    15 +
 .../blankLines/Namespace02.php.formatted           |    14 +
 .../formatting/blankLines/Namespace03.php          |    19 +
 .../blankLines/Namespace03.php.formatted           |    15 +
 .../formatting/blankLines/OpenClosePHPTag01.php    |     9 +
 .../blankLines/OpenClosePHPTag01.php.formatted     |     4 +
 .../formatting/blankLines/OpenClosePHPTag02.php    |    11 +
 .../blankLines/OpenClosePHPTag02.php.formatted     |     5 +
 .../formatting/blankLines/OpenClosePHPTag03.php    |    11 +
 .../blankLines/OpenClosePHPTag03.php.formatted     |     6 +
 .../formatting/blankLines/OpenClosePHPTag04.php    |     2 +
 .../blankLines/OpenClosePHPTag04.php.formatted     |     2 +
 .../formatting/blankLines/OpenClosePHPTag05.php    |     1 +
 .../blankLines/OpenClosePHPTag05.php.formatted     |     1 +
 .../blankLines/SimpleAnonymousClass01.php          |     9 +
 .../SimpleAnonymousClass01.php.formatted           |    12 +
 .../blankLines/SimpleAnonymousClass02.php          |    25 +
 .../SimpleAnonymousClass02.php.formatted           |    16 +
 .../blankLines/SimpleAnonymousClass03.php          |     8 +
 .../SimpleAnonymousClass03.php.formatted           |    12 +
 .../blankLines/SimpleAnonymousClass04.php          |    19 +
 .../SimpleAnonymousClass04.php.formatted           |    24 +
 .../blankLines/SimpleAnonymousClass05.php          |     5 +
 .../SimpleAnonymousClass05.php.formatted           |     7 +
 .../blankLines/SimpleAnonymousClass06.php          |     5 +
 .../SimpleAnonymousClass06.php.formatted           |     8 +
 .../blankLines/SimpleAnonymousClass07.php          |     5 +
 .../SimpleAnonymousClass07.php.formatted           |     8 +
 .../blankLines/SimpleAnonymousClass08.php          |     5 +
 .../SimpleAnonymousClass08.php.formatted           |     7 +
 .../blankLines/SimpleAnonymousClass09.php          |     5 +
 .../SimpleAnonymousClass09.php.formatted           |     8 +
 .../blankLines/SimpleAnonymousClass10.php          |     5 +
 .../SimpleAnonymousClass10.php.formatted           |     7 +
 .../blankLines/SimpleAnonymousClass11.php          |     5 +
 .../SimpleAnonymousClass11.php.formatted           |     7 +
 .../blankLines/SimpleAnonymousClass12.php          |     5 +
 .../SimpleAnonymousClass12.php.formatted           |     9 +
 .../blankLines/SimpleAnonymousClass13.php          |     5 +
 .../SimpleAnonymousClass13.php.formatted           |     8 +
 .../blankLines/SimpleAnonymousClass14.php          |     4 +
 .../SimpleAnonymousClass14.php.formatted           |     8 +
 .../blankLines/SimpleAnonymousClass15.php          |     4 +
 .../SimpleAnonymousClass15.php.formatted           |     8 +
 .../blankLines/SimpleAnonymousClass16.php          |     5 +
 .../SimpleAnonymousClass16.php.formatted           |    10 +
 .../blankLines/SimpleAnonymousClass17.php          |     5 +
 .../SimpleAnonymousClass17.php.formatted           |    11 +
 .../formatting/blankLines/SimpleClass01.php        |    10 +
 .../blankLines/SimpleClass01.php.formatted         |    15 +
 .../formatting/blankLines/SimpleClass02.php        |    25 +
 .../blankLines/SimpleClass02.php.formatted         |    18 +
 .../formatting/blankLines/SimpleClass03.php        |     9 +
 .../blankLines/SimpleClass03.php.formatted         |    14 +
 .../formatting/blankLines/SimpleClass04.php        |    20 +
 .../blankLines/SimpleClass04.php.formatted         |    27 +
 .../formatting/blankLines/SimpleClass05.php        |     6 +
 .../blankLines/SimpleClass05.php.formatted         |     8 +
 .../formatting/blankLines/SimpleClass06.php        |     6 +
 .../blankLines/SimpleClass06.php.formatted         |     9 +
 .../formatting/blankLines/SimpleClass07.php        |     6 +
 .../blankLines/SimpleClass07.php.formatted         |     9 +
 .../formatting/blankLines/SimpleClass08.php        |     6 +
 .../blankLines/SimpleClass08.php.formatted         |     9 +
 .../formatting/blankLines/SimpleClass09.php        |     6 +
 .../blankLines/SimpleClass09.php.formatted         |     9 +
 .../formatting/blankLines/SimpleClass10.php        |     6 +
 .../blankLines/SimpleClass10.php.formatted         |     8 +
 .../formatting/blankLines/SimpleClass11.php        |     6 +
 .../blankLines/SimpleClass11.php.formatted         |     9 +
 .../formatting/blankLines/SimpleClass12.php        |     6 +
 .../blankLines/SimpleClass12.php.formatted         |    10 +
 .../formatting/blankLines/SimpleClass13.php        |     6 +
 .../blankLines/SimpleClass13.php.formatted         |    11 +
 .../formatting/blankLines/SimpleClass14.php        |     5 +
 .../blankLines/SimpleClass14.php.formatted         |    11 +
 .../formatting/blankLines/SimpleClass15.php        |     5 +
 .../blankLines/SimpleClass15.php.formatted         |    11 +
 .../formatting/blankLines/SimpleClass16.php        |     6 +
 .../blankLines/SimpleClass16.php.formatted         |    13 +
 .../formatting/blankLines/SimpleClass17.php        |     6 +
 .../blankLines/SimpleClass17.php.formatted         |    13 +
 .../formatting/blankLines/SimpleTrait01.php        |    10 +
 .../blankLines/SimpleTrait01.php.formatted         |    15 +
 .../formatting/blankLines/SimpleTrait02.php        |    25 +
 .../blankLines/SimpleTrait02.php.formatted         |    18 +
 .../formatting/blankLines/SimpleTrait03.php        |     9 +
 .../blankLines/SimpleTrait03.php.formatted         |    14 +
 .../formatting/blankLines/SimpleTrait04.php        |    20 +
 .../blankLines/SimpleTrait04.php.formatted         |    27 +
 .../formatting/blankLines/SimpleTrait05.php        |     6 +
 .../blankLines/SimpleTrait05.php.formatted         |     8 +
 .../formatting/blankLines/SimpleTrait06.php        |     6 +
 .../blankLines/SimpleTrait06.php.formatted         |     9 +
 .../formatting/blankLines/SimpleTrait07.php        |     6 +
 .../blankLines/SimpleTrait07.php.formatted         |     9 +
 .../formatting/blankLines/SimpleTrait08.php        |     6 +
 .../blankLines/SimpleTrait08.php.formatted         |     9 +
 .../formatting/blankLines/SimpleTrait09.php        |     6 +
 .../blankLines/SimpleTrait09.php.formatted         |     9 +
 .../formatting/blankLines/SimpleTrait10.php        |     6 +
 .../blankLines/SimpleTrait10.php.formatted         |     8 +
 .../formatting/blankLines/SimpleTrait11.php        |     6 +
 .../blankLines/SimpleTrait11.php.formatted         |     9 +
 .../formatting/blankLines/SimpleTrait12.php        |     6 +
 .../blankLines/SimpleTrait12.php.formatted         |    10 +
 .../formatting/blankLines/SimpleTrait13.php        |     6 +
 .../blankLines/SimpleTrait13.php.formatted         |    11 +
 .../formatting/blankLines/SimpleTrait14.php        |     5 +
 .../blankLines/SimpleTrait14.php.formatted         |    11 +
 .../formatting/blankLines/SimpleTrait15.php        |     5 +
 .../blankLines/SimpleTrait15.php.formatted         |    11 +
 .../formatting/blankLines/SimpleTrait16.php        |     6 +
 .../blankLines/SimpleTrait16.php.formatted         |    13 +
 .../formatting/blankLines/SimpleTrait17.php        |     6 +
 .../blankLines/SimpleTrait17.php.formatted         |    13 +
 .../testfiles/formatting/blankLines/Trait01.php    |    33 +
 .../formatting/blankLines/Trait01.php.formatted    |    33 +
 .../testfiles/formatting/blankLines/Trait02.php    |    16 +
 .../formatting/blankLines/Trait02.php.formatted    |    16 +
 .../testfiles/formatting/blankLines/Trait03.php    |    60 +
 .../formatting/blankLines/Trait03.php.formatted    |    70 +
 .../formatting/blankLines/TraitUses01.php          |    19 +
 .../blankLines/TraitUses01.php.formatted           |    27 +
 .../formatting/blankLines/TraitUses02.php          |    19 +
 .../blankLines/TraitUses02.php.formatted           |    31 +
 .../data/testfiles/formatting/blankLines/Use01.php |    13 +
 .../formatting/blankLines/Use01.php.formatted      |    16 +
 .../data/testfiles/formatting/blankLines/Use02.php |    28 +
 .../formatting/blankLines/Use02.php.formatted      |    16 +
 .../data/testfiles/formatting/blankLines/Use03.php |    40 +
 .../formatting/blankLines/Use03.php.formatted      |    22 +
 .../data/testfiles/formatting/blankLines/Use04.php |    14 +
 .../formatting/blankLines/Use04.php.formatted      |    14 +
 .../formatting/blankLines/issue181003_01.php       |     8 +
 .../blankLines/issue181003_01.php.formatted        |    13 +
 .../formatting/blankLines/issue181003_02.php       |     8 +
 .../blankLines/issue181003_02.php.formatted        |    15 +
 .../formatting/blankLines/issue181003_03.php       |     8 +
 .../blankLines/issue181003_03.php.formatted        |    13 +
 .../formatting/blankLines/issue181003_04.php       |     8 +
 .../blankLines/issue181003_04.php.formatted        |    11 +
 .../formatting/blankLines/issue186461_01.php       |    15 +
 .../blankLines/issue186461_01.php.formatted        |    14 +
 .../formatting/blankLines/issue186461_02.php       |    32 +
 .../blankLines/issue186461_02.php.formatted        |    33 +
 .../formatting/blankLines/issue186738_01.php       |    26 +
 .../blankLines/issue186738_01.php.formatted        |    28 +
 .../formatting/blankLines/issue187264_01.php       |    58 +
 .../blankLines/issue187264_01.php.formatted        |    45 +
 .../formatting/blankLines/issue187264_02.php       |    15 +
 .../blankLines/issue187264_02.php.formatted        |    12 +
 .../formatting/blankLines/issue201994_01.php       |     3 +
 .../blankLines/issue201994_01.php.formatted        |     3 +
 .../formatting/blankLines/issue229703.php          |    16 +
 .../blankLines/issue229703.php.formatted           |    20 +
 .../formatting/blankLines/issue232395_01.php       |    12 +
 .../blankLines/issue232395_01.php.formatted        |    17 +
 .../formatting/blankLines/issue232395_02.php       |    12 +
 .../blankLines/issue232395_02.php.formatted        |    17 +
 .../formatting/blankLines/issue232395_03.php       |    12 +
 .../blankLines/issue232395_03.php.formatted        |    17 +
 .../formatting/blankLines/issue232395_04.php       |    12 +
 .../blankLines/issue232395_04.php.formatted        |    17 +
 .../formatting/blankLines/issue232395_05.php       |    12 +
 .../blankLines/issue232395_05.php.formatted        |    17 +
 .../formatting/blankLines/issue232395_06.php       |    12 +
 .../blankLines/issue232395_06.php.formatted        |    17 +
 .../formatting/blankLines/issue232395_07.php       |    12 +
 .../blankLines/issue232395_07.php.formatted        |    17 +
 .../formatting/blankLines/issue232395_08.php       |    12 +
 .../blankLines/issue232395_08.php.formatted        |    17 +
 .../formatting/blankLines/issue234764_01.php       |     1 +
 .../blankLines/issue234764_01.php.formatted        |     9 +
 .../formatting/blankLines/issue234764_02.php       |     3 +
 .../blankLines/issue234764_02.php.formatted        |    11 +
 .../formatting/blankLines/issue234764_03.php       |     5 +
 .../blankLines/issue234764_03.php.formatted        |    21 +
 .../formatting/blankLines/issue234764_04.php       |     6 +
 .../blankLines/issue234764_04.php.formatted        |    23 +
 .../formatting/blankLines/issue234774.php          |     3 +
 .../blankLines/issue234774.php.formatted           |    12 +
 .../formatting/blankLines/issue235710_01.php       |     8 +
 .../blankLines/issue235710_01.php.formatted        |     7 +
 .../formatting/blankLines/issue235710_02.php       |     8 +
 .../blankLines/issue235710_02.php.formatted        |    11 +
 .../formatting/blankLines/issue235710_03.php       |     8 +
 .../blankLines/issue235710_03.php.formatted        |    11 +
 .../formatting/blankLines/issue235710_04.php       |     8 +
 .../blankLines/issue235710_04.php.formatted        |    11 +
 .../formatting/blankLines/issue235710_05.php       |     8 +
 .../blankLines/issue235710_05.php.formatted        |     8 +
 .../formatting/blankLines/issue235710_06.php       |     8 +
 .../blankLines/issue235710_06.php.formatted        |    11 +
 .../formatting/blankLines/issue235710_07.php       |     8 +
 .../blankLines/issue235710_07.php.formatted        |    11 +
 .../formatting/blankLines/issue235710_08.php       |     8 +
 .../blankLines/issue235710_08.php.formatted        |    11 +
 .../formatting/blankLines/issue235972_01.php       |     5 +
 .../blankLines/issue235972_01.php.formatted        |     3 +
 .../formatting/blankLines/issue235972_02.php       |     7 +
 .../blankLines/issue235972_02.php.formatted        |     5 +
 .../formatting/blankLines/issue243744.php          |     8 +
 .../blankLines/issue243744.php.formatted           |     6 +
 .../testfiles/formatting/broken/issue197074_01.php |    22 +
 .../formatting/broken/issue197074_01.php.formatted |    21 +
 .../testfiles/formatting/broken/issue197074_02.php |    10 +
 .../formatting/broken/issue197074_02.php.formatted |    10 +
 .../testfiles/formatting/broken/issue197074_03.php |    12 +
 .../formatting/broken/issue197074_03.php.formatted |    14 +
 .../testfiles/formatting/broken/issue197074_04.php |    78 +
 .../formatting/broken/issue197074_04.php.formatted |    77 +
 .../unit/data/testfiles/formatting/comment01.php   |    11 +
 .../testfiles/formatting/comment01.php.formatted   |     9 +
 .../unit/data/testfiles/formatting/comment02.php   |    10 +
 .../testfiles/formatting/comment02.php.formatted   |     8 +
 .../unit/data/testfiles/formatting/comment03.php   |    10 +
 .../testfiles/formatting/comment03.php.formatted   |     8 +
 .../unit/data/testfiles/formatting/comment04.php   |     9 +
 .../testfiles/formatting/comment04.php.formatted   |     7 +
 .../unit/data/testfiles/formatting/comment05.php   |     5 +
 .../testfiles/formatting/comment05.php.formatted   |     6 +
 .../unit/data/testfiles/formatting/comment06.php   |    48 +
 .../testfiles/formatting/comment06.php.formatted   |    55 +
 .../unit/data/testfiles/formatting/comment07.php   |     7 +
 .../testfiles/formatting/comment07.php.formatted   |     7 +
 .../unit/data/testfiles/formatting/comment08.php   |     8 +
 .../testfiles/formatting/comment08.php.formatted   |     8 +
 .../unit/data/testfiles/formatting/comment09.php   |     8 +
 .../testfiles/formatting/comment09.php.formatted   |     8 +
 .../unit/data/testfiles/formatting/comment10.php   |    20 +
 .../testfiles/formatting/comment10.php.formatted   |    19 +
 .../unit/data/testfiles/formatting/comment11.php   |     7 +
 .../testfiles/formatting/comment11.php.formatted   |     8 +
 .../testfiles/formatting/continued_expression.php  |     7 +
 .../formatting/continued_expression.php.formatted  |     6 +
 .../testfiles/formatting/continued_expression2.php |    10 +
 .../formatting/continued_expression2.php.formatted |     7 +
 .../data/testfiles/formatting/format_fragment1.php |     8 +
 .../formatting/format_fragment1.php.formatted      |    11 +
 .../data/testfiles/formatting/groupUseBP_01.php    |    12 +
 .../formatting/groupUseBP_01.php.formatted         |    29 +
 .../data/testfiles/formatting/groupUseBP_02.php    |    12 +
 .../formatting/groupUseBP_02.php.formatted         |    29 +
 .../data/testfiles/formatting/groupUseBP_03.php    |    12 +
 .../formatting/groupUseBP_03.php.formatted         |    22 +
 .../data/testfiles/formatting/groupUseBP_04.php    |    12 +
 .../formatting/groupUseBP_04.php.formatted         |    25 +
 .../formatting/groupUseInNamespaceBlock.php        |    11 +
 .../groupUseInNamespaceBlock.php.formatted         |    22 +
 .../unit/data/testfiles/formatting/heredoc.php     |    10 +
 .../testfiles/formatting/heredoc.php.formatted     |    11 +
 .../unit/data/testfiles/formatting/html/html01.php |     8 +
 .../testfiles/formatting/html/html01.php.formatted |     8 +
 .../unit/data/testfiles/formatting/html/html02.php |     8 +
 .../testfiles/formatting/html/html02.php.formatted |     8 +
 .../unit/data/testfiles/formatting/html/html03.php |    10 +
 .../testfiles/formatting/html/html03.php.formatted |    10 +
 .../unit/data/testfiles/formatting/html/html04.php |    25 +
 .../testfiles/formatting/html/html04.php.formatted |    25 +
 .../unit/data/testfiles/formatting/html/html05.php |    28 +
 .../testfiles/formatting/html/html05.php.formatted |    28 +
 .../unit/data/testfiles/formatting/html/if_01.php  |    18 +
 .../testfiles/formatting/html/if_01.php.formatted  |    18 +
 .../unit/data/testfiles/formatting/html/if_02.php  |    22 +
 .../testfiles/formatting/html/if_02.php.formatted  |    22 +
 .../unit/data/testfiles/formatting/html/if_03.php  |    36 +
 .../testfiles/formatting/html/if_03.php.formatted  |    36 +
 .../data/testfiles/formatting/html/issue175229.php |     8 +
 .../formatting/html/issue175229.php.formatted      |     8 +
 .../data/testfiles/formatting/html/issue176223.php |    10 +
 .../formatting/html/issue176223.php.formatted      |    10 +
 .../testfiles/formatting/html/issue179108_01.php   |    12 +
 .../formatting/html/issue179108_01.php.formatted   |    12 +
 .../testfiles/formatting/html/issue179108_02.php   |     8 +
 .../formatting/html/issue179108_02.php.formatted   |     8 +
 .../data/testfiles/formatting/html/issue179184.php |    33 +
 .../formatting/html/issue179184.php.formatted      |    34 +
 .../testfiles/formatting/html/issue179184_02.php   |    14 +
 .../formatting/html/issue179184_02.php.formatted   |    14 +
 .../data/testfiles/formatting/html/issue183268.php |   151 +
 .../formatting/html/issue183268.php.formatted      |   141 +
 .../data/testfiles/formatting/html/issue187309.php |     7 +
 .../formatting/html/issue187309.php.formatted      |     6 +
 .../testfiles/formatting/html/issue189002_01.php   |    11 +
 .../formatting/html/issue189002_01.php.formatted   |    11 +
 .../testfiles/formatting/html/issue189002_02.php   |    11 +
 .../formatting/html/issue189002_02.php.formatted   |    11 +
 .../data/testfiles/formatting/html/issue189850.php |    13 +
 .../formatting/html/issue189850.php.formatted      |    13 +
 .../data/testfiles/formatting/html/issue190544.php |    69 +
 .../formatting/html/issue190544.php.formatted      |    69 +
 .../data/testfiles/formatting/html/issue190652.php |    19 +
 .../formatting/html/issue190652.php.formatted      |    18 +
 .../formatting/ifelse_alternative_syntax.php       |     9 +
 .../ifelse_alternative_syntax.php.formatted        |    10 +
 .../testfiles/formatting/ifelse_nobrackets.php     |     6 +
 .../formatting/ifelse_nobrackets.php.formatted     |     7 +
 .../data/testfiles/formatting/initialIndent01.php  |    13 +
 .../formatting/initialIndent01.php.formatted       |    15 +
 .../data/testfiles/formatting/initial_indent1.php  |    13 +
 .../formatting/initial_indent1.php.formatted       |    13 +
 .../unit/data/testfiles/formatting/issue161049.php |     5 +
 .../testfiles/formatting/issue161049.php.formatted |     7 +
 .../unit/data/testfiles/formatting/issue162126.php |    24 +
 .../testfiles/formatting/issue162126.php.formatted |    24 +
 .../unit/data/testfiles/formatting/issue162320.php |    16 +
 .../testfiles/formatting/issue162320.php.formatted |    20 +
 .../unit/data/testfiles/formatting/issue162586.php |    15 +
 .../testfiles/formatting/issue162586.php.formatted |    15 +
 .../unit/data/testfiles/formatting/issue162785.php |     8 +
 .../testfiles/formatting/issue162785.php.formatted |     8 +
 .../unit/data/testfiles/formatting/issue164219.php |    20 +
 .../testfiles/formatting/issue164219.php.formatted |    25 +
 .../unit/data/testfiles/formatting/issue164381.php |    30 +
 .../testfiles/formatting/issue164381.php.formatted |    26 +
 .../unit/data/testfiles/formatting/issue165762.php |    26 +
 .../testfiles/formatting/issue165762.php.formatted |    26 +
 .../unit/data/testfiles/formatting/issue166550.php |     9 +
 .../testfiles/formatting/issue166550.php.formatted |    13 +
 .../unit/data/testfiles/formatting/issue167791.php |    28 +
 .../testfiles/formatting/issue167791.php.formatted |    31 +
 .../data/testfiles/formatting/issue168396_01.php   |    37 +
 .../formatting/issue168396_01.php.formatted        |    37 +
 .../unit/data/testfiles/formatting/issue171309.php |    22 +
 .../testfiles/formatting/issue171309.php.formatted |    20 +
 .../unit/data/testfiles/formatting/issue172259.php |     5 +
 .../testfiles/formatting/issue172259.php.formatted |     6 +
 .../unit/data/testfiles/formatting/issue172475.php |    16 +
 .../testfiles/formatting/issue172475.php.formatted |    16 +
 .../testfiles/formatting/issue173906_dowhile.php   |     5 +
 .../formatting/issue173906_dowhile.php.formatted   |     6 +
 .../unit/data/testfiles/formatting/issue174544.php |     5 +
 .../testfiles/formatting/issue174544.php.formatted |     6 +
 .../unit/data/testfiles/formatting/issue174563.php |     7 +
 .../testfiles/formatting/issue174563.php.formatted |     9 +
 .../unit/data/testfiles/formatting/issue174595.php |     4 +
 .../testfiles/formatting/issue174595.php.formatted |     4 +
 .../unit/data/testfiles/formatting/issue176224.php |     6 +
 .../testfiles/formatting/issue176224.php.formatted |     6 +
 .../unit/data/testfiles/formatting/issue176453.php |    12 +
 .../testfiles/formatting/issue176453.php.formatted |    11 +
 .../data/testfiles/formatting/issue180332_01.php   |     9 +
 .../formatting/issue180332_01.php.formatted        |    10 +
 .../unit/data/testfiles/formatting/issue181588.php |    20 +
 .../testfiles/formatting/issue181588.php.formatted |    24 +
 .../data/testfiles/formatting/issue182072_01.php   |    17 +
 .../formatting/issue182072_01.php.formatted        |    18 +
 .../data/testfiles/formatting/issue183200_01.php   |    14 +
 .../formatting/issue183200_01.php.formatted        |    14 +
 .../data/testfiles/formatting/issue183200_02.php   |    14 +
 .../formatting/issue183200_02.php.formatted        |    15 +
 .../data/testfiles/formatting/issue184687_01.php   |    14 +
 .../formatting/issue184687_01.php.formatted        |    22 +
 .../data/testfiles/formatting/issue184687_02.php   |    22 +
 .../formatting/issue184687_02.php.formatted        |    22 +
 .../data/testfiles/formatting/issue185353_01.php   |     6 +
 .../formatting/issue185353_01.php.formatted        |     6 +
 .../data/testfiles/formatting/issue185353_02.php   |     7 +
 .../formatting/issue185353_02.php.formatted        |     6 +
 .../data/testfiles/formatting/issue185353_03.php   |     8 +
 .../formatting/issue185353_03.php.formatted        |     7 +
 .../data/testfiles/formatting/issue185353_04.php   |     8 +
 .../formatting/issue185353_04.php.formatted        |     7 +
 .../data/testfiles/formatting/issue185353_05.php   |     8 +
 .../formatting/issue185353_05.php.formatted        |     7 +
 .../data/testfiles/formatting/issue185353_06.php   |    24 +
 .../formatting/issue185353_06.php.formatted        |    23 +
 .../unit/data/testfiles/formatting/issue187757.php |     1 +
 .../testfiles/formatting/issue187757.php.formatted |     1 +
 .../data/testfiles/formatting/issue188431_01.php   |    11 +
 .../formatting/issue188431_01.php.formatted        |    13 +
 .../data/testfiles/formatting/issue188431_02.php   |    11 +
 .../formatting/issue188431_02.php.formatted        |    13 +
 .../data/testfiles/formatting/issue188431_03.php   |   139 +
 .../formatting/issue188431_03.php.formatted        |   138 +
 .../data/testfiles/formatting/issue189835_01.php   |     3 +
 .../formatting/issue189835_01.php.formatted        |     4 +
 .../data/testfiles/formatting/issue189835_02.php   |     3 +
 .../formatting/issue189835_02.php.formatted        |     4 +
 .../data/testfiles/formatting/issue189835_03.php   |     3 +
 .../formatting/issue189835_03.php.formatted        |     4 +
 .../data/testfiles/formatting/issue189835_04.php   |     3 +
 .../formatting/issue189835_04.php.formatted        |     4 +
 .../data/testfiles/formatting/issue189835_05.php   |     3 +
 .../formatting/issue189835_05.php.formatted        |     6 +
 .../data/testfiles/formatting/issue189835_06.php   |     3 +
 .../formatting/issue189835_06.php.formatted        |     4 +
 .../data/testfiles/formatting/issue190010_01.php   |     7 +
 .../formatting/issue190010_01.php.formatted        |     6 +
 .../data/testfiles/formatting/issue190010_02.php   |    18 +
 .../formatting/issue190010_02.php.formatted        |    19 +
 .../data/testfiles/formatting/issue190010_03.php   |     7 +
 .../formatting/issue190010_03.php.formatted        |     6 +
 .../data/testfiles/formatting/issue190010_04.php   |     7 +
 .../formatting/issue190010_04.php.formatted        |     6 +
 .../unit/data/testfiles/formatting/issue190426.php |    36 +
 .../testfiles/formatting/issue190426.php.formatted |    36 +
 .../unit/data/testfiles/formatting/issue196405.php |    21 +
 .../testfiles/formatting/issue196405.php.formatted |    19 +
 .../data/testfiles/formatting/issue197304_01.php   |     4 +
 .../formatting/issue197304_01.php.formatted        |     4 +
 .../data/testfiles/formatting/issue197617_01.php   |    11 +
 .../formatting/issue197617_01.php.formatted        |    11 +
 .../unit/data/testfiles/formatting/issue197698.php |    18 +
 .../testfiles/formatting/issue197698.php.formatted |    19 +
 .../data/testfiles/formatting/issue199298_01.php   |    22 +
 .../formatting/issue199298_01.php.formatted        |    22 +
 .../unit/data/testfiles/formatting/issue199654.php |    17 +
 .../testfiles/formatting/issue199654.php.formatted |    17 +
 .../unit/data/testfiles/formatting/issue218013.php |    44 +
 .../testfiles/formatting/issue218013.php.formatted |    34 +
 .../unit/data/testfiles/formatting/issue218877.php |    12 +
 .../testfiles/formatting/issue218877.php.formatted |    19 +
 .../unit/data/testfiles/formatting/issue227287.php |    27 +
 .../testfiles/formatting/issue227287.php.formatted |    27 +
 .../unit/data/testfiles/formatting/issue228401.php |     8 +
 .../testfiles/formatting/issue228401.php.formatted |     9 +
 .../unit/data/testfiles/formatting/issue229961.php |    13 +
 .../testfiles/formatting/issue229961.php.formatted |    11 +
 .../data/testfiles/formatting/issue233353_01.php   |     7 +
 .../formatting/issue233353_01.php.formatted        |     6 +
 .../data/testfiles/formatting/issue233353_02.php   |     7 +
 .../formatting/issue233353_02.php.formatted        |     6 +
 .../data/testfiles/formatting/issue233353_03.php   |    13 +
 .../formatting/issue233353_03.php.formatted        |    13 +
 .../data/testfiles/formatting/issue233353_04.php   |    13 +
 .../formatting/issue233353_04.php.formatted        |    13 +
 .../unit/data/testfiles/formatting/issue235181.php |    10 +
 .../testfiles/formatting/issue235181.php.formatted |    10 +
 .../data/testfiles/formatting/issue235239_01.php   |    12 +
 .../formatting/issue235239_01.php.formatted        |    11 +
 .../data/testfiles/formatting/issue235239_02.php   |    12 +
 .../formatting/issue235239_02.php.formatted        |    11 +
 .../unit/data/testfiles/formatting/issue240649.php |    11 +
 .../testfiles/formatting/issue240649.php.formatted |    11 +
 .../unit/data/testfiles/formatting/issue243593.php |    12 +
 .../testfiles/formatting/issue243593.php.formatted |    11 +
 .../unit/data/testfiles/formatting/issue247047.php |    22 +
 .../testfiles/formatting/issue247047.php.formatted |    22 +
 .../data/testfiles/formatting/issue253030a.php     |     7 +
 .../formatting/issue253030a.php.formatted          |     8 +
 .../data/testfiles/formatting/issue253030b.php     |     9 +
 .../formatting/issue253030b.php.formatted          |    10 +
 .../data/testfiles/formatting/issue253030c.php     |     6 +
 .../formatting/issue253030c.php.formatted          |     8 +
 .../unit/data/testfiles/formatting/issue257241.php |    10 +
 .../testfiles/formatting/issue257241.php.formatted |    10 +
 .../unit/data/testfiles/formatting/issue261521.php |    12 +
 .../testfiles/formatting/issue261521.php.formatted |    17 +
 .../testfiles/formatting/issues_159339_161408.php  |    16 +
 .../formatting/issues_159339_161408.php.formatted  |    15 +
 .../data/testfiles/formatting/lineComment01.php    |     3 +
 .../formatting/lineComment01.php.formatted         |     4 +
 .../data/testfiles/formatting/lineComment02.php    |    10 +
 .../formatting/lineComment02.php.formatted         |     6 +
 .../data/testfiles/formatting/lineComment03.php    |     7 +
 .../formatting/lineComment03.php.formatted         |     6 +
 .../data/testfiles/formatting/lineComment04.php    |     6 +
 .../formatting/lineComment04.php.formatted         |     7 +
 .../data/testfiles/formatting/lineComment05.php    |     6 +
 .../formatting/lineComment05.php.formatted         |     7 +
 .../data/testfiles/formatting/line_splitting1.php  |    10 +
 .../formatting/line_splitting1.php.formatted       |    13 +
 .../data/testfiles/formatting/line_splitting2.php  |     4 +
 .../formatting/line_splitting2.php.formatted       |     9 +
 .../formatting/multiline_function_header.php       |     7 +
 .../multiline_function_header.php.formatted        |     7 +
 .../data/testfiles/formatting/multiline_string.php |     8 +
 .../formatting/multiline_string.php.formatted      |     9 +
 .../unit/data/testfiles/formatting/namespaces1.php |     9 +
 .../testfiles/formatting/namespaces1.php.formatted |    13 +
 .../data/testfiles/formatting/namespaces_02.php    |    12 +
 .../formatting/namespaces_02.php.formatted         |    17 +
 .../data/testfiles/formatting/namespaces_03.php    |    12 +
 .../formatting/namespaces_03.php.formatted         |    20 +
 .../data/testfiles/formatting/namespaces_04.php    |    12 +
 .../formatting/namespaces_04.php.formatted         |    20 +
 .../data/testfiles/formatting/namespaces_05.php    |    13 +
 .../formatting/namespaces_05.php.formatted         |    18 +
 .../data/testfiles/formatting/nested_array1.php    |    10 +
 .../formatting/nested_array1.php.formatted         |    11 +
 .../testfiles/formatting/nested_short_array1.php   |    10 +
 .../formatting/nested_short_array1.php.formatted   |    11 +
 .../unit/data/testfiles/formatting/private_01.php  |    14 +
 .../qa/issues/regressions/124273_175247.php        |     7 +
 .../issues/regressions/124273_175247.php.formatted |     7 +
 .../regressions/124273_175247.php_10_10.formatted  |     7 +
 .../regressions/124273_175247.php_5_5.formatted    |     7 +
 .../qa/issues/stable_fixedIssues/124273.php        |     7 +
 .../issues/stable_fixedIssues/124273.php.formatted |     7 +
 .../qa/issues/stable_fixedIssues/152429_1.php      |    21 +
 .../stable_fixedIssues/152429_1.php.formatted      |    24 +
 .../152429_1.php_10_10.formatted                   |    24 +
 .../stable_fixedIssues/152429_1.php_5_5.formatted  |    24 +
 .../qa/issues/stable_fixedIssues/152429_2.php      |    24 +
 .../stable_fixedIssues/152429_2.php.formatted      |    23 +
 .../152429_2.php_10_10.formatted                   |    23 +
 .../stable_fixedIssues/152429_2.php_5_5.formatted  |    23 +
 .../qa/issues/stable_fixedIssues/152429_3.php      |    13 +
 .../stable_fixedIssues/152429_3.php.formatted      |    13 +
 .../152429_3.php_10_10.formatted                   |    14 +
 .../stable_fixedIssues/152429_3.php_5_5.formatted  |    14 +
 .../qa/issues/stable_fixedIssues/160996.php        |     7 +
 .../issues/stable_fixedIssues/160996.php.formatted |     8 +
 .../stable_fixedIssues/160996.php_10_10.formatted  |     8 +
 .../stable_fixedIssues/160996.php_5_5.formatted    |     8 +
 .../qa/issues/stable_fixedIssues/162320.php        |    15 +
 .../issues/stable_fixedIssues/162320.php.formatted |    16 +
 .../stable_fixedIssues/162320.php_10_10.formatted  |    16 +
 .../stable_fixedIssues/162320.php_5_5.formatted    |    16 +
 .../qa/issues/stable_fixedIssues/162586.php        |    14 +
 .../issues/stable_fixedIssues/162586.php.formatted |    12 +
 .../stable_fixedIssues/162586.php_10_10.formatted  |    12 +
 .../stable_fixedIssues/162586.php_5_5.formatted    |    12 +
 .../qa/issues/stable_fixedIssues/163071.php        |   122 +
 .../issues/stable_fixedIssues/163071.php.formatted |   122 +
 .../qa/issues/stable_fixedIssues/167162_1.php      |     4 +
 .../stable_fixedIssues/167162_1.php.formatted      |     4 +
 .../qa/issues/stable_fixedIssues/167162_2.php      |    16 +
 .../stable_fixedIssues/167162_2.php.formatted      |    16 +
 .../qa/issues/stable_fixedIssues/168187.php        |     8 +
 .../issues/stable_fixedIssues/168187.php.formatted |     8 +
 .../qa/issues/stable_fixedIssues/168396_1.php      |    16 +
 .../stable_fixedIssues/168396_1.php.formatted      |    19 +
 .../qa/issues/stable_fixedIssues/168396_2.php      |    12 +
 .../stable_fixedIssues/168396_2.php.formatted      |    13 +
 .../qa/issues/stable_fixedIssues/168396_3.php      |     6 +
 .../stable_fixedIssues/168396_3.php.formatted      |     7 +
 .../qa/issues/stable_fixedIssues/173107.php        |    13 +
 .../issues/stable_fixedIssues/173107.php.formatted |    11 +
 .../stable_fixedIssues/173107.php_10_10.formatted  |    11 +
 .../stable_fixedIssues/173107.php_5_5.formatted    |    11 +
 .../qa/issues/stable_fixedIssues/173354_1.php      |     9 +
 .../stable_fixedIssues/173354_1.php.formatted      |    10 +
 .../173354_1.php_10_10.formatted                   |    10 +
 .../stable_fixedIssues/173354_1.php_5_5.formatted  |    10 +
 .../qa/issues/stable_fixedIssues/173354_2.php      |     7 +
 .../stable_fixedIssues/173354_2.php.formatted      |     8 +
 .../173354_2.php_10_10.formatted                   |     8 +
 .../stable_fixedIssues/173354_2.php_5_5.formatted  |     8 +
 .../qa/issues/stable_fixedIssues/173354_3.php      |     8 +
 .../stable_fixedIssues/173354_3.php.formatted      |     8 +
 .../173354_3.php_10_10.formatted                   |     8 +
 .../stable_fixedIssues/173354_3.php_5_5.formatted  |     8 +
 .../qa/issues/stable_fixedIssues/173899.php        |     4 +
 .../issues/stable_fixedIssues/173899.php.formatted |     5 +
 .../stable_fixedIssues/173899.php_10_10.formatted  |     5 +
 .../stable_fixedIssues/173899.php_5_5.formatted    |     5 +
 .../qa/issues/stable_fixedIssues/173903.php        |     7 +
 .../issues/stable_fixedIssues/173903.php.formatted |    11 +
 .../stable_fixedIssues/173903.php_10_10.formatted  |    11 +
 .../stable_fixedIssues/173903.php_5_5.formatted    |    11 +
 .../issues/stable_fixedIssues/173906_172475_1.php  |     7 +
 .../173906_172475_1.php.formatted                  |     8 +
 .../173906_172475_1.php_10_10.formatted            |     8 +
 .../173906_172475_1.php_5_5.formatted              |     8 +
 .../issues/stable_fixedIssues/173906_172475_2.php  |     8 +
 .../173906_172475_2.php.formatted                  |     9 +
 .../173906_172475_2.php_10_10.formatted            |     9 +
 .../173906_172475_2.php_5_5.formatted              |     9 +
 .../issues/stable_fixedIssues/173906_172475_3.php  |     7 +
 .../173906_172475_3.php.formatted                  |     8 +
 .../173906_172475_3.php_10_10.formatted            |     8 +
 .../173906_172475_3.php_5_5.formatted              |     8 +
 .../qa/issues/stable_fixedIssues/173908.php        |    21 +
 .../issues/stable_fixedIssues/173908.php.formatted |    20 +
 .../stable_fixedIssues/173908.php_10_10.formatted  |    20 +
 .../stable_fixedIssues/173908.php_5_5.formatted    |    20 +
 .../qa/issues/stable_fixedIssues/174563_1.php      |     7 +
 .../stable_fixedIssues/174563_1.php.formatted      |     9 +
 .../174563_1.php_10_10.formatted                   |     9 +
 .../stable_fixedIssues/174563_1.php_5_5.formatted  |     9 +
 .../qa/issues/stable_fixedIssues/174578.php        |     9 +
 .../issues/stable_fixedIssues/174578.php.formatted |     9 +
 .../stable_fixedIssues/174578.php_10_10.formatted  |     9 +
 .../stable_fixedIssues/174578.php_5_5.formatted    |     9 +
 .../qa/issues/stable_fixedIssues/174579.php        |     7 +
 .../issues/stable_fixedIssues/174579.php.formatted |     8 +
 .../stable_fixedIssues/174579.php_10_10.formatted  |     8 +
 .../stable_fixedIssues/174579.php_5_5.formatted    |     8 +
 .../qa/issues/stable_fixedIssues/174595_175229.php |    23 +
 .../stable_fixedIssues/174595_175229.php.formatted |    23 +
 .../174595_175229.php_10_10.formatted              |    23 +
 .../174595_175229.php_5_5.formatted                |    23 +
 .../qa/issues/stable_fixedIssues/175229_1.php      |     8 +
 .../stable_fixedIssues/175229_1.php.formatted      |     8 +
 .../qa/issues/stable_fixedIssues/175229_2.php      |    11 +
 .../stable_fixedIssues/175229_2.php.formatted      |    11 +
 .../qa/issues/stable_fixedIssues/175425.php        |    14 +
 .../issues/stable_fixedIssues/175425.php.formatted |    14 +
 .../qa/issues/stable_fixedIssues/175427.php        |     7 +
 .../issues/stable_fixedIssues/175427.php.formatted |     7 +
 .../qa/issues/stable_fixedIssues/176224.php        |     8 +
 .../issues/stable_fixedIssues/176224.php.formatted |     8 +
 .../qa/issues/stable_fixedIssues/180332.php        |     9 +
 .../issues/stable_fixedIssues/180332.php.formatted |    10 +
 .../qa/issues/stable_fixedIssues/188810.php        |     8 +
 .../issues/stable_fixedIssues/188810.php.formatted |     8 +
 .../qa/issues/stable_fixedIssues/else_if.php       |    47 +
 .../stable_fixedIssues/else_if.php.formatted       |    45 +
 .../stable_fixedIssues/else_if.php_10_10.formatted |    45 +
 .../stable_fixedIssues/else_if.php_5_5.formatted   |    45 +
 .../spacesAfterObjectReferences.php                |     4 +
 .../spacesAfterObjectReferences.php.formatted      |     5 +
 ...spacesAfterObjectReferences.php_10_10.formatted |     5 +
 .../spacesAfterObjectReferences.php_5_5.formatted  |     5 +
 .../issues/stable_partialTests/174873_173906.php   |    11 +
 .../174873_173906.php.formatted                    |    13 +
 .../174873_173906.php_10_10.formatted              |    13 +
 .../174873_173906.php_5_5.formatted                |    13 +
 .../issues/stable_partialTests/174873_173906_1.php |     8 +
 .../174873_173906_1.php.formatted                  |    13 +
 .../174873_173906_1.php_10_10.formatted            |    13 +
 .../174873_173906_1.php_5_5.formatted              |    13 +
 .../qa/issues/unstable_newIssues/148732.php        |     1 +
 .../issues/unstable_newIssues/148732.php.formatted |     9 +
 .../qa/issues/unstable_newIssues/175229_1.php      |     3 +
 .../unstable_newIssues/175229_1.php.formatted      |     3 +
 .../qa/issues/unstable_newIssues/175229_2.php      |     2 +
 .../unstable_newIssues/175229_2.php.formatted      |     2 +
 .../qa/issues/unstable_newIssues/175229_3.php      |     8 +
 .../unstable_newIssues/175229_3.php.formatted      |    10 +
 .../data/testfiles/formatting/shortArrays1.php     |     5 +
 .../formatting/shortArrays1.php.formatted          |     6 +
 .../data/testfiles/formatting/shortArrays2.php     |     8 +
 .../formatting/shortArrays2.php.formatted          |     9 +
 .../data/testfiles/formatting/shortArrays3.php     |    23 +
 .../formatting/shortArrays3.php.formatted          |    26 +
 .../data/testfiles/formatting/shortArrays4.php     |     9 +
 .../formatting/shortArrays4.php.formatted          |     9 +
 .../data/testfiles/formatting/shortArrays5.php     |    15 +
 .../formatting/shortArrays5.php.formatted          |    15 +
 .../data/testfiles/formatting/simple_class_def.php |    14 +
 .../formatting/simple_class_def.php.formatted      |    17 +
 .../testfiles/formatting/spaces/TraitUses01.php    |    19 +
 .../formatting/spaces/TraitUses01.php.formatted    |    31 +
 .../testfiles/formatting/spaces/TraitUses02.php    |    19 +
 .../formatting/spaces/TraitUses02.php.formatted    |    31 +
 .../testfiles/formatting/spaces/finally_01.php     |    10 +
 .../formatting/spaces/finally_01.php.formatted     |    10 +
 .../testfiles/formatting/spaces/finally_02.php     |    10 +
 .../formatting/spaces/finally_02.php.formatted     |    10 +
 .../testfiles/formatting/spaces/finally_03.php     |    10 +
 .../formatting/spaces/finally_03.php.formatted     |    10 +
 .../testfiles/formatting/spaces/finally_04.php     |    10 +
 .../formatting/spaces/finally_04.php.formatted     |    10 +
 .../testfiles/formatting/spaces/issue180859_01.php |     7 +
 .../formatting/spaces/issue180859_01.php.formatted |     6 +
 .../testfiles/formatting/spaces/issue180859_02.php |     7 +
 .../formatting/spaces/issue180859_02.php.formatted |     6 +
 .../testfiles/formatting/spaces/issue181624_01.php |     7 +
 .../formatting/spaces/issue181624_01.php.formatted |     7 +
 .../testfiles/formatting/spaces/issue186183_01.php |     9 +
 .../formatting/spaces/issue186183_01.php.formatted |     6 +
 .../testfiles/formatting/spaces/issue187665_01.php |    13 +
 .../formatting/spaces/issue187665_01.php.formatted |    11 +
 .../testfiles/formatting/spaces/issue187665_02.php |    13 +
 .../formatting/spaces/issue187665_02.php.formatted |    11 +
 .../testfiles/formatting/spaces/issue187864_01.php |     9 +
 .../formatting/spaces/issue187864_01.php.formatted |    19 +
 .../testfiles/formatting/spaces/issue187888_01.php |    12 +
 .../formatting/spaces/issue187888_01.php.formatted |    12 +
 .../testfiles/formatting/spaces/issue187888_02.php |    12 +
 .../formatting/spaces/issue187888_02.php.formatted |    12 +
 .../testfiles/formatting/spaces/issue188810_01.php |    14 +
 .../formatting/spaces/issue188810_01.php.formatted |     9 +
 .../testfiles/formatting/spaces/issue191893_01.php |     6 +
 .../formatting/spaces/issue191893_01.php.formatted |     6 +
 .../testfiles/formatting/spaces/issue195562.php    |    10 +
 .../formatting/spaces/issue195562.php.formatted    |    10 +
 .../testfiles/formatting/spaces/issue202940_01.php |    33 +
 .../formatting/spaces/issue202940_01.php.formatted |    30 +
 .../testfiles/formatting/spaces/issue202940_02.php |    22 +
 .../formatting/spaces/issue202940_02.php.formatted |    22 +
 .../testfiles/formatting/spaces/issue202940_03.php |    22 +
 .../formatting/spaces/issue202940_03.php.formatted |    22 +
 .../testfiles/formatting/spaces/issue202940_04.php |    22 +
 .../formatting/spaces/issue202940_04.php.formatted |    22 +
 .../testfiles/formatting/spaces/issue202940_05.php |    12 +
 .../formatting/spaces/issue202940_05.php.formatted |    13 +
 .../testfiles/formatting/spaces/issue203160_01.php |    15 +
 .../formatting/spaces/issue203160_01.php.formatted |    16 +
 .../testfiles/formatting/spaces/issue228422_01.php |     6 +
 .../formatting/spaces/issue228422_01.php.formatted |     5 +
 .../testfiles/formatting/spaces/issue228422_02.php |     6 +
 .../formatting/spaces/issue228422_02.php.formatted |     5 +
 .../testfiles/formatting/spaces/issue230779_01.php |     6 +
 .../formatting/spaces/issue230779_01.php.formatted |     5 +
 .../testfiles/formatting/spaces/issue230779_02.php |     6 +
 .../formatting/spaces/issue230779_02.php.formatted |     5 +
 .../testfiles/formatting/spaces/issue231387.php    |    14 +
 .../formatting/spaces/issue231387.php.formatted    |    15 +
 .../testfiles/formatting/spaces/issue233050_01.php |     7 +
 .../formatting/spaces/issue233050_01.php.formatted |     6 +
 .../testfiles/formatting/spaces/issue233050_02.php |     7 +
 .../formatting/spaces/issue233050_02.php.formatted |     6 +
 .../testfiles/formatting/spaces/issue240274.php    |    10 +
 .../formatting/spaces/issue240274.php.formatted    |     9 +
 .../testfiles/formatting/spaces/issue253093a.php   |     6 +
 .../formatting/spaces/issue253093a.php.formatted   |     6 +
 .../testfiles/formatting/spaces/issue253093b.php   |     6 +
 .../formatting/spaces/issue253093b.php.formatted   |     6 +
 .../testfiles/formatting/spaces/issue253093c.php   |     6 +
 .../formatting/spaces/issue253093c.php.formatted   |     6 +
 .../testfiles/formatting/spaces/issue253093d.php   |     6 +
 .../formatting/spaces/issue253093d.php.formatted   |     6 +
 .../formatting/spaces/spaceAfterShortPHPTag01.php  |     1 +
 .../spaces/spaceAfterShortPHPTag01.php.formatted   |     1 +
 .../formatting/spaces/spaceAfterShortPHPTag02.php  |     1 +
 .../spaces/spaceAfterShortPHPTag02.php.formatted   |     1 +
 .../formatting/spaces/spaceAfterTypeCast01.php     |     8 +
 .../spaces/spaceAfterTypeCast01.php.formatted      |     9 +
 .../formatting/spaces/spaceAfterTypeCast02.php     |     8 +
 .../spaces/spaceAfterTypeCast02.php.formatted      |     9 +
 .../formatting/spaces/spaceAroundKeyValueOp01.php  |    17 +
 .../spaces/spaceAroundKeyValueOp01.php.formatted   |    16 +
 .../formatting/spaces/spaceAroundKeyValueOp02.php  |    17 +
 .../spaces/spaceAroundKeyValueOp02.php.formatted   |    16 +
 .../formatting/spaces/spaceAroundReturnType01.php  |     3 +
 .../spaces/spaceAroundReturnType01.php.formatted   |     5 +
 .../formatting/spaces/spaceAroundReturnType02.php  |     3 +
 .../spaces/spaceAroundReturnType02.php.formatted   |     5 +
 .../formatting/spaces/spaceAroundReturnType03.php  |     3 +
 .../spaces/spaceAroundReturnType03.php.formatted   |     5 +
 .../formatting/spaces/spaceAroundReturnType04.php  |     3 +
 .../spaces/spaceAroundReturnType04.php.formatted   |     5 +
 .../formatting/spaces/spaceAroundReturnType05.php  |     3 +
 .../spaces/spaceAroundReturnType05.php.formatted   |     5 +
 .../formatting/spaces/spaceAroundReturnType06.php  |     3 +
 .../spaces/spaceAroundReturnType06.php.formatted   |     5 +
 .../formatting/spaces/spaceAroundReturnType07.php  |     5 +
 .../spaces/spaceAroundReturnType07.php.formatted   |     9 +
 .../formatting/spaces/spaceAroundReturnType08.php  |     5 +
 .../spaces/spaceAroundReturnType08.php.formatted   |     9 +
 .../formatting/spaces/spaceAroundReturnType09.php  |     5 +
 .../spaces/spaceAroundReturnType09.php.formatted   |     9 +
 .../formatting/spaces/spaceAroundReturnType10.php  |     4 +
 .../spaces/spaceAroundReturnType10.php.formatted   |     6 +
 .../formatting/spaces/spaceAroundReturnType11.php  |     4 +
 .../spaces/spaceAroundReturnType11.php.formatted   |     6 +
 .../formatting/spaces/spaceAroundReturnType12.php  |     4 +
 .../spaces/spaceAroundReturnType12.php.formatted   |     6 +
 .../spaces/spaceAroundStringConcat01.php           |    60 +
 .../spaces/spaceAroundStringConcat01.php.formatted |    62 +
 .../formatting/spaces/spaceAroundTernaryOp01.php   |     5 +
 .../spaces/spaceAroundTernaryOp01.php.formatted    |     4 +
 .../formatting/spaces/spaceAroundTernaryOp02.php   |     5 +
 .../spaces/spaceAroundTernaryOp02.php.formatted    |     4 +
 .../formatting/spaces/spaceAroundTernaryOp03.php   |     5 +
 .../spaces/spaceAroundTernaryOp03.php.formatted    |     4 +
 .../formatting/spaces/spaceAroundTernaryOp04.php   |     3 +
 .../spaces/spaceAroundTernaryOp04.php.formatted    |     4 +
 .../formatting/spaces/spaceAroundTernaryOp05.php   |     3 +
 .../spaces/spaceAroundTernaryOp05.php.formatted    |     4 +
 .../formatting/spaces/spaceAroundTernaryOp06.php   |     2 +
 .../spaces/spaceAroundTernaryOp06.php.formatted    |     3 +
 .../formatting/spaces/spaceAroundTernaryOp07.php   |     2 +
 .../spaces/spaceAroundTernaryOp07.php.formatted    |     3 +
 .../formatting/spaces/spaceAroundTernaryOp08.php   |     2 +
 .../spaces/spaceAroundTernaryOp08.php.formatted    |     3 +
 .../formatting/spaces/spaceAroundTernaryOp09.php   |     3 +
 .../spaces/spaceAroundTernaryOp09.php.formatted    |     4 +
 .../formatting/spaces/spaceAroundTernaryOp10.php   |     3 +
 .../spaces/spaceAroundTernaryOp10.php.formatted    |     4 +
 .../formatting/spaces/spaceAroundTernaryOp11.php   |     2 +
 .../spaces/spaceAroundTernaryOp11.php.formatted    |     3 +
 .../formatting/spaces/spaceAroundTernaryOp12.php   |     2 +
 .../spaces/spaceAroundTernaryOp12.php.formatted    |     3 +
 .../formatting/spaces/spaceAroundUnaryOps01.php    |     7 +
 .../spaces/spaceAroundUnaryOps01.php.formatted     |     6 +
 .../formatting/spaces/spaceAroundUnaryOps02.php    |     7 +
 .../spaces/spaceAroundUnaryOps02.php.formatted     |     6 +
 .../formatting/spaces/spaceAroundUnaryOps03.php    |     7 +
 .../spaces/spaceAroundUnaryOps03.php.formatted     |     6 +
 .../formatting/spaces/spaceBeforeAfterComma01.php  |     5 +
 .../spaces/spaceBeforeAfterComma01.php.formatted   |     9 +
 .../formatting/spaces/spaceBeforeAfterComma02.php  |     5 +
 .../spaces/spaceBeforeAfterComma02.php.formatted   |     9 +
 .../formatting/spaces/spaceBeforeAfterComma03.php  |     5 +
 .../spaces/spaceBeforeAfterComma03.php.formatted   |     9 +
 .../formatting/spaces/spaceBeforeAfterComma04.php  |     5 +
 .../spaces/spaceBeforeAfterComma04.php.formatted   |     9 +
 .../formatting/spaces/spaceBeforeAfterSemi01.php   |    11 +
 .../spaces/spaceBeforeAfterSemi01.php.formatted    |    11 +
 .../formatting/spaces/spaceBeforeAfterSemi02.php   |    11 +
 .../spaces/spaceBeforeAfterSemi02.php.formatted    |    11 +
 .../formatting/spaces/spaceBeforeAfterSemi03.php   |    11 +
 .../spaces/spaceBeforeAfterSemi03.php.formatted    |    11 +
 .../formatting/spaces/spaceBeforeAfterSemi04.php   |    11 +
 .../spaces/spaceBeforeAfterSemi04.php.formatted    |    11 +
 .../spaces/spaceBeforeAnonymousClassParen01.php    |     5 +
 .../spaceBeforeAnonymousClassParen01.php.formatted |     5 +
 .../spaces/spaceBeforeAnonymousClassParen02.php    |     5 +
 .../spaceBeforeAnonymousClassParen02.php.formatted |     5 +
 .../formatting/spaces/spaceBeforeCatch01.php       |    10 +
 .../spaces/spaceBeforeCatch01.php.formatted        |     9 +
 .../formatting/spaces/spaceBeforeCatch02.php       |    10 +
 .../spaces/spaceBeforeCatch02.php.formatted        |     9 +
 .../spaces/spaceBeforeCatchLeftBrace01.php         |    64 +
 .../spaceBeforeCatchLeftBrace01.php.formatted      |    64 +
 .../formatting/spaces/spaceBeforeCatchParen01.php  |    60 +
 .../spaces/spaceBeforeCatchParen01.php.formatted   |    62 +
 .../formatting/spaces/spaceBeforeCatchParen02.php  |    60 +
 .../spaces/spaceBeforeCatchParen02.php.formatted   |    62 +
 .../spaces/spaceBeforeClassDecLeftBrace01.php      |     9 +
 .../spaceBeforeClassDecLeftBrace01.php.formatted   |    13 +
 .../spaces/spaceBeforeClassDecLeftBrace02.php      |     9 +
 .../spaceBeforeClassDecLeftBrace02.php.formatted   |    13 +
 .../spaces/spaceBeforeClassDecLeftBrace03.php      |    12 +
 .../spaceBeforeClassDecLeftBrace03.php.formatted   |    13 +
 .../formatting/spaces/spaceBeforeDoLeftBrace01.php |    64 +
 .../spaces/spaceBeforeDoLeftBrace01.php.formatted  |    64 +
 .../formatting/spaces/spaceBeforeElse01.php        |    19 +
 .../spaces/spaceBeforeElse01.php.formatted         |    20 +
 .../formatting/spaces/spaceBeforeElse02.php        |    20 +
 .../spaces/spaceBeforeElse02.php.formatted         |    20 +
 .../formatting/spaces/spaceBeforeElse03.php        |    20 +
 .../spaces/spaceBeforeElse03.php.formatted         |    20 +
 .../formatting/spaces/spaceBeforeElse04.php        |    19 +
 .../spaces/spaceBeforeElse04.php.formatted         |    20 +
 .../spaces/spaceBeforeElseLeftBrace01.php          |    64 +
 .../spaceBeforeElseLeftBrace01.php.formatted       |    64 +
 .../spaces/spaceBeforeForLeftBrace01.php           |    64 +
 .../spaces/spaceBeforeForLeftBrace01.php.formatted |    64 +
 .../formatting/spaces/spaceBeforeForParen01.php    |    60 +
 .../spaces/spaceBeforeForParen01.php.formatted     |    62 +
 .../formatting/spaces/spaceBeforeForParen02.php    |    60 +
 .../spaces/spaceBeforeForParen02.php.formatted     |    62 +
 .../spaces/spaceBeforeIfElseIfLeftBrace01.php      |    64 +
 .../spaceBeforeIfElseIfLeftBrace01.php.formatted   |    64 +
 .../formatting/spaces/spaceBeforeIfParen01.php     |    60 +
 .../spaces/spaceBeforeIfParen01.php.formatted      |    62 +
 .../formatting/spaces/spaceBeforeIfParen02.php     |    60 +
 .../spaces/spaceBeforeIfParen02.php.formatted      |    62 +
 .../formatting/spaces/spaceBeforeKeywords01.php    |    35 +
 .../spaces/spaceBeforeKeywords01.php.formatted     |    35 +
 .../formatting/spaces/spaceBeforeKeywords02.php    |    35 +
 .../spaces/spaceBeforeKeywords02.php.formatted     |    39 +
 .../formatting/spaces/spaceBeforeKeywords03.php    |    35 +
 .../spaces/spaceBeforeKeywords03.php.formatted     |    35 +
 .../formatting/spaces/spaceBeforeKeywords04.php    |    24 +
 .../spaces/spaceBeforeKeywords04.php.formatted     |    24 +
 .../spaces/spaceBeforeMethodCallParen01.php        |    60 +
 .../spaceBeforeMethodCallParen01.php.formatted     |    62 +
 .../spaces/spaceBeforeMethodCallParen02.php        |    60 +
 .../spaceBeforeMethodCallParen02.php.formatted     |    62 +
 .../spaces/spaceBeforeMethodDeclLeftBrace01.php    |     9 +
 .../spaceBeforeMethodDeclLeftBrace01.php.formatted |    11 +
 .../spaces/spaceBeforeMethodDeclLeftBrace02.php    |     9 +
 .../spaceBeforeMethodDeclLeftBrace02.php.formatted |    11 +
 .../spaces/spaceBeforeMethodDeclLeftBrace03.php    |     9 +
 .../spaceBeforeMethodDeclLeftBrace03.php.formatted |    13 +
 .../spaces/spaceBeforeMethodDeclParen01.php        |    60 +
 .../spaceBeforeMethodDeclParen01.php.formatted     |    62 +
 .../spaces/spaceBeforeMethodDeclParen02.php        |    60 +
 .../spaceBeforeMethodDeclParen02.php.formatted     |    62 +
 .../spaces/spaceBeforeSwitchLeftBrace01.php        |    64 +
 .../spaceBeforeSwitchLeftBrace01.php.formatted     |    64 +
 .../formatting/spaces/spaceBeforeSwitchParen01.php |    60 +
 .../spaces/spaceBeforeSwitchParen01.php.formatted  |    62 +
 .../formatting/spaces/spaceBeforeSwitchParen02.php |    60 +
 .../spaces/spaceBeforeSwitchParen02.php.formatted  |    62 +
 .../spaces/spaceBeforeTryLeftBrace01.php           |    64 +
 .../spaces/spaceBeforeTryLeftBrace01.php.formatted |    64 +
 .../spaces/spaceBeforeUseStatementPart01.php       |     7 +
 .../spaceBeforeUseStatementPart01.php.formatted    |     9 +
 .../spaces/spaceBeforeUseStatementPart02.php       |    10 +
 .../spaceBeforeUseStatementPart02.php.formatted    |     9 +
 .../spaces/spaceBeforeUseStatementPart03.php       |    12 +
 .../spaceBeforeUseStatementPart03.php.formatted    |     9 +
 .../spaces/spaceBeforeUseStatementPart04.php       |     9 +
 .../spaceBeforeUseStatementPart04.php.formatted    |     9 +
 .../spaces/spaceBeforeUseStatementPart05.php       |     7 +
 .../spaceBeforeUseStatementPart05.php.formatted    |     9 +
 .../spaces/spaceBeforeUseStatementPart06.php       |     7 +
 .../spaceBeforeUseStatementPart06.php.formatted    |     9 +
 .../formatting/spaces/spaceBeforeWhile01.php       |     6 +
 .../spaces/spaceBeforeWhile01.php.formatted        |     6 +
 .../formatting/spaces/spaceBeforeWhile02.php       |     6 +
 .../spaces/spaceBeforeWhile02.php.formatted        |     6 +
 .../formatting/spaces/spaceBeforeWhile03.php       |     6 +
 .../spaces/spaceBeforeWhile03.php.formatted        |     6 +
 .../spaces/spaceBeforeWhileLeftBrace01.php         |    64 +
 .../spaceBeforeWhileLeftBrace01.php.formatted      |    64 +
 .../formatting/spaces/spaceBeforeWhileParen01.php  |    60 +
 .../spaces/spaceBeforeWhileParen01.php.formatted   |    62 +
 .../formatting/spaces/spaceBeforeWhileParen02.php  |    60 +
 .../spaces/spaceBeforeWhileParen02.php.formatted   |    62 +
 .../spaces/spaceCheckAfterKeywords01.php           |    16 +
 .../spaces/spaceCheckAfterKeywords01.php.formatted |    17 +
 .../spaces/spaceCheckAfterKeywords02.php           |    38 +
 .../spaces/spaceCheckAfterKeywords02.php.formatted |    37 +
 .../spaces/spaceWithinAnonymousClassParen01.php    |     5 +
 .../spaceWithinAnonymousClassParen01.php.formatted |     5 +
 .../spaces/spaceWithinAnonymousClassParen02.php    |     5 +
 .../spaceWithinAnonymousClassParen02.php.formatted |     5 +
 .../spaces/spaceWithinAnonymousClassParen03.php    |     5 +
 .../spaceWithinAnonymousClassParen03.php.formatted |     5 +
 .../spaces/spaceWithinAnonymousClassParen04.php    |     5 +
 .../spaceWithinAnonymousClassParen04.php.formatted |     5 +
 .../spaces/spaceWithinArrayBrackets01.php          |     8 +
 .../spaceWithinArrayBrackets01.php.formatted       |     7 +
 .../spaces/spaceWithinArrayBrackets02.php          |     8 +
 .../spaceWithinArrayBrackets02.php.formatted       |     7 +
 .../spaces/spaceWithinArrayBrackets03.php          |     8 +
 .../spaceWithinArrayBrackets03.php.formatted       |     7 +
 .../spaces/spaceWithinArrayBrackets04.php          |     8 +
 .../spaceWithinArrayBrackets04.php.formatted       |     7 +
 .../spaces/spaceWithinArrayDeclParens01.php        |    17 +
 .../spaceWithinArrayDeclParens01.php.formatted     |    16 +
 .../spaces/spaceWithinArrayDeclParens02.php        |    17 +
 .../spaceWithinArrayDeclParens02.php.formatted     |    16 +
 .../formatting/spaces/spaceWithinMethodDecl01.php  |    14 +
 .../spaces/spaceWithinMethodDecl01.php.formatted   |    13 +
 .../formatting/spaces/spaceWithinMethodDecl02.php  |    14 +
 .../spaces/spaceWithinMethodDecl02.php.formatted   |    13 +
 .../formatting/spaces/spaceWithinParens01.php      |    60 +
 .../spaces/spaceWithinParens01.php.formatted       |    62 +
 .../formatting/spaces/spaceWithinParens02.php      |    60 +
 .../spaces/spaceWithinParens02.php.formatted       |    62 +
 .../formatting/spaces/spaceWithinParens03.php      |    60 +
 .../spaces/spaceWithinParens03.php.formatted       |    62 +
 .../formatting/spaces/spaceWithinParens04.php      |    60 +
 .../spaces/spaceWithinParens04.php.formatted       |    62 +
 .../formatting/spaces/spaceWithinParens05.php      |    60 +
 .../spaces/spaceWithinParens05.php.formatted       |    62 +
 .../formatting/spaces/spaceWithinParens06.php      |    60 +
 .../spaces/spaceWithinParens06.php.formatted       |    62 +
 .../formatting/spaces/spaceWithinParens07.php      |    62 +
 .../spaces/spaceWithinParens07.php.formatted       |    63 +
 .../formatting/spaces/spaceWithinParens08.php      |    62 +
 .../spaces/spaceWithinParens08.php.formatted       |    63 +
 .../spaces/spaceWithinTypeCastParens01.php         |     7 +
 .../spaceWithinTypeCastParens01.php.formatted      |     8 +
 .../spaces/spaceWithinTypeCastParens02.php         |     7 +
 .../spaceWithinTypeCastParens02.php.formatted      |     8 +
 .../unit/data/testfiles/formatting/spaceship01.php |     3 +
 .../testfiles/formatting/spaceship01.php.formatted |     4 +
 .../data/testfiles/formatting/subsequentquotes.php |     7 +
 .../formatting/subsequentquotes.php.formatted      |     8 +
 .../unit/data/testfiles/formatting/switch_stmt.php |    12 +
 .../testfiles/formatting/switch_stmt.php.formatted |    13 +
 .../data/testfiles/formatting/switch_stmt01.php    |     6 +
 .../formatting/switch_stmt01.php.formatted         |     6 +
 .../testfiles/formatting/templates/__README__.txt  |     1 +
 .../formatting/templates/firstLineInHTML_01.php    |    17 +
 .../templates/firstLineInHTML_01.php.formatted     |    17 +
 .../testfiles/formatting/templates/fore_01.php     |     8 +
 .../formatting/templates/fore_01.php.formatted     |     8 +
 .../testfiles/formatting/templates/fore_02.php     |     8 +
 .../formatting/templates/fore_02.php.formatted     |     8 +
 .../testfiles/formatting/templates/fore_03.php     |     8 +
 .../formatting/templates/fore_03.php.formatted     |     9 +
 .../testfiles/formatting/templates/fore_04.php     |    10 +
 .../formatting/templates/fore_04.php.formatted     |    11 +
 .../testfiles/formatting/templates/fore_05.php     |     9 +
 .../formatting/templates/fore_05.php.formatted     |    10 +
 .../testfiles/formatting/templates/fore_06.php     |    11 +
 .../formatting/templates/fore_06.php.formatted     |    12 +
 .../testfiles/formatting/templates/function_01.php |    17 +
 .../formatting/templates/function_01.php.formatted |    17 +
 .../formatting/templates/groupUseWrapAlways_01.php |    15 +
 .../templates/groupUseWrapAlways_01.php.formatted  |    15 +
 .../formatting/templates/groupUseWrapAlways_02.php |    14 +
 .../templates/groupUseWrapAlways_02.php.formatted  |    14 +
 .../formatting/templates/groupUseWrapAlways_03.php |    17 +
 .../templates/groupUseWrapAlways_03.php.formatted  |    17 +
 .../formatting/templates/groupUseWrapAlways_04.php |    20 +
 .../templates/groupUseWrapAlways_04.php.formatted  |    20 +
 .../formatting/templates/groupUseWrapAlways_05.php |    25 +
 .../templates/groupUseWrapAlways_05.php.formatted  |    25 +
 .../formatting/templates/groupUseWrapAlways_06.php |    31 +
 .../templates/groupUseWrapAlways_06.php.formatted  |    31 +
 .../formatting/templates/groupUseWrapIfLong_01.php |    15 +
 .../templates/groupUseWrapIfLong_01.php.formatted  |    15 +
 .../formatting/templates/groupUseWrapIfLong_02.php |    14 +
 .../templates/groupUseWrapIfLong_02.php.formatted  |    14 +
 .../formatting/templates/groupUseWrapIfLong_03.php |    17 +
 .../templates/groupUseWrapIfLong_03.php.formatted  |    17 +
 .../formatting/templates/groupUseWrapIfLong_04.php |    20 +
 .../templates/groupUseWrapIfLong_04.php.formatted  |    20 +
 .../formatting/templates/groupUseWrapIfLong_05.php |    25 +
 .../templates/groupUseWrapIfLong_05.php.formatted  |    25 +
 .../formatting/templates/groupUseWrapIfLong_06.php |    31 +
 .../templates/groupUseWrapIfLong_06.php.formatted  |    31 +
 .../formatting/templates/groupUseWrapNever_01.php  |    15 +
 .../templates/groupUseWrapNever_01.php.formatted   |    15 +
 .../formatting/templates/groupUseWrapNever_02.php  |    14 +
 .../templates/groupUseWrapNever_02.php.formatted   |    14 +
 .../formatting/templates/groupUseWrapNever_03.php  |    17 +
 .../templates/groupUseWrapNever_03.php.formatted   |    17 +
 .../formatting/templates/groupUseWrapNever_04.php  |    20 +
 .../templates/groupUseWrapNever_04.php.formatted   |    20 +
 .../formatting/templates/groupUseWrapNever_05.php  |    25 +
 .../templates/groupUseWrapNever_05.php.formatted   |    25 +
 .../formatting/templates/groupUseWrapNever_06.php  |    31 +
 .../templates/groupUseWrapNever_06.php.formatted   |    31 +
 .../templates/implementsOverwrite_01.php           |    25 +
 .../templates/implementsOverwrite_01.php.formatted |    28 +
 .../templates/implementsOverwrite_02.php           |    25 +
 .../templates/implementsOverwrite_02.php.formatted |    30 +
 .../templates/implementsOverwrite_03.php           |    25 +
 .../templates/implementsOverwrite_03.php.formatted |    30 +
 .../formatting/templates/issue184070_01.php        |    10 +
 .../templates/issue184070_01.php.formatted         |    10 +
 .../testfiles/formatting/templates/issue184141.php |    45 +
 .../formatting/templates/issue184141.php.formatted |    45 +
 .../formatting/templates/issue184481_01.php        |     8 +
 .../templates/issue184481_01.php.formatted         |     8 +
 .../formatting/templates/issue184481_02.php        |     8 +
 .../templates/issue184481_02.php.formatted         |     8 +
 .../formatting/templates/issue184481_03.php        |    11 +
 .../templates/issue184481_03.php.formatted         |    11 +
 .../formatting/templates/issue184481_04.php        |    11 +
 .../templates/issue184481_04.php.formatted         |    11 +
 .../formatting/templates/issue184690_01.php        |    16 +
 .../templates/issue184690_01.php.formatted         |    16 +
 .../formatting/templates/issue185435_01.php        |    25 +
 .../templates/issue185435_01.php.formatted         |    25 +
 .../formatting/templates/issue185435_02.php        |    24 +
 .../templates/issue185435_02.php.formatted         |    24 +
 .../formatting/templates/issue185435_03.php        |    25 +
 .../templates/issue185435_03.php.formatted         |    25 +
 .../formatting/templates/issue185435_04.php        |    25 +
 .../templates/issue185435_04.php.formatted         |    25 +
 .../formatting/templates/issue185435_05.php        |    25 +
 .../templates/issue185435_05.php.formatted         |    25 +
 .../formatting/templates/issue185438_01.php        |    16 +
 .../templates/issue185438_01.php.formatted         |    16 +
 .../formatting/templates/issue185438_02.php        |    17 +
 .../templates/issue185438_02.php.formatted         |    17 +
 .../formatting/templates/issue186008_01.php        |    77 +
 .../templates/issue186008_01.php.formatted         |    77 +
 .../formatting/templates/issue186008_02.php        |    77 +
 .../templates/issue186008_02.php.formatted         |    77 +
 .../formatting/templates/issue186008_03.php        |    77 +
 .../templates/issue186008_03.php.formatted         |    77 +
 .../formatting/templates/issue187665_01.php        |    13 +
 .../templates/issue187665_01.php.formatted         |    13 +
 .../formatting/templates/issue187665_02.php        |    13 +
 .../templates/issue187665_02.php.formatted         |    13 +
 .../testfiles/formatting/templates/issue187757.php |     1 +
 .../formatting/templates/issue187757.php.formatted |     1 +
 .../formatting/templates/issue188656_01.php        |    18 +
 .../templates/issue188656_01.php.formatted         |    18 +
 .../formatting/templates/issue188656_02.php        |    18 +
 .../templates/issue188656_02.php.formatted         |    18 +
 .../formatting/templates/issue188656_03.php        |    18 +
 .../templates/issue188656_03.php.formatted         |    18 +
 .../formatting/templates/issue188656_04.php        |    19 +
 .../templates/issue188656_04.php.formatted         |    19 +
 .../formatting/templates/issue188656_05.php        |    18 +
 .../templates/issue188656_05.php.formatted         |    18 +
 .../formatting/templates/issue188656_06.php        |    20 +
 .../templates/issue188656_06.php.formatted         |    20 +
 .../formatting/templates/issue188656_07.php        |    18 +
 .../templates/issue188656_07.php.formatted         |    18 +
 .../formatting/templates/issue188656_08.php        |    16 +
 .../templates/issue188656_08.php.formatted         |    16 +
 .../formatting/templates/issue188656_09.php        |    16 +
 .../templates/issue188656_09.php.formatted         |    16 +
 .../formatting/templates/issue191565_01.php        |     5 +
 .../templates/issue191565_01.php.formatted         |     5 +
 .../testfiles/formatting/templates/issue192220.php |     4 +
 .../formatting/templates/issue192220.php.formatted |     4 +
 .../testfiles/formatting/templates/issue198616.php |    18 +
 .../formatting/templates/issue198616.php.formatted |    20 +
 .../formatting/templates/issue262205_01.php        |     7 +
 .../templates/issue262205_01.php.formatted         |     7 +
 .../formatting/templates/issue262205_02.php        |     8 +
 .../templates/issue262205_02.php.formatted         |     8 +
 .../formatting/templates/issue262205_03.php        |     7 +
 .../templates/issue262205_03.php.formatted         |     7 +
 .../formatting/templates/issue262205_04.php        |     7 +
 .../templates/issue262205_04.php.formatted         |     7 +
 .../testfiles/formatting/templates/private_01.php  |    14 +
 .../formatting/templates/private_01.php.formatted  |    14 +
 .../testfiles/formatting/templates/private_02.php  |    15 +
 .../formatting/templates/private_02.php.formatted  |    15 +
 .../testfiles/formatting/wrapping/arrayInit01.php  |    27 +
 .../formatting/wrapping/arrayInit01.php.formatted  |    30 +
 .../testfiles/formatting/wrapping/arrayInit02.php  |    27 +
 .../formatting/wrapping/arrayInit02.php.formatted  |    31 +
 .../testfiles/formatting/wrapping/arrayInit03.php  |    27 +
 .../formatting/wrapping/arrayInit03.php.formatted  |    47 +
 .../testfiles/formatting/wrapping/assignOps01.php  |     7 +
 .../formatting/wrapping/assignOps01.php.formatted  |    10 +
 .../testfiles/formatting/wrapping/assignOps02.php  |     7 +
 .../formatting/wrapping/assignOps02.php.formatted  |     6 +
 .../testfiles/formatting/wrapping/assignOps03.php  |     7 +
 .../formatting/wrapping/assignOps03.php.formatted  |     7 +
 .../testfiles/formatting/wrapping/assignOps04.php  |     7 +
 .../formatting/wrapping/assignOps04.php.formatted  |    10 +
 .../testfiles/formatting/wrapping/assignOps05.php  |     7 +
 .../formatting/wrapping/assignOps05.php.formatted  |     6 +
 .../testfiles/formatting/wrapping/assignOps06.php  |     7 +
 .../formatting/wrapping/assignOps06.php.formatted  |     7 +
 .../testfiles/formatting/wrapping/binaryOps01.php  |     7 +
 .../formatting/wrapping/binaryOps01.php.formatted  |     6 +
 .../testfiles/formatting/wrapping/binaryOps02.php  |     7 +
 .../formatting/wrapping/binaryOps02.php.formatted  |     6 +
 .../testfiles/formatting/wrapping/binaryOps03.php  |     7 +
 .../formatting/wrapping/binaryOps03.php.formatted  |     7 +
 .../testfiles/formatting/wrapping/binaryOps04.php  |     7 +
 .../formatting/wrapping/binaryOps04.php.formatted  |     9 +
 .../testfiles/formatting/wrapping/binaryOps05.php  |     7 +
 .../formatting/wrapping/binaryOps05.php.formatted  |     6 +
 .../testfiles/formatting/wrapping/binaryOps06.php  |     7 +
 .../formatting/wrapping/binaryOps06.php.formatted  |     7 +
 .../testfiles/formatting/wrapping/binaryOps07.php  |     7 +
 .../formatting/wrapping/binaryOps07.php.formatted  |     9 +
 .../data/testfiles/formatting/wrapping/block01.php |    41 +
 .../formatting/wrapping/block01.php.formatted      |    61 +
 .../data/testfiles/formatting/wrapping/block02.php |    41 +
 .../formatting/wrapping/block02.php.formatted      |    47 +
 .../data/testfiles/formatting/wrapping/block03.php |    42 +
 .../formatting/wrapping/block03.php.formatted      |    63 +
 .../data/testfiles/formatting/wrapping/block04.php |    42 +
 .../formatting/wrapping/block04.php.formatted      |    49 +
 .../data/testfiles/formatting/wrapping/block05.php |    42 +
 .../formatting/wrapping/block05.php.formatted      |    78 +
 .../data/testfiles/formatting/wrapping/block06.php |    42 +
 .../formatting/wrapping/block06.php.formatted      |    64 +
 .../formatting/wrapping/doStatement01.php          |     7 +
 .../wrapping/doStatement01.php.formatted           |     5 +
 .../formatting/wrapping/doStatement02.php          |     4 +
 .../wrapping/doStatement02.php.formatted           |     6 +
 .../formatting/wrapping/doStatement03.php          |     4 +
 .../wrapping/doStatement03.php.formatted           |     5 +
 .../data/testfiles/formatting/wrapping/for01.php   |     9 +
 .../formatting/wrapping/for01.php.formatted        |     6 +
 .../data/testfiles/formatting/wrapping/for02.php   |     5 +
 .../formatting/wrapping/for02.php.formatted        |     8 +
 .../formatting/wrapping/forStatement01.php         |     4 +
 .../wrapping/forStatement01.php.formatted          |     4 +
 .../formatting/wrapping/forStatement02.php         |     6 +
 .../wrapping/forStatement02.php.formatted          |     4 +
 .../formatting/wrapping/forStatement03.php         |     6 +
 .../wrapping/forStatement03.php.formatted          |     4 +
 .../formatting/wrapping/forStatement04.php         |     4 +
 .../wrapping/forStatement04.php.formatted          |     5 +
 .../formatting/wrapping/forStatement05.php         |     6 +
 .../wrapping/forStatement05.php.formatted          |     5 +
 .../formatting/wrapping/forStatement06.php         |     4 +
 .../wrapping/forStatement06.php.formatted          |     4 +
 .../formatting/wrapping/forStatement07.php         |     4 +
 .../wrapping/forStatement07.php.formatted          |     5 +
 .../formatting/wrapping/forStatement08.php         |     4 +
 .../wrapping/forStatement08.php.formatted          |     4 +
 .../formatting/wrapping/forStatement09.php         |     4 +
 .../wrapping/forStatement09.php.formatted          |     5 +
 .../formatting/wrapping/forStatement10.php         |     4 +
 .../wrapping/forStatement10.php.formatted          |     5 +
 .../formatting/wrapping/groupUseBraces01.php       |    12 +
 .../wrapping/groupUseBraces01.php.formatted        |    16 +
 .../formatting/wrapping/groupUseBraces02.php       |    12 +
 .../wrapping/groupUseBraces02.php.formatted        |    25 +
 .../formatting/wrapping/groupUseBraces03.php       |    11 +
 .../wrapping/groupUseBraces03.php.formatted        |    22 +
 .../formatting/wrapping/groupUseList01.php         |    12 +
 .../wrapping/groupUseList01.php.formatted          |    10 +
 .../formatting/wrapping/groupUseList02.php         |    13 +
 .../wrapping/groupUseList02.php.formatted          |    20 +
 .../formatting/wrapping/groupUseList03.php         |    11 +
 .../wrapping/groupUseList03.php.formatted          |    15 +
 .../wrapping/groupUseListWithComments01.php        |    12 +
 .../groupUseListWithComments01.php.formatted       |    13 +
 .../wrapping/groupUseListWithComments02.php        |    13 +
 .../groupUseListWithComments02.php.formatted       |    18 +
 .../wrapping/groupUseListWithComments03.php        |    11 +
 .../groupUseListWithComments03.php.formatted       |    16 +
 .../formatting/wrapping/ifStatement01.php          |     9 +
 .../wrapping/ifStatement01.php.formatted           |     6 +
 .../formatting/wrapping/ifStatement02.php          |     6 +
 .../wrapping/ifStatement02.php.formatted           |     9 +
 .../formatting/wrapping/ifStatement03.php          |     6 +
 .../wrapping/ifStatement03.php.formatted           |     8 +
 .../testfiles/formatting/wrapping/interfaces01.php |     7 +
 .../formatting/wrapping/interfaces01.php.formatted |    12 +
 .../formatting/wrapping/interfaces01_5.php         |     7 +
 .../formatting/wrapping/interfaces01_6.php         |     7 +
 .../formatting/wrapping/interfaces01_7.php         |     7 +
 .../testfiles/formatting/wrapping/interfaces02.php |     7 +
 .../formatting/wrapping/interfaces02.php.formatted |    12 +
 .../testfiles/formatting/wrapping/interfaces03.php |     7 +
 .../formatting/wrapping/interfaces03.php.formatted |    12 +
 .../testfiles/formatting/wrapping/interfaces04.php |     7 +
 .../formatting/wrapping/interfaces04.php.formatted |    13 +
 .../testfiles/formatting/wrapping/interfaces05.php |     7 +
 .../formatting/wrapping/interfaces05.php.formatted |    14 +
 .../formatting/wrapping/issue189722_01.php         |     7 +
 .../wrapping/issue189722_01.php.formatted          |     7 +
 .../formatting/wrapping/issue189722_02.php         |     7 +
 .../wrapping/issue189722_02.php.formatted          |     8 +
 .../formatting/wrapping/issue189722_03.php         |     7 +
 .../wrapping/issue189722_03.php.formatted          |     6 +
 .../formatting/wrapping/issue189722_04.php         |     7 +
 .../wrapping/issue189722_04.php.formatted          |     6 +
 .../formatting/wrapping/issue189722_05.php         |     7 +
 .../wrapping/issue189722_05.php.formatted          |     6 +
 .../formatting/wrapping/issue189722_06.php         |     7 +
 .../wrapping/issue189722_06.php.formatted          |     6 +
 .../formatting/wrapping/issue211933_01.php         |    12 +
 .../wrapping/issue211933_01.php.formatted          |    13 +
 .../formatting/wrapping/issue211933_02.php         |    12 +
 .../wrapping/issue211933_02.php.formatted          |    13 +
 .../formatting/wrapping/issue211933_03.php         |    12 +
 .../wrapping/issue211933_03.php.formatted          |    13 +
 .../formatting/wrapping/issue222774_01.php         |     6 +
 .../wrapping/issue222774_01.php.formatted          |     6 +
 .../formatting/wrapping/issue222774_02.php         |     6 +
 .../wrapping/issue222774_02.php.formatted          |     6 +
 .../formatting/wrapping/issue222774_03.php         |     6 +
 .../wrapping/issue222774_03.php.formatted          |     6 +
 .../formatting/wrapping/issue222774_04.php         |     6 +
 .../wrapping/issue222774_04.php.formatted          |     6 +
 .../formatting/wrapping/issue222774_05.php         |     6 +
 .../wrapping/issue222774_05.php.formatted          |     6 +
 .../formatting/wrapping/issue222774_06.php         |     6 +
 .../wrapping/issue222774_06.php.formatted          |     6 +
 .../formatting/wrapping/issue222774_07.php         |     7 +
 .../wrapping/issue222774_07.php.formatted          |     6 +
 .../formatting/wrapping/issue222774_08.php         |     7 +
 .../wrapping/issue222774_08.php.formatted          |     6 +
 .../formatting/wrapping/issue222774_09.php         |     7 +
 .../wrapping/issue222774_09.php.formatted          |     7 +
 .../formatting/wrapping/issue222774_10.php         |     7 +
 .../wrapping/issue222774_10.php.formatted          |     6 +
 .../formatting/wrapping/issue222774_11.php         |     7 +
 .../wrapping/issue222774_11.php.formatted          |     6 +
 .../formatting/wrapping/issue222774_12.php         |     7 +
 .../wrapping/issue222774_12.php.formatted          |     7 +
 .../formatting/wrapping/issue225535_01.php         |     5 +
 .../wrapping/issue225535_01.php.formatted          |     4 +
 .../formatting/wrapping/issue225535_02.php         |     5 +
 .../wrapping/issue225535_02.php.formatted          |     5 +
 .../formatting/wrapping/issue225535_03.php         |     5 +
 .../wrapping/issue225535_03.php.formatted          |     4 +
 .../formatting/wrapping/issue225535_04.php         |     5 +
 .../wrapping/issue225535_04.php.formatted          |     5 +
 .../formatting/wrapping/issue225535_05.php         |     5 +
 .../wrapping/issue225535_05.php.formatted          |     4 +
 .../formatting/wrapping/issue225535_06.php         |     5 +
 .../wrapping/issue225535_06.php.formatted          |     5 +
 .../formatting/wrapping/issue225535_07.php         |     5 +
 .../wrapping/issue225535_07.php.formatted          |     4 +
 .../formatting/wrapping/issue225535_08.php         |     5 +
 .../wrapping/issue225535_08.php.formatted          |     5 +
 .../testfiles/formatting/wrapping/issue228712.php  |    10 +
 .../formatting/wrapping/issue228712.php.formatted  |    12 +
 .../testfiles/formatting/wrapping/issue230286.php  |     6 +
 .../formatting/wrapping/issue230286.php.formatted  |     6 +
 .../formatting/wrapping/issue233527_01.php         |     5 +
 .../wrapping/issue233527_01.php.formatted          |     4 +
 .../formatting/wrapping/issue233527_02.php         |     5 +
 .../wrapping/issue233527_02.php.formatted          |     4 +
 .../formatting/wrapping/issue233527_03.php         |     5 +
 .../wrapping/issue233527_03.php.formatted          |     6 +
 .../formatting/wrapping/issue233527_04.php         |     5 +
 .../wrapping/issue233527_04.php.formatted          |     6 +
 .../formatting/wrapping/methodCallArg01.php        |     8 +
 .../wrapping/methodCallArg01.php.formatted         |     8 +
 .../formatting/wrapping/methodCallArg02.php        |     8 +
 .../wrapping/methodCallArg02.php.formatted         |     8 +
 .../formatting/wrapping/methodCallArg03.php        |     8 +
 .../wrapping/methodCallArg03.php.formatted         |     8 +
 .../formatting/wrapping/methodCallArg04.php        |     8 +
 .../wrapping/methodCallArg04.php.formatted         |     8 +
 .../formatting/wrapping/methodCallArg05.php        |     9 +
 .../wrapping/methodCallArg05.php.formatted         |     9 +
 .../wrapping/methodCallArgWithAnonymousClass01.php |    57 +
 ...methodCallArgWithAnonymousClass01.php.formatted |    74 +
 .../wrapping/methodCallArgWithAnonymousClass02.php |    49 +
 ...methodCallArgWithAnonymousClass02.php.formatted |    62 +
 .../formatting/wrapping/methodChainCall_01.php     |    14 +
 .../wrapping/methodChainCall_01.php.formatted      |    11 +
 .../formatting/wrapping/methodParams01.php         |     7 +
 .../wrapping/methodParams01.php.formatted          |    19 +
 .../formatting/wrapping/methodParams02.php         |    14 +
 .../wrapping/methodParams02.php.formatted          |    19 +
 .../formatting/wrapping/methodParams03.php         |    13 +
 .../wrapping/methodParams03.php.formatted          |    19 +
 .../formatting/wrapping/methodParams04.php         |    14 +
 .../wrapping/methodParams04.php.formatted          |    19 +
 .../formatting/wrapping/methodParams05.php         |    15 +
 .../wrapping/methodParams05.php.formatted          |    19 +
 .../formatting/wrapping/methodParams06.php         |    15 +
 .../wrapping/methodParams06.php.formatted          |     9 +
 .../formatting/wrapping/methodParams07.php         |    15 +
 .../wrapping/methodParams07.php.formatted          |     9 +
 .../wrapping/selectedGroupUseListAlways01.php      |    15 +
 .../selectedGroupUseListAlways01.php.formatted     |    15 +
 .../wrapping/selectedGroupUseListAlways02.php      |    14 +
 .../selectedGroupUseListAlways02.php.formatted     |    14 +
 .../wrapping/selectedGroupUseListAlways03.php      |    17 +
 .../selectedGroupUseListAlways03.php.formatted     |    17 +
 .../wrapping/selectedGroupUseListAlways04.php      |    20 +
 .../selectedGroupUseListAlways04.php.formatted     |    20 +
 .../wrapping/selectedGroupUseListAlways05.php      |    19 +
 .../selectedGroupUseListAlways05.php.formatted     |    20 +
 .../wrapping/selectedGroupUseListAlways06.php      |    25 +
 .../selectedGroupUseListAlways06.php.formatted     |    26 +
 .../wrapping/selectedGroupUseListAlways07.php      |    32 +
 .../selectedGroupUseListAlways07.php.formatted     |    33 +
 .../wrapping/selectedGroupUseListIfLong01.php      |    15 +
 .../selectedGroupUseListIfLong01.php.formatted     |    15 +
 .../wrapping/selectedGroupUseListIfLong02.php      |    14 +
 .../selectedGroupUseListIfLong02.php.formatted     |    14 +
 .../wrapping/selectedGroupUseListIfLong03.php      |    17 +
 .../selectedGroupUseListIfLong03.php.formatted     |    17 +
 .../wrapping/selectedGroupUseListIfLong04.php      |    20 +
 .../selectedGroupUseListIfLong04.php.formatted     |    20 +
 .../wrapping/selectedGroupUseListIfLong05.php      |    19 +
 .../selectedGroupUseListIfLong05.php.formatted     |    19 +
 .../wrapping/selectedGroupUseListIfLong06.php      |    25 +
 .../selectedGroupUseListIfLong06.php.formatted     |    25 +
 .../wrapping/selectedGroupUseListIfLong07.php      |    32 +
 .../selectedGroupUseListIfLong07.php.formatted     |    32 +
 .../wrapping/selectedGroupUseListNever01.php       |    15 +
 .../selectedGroupUseListNever01.php.formatted      |    15 +
 .../wrapping/selectedGroupUseListNever02.php       |    14 +
 .../selectedGroupUseListNever02.php.formatted      |    14 +
 .../wrapping/selectedGroupUseListNever03.php       |    17 +
 .../selectedGroupUseListNever03.php.formatted      |    17 +
 .../wrapping/selectedGroupUseListNever04.php       |    20 +
 .../selectedGroupUseListNever04.php.formatted      |    20 +
 .../wrapping/selectedGroupUseListNever05.php       |    19 +
 .../selectedGroupUseListNever05.php.formatted      |    19 +
 .../wrapping/selectedGroupUseListNever06.php       |    25 +
 .../selectedGroupUseListNever06.php.formatted      |    25 +
 .../wrapping/selectedGroupUseListNever07.php       |    32 +
 .../selectedGroupUseListNever07.php.formatted      |    32 +
 .../testfiles/formatting/wrapping/statements01.php |    18 +
 .../formatting/wrapping/statements01.php.formatted |    26 +
 .../testfiles/formatting/wrapping/statements02.php |    18 +
 .../formatting/wrapping/statements02.php.formatted |    21 +
 .../testfiles/formatting/wrapping/statements03.php |    18 +
 .../formatting/wrapping/statements03.php.formatted |    21 +
 .../testfiles/formatting/wrapping/statements04.php |    12 +
 .../formatting/wrapping/statements04.php.formatted |    11 +
 .../testfiles/formatting/wrapping/ternaryOp01.php  |    16 +
 .../formatting/wrapping/ternaryOp01.php.formatted  |    11 +
 .../testfiles/formatting/wrapping/ternaryOp02.php  |    10 +
 .../formatting/wrapping/ternaryOp02.php.formatted  |    17 +
 .../testfiles/formatting/wrapping/ternaryOp03.php  |    10 +
 .../formatting/wrapping/ternaryOp03.php.formatted  |    11 +
 .../testfiles/formatting/wrapping/ternaryOp04.php  |     3 +
 .../formatting/wrapping/ternaryOp04.php.formatted  |     3 +
 .../testfiles/formatting/wrapping/ternaryOp05.php  |     3 +
 .../formatting/wrapping/ternaryOp05.php.formatted  |     5 +
 .../testfiles/formatting/wrapping/ternaryOp06.php  |     3 +
 .../formatting/wrapping/ternaryOp06.php.formatted  |     3 +
 .../testfiles/formatting/wrapping/ternaryOp07.php  |     3 +
 .../formatting/wrapping/ternaryOp07.php.formatted  |     5 +
 .../formatting/wrapping/whileStatement01.php       |     4 +
 .../wrapping/whileStatement01.php.formatted        |     4 +
 .../formatting/wrapping/whileStatement02.php       |     5 +
 .../wrapping/whileStatement02.php.formatted        |     5 +
 .../formatting/wrapping/whileStatement03.php       |     5 +
 .../wrapping/whileStatement03.php.formatted        |     5 +
 .../test/unit/data/testfiles/gotoConstrTest.php    |    12 +
 php.editor/test/unit/data/testfiles/gotoType.php   |    41 +
 php.editor/test/unit/data/testfiles/gotoType2.php  |     3 +
 php.editor/test/unit/data/testfiles/gotoarray.php  |    26 +
 .../testAnonymousClass01/testAnonymousClass01.php  |    37 +
 .../testAnonymousClass02/testAnonymousClass02.php  |    10 +
 .../testAnonymousClass03/testAnonymousClass03.php  |    26 +
 .../testAnonymousClass04/testAnonymousClass04.php  |    19 +
 .../testAnonymousClass05/testAnonymousClass05.php  |    15 +
 .../testAnonymousClass06/testAnonymousClass06.php  |    24 +
 .../testAnonymousClass07/testAnonymousClass07.php  |    17 +
 .../testClassInUseStatement209187.php              |    22 +
 .../testClassInstantiation.php                     |    86 +
 .../testClsVarPropInPhpDocTest.php                 |    25 +
 .../testConstAccesInFldDecl.php                    |     7 +
 .../testConstantAccess/testConstantAccess.php      |    86 +
 .../testConstantArrayAccess.php                    |    49 +
 .../testConstants/testConstants.php                |    23 +
 .../gotodeclaration/testExtendsClass/classMan.php  |    33 +
 .../testExtendsClass/classPerson.php               |     8 +
 .../testExtendsClass/testExtendsClass.php          |    31 +
 .../testFieldAccessInInstanceOf.php                |    13 +
 .../testFuncParamAsReference.php                   |     9 +
 .../testGotoConstructTest.php                      |    12 +
 .../testGotoTypeArrays/testGotoTypeArrays.php      |    26 +
 .../testGotoTypeClsIface/testGotoTypeClsIface.php  |    41 +
 .../testGotoTypeClsIfaceCatch.php                  |    41 +
 .../testGotoTypeClsIfaceFromalParam.php            |    41 +
 .../testGotoTypeClsIfaceInstanceof.php             |    41 +
 .../gotodeclaration/testGroupUse/testGroupUse.php  |    58 +
 .../testGroupUseConst/testGroupUseConst.php        |    27 +
 .../testGroupUseFunc/testGroupUseFunc.php          |    33 +
 .../testGroupUseMixed/testGroupUseMixed.php        |    21 +
 .../testIfaceTest/testIfaceTest.php                |    21 +
 .../testImplementsInterface/classPerson.php        |     8 +
 .../testImplementsInterface.php                    |    34 +
 .../gotodeclaration/testIssue147517/container.php  |     3 +
 .../gotodeclaration/testIssue147517/driver.php     |     3 +
 .../gotodeclaration/testIssue147517/factory.php    |     3 +
 .../gotodeclaration/testIssue147517/manager.php    |     3 +
 .../testIssue147517/testIssue147517.php            |     8 +
 .../gotodeclaration/testIssue186553/object1.php    |     7 +
 .../testIssue186553/testIssue186553.php            |    12 +
 .../testIssue200596/testIssue200596.php            |    35 +
 .../testIssue203073/testIssue203073.php            |    35 +
 .../testIssue203814/testIssue203814.php            |    28 +
 .../testIssue207346/testIssue207346.php            |    27 +
 .../testIssue207615/testIssue207615.php            |    15 +
 .../testIssue207971/testIssue207971.php            |    14 +
 .../testIssue208851/testIssue208851.php            |    22 +
 .../testIssue209308/testIssue209308.php            |    36 +
 .../testIssue209309/testIssue209309.php            |    16 +
 .../gotodeclaration/testIssue209888/Types.php      |    14 +
 .../testIssue209888/testIssue209888.php            |    29 +
 .../testIssue211230/testIssue211230.php            |    17 +
 .../testIssue213133/testIssue213133.php            |     9 +
 .../testIssue213584/testIssue213584.php            |    29 +
 .../gotodeclaration/testIssue217360/Two.php        |    12 +
 .../testIssue217360/testIssue217360.php            |    17 +
 .../testIssue218487/testIssue218487.php            |    18 +
 .../testIssue244317/testIssue244317.php            |    17 +
 .../testIssue247082/testIssue247082.php            |    50 +
 .../testMethodInvocation/testMethodInvocation.php  |    86 +
 .../testMixedTypes200156/testMixedTypes200156.php  |    36 +
 .../testParamVarPropInPhpDocTest.php               |    25 +
 .../testQualifiedClassInPhpDoc.php                 |    26 +
 .../testReturnType/testReturnType.php              |    20 +
 .../testStaticAccessWithNs.php                     |    41 +
 .../testStaticAccessWithNsAlias.php                |    38 +
 .../testStaticConstant197239.php                   |    13 +
 .../testStaticFieldAccess.php                      |    86 +
 .../testStaticMethodInvocation.php                 |    94 +
 .../testSuperClasses/testSuperClasses.php          |    86 +
 .../testUniformVariableSyntax.php                  |    52 +
 .../testUseFuncAndConst/testUseFuncAndConst.php    |    19 +
 .../testVardoc166660/testVardoc166660.php          |     5 +
 php.editor/test/unit/data/testfiles/ifaceTest.php  |    21 +
 .../data/testfiles/indent/after_switch_break.php   |     7 +
 .../indent/after_switch_break.php.indented         |     8 +
 .../data/testfiles/indent/after_switch_break_1.php |     7 +
 .../indent/after_switch_break_1.php.indented       |     8 +
 .../data/testfiles/indent/after_switch_case.php    |     5 +
 .../indent/after_switch_case.php.indented          |     6 +
 .../test/unit/data/testfiles/indent/arrays1.php    |     5 +
 .../data/testfiles/indent/arrays1.php.indented     |     6 +
 .../test/unit/data/testfiles/indent/arrays10.php   |     5 +
 .../data/testfiles/indent/arrays10.php.indented    |     6 +
 .../test/unit/data/testfiles/indent/arrays11.php   |     6 +
 .../data/testfiles/indent/arrays11.php.indented    |     7 +
 .../test/unit/data/testfiles/indent/arrays12.php   |     5 +
 .../data/testfiles/indent/arrays12.php.indented    |     6 +
 .../test/unit/data/testfiles/indent/arrays13.php   |     5 +
 .../data/testfiles/indent/arrays13.php.indented    |     6 +
 .../test/unit/data/testfiles/indent/arrays14.php   |     5 +
 .../data/testfiles/indent/arrays14.php.indented    |     7 +
 .../test/unit/data/testfiles/indent/arrays15.php   |     5 +
 .../data/testfiles/indent/arrays15.php.indented    |     7 +
 .../test/unit/data/testfiles/indent/arrays16.php   |     6 +
 .../data/testfiles/indent/arrays16.php.indented    |     8 +
 .../test/unit/data/testfiles/indent/arrays17.php   |     4 +
 .../data/testfiles/indent/arrays17.php.indented    |     6 +
 .../test/unit/data/testfiles/indent/arrays18.php   |     7 +
 .../data/testfiles/indent/arrays18.php.indented    |     9 +
 .../test/unit/data/testfiles/indent/arrays19.php   |     4 +
 .../data/testfiles/indent/arrays19.php.indented    |     5 +
 .../test/unit/data/testfiles/indent/arrays2.php    |     5 +
 .../data/testfiles/indent/arrays2.php.indented     |     6 +
 .../test/unit/data/testfiles/indent/arrays20.php   |     6 +
 .../data/testfiles/indent/arrays20.php.indented    |     8 +
 .../test/unit/data/testfiles/indent/arrays21.php   |     8 +
 .../data/testfiles/indent/arrays21.php.indented    |     9 +
 .../test/unit/data/testfiles/indent/arrays22.php   |     8 +
 .../data/testfiles/indent/arrays22.php.indented    |     9 +
 .../test/unit/data/testfiles/indent/arrays23.php   |     9 +
 .../data/testfiles/indent/arrays23.php.indented    |    11 +
 .../test/unit/data/testfiles/indent/arrays24.php   |    11 +
 .../data/testfiles/indent/arrays24.php.indented    |    12 +
 .../test/unit/data/testfiles/indent/arrays25.php   |    11 +
 .../data/testfiles/indent/arrays25.php.indented    |    12 +
 .../test/unit/data/testfiles/indent/arrays26.php   |    11 +
 .../data/testfiles/indent/arrays26.php.indented    |    13 +
 .../test/unit/data/testfiles/indent/arrays27.php   |    11 +
 .../data/testfiles/indent/arrays27.php.indented    |    13 +
 .../test/unit/data/testfiles/indent/arrays28.php   |    13 +
 .../data/testfiles/indent/arrays28.php.indented    |    14 +
 .../test/unit/data/testfiles/indent/arrays29.php   |     6 +
 .../data/testfiles/indent/arrays29.php.indented    |     7 +
 .../test/unit/data/testfiles/indent/arrays3.php    |     4 +
 .../data/testfiles/indent/arrays3.php.indented     |     5 +
 .../test/unit/data/testfiles/indent/arrays4.php    |     3 +
 .../data/testfiles/indent/arrays4.php.indented     |     4 +
 .../test/unit/data/testfiles/indent/arrays5.php    |     3 +
 .../data/testfiles/indent/arrays5.php.indented     |     5 +
 .../test/unit/data/testfiles/indent/arrays6.php    |     3 +
 .../data/testfiles/indent/arrays6.php.indented     |     5 +
 .../test/unit/data/testfiles/indent/arrays7.php    |     3 +
 .../data/testfiles/indent/arrays7.php.indented     |     5 +
 .../test/unit/data/testfiles/indent/arrays8.php    |     5 +
 .../data/testfiles/indent/arrays8.php.indented     |     6 +
 .../test/unit/data/testfiles/indent/arrays9.php    |     6 +
 .../data/testfiles/indent/arrays9.php.indented     |     7 +
 .../unit/data/testfiles/indent/break_in_while.php  |     5 +
 .../testfiles/indent/break_in_while.php.indented   |     6 +
 .../indent/control_stmt_without_bracket1.php       |     5 +
 .../control_stmt_without_bracket1.php.indented     |     6 +
 .../indent/control_stmt_without_bracket2.php       |     6 +
 .../control_stmt_without_bracket2.php.indented     |     7 +
 .../indent/control_stmt_without_bracket3.php       |     8 +
 .../control_stmt_without_bracket3.php.indented     |     9 +
 .../unit/data/testfiles/indent/firstline_01.php    |     2 +
 .../testfiles/indent/firstline_01.php.indented     |     3 +
 .../unit/data/testfiles/indent/firstline_02.php    |     4 +
 .../testfiles/indent/firstline_02.php.indented     |     5 +
 .../unit/data/testfiles/indent/firstline_03.php    |     5 +
 .../testfiles/indent/firstline_03.php.indented     |     6 +
 .../unit/data/testfiles/indent/firstline_04.php    |     6 +
 .../testfiles/indent/firstline_04.php.indented     |     7 +
 .../data/testfiles/indent/groupUseConst_01.php     |     6 +
 .../testfiles/indent/groupUseConst_01.php.indented |     7 +
 .../data/testfiles/indent/groupUseConst_02.php     |     6 +
 .../testfiles/indent/groupUseConst_02.php.indented |     7 +
 .../data/testfiles/indent/groupUseConst_03.php     |     6 +
 .../testfiles/indent/groupUseConst_03.php.indented |     7 +
 .../data/testfiles/indent/groupUseFunction_01.php  |     6 +
 .../indent/groupUseFunction_01.php.indented        |     7 +
 .../data/testfiles/indent/groupUseFunction_02.php  |     6 +
 .../indent/groupUseFunction_02.php.indented        |     7 +
 .../data/testfiles/indent/groupUseFunction_03.php  |     6 +
 .../indent/groupUseFunction_03.php.indented        |     7 +
 .../unit/data/testfiles/indent/groupUse_01.php     |    10 +
 .../data/testfiles/indent/groupUse_01.php.indented |    11 +
 .../unit/data/testfiles/indent/groupUse_02.php     |    10 +
 .../data/testfiles/indent/groupUse_02.php.indented |    11 +
 .../unit/data/testfiles/indent/groupUse_03.php     |    10 +
 .../data/testfiles/indent/groupUse_03.php.indented |    11 +
 .../unit/data/testfiles/indent/groupUse_04.php     |    10 +
 .../data/testfiles/indent/groupUse_04.php.indented |    11 +
 .../unit/data/testfiles/indent/groupUse_05.php     |    10 +
 .../data/testfiles/indent/groupUse_05.php.indented |    11 +
 .../data/testfiles/indent/html_indent_in_php.php   |    10 +
 .../indent/html_indent_in_php.php.indented         |    12 +
 .../indent/indent_after_closing_bracket.php        |     7 +
 .../indent_after_closing_bracket.php.indented      |     8 +
 .../indent/indent_after_multiline_stmt1.php        |    11 +
 .../indent_after_multiline_stmt1.php.indented      |    12 +
 .../testfiles/indent/initialIndentation_01.php     |     1 +
 .../indent/initialIndentation_01.php.indented      |     2 +
 .../testfiles/indent/initialIndentation_02.php     |     1 +
 .../indent/initialIndentation_02.php.indented      |     2 +
 .../testfiles/indent/initialIndentation_03.php     |     5 +
 .../indent/initialIndentation_03.php.indented      |     6 +
 .../testfiles/indent/initialIndentation_04.php     |     5 +
 .../indent/initialIndentation_04.php.indented      |     6 +
 .../unit/data/testfiles/indent/issue157137.php     |     3 +
 .../data/testfiles/indent/issue157137.php.indented |     4 +
 .../unit/data/testfiles/indent/issue162586.php     |     8 +
 .../data/testfiles/indent/issue162586.php.indented |     9 +
 .../unit/data/testfiles/indent/issue166552.php     |    15 +
 .../data/testfiles/indent/issue166552.php.indented |    16 +
 .../unit/data/testfiles/indent/issue168908.php     |     9 +
 .../data/testfiles/indent/issue168908.php.indented |    10 +
 .../unit/data/testfiles/indent/issue173937_01.php  |     6 +
 .../testfiles/indent/issue173937_01.php.indented   |     7 +
 .../unit/data/testfiles/indent/issue173979_1.php   |     6 +
 .../testfiles/indent/issue173979_1.php.indented    |     8 +
 .../unit/data/testfiles/indent/issue173979_2.php   |     8 +
 .../testfiles/indent/issue173979_2.php.indented    |     9 +
 .../unit/data/testfiles/indent/issue174835_01.php  |     6 +
 .../testfiles/indent/issue174835_01.php.indented   |     7 +
 .../unit/data/testfiles/indent/issue175118_01.php  |     5 +
 .../testfiles/indent/issue175118_01.php.indented   |     6 +
 .../unit/data/testfiles/indent/issue175118_02.php  |     6 +
 .../testfiles/indent/issue175118_02.php.indented   |     7 +
 .../unit/data/testfiles/indent/issue175118_03.php  |     6 +
 .../testfiles/indent/issue175118_03.php.indented   |     7 +
 .../unit/data/testfiles/indent/issue175118_04.php  |     3 +
 .../testfiles/indent/issue175118_04.php.indented   |     4 +
 .../unit/data/testfiles/indent/issue175118_05.php  |     2 +
 .../testfiles/indent/issue175118_05.php.indented   |     3 +
 .../unit/data/testfiles/indent/issue175118_06.php  |     2 +
 .../testfiles/indent/issue175118_06.php.indented   |     3 +
 .../unit/data/testfiles/indent/issue175118_07.php  |     3 +
 .../testfiles/indent/issue175118_07.php.indented   |     4 +
 .../unit/data/testfiles/indent/issue175118_08.php  |     5 +
 .../testfiles/indent/issue175118_08.php.indented   |     6 +
 .../unit/data/testfiles/indent/issue175118_09.php  |     3 +
 .../testfiles/indent/issue175118_09.php.indented   |     4 +
 .../unit/data/testfiles/indent/issue175118_10.php  |     2 +
 .../testfiles/indent/issue175118_10.php.indented   |     3 +
 .../unit/data/testfiles/indent/issue175118_11.php  |     2 +
 .../testfiles/indent/issue175118_11.php.indented   |     3 +
 .../unit/data/testfiles/indent/issue175118_12.php  |     5 +
 .../testfiles/indent/issue175118_12.php.indented   |     6 +
 .../unit/data/testfiles/indent/issue175118_13.php  |     5 +
 .../testfiles/indent/issue175118_13.php.indented   |     6 +
 .../unit/data/testfiles/indent/issue175118_14.php  |     2 +
 .../testfiles/indent/issue175118_14.php.indented   |     3 +
 .../unit/data/testfiles/indent/issue175118_15.php  |     2 +
 .../testfiles/indent/issue175118_15.php.indented   |     3 +
 .../unit/data/testfiles/indent/issue175118_16.php  |     3 +
 .../testfiles/indent/issue175118_16.php.indented   |     4 +
 .../unit/data/testfiles/indent/issue175118_17.php  |     4 +
 .../testfiles/indent/issue175118_17.php.indented   |     5 +
 .../unit/data/testfiles/indent/issue175437_1.php   |     5 +
 .../testfiles/indent/issue175437_1.php.indented    |     6 +
 .../unit/data/testfiles/indent/issue175437_10.php  |     9 +
 .../testfiles/indent/issue175437_10.php.indented   |    10 +
 .../unit/data/testfiles/indent/issue175437_11.php  |     5 +
 .../testfiles/indent/issue175437_11.php.indented   |     6 +
 .../data/testfiles/indent/issue175437_11_3.php     |     5 +
 .../unit/data/testfiles/indent/issue175437_12.php  |     6 +
 .../testfiles/indent/issue175437_12.php.indented   |     7 +
 .../unit/data/testfiles/indent/issue175437_13.php  |     6 +
 .../testfiles/indent/issue175437_13.php.indented   |     7 +
 .../unit/data/testfiles/indent/issue175437_2.php   |     4 +
 .../testfiles/indent/issue175437_2.php.indented    |     5 +
 .../unit/data/testfiles/indent/issue175437_3.php   |     4 +
 .../testfiles/indent/issue175437_3.php.indented    |     5 +
 .../unit/data/testfiles/indent/issue175437_4.php   |     4 +
 .../testfiles/indent/issue175437_4.php.indented    |     5 +
 .../unit/data/testfiles/indent/issue175437_5.php   |     6 +
 .../testfiles/indent/issue175437_5.php.indented    |     7 +
 .../unit/data/testfiles/indent/issue175437_6.php   |     5 +
 .../testfiles/indent/issue175437_6.php.indented    |     6 +
 .../unit/data/testfiles/indent/issue175437_7.php   |     4 +
 .../testfiles/indent/issue175437_7.php.indented    |     5 +
 .../unit/data/testfiles/indent/issue175437_8.php   |     8 +
 .../testfiles/indent/issue175437_8.php.indented    |     9 +
 .../unit/data/testfiles/indent/issue175437_9.php   |     8 +
 .../testfiles/indent/issue175437_9.php.indented    |     9 +
 .../unit/data/testfiles/indent/issue176061.php     |    14 +
 .../data/testfiles/indent/issue176061.php.indented |    15 +
 .../unit/data/testfiles/indent/issue178024_01.php  |     7 +
 .../testfiles/indent/issue178024_01.php.indented   |     8 +
 .../unit/data/testfiles/indent/issue178024_02.php  |     7 +
 .../testfiles/indent/issue178024_02.php.indented   |     8 +
 .../unit/data/testfiles/indent/issue178024_03.php  |     7 +
 .../testfiles/indent/issue178024_03.php.indented   |     8 +
 .../unit/data/testfiles/indent/issue178024_04.php  |     8 +
 .../testfiles/indent/issue178024_04.php.indented   |     9 +
 .../unit/data/testfiles/indent/issue178024_05.php  |     8 +
 .../testfiles/indent/issue178024_05.php.indented   |     9 +
 .../unit/data/testfiles/indent/issue178024_06.php  |     8 +
 .../testfiles/indent/issue178024_06.php.indented   |     9 +
 .../unit/data/testfiles/indent/issue178542_01.php  |     5 +
 .../testfiles/indent/issue178542_01.php.indented   |     7 +
 .../unit/data/testfiles/indent/issue178542_02.php  |     5 +
 .../testfiles/indent/issue178542_02.php.indented   |     7 +
 .../unit/data/testfiles/indent/issue178542_03.php  |     6 +
 .../testfiles/indent/issue178542_03.php.indented   |     8 +
 .../unit/data/testfiles/indent/issue179522_01.php  |     9 +
 .../testfiles/indent/issue179522_01.php.indented   |    10 +
 .../unit/data/testfiles/indent/issue179522_02.php  |     9 +
 .../testfiles/indent/issue179522_02.php.indented   |    10 +
 .../unit/data/testfiles/indent/issue179522_03.php  |     9 +
 .../testfiles/indent/issue179522_03.php.indented   |    10 +
 .../unit/data/testfiles/indent/issue179522_04.php  |     9 +
 .../testfiles/indent/issue179522_04.php.indented   |    10 +
 .../unit/data/testfiles/indent/issue179522_05.php  |    10 +
 .../testfiles/indent/issue179522_05.php.indented   |    11 +
 .../unit/data/testfiles/indent/issue191896_01.php  |     5 +
 .../testfiles/indent/issue191896_01.php.indented   |     6 +
 .../unit/data/testfiles/indent/issue191896_02.php  |     5 +
 .../testfiles/indent/issue191896_02.php.indented   |     6 +
 .../unit/data/testfiles/indent/issue191896_03.php  |     5 +
 .../testfiles/indent/issue191896_03.php.indented   |     6 +
 .../unit/data/testfiles/indent/issue191896_04.php  |     5 +
 .../testfiles/indent/issue191896_04.php.indented   |     6 +
 .../unit/data/testfiles/indent/issue197583_01.php  |     5 +
 .../testfiles/indent/issue197583_01.php.indented   |     6 +
 .../unit/data/testfiles/indent/issue197583_02.php  |     6 +
 .../testfiles/indent/issue197583_02.php.indented   |     7 +
 .../unit/data/testfiles/indent/issue201285_01.php  |     7 +
 .../testfiles/indent/issue201285_01.php.indented   |     8 +
 .../unit/data/testfiles/indent/issue201285_02.php  |     9 +
 .../testfiles/indent/issue201285_02.php.indented   |    10 +
 .../unit/data/testfiles/indent/issue201330_01.php  |    12 +
 .../testfiles/indent/issue201330_01.php.indented   |    13 +
 .../unit/data/testfiles/indent/issue201330_02.php  |    11 +
 .../testfiles/indent/issue201330_02.php.indented   |    12 +
 .../unit/data/testfiles/indent/issue201330_03.php  |    12 +
 .../testfiles/indent/issue201330_03.php.indented   |    13 +
 .../unit/data/testfiles/indent/issue201330_04.php  |    11 +
 .../testfiles/indent/issue201330_04.php.indented   |    12 +
 .../unit/data/testfiles/indent/issue202151.php     |     2 +
 .../data/testfiles/indent/issue202151.php.indented |     3 +
 .../unit/data/testfiles/indent/issue203389.php     |    14 +
 .../data/testfiles/indent/issue203389.php.indented |    15 +
 .../unit/data/testfiles/indent/issue222753_01.php  |    12 +
 .../testfiles/indent/issue222753_01.php.indented   |    13 +
 .../unit/data/testfiles/indent/issue222753_02.php  |    12 +
 .../testfiles/indent/issue222753_02.php.indented   |    13 +
 .../unit/data/testfiles/indent/issue222753_03.php  |    13 +
 .../testfiles/indent/issue222753_03.php.indented   |    14 +
 .../unit/data/testfiles/indent/issue222980_01.php  |    14 +
 .../testfiles/indent/issue222980_01.php.indented   |    15 +
 .../unit/data/testfiles/indent/issue222980_02.php  |    14 +
 .../testfiles/indent/issue222980_02.php.indented   |    15 +
 .../unit/data/testfiles/indent/issue222980_03.php  |    14 +
 .../testfiles/indent/issue222980_03.php.indented   |    15 +
 .../unit/data/testfiles/indent/issue222980_04.php  |    14 +
 .../testfiles/indent/issue222980_04.php.indented   |    15 +
 .../unit/data/testfiles/indent/issue222980_05.php  |    14 +
 .../testfiles/indent/issue222980_05.php.indented   |    15 +
 .../unit/data/testfiles/indent/issue222980_06.php  |    14 +
 .../testfiles/indent/issue222980_06.php.indented   |    15 +
 .../unit/data/testfiles/indent/issue222980_07.php  |    14 +
 .../testfiles/indent/issue222980_07.php.indented   |    15 +
 .../unit/data/testfiles/indent/issue222980_08.php  |    16 +
 .../testfiles/indent/issue222980_08.php.indented   |    17 +
 .../unit/data/testfiles/indent/issue222980_09.php  |    16 +
 .../testfiles/indent/issue222980_09.php.indented   |    17 +
 .../unit/data/testfiles/indent/linecomment_1.php   |     4 +
 .../testfiles/indent/linecomment_1.php.indented    |     5 +
 .../data/testfiles/indent/linecomment_175685_1.php |     5 +
 .../indent/linecomment_175685_1.php.indented       |     6 +
 .../testfiles/indent/linecomment_175685_10.php     |    19 +
 .../indent/linecomment_175685_10.php.indented      |    20 +
 .../testfiles/indent/linecomment_175685_11.php     |    21 +
 .../indent/linecomment_175685_11.php.indented      |    22 +
 .../data/testfiles/indent/linecomment_175685_2.php |    15 +
 .../indent/linecomment_175685_2.php.indented       |    16 +
 .../data/testfiles/indent/linecomment_175685_3.php |    15 +
 .../indent/linecomment_175685_3.php.indented       |    16 +
 .../data/testfiles/indent/linecomment_175685_4.php |    16 +
 .../indent/linecomment_175685_4.php.indented       |    17 +
 .../data/testfiles/indent/linecomment_175685_5.php |    16 +
 .../indent/linecomment_175685_5.php.indented       |    17 +
 .../data/testfiles/indent/linecomment_175685_6.php |    16 +
 .../indent/linecomment_175685_6.php.indented       |    17 +
 .../data/testfiles/indent/linecomment_175685_7.php |    19 +
 .../indent/linecomment_175685_7.php.indented       |    20 +
 .../data/testfiles/indent/linecomment_175685_8.php |    19 +
 .../indent/linecomment_175685_8.php.indented       |    20 +
 .../data/testfiles/indent/linecomment_175685_9.php |    18 +
 .../indent/linecomment_175685_9.php.indented       |    19 +
 .../unit/data/testfiles/indent/linecomment_2.php   |     4 +
 .../testfiles/indent/linecomment_2.php.indented    |     5 +
 .../unit/data/testfiles/indent/linecomment_3.php   |     5 +
 .../testfiles/indent/linecomment_3.php.indented    |     6 +
 .../unit/data/testfiles/indent/linecomment_4.php   |     4 +
 .../testfiles/indent/linecomment_4.php.indented    |     5 +
 .../testfiles/indent/multiline_function_call.php   |     3 +
 .../indent/multiline_function_call.php.indented    |     4 +
 .../indent/multiline_function_call_01.php          |     2 +
 .../indent/multiline_function_call_01.php.indented |     3 +
 .../indent/multiline_function_call_02.php          |     2 +
 .../indent/multiline_function_call_02.php.indented |     3 +
 .../indent/multiline_function_call_03.php          |     2 +
 .../indent/multiline_function_call_03.php.indented |     3 +
 .../indent/multiline_function_call_04.php          |     2 +
 .../indent/multiline_function_call_04.php.indented |     3 +
 .../indent/multiline_function_call_05.php          |     4 +
 .../indent/multiline_function_call_05.php.indented |     5 +
 .../indent/multiline_function_call_06.php          |     4 +
 .../indent/multiline_function_call_06.php.indented |     5 +
 .../indent/multiline_function_call_07.php          |     5 +
 .../indent/multiline_function_call_07.php.indented |     6 +
 .../indent/multiline_function_call_08.php          |     5 +
 .../indent/multiline_function_call_08.php.indented |     6 +
 .../indent/multiline_function_call_08_3.php        |     5 +
 .../indent/multiline_function_call_08_4.php        |     5 +
 .../indent/multiline_function_call_09.php          |     3 +
 .../indent/multiline_function_call_09.php.indented |     4 +
 .../indent/multiline_function_call_10.php          |     5 +
 .../indent/multiline_function_call_10.php.indented |     6 +
 .../indent/multiline_function_call_11.php          |     5 +
 .../indent/multiline_function_call_11.php.indented |     6 +
 .../indent/multiline_function_call_12.php          |     3 +
 .../indent/multiline_function_call_12.php.indented |     4 +
 .../indent/multiline_function_call_13.php          |     3 +
 .../indent/multiline_function_call_13.php.indented |     4 +
 .../indent/multiline_function_call_14.php          |     3 +
 .../indent/multiline_function_call_14.php.indented |     4 +
 .../indent/multiline_function_call_15.php          |     3 +
 .../indent/multiline_function_call_15.php.indented |     4 +
 .../indent/multiline_function_call_16.php          |     3 +
 .../indent/multiline_function_call_16.php.indented |     4 +
 .../indent/multiline_function_call_17.php          |     4 +
 .../indent/multiline_function_call_17.php.indented |     5 +
 .../indent/multiline_function_call_18.php          |     7 +
 .../indent/multiline_function_call_18.php.indented |     8 +
 .../indent/multiline_function_call_19.php          |     4 +
 .../indent/multiline_function_call_19.php.indented |     5 +
 .../indent/multiline_function_call_20.php          |     6 +
 .../indent/multiline_function_call_20.php.indented |     7 +
 .../indent/multiline_function_call_21.php          |     7 +
 .../indent/multiline_function_call_21.php.indented |     8 +
 .../indent/multiline_function_call_22.php          |     5 +
 .../indent/multiline_function_call_22.php.indented |     6 +
 .../indent/multiline_function_call_23.php          |     5 +
 .../indent/multiline_function_call_23.php.indented |     6 +
 .../indent/multiline_function_call_24.php          |     6 +
 .../indent/multiline_function_call_24.php.indented |     7 +
 .../indent/multiline_function_call_25.php          |     7 +
 .../indent/multiline_function_call_25.php.indented |     8 +
 .../indent/multiline_function_call_26.php          |     8 +
 .../indent/multiline_function_call_26.php.indented |     9 +
 .../indent/multiline_function_call_27.php          |     6 +
 .../indent/multiline_function_call_27.php.indented |     8 +
 .../indent/multiline_function_call_28.php          |     5 +
 .../indent/multiline_function_call_28.php.indented |     7 +
 .../indent/multiline_function_call_29.php          |     5 +
 .../indent/multiline_function_call_29.php.indented |     6 +
 .../indent/multiline_function_call_30.php          |     5 +
 .../indent/multiline_function_call_30.php.indented |     7 +
 .../indent/multiline_function_call_31.php          |     6 +
 .../indent/multiline_function_call_31.php.indented |     8 +
 .../indent/multiline_function_call_32.php          |     6 +
 .../indent/multiline_function_call_32.php.indented |     7 +
 .../indent/multiline_function_call_33.php          |    10 +
 .../indent/multiline_function_call_33.php.indented |    11 +
 .../data/testfiles/indent/multiline_string1.php    |     7 +
 .../indent/multiline_string1.php.indented          |     8 +
 .../data/testfiles/indent/multiline_string2.php    |     7 +
 .../indent/multiline_string2.php.indented          |     8 +
 .../data/testfiles/indent/multiline_string3.php    |     7 +
 .../indent/multiline_string3.php.indented          |     8 +
 .../data/testfiles/indent/multiline_string4.php    |     7 +
 .../indent/multiline_string4.php.indented          |     8 +
 .../testfiles/indent/objectOperatorContinue_01.php |     7 +
 .../indent/objectOperatorContinue_01.php.indented  |     8 +
 .../testfiles/indent/objectOperatorContinue_02.php |     8 +
 .../indent/objectOperatorContinue_02.php.indented  |     9 +
 .../testfiles/indent/objectOperatorContinue_03.php |    10 +
 .../indent/objectOperatorContinue_03.php.indented  |    11 +
 .../testfiles/indent/objectOperatorContinue_04.php |    10 +
 .../indent/objectOperatorContinue_04.php.indented  |    11 +
 .../testfiles/indent/objectOperatorContinue_05.php |    11 +
 .../indent/objectOperatorContinue_05.php.indented  |    12 +
 .../testfiles/indent/objectOperatorContinue_06.php |    11 +
 .../indent/objectOperatorContinue_06.php.indented  |    12 +
 .../testfiles/indent/objectOperatorContinue_07.php |    10 +
 .../indent/objectOperatorContinue_07.php.indented  |    12 +
 .../testfiles/indent/objectOperatorContinue_09.php |    12 +
 .../indent/objectOperatorContinue_09.php.indented  |    13 +
 .../testfiles/indent/objectOperatorContinue_10.php |    11 +
 .../indent/objectOperatorContinue_10.php.indented  |    12 +
 .../testfiles/indent/objectOperatorContinue_11.php |    11 +
 .../indent/objectOperatorContinue_11.php.indented  |    12 +
 .../unit/data/testfiles/indent/phpInHtml_01.php    |     5 +
 .../testfiles/indent/phpInHtml_01.php.indented     |     6 +
 .../qa/issues/10_10_5/regressions/173900.php       |     4 +
 .../regressions/173900.php.10_10_5.indented        |     5 +
 .../issues/10_10_5/stable_fixedIssues/146247_1.php |     5 +
 .../146247_1.php.10_10_5.indented                  |     6 +
 .../issues/10_10_5/stable_fixedIssues/146247_2.php |     5 +
 .../146247_2.php.10_10_5.indented                  |     6 +
 .../issues/10_10_5/stable_fixedIssues/146247_3.php |     4 +
 .../146247_3.php.10_10_5.indented                  |     5 +
 .../issues/10_10_5/stable_fixedIssues/146247_4.php |     4 +
 .../146247_4.php.10_10_5.indented                  |     5 +
 .../issues/10_10_5/stable_fixedIssues/166543_1.php |     6 +
 .../166543_1.php.10_10_5.indented                  |     7 +
 .../issues/10_10_5/stable_fixedIssues/166543_2.php |    11 +
 .../166543_2.php.10_10_5.indented                  |    12 +
 .../issues/10_10_5/stable_fixedIssues/167087.php   |     4 +
 .../stable_fixedIssues/167087.php.10_10_5.indented |     5 +
 .../issues/10_10_5/stable_fixedIssues/168337.php   |     6 +
 .../stable_fixedIssues/168337.php.10_10_5.indented |     7 +
 .../issues/10_10_5/stable_fixedIssues/172797.php   |    19 +
 .../stable_fixedIssues/172797.php.10_10_5.indented |    21 +
 .../issues/10_10_5/stable_fixedIssues/173357_1.php |    17 +
 .../173357_1.php.10_10_5.indented                  |    18 +
 .../issues/10_10_5/stable_fixedIssues/173357_2.php |     3 +
 .../173357_2.php.10_10_5.indented                  |     5 +
 .../issues/10_10_5/stable_fixedIssues/173937_1.php |     9 +
 .../173937_1.php.10_10_5.indented                  |    10 +
 .../issues/10_10_5/stable_fixedIssues/173966.php   |     6 +
 .../stable_fixedIssues/173966.php.10_10_5.indented |     8 +
 .../issues/10_10_5/stable_fixedIssues/175437.php   |     3 +
 .../stable_fixedIssues/175437.php.10_10_5.indented |     4 +
 .../issues/10_10_5/stable_fixedIssues/176061.php   |    46 +
 .../stable_fixedIssues/176061.php.10_10_5.indented |    47 +
 .../stable_fixedIssues/classAfterFunction.php      |    13 +
 .../classAfterFunction.php.10_10_5.indented        |    15 +
 .../indent/qa/issues/regressions/173900.php        |     4 +
 .../qa/issues/regressions/173900.php.indented      |     5 +
 .../qa/issues/stable_fixedIssues/146247_1.php      |     5 +
 .../stable_fixedIssues/146247_1.php.indented       |     6 +
 .../qa/issues/stable_fixedIssues/146247_2.php      |     5 +
 .../stable_fixedIssues/146247_2.php.indented       |     6 +
 .../qa/issues/stable_fixedIssues/146247_3.php      |     4 +
 .../stable_fixedIssues/146247_3.php.indented       |     5 +
 .../qa/issues/stable_fixedIssues/146247_4.php      |     4 +
 .../stable_fixedIssues/146247_4.php.indented       |     5 +
 .../qa/issues/stable_fixedIssues/166543_1.php      |     6 +
 .../stable_fixedIssues/166543_1.php.indented       |     7 +
 .../qa/issues/stable_fixedIssues/166543_2.php      |     8 +
 .../stable_fixedIssues/166543_2.php.indented       |     9 +
 .../indent/qa/issues/stable_fixedIssues/167087.php |     4 +
 .../issues/stable_fixedIssues/167087.php.indented  |     5 +
 .../indent/qa/issues/stable_fixedIssues/168337.php |     6 +
 .../issues/stable_fixedIssues/168337.php.indented  |     7 +
 .../indent/qa/issues/stable_fixedIssues/172797.php |    18 +
 .../issues/stable_fixedIssues/172797.php.indented  |    20 +
 .../qa/issues/stable_fixedIssues/173357_1.php      |    17 +
 .../stable_fixedIssues/173357_1.php.indented       |    18 +
 .../qa/issues/stable_fixedIssues/173357_2.php      |     3 +
 .../stable_fixedIssues/173357_2.php.indented       |     5 +
 .../qa/issues/stable_fixedIssues/173937_1.php      |     7 +
 .../stable_fixedIssues/173937_1.php.indented       |     8 +
 .../indent/qa/issues/stable_fixedIssues/173966.php |     5 +
 .../issues/stable_fixedIssues/173966.php.indented  |     7 +
 .../indent/qa/issues/stable_fixedIssues/175437.php |     3 +
 .../issues/stable_fixedIssues/175437.php.indented  |     4 +
 .../indent/qa/issues/stable_fixedIssues/176061.php |    46 +
 .../issues/stable_fixedIssues/176061.php.indented  |    47 +
 .../indent/qa/issues/stable_fixedIssues/177250.php |    10 +
 .../issues/stable_fixedIssues/177250.php.indented  |    11 +
 .../indent/qa/issues/stable_fixedIssues/182072.php |    10 +
 .../issues/stable_fixedIssues/182072.php.indented  |    11 +
 .../indent/qa/issues/stable_fixedIssues/183135.php |     3 +
 .../issues/stable_fixedIssues/183135.php.indented  |     4 +
 .../stable_fixedIssues/classAfterFunction.php      |    13 +
 .../classAfterFunction.php.indented                |    15 +
 .../unit/data/testfiles/indent/shortArrays1.php    |     5 +
 .../testfiles/indent/shortArrays1.php.indented     |     6 +
 .../unit/data/testfiles/indent/shortArrays10.php   |     5 +
 .../testfiles/indent/shortArrays10.php.indented    |     6 +
 .../unit/data/testfiles/indent/shortArrays11.php   |     6 +
 .../testfiles/indent/shortArrays11.php.indented    |     7 +
 .../unit/data/testfiles/indent/shortArrays12.php   |     5 +
 .../testfiles/indent/shortArrays12.php.indented    |     6 +
 .../unit/data/testfiles/indent/shortArrays13.php   |     5 +
 .../testfiles/indent/shortArrays13.php.indented    |     6 +
 .../unit/data/testfiles/indent/shortArrays14.php   |     5 +
 .../testfiles/indent/shortArrays14.php.indented    |     7 +
 .../unit/data/testfiles/indent/shortArrays15.php   |     5 +
 .../testfiles/indent/shortArrays15.php.indented    |     7 +
 .../unit/data/testfiles/indent/shortArrays16.php   |     6 +
 .../testfiles/indent/shortArrays16.php.indented    |     8 +
 .../unit/data/testfiles/indent/shortArrays17.php   |     5 +
 .../testfiles/indent/shortArrays17.php.indented    |     7 +
 .../unit/data/testfiles/indent/shortArrays18.php   |     7 +
 .../testfiles/indent/shortArrays18.php.indented    |     9 +
 .../unit/data/testfiles/indent/shortArrays19.php   |     4 +
 .../testfiles/indent/shortArrays19.php.indented    |     5 +
 .../unit/data/testfiles/indent/shortArrays2.php    |     5 +
 .../testfiles/indent/shortArrays2.php.indented     |     6 +
 .../unit/data/testfiles/indent/shortArrays20.php   |     6 +
 .../testfiles/indent/shortArrays20.php.indented    |     8 +
 .../unit/data/testfiles/indent/shortArrays21.php   |     8 +
 .../testfiles/indent/shortArrays21.php.indented    |     9 +
 .../unit/data/testfiles/indent/shortArrays22.php   |     8 +
 .../testfiles/indent/shortArrays22.php.indented    |     9 +
 .../unit/data/testfiles/indent/shortArrays23.php   |     9 +
 .../testfiles/indent/shortArrays23.php.indented    |    11 +
 .../unit/data/testfiles/indent/shortArrays24.php   |    11 +
 .../testfiles/indent/shortArrays24.php.indented    |    12 +
 .../unit/data/testfiles/indent/shortArrays25.php   |    11 +
 .../testfiles/indent/shortArrays25.php.indented    |    12 +
 .../unit/data/testfiles/indent/shortArrays26.php   |    11 +
 .../testfiles/indent/shortArrays26.php.indented    |    13 +
 .../unit/data/testfiles/indent/shortArrays27.php   |    11 +
 .../testfiles/indent/shortArrays27.php.indented    |    13 +
 .../unit/data/testfiles/indent/shortArrays28.php   |    13 +
 .../testfiles/indent/shortArrays28.php.indented    |    14 +
 .../unit/data/testfiles/indent/shortArrays29.php   |     6 +
 .../testfiles/indent/shortArrays29.php.indented    |     7 +
 .../unit/data/testfiles/indent/shortArrays3.php    |     4 +
 .../testfiles/indent/shortArrays3.php.indented     |     5 +
 .../unit/data/testfiles/indent/shortArrays4.php    |     3 +
 .../testfiles/indent/shortArrays4.php.indented     |     4 +
 .../unit/data/testfiles/indent/shortArrays5.php    |     3 +
 .../testfiles/indent/shortArrays5.php.indented     |     5 +
 .../unit/data/testfiles/indent/shortArrays6.php    |     3 +
 .../testfiles/indent/shortArrays6.php.indented     |     5 +
 .../unit/data/testfiles/indent/shortArrays7.php    |     3 +
 .../testfiles/indent/shortArrays7.php.indented     |     5 +
 .../unit/data/testfiles/indent/shortArrays8.php    |     5 +
 .../testfiles/indent/shortArrays8.php.indented     |     6 +
 .../unit/data/testfiles/indent/shortArrays9.php    |     6 +
 .../testfiles/indent/shortArrays9.php.indented     |     7 +
 .../unit/data/testfiles/indent/smart_enter.php     |     3 +
 .../data/testfiles/indent/smart_enter.php.indented |     5 +
 .../unit/data/testfiles/indent/smart_enter_02.php  |     3 +
 .../testfiles/indent/smart_enter_02.php.indented   |     5 +
 .../unit/data/testfiles/indent/smart_enter_03.php  |     3 +
 .../testfiles/indent/smart_enter_03.php.indented   |     5 +
 .../test/unit/data/testfiles/indent/switch_01.php  |     6 +
 .../data/testfiles/indent/switch_01.php.indented   |     7 +
 .../test/unit/data/testfiles/indent/switch_02.php  |     6 +
 .../data/testfiles/indent/switch_02.php.indented   |     7 +
 .../test/unit/data/testfiles/indent/switch_03.php  |     6 +
 .../data/testfiles/indent/switch_03.php.indented   |     7 +
 .../test/unit/data/testfiles/indent/switch_04.php  |     8 +
 .../data/testfiles/indent/switch_04.php.indented   |     9 +
 .../test/unit/data/testfiles/indent/switch_05.php  |     8 +
 .../data/testfiles/indent/switch_05.php.indented   |     9 +
 .../test/unit/data/testfiles/indent/switch_06.php  |     9 +
 .../data/testfiles/indent/switch_06.php.indented   |    10 +
 .../test/unit/data/testfiles/indent/switch_07.php  |    10 +
 .../data/testfiles/indent/switch_07.php.indented   |    11 +
 .../test/unit/data/testfiles/indent/switch_08.php  |    11 +
 .../data/testfiles/indent/switch_08.php.indented   |    12 +
 .../test/unit/data/testfiles/indent/switch_09.php  |     8 +
 .../data/testfiles/indent/switch_09.php.indented   |     9 +
 .../testfiles/indent/trivial_repeated_indent.php   |     9 +
 .../indent/trivial_repeated_indent.php.indented    |    10 +
 .../testGetAllTopLevel/testGetAllTopLevel.php      |     9 +
 .../testGetClassAncestors.php                      |    13 +
 .../testGetClassHierarchy.php                      |     9 +
 .../testGetClassHierarchy_1.php                    |     4 +
 .../testGetClassHierarchy_2.php                    |     3 +
 .../index/testGetClasses/testGetClasses.php        |     9 +
 .../testGetClasses/testGetClasses.php.indexed      |    80 +
 .../index/testGetClasses/testGetClasses_1.php      |     4 +
 .../testGetClassesWithNsInterfaces.php             |    10 +
 .../testGetClassesWithNsInterfaces.php.indexed     |    43 +
 .../index/testGetConstants/testGetConstants.php    |    13 +
 .../testGetDirectIncludes.php                      |    13 +
 .../testfiles/index/testGetFiles/testGetFiles.php  |    13 +
 .../index/testGetFunctions/testGetFunctions.php    |     7 +
 .../testGetFunctions/testGetFunctions.php.indexed  |    46 +
 .../index/testGetFunctions/testGetFunctions_1.php  |     4 +
 .../testGetInterfaceAncestors.php                  |    13 +
 .../testGetInterfaceHierarchy.php                  |     6 +
 .../index/testGetInterfaces/testGetInterfaces.php  |     8 +
 .../testGetInterfaces.php.indexed                  |    43 +
 .../testGetInterfaces/testGetInterfaces_1.php      |     4 +
 .../index/testGetMethods/testGetMethods.php        |     7 +
 .../testGetMethods/testGetMethods.php.indexed      |    23 +
 .../index/testGetMethods/testGetMethods_1.php      |    14 +
 .../index/testGetNamespaces/testGetNamespaces.php  |    12 +
 .../testGetNamespaces.php.indexed                  |    44 +
 .../testGetTopLevelVariables.php                   |    13 +
 .../testGetTypeAncestors/testGetTypeAncestors.php  |    13 +
 .../index/testIssue240824/testIssue240824.php      |    17 +
 .../testIssue240824/testIssue240824.php.indexed    |    28 +
 .../testSimpleClassDeclaration.php                 |    13 +
 .../testSimpleClassDeclaration.php.indexed         |    57 +
 .../test/unit/data/testfiles/issue213616.php.folds |    10 +
 .../test/unit/data/testfiles/issue216088.php.folds |     7 +
 .../test/unit/data/testfiles/issue232884.php.folds |     6 +
 .../testfiles/js/embeddedMultipleSections1.php     |    19 +
 .../js/embeddedMultipleSections1.php.formatted     |    19 +
 .../unit/data/testfiles/js/embeddedSimple1.php     |    22 +
 .../testfiles/js/embeddedSimple1.php.formatted     |    22 +
 .../unit/data/testfiles/js/embeddedSimple2.php     |    13 +
 .../testfiles/js/embeddedSimple2.php.formatted     |    13 +
 .../unit/data/testfiles/js/embeddedSimple3.php     |    18 +
 .../testfiles/js/embeddedSimple3.php.formatted     |    18 +
 .../unit/data/testfiles/js/embeddedSimple4.php     |     3 +
 .../testfiles/js/embeddedSimple4.php.formatted     |     3 +
 .../unit/data/testfiles/js/embeddedSimple5.php     |    24 +
 .../testfiles/js/embeddedSimple5.php.formatted     |    22 +
 .../data/testfiles/lexer/binaryNotation_01.php     |     5 +
 .../data/testfiles/lexer/binaryNotation_02.php     |     5 +
 .../data/testfiles/lexer/binaryNotation_03.php     |     5 +
 .../data/testfiles/lexer/binaryNotation_04.php     |     5 +
 .../test/unit/data/testfiles/lexer/coalesce_01.php |     2 +
 .../test/unit/data/testfiles/lexer/coalesce_02.php |     2 +
 .../test/unit/data/testfiles/lexer/coalesce_03.php |     2 +
 .../test/unit/data/testfiles/lexer/coalesce_04.php |     3 +
 .../test/unit/data/testfiles/lexer/coalesce_05.php |     3 +
 .../test/unit/data/testfiles/lexer/elvis_01.php    |     2 +
 .../test/unit/data/testfiles/lexer/elvis_02.php    |     2 +
 .../test/unit/data/testfiles/lexer/elvis_03.php    |     2 +
 .../test/unit/data/testfiles/lexer/elvis_04.php    |     2 +
 .../test/unit/data/testfiles/lexer/elvis_05.php    |     3 +
 .../test/unit/data/testfiles/lexer/elvis_06.php    |     3 +
 .../test/unit/data/testfiles/lexer/heredoc00.php   |    27 +
 .../test/unit/data/testfiles/lexer/heredoc01.php   |     5 +
 .../test/unit/data/testfiles/lexer/heredoc_001.php |    23 +
 .../test/unit/data/testfiles/lexer/heredoc_002.php |    23 +
 .../test/unit/data/testfiles/lexer/heredoc_003.php |    23 +
 .../test/unit/data/testfiles/lexer/heredoc_004.php |    23 +
 .../test/unit/data/testfiles/lexer/heredoc_005.php |    22 +
 .../test/unit/data/testfiles/lexer/heredoc_006.php |    23 +
 .../test/unit/data/testfiles/lexer/heredoc_007.php |    23 +
 .../test/unit/data/testfiles/lexer/heredoc_008.php |    17 +
 .../test/unit/data/testfiles/lexer/heredoc_009.php |    42 +
 .../test/unit/data/testfiles/lexer/heredoc_010.php |    32 +
 .../test/unit/data/testfiles/lexer/heredoc_011.php |    20 +
 .../test/unit/data/testfiles/lexer/heredoc_012.php |    12 +
 .../test/unit/data/testfiles/lexer/heredoc_013.php |    12 +
 .../test/unit/data/testfiles/lexer/heredoc_014.php |    12 +
 .../test/unit/data/testfiles/lexer/heredoc_015.php |    18 +
 .../test/unit/data/testfiles/lexer/heredoc_02.php  |     7 +
 .../test/unit/data/testfiles/lexer/heredoc_03.php  |     7 +
 .../test/unit/data/testfiles/lexer/heredoc_04.php  |     6 +
 .../test/unit/data/testfiles/lexer/issue138261.php |     5 +
 .../test/unit/data/testfiles/lexer/issue144337.php |    15 +
 .../test/unit/data/testfiles/lexer/issue198572.php |    25 +
 .../test/unit/data/testfiles/lexer/issue221484.php |     8 +
 .../unit/data/testfiles/lexer/issue222092_01.php   |     7 +
 .../unit/data/testfiles/lexer/issue222092_02.php   |     7 +
 .../test/unit/data/testfiles/lexer/issue225549.php |     5 +
 .../test/unit/data/testfiles/lexer/issue229960.php |     3 +
 .../test/unit/data/testfiles/lexer/issue235973.php |     5 +
 .../test/unit/data/testfiles/lexer/jump01.php      |    14 +
 .../test/unit/data/testfiles/lexer/jump02.php      |    16 +
 .../test/unit/data/testfiles/lexer/jump03.php      |    18 +
 .../test/unit/data/testfiles/lexer/jump04.php      |    24 +
 .../test/unit/data/testfiles/lexer/jump05.php      |    26 +
 .../test/unit/data/testfiles/lexer/jump06.php      |     8 +
 .../test/unit/data/testfiles/lexer/jump07.php      |    11 +
 .../test/unit/data/testfiles/lexer/jump08.php      |    11 +
 .../test/unit/data/testfiles/lexer/jump09.php      |    13 +
 .../test/unit/data/testfiles/lexer/jump10.php      |    13 +
 .../test/unit/data/testfiles/lexer/jump11.php      |    26 +
 .../test/unit/data/testfiles/lexer/jump12.php      |    19 +
 .../test/unit/data/testfiles/lexer/jump13.php      |    25 +
 .../test/unit/data/testfiles/lexer/nowdoc01.php    |    16 +
 .../test/unit/data/testfiles/lexer/nowdoc02.php    |    16 +
 .../test/unit/data/testfiles/lexer/nowdoc_000.php  |    10 +
 .../test/unit/data/testfiles/lexer/nowdoc_001.php  |    24 +
 .../test/unit/data/testfiles/lexer/nowdoc_002.php  |    23 +
 .../test/unit/data/testfiles/lexer/nowdoc_003.php  |    23 +
 .../test/unit/data/testfiles/lexer/nowdoc_004.php  |    23 +
 .../test/unit/data/testfiles/lexer/nowdoc_005.php  |    23 +
 .../test/unit/data/testfiles/lexer/nowdoc_006.php  |    23 +
 .../test/unit/data/testfiles/lexer/nowdoc_007.php  |    23 +
 .../test/unit/data/testfiles/lexer/nowdoc_008.php  |    17 +
 .../test/unit/data/testfiles/lexer/nowdoc_009.php  |    40 +
 .../test/unit/data/testfiles/lexer/nowdoc_010.php  |    33 +
 .../test/unit/data/testfiles/lexer/nowdoc_011.php  |    20 +
 .../test/unit/data/testfiles/lexer/nowdoc_012.php  |    25 +
 .../test/unit/data/testfiles/lexer/nowdoc_013.php  |    26 +
 .../test/unit/data/testfiles/lexer/nowdoc_014.php  |    25 +
 .../test/unit/data/testfiles/lexer/nowdoc_015.php  |    74 +
 .../unit/data/testfiles/lexer/return_types_01.php  |     4 +
 .../unit/data/testfiles/lexer/return_types_02.php  |     4 +
 .../unit/data/testfiles/lexer/return_types_03.php  |     8 +
 .../unit/data/testfiles/lexer/scalar_types_01.php  |    17 +
 .../testfiles/lexer/shortArraysStaticScalar_01.php |     7 +
 .../testfiles/lexer/shortArraysStaticScalar_02.php |     5 +
 .../unit/data/testfiles/lexer/shortArrays_01.php   |     4 +
 .../unit/data/testfiles/lexer/shortArrays_02.php   |     6 +
 .../unit/data/testfiles/lexer/spaceship_01.php     |     2 +
 .../unit/data/testfiles/lexer/spaceship_02.php     |     4 +
 .../test/unit/data/testfiles/lexer/test01.php      |     9 +
 .../test/unit/data/testfiles/lexer/traits_01.php   |     5 +
 .../test/unit/data/testfiles/lexer/traits_02.php   |     5 +
 .../test/unit/data/testfiles/lexer/traits_03.php   |     5 +
 .../test/unit/data/testfiles/lexer/traits_04.php   |     7 +
 .../test/unit/data/testfiles/lexer/traits_05.php   |     8 +
 .../test/unit/data/testfiles/lexer/traits_06.php   |     8 +
 .../unit/data/testfiles/lexer/yieldKeyword.php     |     9 +
 .../unit/data/testfiles/lexer/yield_from_01.php    |     7 +
 .../unit/data/testfiles/lexer/yield_from_02.php    |     7 +
 .../unit/data/testfiles/lexer/yield_from_03.php    |     7 +
 .../unit/data/testfiles/lexer/yield_from_04.php    |     8 +
 .../unit/data/testfiles/lexer/yield_from_05.php    |     8 +
 .../unit/data/testfiles/lexer/yield_from_06.php    |     5 +
 .../testAnonymousClasses01.php                     |    36 +
 .../testAnonymousClasses02.php                     |    19 +
 .../testAnonymousClasses03.php                     |    26 +
 .../testAnonymousClasses04.php                     |    11 +
 .../testAnonymousClasses05.php                     |    17 +
 .../testArrayDereferencing.php                     |    34 +
 .../testCatchWithAlias/testCatchWithAlias.php      |    13 +
 .../testClsVarPropInPhpDocTest.php                 |    25 +
 .../testConstantArrayAccess.php                    |    49 +
 .../markoccurences/testConstants/testConstants.php |    23 +
 .../testFieldAccessInInstanceOf.php                |    13 +
 .../testGotoConstructTest.php                      |    12 +
 .../markoccurences/testGotoLabel/testGotoLabel.php |    10 +
 .../testGroupUses01/testGroupUses01.php            |    50 +
 .../testGroupUses02/testGroupUses02.php            |    21 +
 .../markoccurences/testIfaceTest/testIfaceTest.php |    21 +
 .../testInstanceof198909/testInstanceof198909.php  |    15 +
 .../testIssue133465/testIssue133465.php            |     8 +
 .../markoccurences/testIssue186553/object1.php     |     7 +
 .../testIssue186553/testIssue186553.php            |    12 +
 .../testIssue197283/testIssue197283.php            |    10 +
 .../testIssue198449/testIssue198449.php            |     6 +
 .../testIssue200399/testIssue200399.php            |    18 +
 .../testIssue200596/testIssue200596.php            |    47 +
 .../testIssue201429/testIssue201429.php            |    18 +
 .../testIssue201671/testIssue201671.php            |     4 +
 .../testIssue203073/testIssue203073.php            |    35 +
 .../testIssue203419/testIssue203419.php            |    45 +
 .../testIssue203814/testIssue203814.php            |    28 +
 .../testIssue204433/testIssue204433.php            |    46 +
 .../testIssue207346/testIssue207346.php            |    27 +
 .../testIssue207615/testIssue207615.php            |    15 +
 .../testIssue207971/testIssue207971.php            |    14 +
 .../testIssue208245/testIssue208245.php            |    16 +
 .../testIssue208826/testIssue208826.php            |    46 +
 .../testIssue209187/testIssue209187.php            |    22 +
 .../testIssue209308/testIssue209308.php            |    36 +
 .../testIssue209309/testIssue209309.php            |    16 +
 .../testIssue211015/testIssue211015.php            |    15 +
 .../testIssue211230/testIssue211230.php            |    17 +
 .../testIssue213133/testIssue213133.php            |     9 +
 .../testIssue213584/testIssue213584.php            |    29 +
 .../testIssue216876/testIssue216876.php            |    15 +
 .../testIssue217357/testIssue217357.php            |    15 +
 .../markoccurences/testIssue217360/Two.php         |    12 +
 .../testIssue217360/testIssue217360.php            |    17 +
 .../testIssue218487/testIssue218487.php            |    18 +
 .../testIssue223076/testIssue223076.php            |    14 +
 .../testIssue244317/testIssue244317.php            |    17 +
 .../testIssue247082/testIssue247082.php            |    50 +
 .../testIssue262438/testIssue262438.php            |    20 +
 .../testMagicMethod/testMagicMethod.php            |    17 +
 .../testMagicMethod171249.php                      |    17 +
 .../markoccurences/testMarkArray/testMarkArray.php |    26 +
 .../testMarkClsIface/testMarkClsIface.php          |    41 +
 .../testMarkReturnsOnConstructorTest.php           |    25 +
 .../testOccurrences1/testOccurrences1.php          |     4 +
 .../testOccurrences2/testOccurrences2.php          |     7 +
 .../testOccurrences3/testOccurrences3.php          |     6 +
 .../testOccurrences4/testOccurrences4.php          |     7 +
 .../testOccurrencesClassHeader.php                 |     4 +
 .../testOccurrencesDefines.php                     |     6 +
 .../testOccurrencesInstanceMethod.php              |     8 +
 .../testOccurrencesInstanceVarParam.php            |     8 +
 .../testParamVarPropInPhpDocTest.php               |    25 +
 .../testQualifiedUseStatement.php                  |    19 +
 .../testReflectionVariableInMethodInvocation.php   |    12 +
 .../testReturnTypes01/testReturnTypes01.php        |    19 +
 .../testStaticAccessWithNs.php                     |    41 +
 .../testStaticAccessWithNsAlias.php                |    38 +
 .../testStaticMethodCall/testStaticMethodCall.php  |    18 +
 .../testUniformVariableSyntax01.php                |    46 +
 .../testUniformVariableSyntax02.php                |    26 +
 .../testUseFuncAndConst/testUseFuncAndConst.php    |    19 +
 .../testVardoc166660/testVardoc166660.php          |     5 +
 .../testVariableAsAClassName.php                   |     6 +
 .../test/unit/data/testfiles/markphpdocTest.php    |    25 +
 .../unit/data/testfiles/model/basicFileScope.php   |    57 +
 .../test/unit/data/testfiles/model/globalvars2.php |    42 +
 .../test/unit/data/testfiles/model/globalvars3.php |    16 +
 .../test/unit/data/testfiles/model/issue202460.php |    12 +
 .../test/unit/data/testfiles/model/issue206727.php |     3 +
 .../test/unit/data/testfiles/model/issue210558.php |     3 +
 .../test/unit/data/testfiles/model/modelfile1.php  |    14 +
 .../unit/data/testfiles/model/namespaces01.php     |    28 +
 .../unit/data/testfiles/model/namespaces02.php     |    28 +
 .../unit/data/testfiles/model/namespaces03.php     |    29 +
 .../unit/data/testfiles/model/namespaces04.php     |    29 +
 .../unit/data/testfiles/model/namespaces05.php     |    31 +
 .../unit/data/testfiles/model/namespaces06.php     |    54 +
 .../unit/data/testfiles/model/namespaces07.php     |    28 +
 .../testfiles/model/performance/performance.php    | 34415 +++++++++++++++++
 .../unit/data/testfiles/model/returnTypes01.php    |     3 +
 .../unit/data/testfiles/model/returnTypes02.php    |     3 +
 .../unit/data/testfiles/model/returnTypes03.php    |    12 +
 .../unit/data/testfiles/model/returnTypes04.php    |    12 +
 .../unit/data/testfiles/model/returnTypes05.php    |    15 +
 .../test/unit/data/testfiles/model/scope.php       |    51 +
 .../model/superandsubtype/testIssue217175.php      |    21 +
 .../model/superandsubtype/testSubType_01.php       |     9 +
 .../model/superandsubtype/testSubType_02.php       |    17 +
 .../model/superandsubtype/testSubType_03.php       |     9 +
 .../model/superandsubtype/testSubType_04.php       |     9 +
 .../model/superandsubtype/testSubType_05.php       |    17 +
 .../model/superandsubtype/testSubType_06.php       |     9 +
 .../model/superandsubtype/testSubType_07.php       |     9 +
 .../model/superandsubtype/testSubType_08.php       |    15 +
 .../model/superandsubtype/testSubType_09.php       |    15 +
 .../model/superandsubtype/testSubType_10.php       |    11 +
 .../model/superandsubtype/testSubType_11.php       |    11 +
 .../model/superandsubtype/testSubType_12.php       |    11 +
 .../model/superandsubtype/testSubType_13.php       |    11 +
 .../model/superandsubtype/testSubType_14.php       |    11 +
 .../model/superandsubtype/testSubType_15.php       |    14 +
 .../model/superandsubtype/testSubType_16.php       |    16 +
 .../model/superandsubtype/testSuperType_01.php     |     9 +
 .../model/superandsubtype/testSuperType_02.php     |    17 +
 .../model/superandsubtype/testSuperType_03.php     |     9 +
 .../model/superandsubtype/testSuperType_04.php     |     9 +
 .../model/superandsubtype/testSuperType_05.php     |    17 +
 .../model/superandsubtype/testSuperType_06.php     |     9 +
 .../model/superandsubtype/testSuperType_07.php     |     9 +
 .../model/superandsubtype/testSuperType_08.php     |    15 +
 .../model/superandsubtype/testSuperType_09.php     |    15 +
 .../model/superandsubtype/testSuperType_10.php     |    11 +
 .../model/superandsubtype/testSuperType_11.php     |    11 +
 .../model/superandsubtype/testSuperType_12.php     |    11 +
 .../model/superandsubtype/testSuperType_13.php     |    11 +
 .../model/superandsubtype/testSuperType_14.php     |    11 +
 .../model/superandsubtype/testSuperType_15.php     |    14 +
 .../model/superandsubtype/testSuperType_16.php     |    16 +
 php.editor/test/unit/data/testfiles/nowdoc.inc     |    11 +
 .../unit/data/testfiles/parser/TextSearchQuery.php |  1155 +
 .../data/testfiles/parser/anonymousClass_01.php    |    96 +
 .../testfiles/parser/anonymousClass_01.php.errors  |     0
 .../testfiles/parser/anonymousObjectVariable.php   |     6 +
 .../parser/anonymousObjectVariable.php.errors      |     0
 .../data/testfiles/parser/argumentUnpacking_01.php |     8 +
 .../parser/argumentUnpacking_01.php.errors         |     0
 .../testfiles/parser/arrayDereferencing_01.php     |     5 +
 .../parser/arrayDereferencing_01.php.errors        |     0
 .../testfiles/parser/arrayDereferencing_02.php     |     5 +
 .../parser/arrayDereferencing_02.php.errors        |     0
 .../testfiles/parser/arrayDereferencing_03.php     |     5 +
 .../parser/arrayDereferencing_03.php.errors        |     0
 .../testfiles/parser/arrayDereferencing_04.php     |     5 +
 .../parser/arrayDereferencing_04.php.errors        |     0
 .../testfiles/parser/arrayDereferencing_05.php     |     5 +
 .../parser/arrayDereferencing_05.php.errors        |     0
 .../testfiles/parser/arrayDereferencing_06.php     |     5 +
 .../parser/arrayDereferencing_06.php.errors        |     0
 .../testfiles/parser/arrayDereferencing_07.php     |     5 +
 .../parser/arrayDereferencing_07.php.errors        |     0
 .../testfiles/parser/arrayDereferencing_08.php     |     5 +
 .../parser/arrayDereferencing_08.php.errors        |     0
 .../testfiles/parser/arrayDereferencing_09.php     |     5 +
 .../parser/arrayDereferencing_09.php.errors        |     0
 .../data/testfiles/parser/binaryNotation_01.php    |     5 +
 .../testfiles/parser/binaryNotation_01.php.errors  |     0
 .../data/testfiles/parser/binaryNotation_02.php    |     5 +
 .../testfiles/parser/binaryNotation_02.php.errors  |     0
 .../data/testfiles/parser/binaryNotation_03.php    |     5 +
 .../testfiles/parser/binaryNotation_03.php.errors  |     0
 .../data/testfiles/parser/binaryNotation_04.php    |     5 +
 .../testfiles/parser/binaryNotation_04.php.errors  |     7 +
 .../test/unit/data/testfiles/parser/cfunction.php  |    11 +
 .../data/testfiles/parser/cfunction.php.errors     |     0
 .../unit/data/testfiles/parser/classConstant.php   |    19 +
 .../data/testfiles/parser/classConstant.php.errors |     0
 .../unit/data/testfiles/parser/coalesce_01.php     |     2 +
 .../data/testfiles/parser/coalesce_01.php.errors   |     0
 .../unit/data/testfiles/parser/coalesce_02.php     |     2 +
 .../data/testfiles/parser/coalesce_02.php.errors   |     0
 .../testfiles/parser/constantArrayAccess_01.php    |    41 +
 .../parser/constantArrayAccess_01.php.errors       |     0
 .../testfiles/parser/constantArrayAccess_02.php    |     4 +
 .../parser/constantArrayAccess_02.php.errors       |    10 +
 .../testfiles/parser/constantArrayAccess_03.php    |    10 +
 .../parser/constantArrayAccess_03.php.errors       |    13 +
 .../parser/constantScalarExpressions_01.php        |    17 +
 .../parser/constantScalarExpressions_01.php.errors |     0
 .../test/unit/data/testfiles/parser/elvis_01.php   |     2 +
 .../unit/data/testfiles/parser/elvis_01.php.errors |     0
 .../test/unit/data/testfiles/parser/elvis_02.php   |     2 +
 .../unit/data/testfiles/parser/elvis_02.php.errors |     0
 .../data/testfiles/parser/exponentiation_01.php    |     8 +
 .../testfiles/parser/exponentiation_01.php.errors  |     0
 .../testfiles/parser/expressionArrayAccess_01.php  |     3 +
 .../parser/expressionArrayAccess_01.php.errors     |     0
 .../testfiles/parser/expressionArrayAccess_02.php  |     3 +
 .../parser/expressionArrayAccess_02.php.errors     |     0
 .../testfiles/parser/expressionArrayAccess_03.php  |     3 +
 .../parser/expressionArrayAccess_03.php.errors     |     0
 .../parser/fieldArraysWithArrayDereferencing.php   |     5 +
 .../data/testfiles/parser/fieldModificators_01.php |     7 +
 .../parser/fieldModificators_01.php.errors         |    10 +
 .../data/testfiles/parser/fieldModificators_02.php |     7 +
 .../parser/fieldModificators_02.php.errors         |    10 +
 .../data/testfiles/parser/fieldModificators_03.php |     7 +
 .../parser/fieldModificators_03.php.errors         |    10 +
 .../data/testfiles/parser/fieldModificators_04.php |     7 +
 .../parser/fieldModificators_04.php.errors         |    10 +
 .../data/testfiles/parser/fieldModificators_05.php |     7 +
 .../parser/fieldModificators_05.php.errors         |    10 +
 .../test/unit/data/testfiles/parser/finally_01.php |    11 +
 .../data/testfiles/parser/finally_01.php.errors    |     0
 .../test/unit/data/testfiles/parser/finally_02.php |     9 +
 .../data/testfiles/parser/finally_02.php.errors    |     0
 .../test/unit/data/testfiles/parser/finally_03.php |     9 +
 .../data/testfiles/parser/finally_03.php.errors    |     0
 .../parser/foldingConditionalStatements.php        |    43 +
 .../parser/foldingConditionalStatements_1.php      |    55 +
 .../unit/data/testfiles/parser/foldingCycles.php   |    63 +
 .../unit/data/testfiles/parser/foldingCycles_1.php |    79 +
 .../unit/data/testfiles/parser/foldingMethod.php   |    23 +
 .../unit/data/testfiles/parser/foldingMethod_1.php |    28 +
 .../data/testfiles/parser/functionCallParam.php    |     5 +
 .../testfiles/parser/functionCallParam.php.errors  |     8 +
 .../unit/data/testfiles/parser/gotostatement.php   |     1 +
 .../unit/data/testfiles/parser/groupUse_01.php     |     3 +
 .../data/testfiles/parser/groupUse_01.php.errors   |     0
 .../unit/data/testfiles/parser/groupUse_02.php     |     3 +
 .../data/testfiles/parser/groupUse_02.php.errors   |     0
 .../unit/data/testfiles/parser/groupUse_03.php     |     3 +
 .../data/testfiles/parser/groupUse_03.php.errors   |     0
 .../unit/data/testfiles/parser/groupUse_04.php     |     3 +
 .../data/testfiles/parser/groupUse_04.php.errors   |     0
 .../test/unit/data/testfiles/parser/heredoc00.php  |    27 +
 .../test/unit/data/testfiles/parser/heredoc01.php  |     5 +
 .../unit/data/testfiles/parser/heredoc_001.php     |    23 +
 .../unit/data/testfiles/parser/heredoc_002.php     |    23 +
 .../unit/data/testfiles/parser/heredoc_003.php     |    23 +
 .../unit/data/testfiles/parser/heredoc_004.php     |    23 +
 .../unit/data/testfiles/parser/heredoc_005.php     |    22 +
 .../unit/data/testfiles/parser/heredoc_006.php     |    23 +
 .../unit/data/testfiles/parser/heredoc_007.php     |    23 +
 .../unit/data/testfiles/parser/heredoc_008.php     |    17 +
 .../unit/data/testfiles/parser/heredoc_009.php     |    42 +
 .../unit/data/testfiles/parser/heredoc_010.php     |    32 +
 .../unit/data/testfiles/parser/heredoc_011.php     |    20 +
 .../unit/data/testfiles/parser/heredoc_012.php     |    12 +
 .../unit/data/testfiles/parser/heredoc_013.php     |    12 +
 .../unit/data/testfiles/parser/heredoc_014.php     |    12 +
 .../unit/data/testfiles/parser/heredoc_015.php     |    18 +
 .../data/testfiles/parser/instanceOfExpression.php |     5 +
 .../unit/data/testfiles/parser/issue170712.php     |    11 +
 .../unit/data/testfiles/parser/issue189630.php     |     9 +
 .../data/testfiles/parser/issue189630.php.errors   |     0
 .../unit/data/testfiles/parser/issue190105_01.php  |    22 +
 .../testfiles/parser/issue190105_01.php.errors     |     0
 .../unit/data/testfiles/parser/issue190105_02.php  |    22 +
 .../testfiles/parser/issue190105_02.php.errors     |     7 +
 .../unit/data/testfiles/parser/issue190105_03.php  |    23 +
 .../testfiles/parser/issue190105_03.php.errors     |     0
 .../unit/data/testfiles/parser/issue198572.php     |    25 +
 .../data/testfiles/parser/issue198572.php.errors   |     0
 .../unit/data/testfiles/parser/issue200501.php     |     6 +
 .../unit/data/testfiles/parser/issue211165_01.php  |    11 +
 .../testfiles/parser/issue211165_01.php.errors     |    13 +
 .../unit/data/testfiles/parser/issue211165_02.php  |     5 +
 .../testfiles/parser/issue211165_02.php.errors     |    16 +
 .../unit/data/testfiles/parser/issue211165_03.php  |     6 +
 .../testfiles/parser/issue211165_03.php.errors     |     7 +
 .../unit/data/testfiles/parser/issue211165_04.php  |     9 +
 .../testfiles/parser/issue211165_04.php.errors     |    10 +
 .../unit/data/testfiles/parser/issue211165_05.php  |    21 +
 .../testfiles/parser/issue211165_05.php.errors     |    28 +
 .../unit/data/testfiles/parser/issue211165_06.php  |    17 +
 .../testfiles/parser/issue211165_06.php.errors     |    13 +
 .../unit/data/testfiles/parser/issue211165_07.php  |     9 +
 .../testfiles/parser/issue211165_07.php.errors     |     7 +
 .../unit/data/testfiles/parser/issue211165_08.php  |    14 +
 .../testfiles/parser/issue211165_08.php.errors     |    13 +
 .../unit/data/testfiles/parser/issue211165_09.php  |    11 +
 .../testfiles/parser/issue211165_09.php.errors     |    28 +
 .../unit/data/testfiles/parser/issue213080.php     |    14 +
 .../data/testfiles/parser/issue213080.php.errors   |     0
 .../unit/data/testfiles/parser/issue213423.php     |     9 +
 .../unit/data/testfiles/parser/issue213616.php     |    10 +
 .../unit/data/testfiles/parser/issue216088.php     |     7 +
 .../unit/data/testfiles/parser/issue222857.php     |    11 +
 .../data/testfiles/parser/issue222857.php.errors   |     0
 .../unit/data/testfiles/parser/issue232884.php     |     6 +
 .../unit/data/testfiles/parser/issue237220.php     |     7 +
 .../data/testfiles/parser/issue237220.php.errors   |     0
 .../unit/data/testfiles/parser/issue243409.php     |     6 +
 .../data/testfiles/parser/issue243409.php.errors   |     0
 .../unit/data/testfiles/parser/issue243512.php     |     7 +
 .../data/testfiles/parser/issue243512.php.errors   |     0
 .../unit/data/testfiles/parser/issue245320.php     |    19 +
 .../data/testfiles/parser/issue245320.php.errors   |     0
 .../unit/data/testfiles/parser/issue258959.php     |    53 +
 .../data/testfiles/parser/issue258959.php.errors   |     0
 .../unit/data/testfiles/parser/lambdaFunction.php  |     1 +
 .../testfiles/parser/lambdaFunctionWithParams.php  |     1 +
 .../parser/lambdaFunctionWithParamsWithVars.php    |     1 +
 ...bdaFunctionWithParamsWithVarsWithStatements.php |     1 +
 .../data/testfiles/parser/listInForeach_01.php     |    10 +
 .../testfiles/parser/listInForeach_01.php.errors   |     0
 .../data/testfiles/parser/listInForeach_02.php     |     9 +
 .../testfiles/parser/listInForeach_02.php.errors   |     0
 .../unit/data/testfiles/parser/magicMethod01.php   |     9 +
 .../unit/data/testfiles/parser/magicMethod02.php   |     9 +
 .../unit/data/testfiles/parser/magicMethod03.php   |     9 +
 .../unit/data/testfiles/parser/magicMethod04.php   |     9 +
 .../unit/data/testfiles/parser/magicMethod05.php   |     9 +
 .../unit/data/testfiles/parser/magicMethod06.php   |     9 +
 .../unit/data/testfiles/parser/magicMethod07.php   |     9 +
 .../testfiles/parser/methodModificators_01.php     |     9 +
 .../parser/methodModificators_01.php.errors        |    16 +
 .../testfiles/parser/methodModificators_02.php     |     9 +
 .../parser/methodModificators_02.php.errors        |    16 +
 .../testfiles/parser/methodModificators_03.php     |     9 +
 .../parser/methodModificators_03.php.errors        |    16 +
 .../testfiles/parser/methodModificators_04.php     |     9 +
 .../parser/methodModificators_04.php.errors        |    13 +
 .../testfiles/parser/methodModificators_05.php     |     9 +
 .../parser/methodModificators_05.php.errors        |    13 +
 .../test/unit/data/testfiles/parser/mixed01.php    |     4 +
 .../test/unit/data/testfiles/parser/mixed02.php    |     4 +
 .../parser/multipleBracketedNamespaces.php         |     8 +
 .../parser/multipleUnBracketedNamespaces1.php      |    10 +
 .../parser/multipleUnBracketedNamespaces2.php      |    10 +
 .../data/testfiles/parser/namespaceDeclaration.php |     1 +
 .../parser/namespaceElementDeclarations.php        |     1 +
 .../test/unit/data/testfiles/parser/nowDoc.php     |     6 +
 .../test/unit/data/testfiles/parser/nowdoc01.php   |    16 +
 .../test/unit/data/testfiles/parser/nowdoc02.php   |    16 +
 .../test/unit/data/testfiles/parser/nowdoc_000.php |    10 +
 .../test/unit/data/testfiles/parser/nowdoc_001.php |    24 +
 .../test/unit/data/testfiles/parser/nowdoc_002.php |    23 +
 .../test/unit/data/testfiles/parser/nowdoc_003.php |    23 +
 .../test/unit/data/testfiles/parser/nowdoc_004.php |    23 +
 .../test/unit/data/testfiles/parser/nowdoc_005.php |    23 +
 .../test/unit/data/testfiles/parser/nowdoc_006.php |    23 +
 .../test/unit/data/testfiles/parser/nowdoc_007.php |    23 +
 .../test/unit/data/testfiles/parser/nowdoc_008.php |    17 +
 .../test/unit/data/testfiles/parser/nowdoc_009.php |    40 +
 .../test/unit/data/testfiles/parser/nowdoc_01.php  |     9 +
 .../data/testfiles/parser/nowdoc_01.php.errors     |     0
 .../test/unit/data/testfiles/parser/nowdoc_010.php |    33 +
 .../test/unit/data/testfiles/parser/nowdoc_011.php |    20 +
 .../test/unit/data/testfiles/parser/nowdoc_012.php |    25 +
 .../test/unit/data/testfiles/parser/nowdoc_013.php |    26 +
 .../test/unit/data/testfiles/parser/nowdoc_014.php |    25 +
 .../test/unit/data/testfiles/parser/nowdoc_015.php |    74 +
 .../test/unit/data/testfiles/parser/nowdoc_02.php  |     8 +
 .../data/testfiles/parser/nowdoc_02.php.errors     |     0
 .../test/unit/data/testfiles/parser/nowdoc_03.php  |     8 +
 .../data/testfiles/parser/nowdoc_03.php.errors     |     0
 .../test/unit/data/testfiles/parser/nowdoc_04.php  |     8 +
 .../data/testfiles/parser/nowdoc_04.php.errors     |     0
 .../test/unit/data/testfiles/parser/nowdoc_05.php  |     6 +
 .../data/testfiles/parser/nowdoc_05.php.errors     |     0
 .../test/unit/data/testfiles/parser/nowdoc_06.php  |     9 +
 .../data/testfiles/parser/nowdoc_06.php.errors     |     0
 ...bdaFunctionWithParamsWithVarsWithStatements.php |     1 +
 .../unit/data/testfiles/parser/returnTypes_01.php  |     4 +
 .../testfiles/parser/returnTypes_01.php.errors     |     0
 .../unit/data/testfiles/parser/returnTypes_02.php  |     4 +
 .../testfiles/parser/returnTypes_02.php.errors     |     0
 .../unit/data/testfiles/parser/returnTypes_03.php  |     8 +
 .../testfiles/parser/returnTypes_03.php.errors     |     0
 .../unit/data/testfiles/parser/returnTypes_04.php  |     4 +
 .../testfiles/parser/returnTypes_04.php.errors     |     0
 .../parser/shortArraysStaticScalar_01.php          |     7 +
 .../parser/shortArraysStaticScalar_01.php.errors   |     0
 .../parser/shortArraysStaticScalar_02.php          |     5 +
 .../parser/shortArraysStaticScalar_02.php.errors   |     0
 .../unit/data/testfiles/parser/shortArrays_01.php  |     4 +
 .../testfiles/parser/shortArrays_01.php.errors     |     0
 .../unit/data/testfiles/parser/shortArrays_02.php  |     6 +
 .../testfiles/parser/shortArrays_02.php.errors     |     0
 .../unit/data/testfiles/parser/shortEchoSyntax.php |     1 +
 .../test/unit/data/testfiles/parser/simple01.php   |     4 +
 .../test/unit/data/testfiles/parser/simple02.php   |     4 +
 .../unit/data/testfiles/parser/spaceship_01.php    |     2 +
 .../data/testfiles/parser/spaceship_01.php.errors  |     0
 .../unit/data/testfiles/parser/spaceship_02.php    |     4 +
 .../data/testfiles/parser/spaceship_02.php.errors  |     0
 .../testfiles/parser/staticExpressionCall_01.php   |     5 +
 .../parser/staticExpressionCall_01.php.errors      |     0
 .../testfiles/parser/staticExpressionCall_02.php   |     5 +
 .../parser/staticExpressionCall_02.php.errors      |     0
 .../testfiles/parser/subNamespaceDeclaration.php   |     1 +
 .../unit/data/testfiles/parser/ternaryOperator.php |     1 +
 .../test/unit/data/testfiles/parser/test01.php     |    12 +
 .../testfiles/parser/testVariadicFunctions_01.php  |    10 +
 .../parser/testVariadicFunctions_01.php.errors     |     0
 .../testfiles/parser/testVariadicFunctions_02.php  |    10 +
 .../parser/testVariadicFunctions_02.php.errors     |     0
 .../test/unit/data/testfiles/parser/traits_01.php  |     5 +
 .../data/testfiles/parser/traits_01.php.errors     |     0
 .../test/unit/data/testfiles/parser/traits_02.php  |     5 +
 .../data/testfiles/parser/traits_02.php.errors     |     0
 .../test/unit/data/testfiles/parser/traits_03.php  |     5 +
 .../data/testfiles/parser/traits_03.php.errors     |     0
 .../test/unit/data/testfiles/parser/traits_04.php  |     7 +
 .../data/testfiles/parser/traits_04.php.errors     |     0
 .../test/unit/data/testfiles/parser/traits_05.php  |     8 +
 .../data/testfiles/parser/traits_05.php.errors     |     0
 .../test/unit/data/testfiles/parser/traits_06.php  |     8 +
 .../data/testfiles/parser/traits_06.php.errors     |     0
 .../test/unit/data/testfiles/parser/traits_07.php  |    10 +
 .../data/testfiles/parser/traits_07.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_01.php  |     3 +
 .../parser/uniformVariableSyntax_01.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_02.php  |     3 +
 .../parser/uniformVariableSyntax_02.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_03.php  |     3 +
 .../parser/uniformVariableSyntax_03.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_04.php  |     3 +
 .../parser/uniformVariableSyntax_04.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_05.php  |     3 +
 .../parser/uniformVariableSyntax_05.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_06.php  |     3 +
 .../parser/uniformVariableSyntax_06.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_07.php  |     3 +
 .../parser/uniformVariableSyntax_07.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_08.php  |     3 +
 .../parser/uniformVariableSyntax_08.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_09.php  |     3 +
 .../parser/uniformVariableSyntax_09.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_10.php  |     3 +
 .../parser/uniformVariableSyntax_10.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_11.php  |     3 +
 .../parser/uniformVariableSyntax_11.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_12.php  |     3 +
 .../parser/uniformVariableSyntax_12.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_13.php  |     3 +
 .../parser/uniformVariableSyntax_13.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_14.php  |     3 +
 .../parser/uniformVariableSyntax_14.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_15.php  |     3 +
 .../parser/uniformVariableSyntax_15.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_16.php  |     3 +
 .../parser/uniformVariableSyntax_16.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_17.php  |     3 +
 .../parser/uniformVariableSyntax_17.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_18.php  |     3 +
 .../parser/uniformVariableSyntax_18.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_19.php  |     3 +
 .../parser/uniformVariableSyntax_19.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_20.php  |     3 +
 .../parser/uniformVariableSyntax_20.php.errors     |     0
 .../testfiles/parser/uniformVariableSyntax_21.php  |     3 +
 .../testfiles/parser/uniformVariableSyntax_22.php  |     3 +
 .../testfiles/parser/uniformVariableSyntax_23.php  |     3 +
 .../parser/uniformVariableSyntax_23.php.errors     |     0
 .../data/testfiles/parser/useFuncAndConst_01.php   |    14 +
 .../testfiles/parser/useFuncAndConst_01.php.errors |     0
 .../test/unit/data/testfiles/parser/useGlobal.php  |     1 +
 .../testfiles/parser/useGlobalSubNamespace.php     |     1 +
 .../unit/data/testfiles/parser/useNamespaceAs.php  |     1 +
 .../test/unit/data/testfiles/parser/useSimple.php  |     1 +
 .../unit/data/testfiles/parser/useSubNamespace.php |     1 +
 .../unit/data/testfiles/parser/yieldFrom_01.php    |     7 +
 .../data/testfiles/parser/yieldFrom_01.php.errors  |     0
 .../unit/data/testfiles/parser/yieldFrom_02.php    |     7 +
 .../data/testfiles/parser/yieldFrom_02.php.errors  |     0
 .../unit/data/testfiles/parser/yieldFrom_03.php    |     7 +
 .../data/testfiles/parser/yieldFrom_03.php.errors  |     0
 .../unit/data/testfiles/parser/yieldFrom_04.php    |     8 +
 .../unit/data/testfiles/parser/yieldFrom_05.php    |     8 +
 .../data/testfiles/parser/yieldFrom_05.php.errors  |     0
 .../unit/data/testfiles/parser/yieldFrom_06.php    |     5 +
 .../data/testfiles/parser/yieldFrom_06.php.errors  |     0
 .../test/unit/data/testfiles/parser/yield_01.php   |     7 +
 .../unit/data/testfiles/parser/yield_01.php.errors |     0
 .../test/unit/data/testfiles/parser/yield_02.php   |     5 +
 .../unit/data/testfiles/parser/yield_02.php.errors |     0
 .../test/unit/data/testfiles/parser/yield_03.php   |    10 +
 .../unit/data/testfiles/parser/yield_03.php.errors |     0
 .../test/unit/data/testfiles/parser/yield_04.php   |     5 +
 .../unit/data/testfiles/parser/yield_04.php.errors |     0
 .../test/unit/data/testfiles/parser/yield_05.php   |     5 +
 .../unit/data/testfiles/parser/yield_05.php.errors |     7 +
 .../test/unit/data/testfiles/parser/yield_06.php   |     5 +
 .../unit/data/testfiles/parser/yield_06.php.errors |    10 +
 .../test/unit/data/testfiles/parser/yield_07.php   |     7 +
 .../unit/data/testfiles/parser/yield_07.php.errors |     0
 .../test/unit/data/testfiles/parser/yield_08.php   |     3 +
 .../unit/data/testfiles/parser/yield_08.php.errors |     0
 .../php53/completion/constants53/constants.php     |     7 +
 .../constants.php.testConstants52.completion       |     4 +
 .../constants.php.testConstants53.completion       |     4 +
 .../php53/completion/constants53/constants_fqn.php |     4 +
 ...constants_fqn.php.testConstants52fqn.completion |     5 +
 ...constants_fqn.php.testConstants53fqn.completion |     5 +
 .../php53/completion/namespaces/clsdeclaration.php |    14 +
 ...n.php.testNamespacesInClsDeclaration.completion |     4 +
 ....php.testNamespacesInClsDeclaration1.completion |     4 +
 ....php.testNamespacesInClsDeclaration2.completion |     5 +
 ....php.testNamespacesInClsDeclaration3.completion |     5 +
 ....php.testNamespacesInClsDeclaration4.completion |     5 +
 ....php.testNamespacesInClsDeclaration5.completion |     4 +
 ....php.testNamespacesInClsDeclaration6.completion |     5 +
 .../test/unit/data/testfiles/sanitize/case01.php   |    15 +
 .../test/unit/data/testfiles/sanitize/curly01.php  |     5 +
 .../test/unit/data/testfiles/sanitize/curly02.php  |     7 +
 .../test/unit/data/testfiles/sanitize/curly03.php  |     5 +
 .../test/unit/data/testfiles/sanitize/curly04.php  |     9 +
 .../curly04.php.testSanitizedCode.completion       |     4 +
 .../test/unit/data/testfiles/sanitize/curly05.php  |    23 +
 .../test/unit/data/testfiles/sanitize/curly06.php  |    24 +
 .../test/unit/data/testfiles/sanitize/curly07.php  |    24 +
 .../test/unit/data/testfiles/sanitize/curly08.php  |    25 +
 .../unit/data/testfiles/sanitize/issue149424.php   |    22 +
 .../unit/data/testfiles/sanitize/issue204588.php   |     7 +
 .../unit/data/testfiles/sanitize/sanitize001.php   |     5 +
 .../unit/data/testfiles/sanitize/sanitize002.php   |     4 +
 .../unit/data/testfiles/sanitize/sanitize003.php   |    20 +
 .../unit/data/testfiles/sanitize/sanitize004.php   |    13 +
 .../unit/data/testfiles/sanitize/sanitize005.php   |    13 +
 .../unit/data/testfiles/sanitize/sanitize006.php   |    10 +
 .../unit/data/testfiles/sanitize/sanitize007.php   |    24 +
 .../unit/data/testfiles/sanitize/sanitize008.php   |    25 +
 .../unit/data/testfiles/sanitize/sanitize009.php   |    22 +
 .../unit/data/testfiles/sanitize/sanitize010.php   |    22 +
 .../unit/data/testfiles/sanitize/sanitize011.php   |    22 +
 .../unit/data/testfiles/sanitize/sanitize012.php   |    22 +
 .../unit/data/testfiles/sanitize/sanitize013.php   |    22 +
 .../unit/data/testfiles/sanitize/sanitize014.php   |    22 +
 .../unit/data/testfiles/sanitize/sanitize015.php   |    22 +
 .../unit/data/testfiles/sanitize/sanitize016.php   |    24 +
 .../unit/data/testfiles/sanitize/sanitize017.php   |    11 +
 .../data/testfiles/sanitize/sanitize145494.php     |   866 +
 .../unit/data/testfiles/semantic/abstract01.php    |    21 +
 .../testfiles/semantic/abstract01.php.semantic     |    21 +
 .../data/testfiles/semantic/anonymousClass01.php   |    24 +
 .../semantic/anonymousClass01.php.semantic         |    24 +
 .../test/unit/data/testfiles/semantic/class001.php |    22 +
 .../data/testfiles/semantic/class001.php.semantic  |    22 +
 .../test/unit/data/testfiles/semantic/class002.php |    49 +
 .../data/testfiles/semantic/class002.php.semantic  |    49 +
 .../test/unit/data/testfiles/semantic/class003.php |    14 +
 .../data/testfiles/semantic/class003.php.semantic  |    14 +
 .../test/unit/data/testfiles/semantic/class004.php |    17 +
 .../data/testfiles/semantic/class004.php.semantic  |    17 +
 .../test/unit/data/testfiles/semantic/class005.php |    35 +
 .../data/testfiles/semantic/class005.php.semantic  |    35 +
 .../test/unit/data/testfiles/semantic/class006.php |    26 +
 .../data/testfiles/semantic/class006.php.semantic  |    26 +
 .../test/unit/data/testfiles/semantic/class007.php |    36 +
 .../data/testfiles/semantic/class007.php.semantic  |    36 +
 .../data/testfiles/semantic/constantsColoring.php  |    15 +
 .../semantic/constantsColoring.php.semantic        |    15 +
 .../semantic/constantsInFiledsDeclColoring.php     |    15 +
 .../constantsInFiledsDeclColoring.php.semantic     |    15 +
 .../semantic/deprecatedConst/deprecatedConst.php   |    10 +
 .../deprecatedConst/deprecatedConst.php.semantic   |    10 +
 .../semantic/deprecatedFields/deprecatedFields.php |    25 +
 .../deprecatedFields/deprecatedFields.php.semantic |    25 +
 .../deprecatedFunctions/deprecatedFunction.php     |    11 +
 .../deprecatedFunction.php.semantic                |    11 +
 .../deprecatedMethodDeclarations.php               |    19 +
 .../deprecatedMethodDeclarations.php.semantic      |    19 +
 .../deprecatedPrivateClassMethod.php               |     8 +
 .../deprecatedPrivateClassMethod.php.semantic      |     8 +
 .../deprecatedPrivateTraitMethod.php               |     8 +
 .../deprecatedPrivateTraitMethod.php.semantic      |     8 +
 .../deprecatedTypeUsages/deprecatedTypeUsages.php  |    43 +
 .../deprecatedTypeUsages.php.semantic              |    43 +
 .../semantic/deprecatedTypes/deprecatedTypes.php   |    12 +
 .../deprecatedTypes/deprecatedTypes.php.semantic   |    12 +
 .../unit/data/testfiles/semantic/issue141041.php   |    25 +
 .../testfiles/semantic/issue141041.php.semantic    |    25 +
 .../unit/data/testfiles/semantic/issue142644.php   |    16 +
 .../testfiles/semantic/issue142644.php.semantic    |    16 +
 .../unit/data/testfiles/semantic/issue144195.php   |    19 +
 .../testfiles/semantic/issue144195.php.semantic    |    19 +
 .../unit/data/testfiles/semantic/issue145694.php   |    30 +
 .../testfiles/semantic/issue145694.php.semantic    |    30 +
 .../unit/data/testfiles/semantic/issue146193.php   |    10 +
 .../testfiles/semantic/issue146193.php.semantic    |    10 +
 .../unit/data/testfiles/semantic/issue146197.php   |     9 +
 .../testfiles/semantic/issue146197.php.semantic    |     9 +
 .../unit/data/testfiles/semantic/issue154876.php   |     7 +
 .../testfiles/semantic/issue154876.php.semantic    |     7 +
 .../unit/data/testfiles/semantic/issue194535.php   |    13 +
 .../testfiles/semantic/issue194535.php.semantic    |    13 +
 .../unit/data/testfiles/semantic/issue213105.php   |     6 +
 .../testfiles/semantic/issue213105.php.semantic    |     6 +
 .../unit/data/testfiles/semantic/issue213533.php   |    14 +
 .../testfiles/semantic/issue213533.php.semantic    |    14 +
 .../unit/data/testfiles/semantic/issue216840.php   |    21 +
 .../testfiles/semantic/issue216840.php.semantic    |    21 +
 .../data/testfiles/semantic/issue216840_02.php     |    26 +
 .../testfiles/semantic/issue216840_02.php.semantic |    26 +
 .../unit/data/testfiles/semantic/issue217239.php   |    15 +
 .../testfiles/semantic/issue217239.php.semantic    |    15 +
 .../unit/data/testfiles/semantic/issue245230.php   |     8 +
 .../testfiles/semantic/issue245230.php.semantic    |     8 +
 .../unit/data/testfiles/semantic/issue247411.php   |    35 +
 .../testfiles/semantic/issue247411.php.semantic    |    35 +
 .../unit/data/testfiles/semantic/issue258676.php   |    13 +
 .../testfiles/semantic/issue258676.php.semantic    |    13 +
 .../test/unit/data/testfiles/semantic/mixed01.php  |     4 +
 .../data/testfiles/semantic/mixed01.php.semantic   |     4 +
 .../test/unit/data/testfiles/semantic/simple01.php |     4 +
 .../data/testfiles/semantic/simple01.php.semantic  |     4 +
 .../unit/data/testfiles/semantic/traits_01.php     |     5 +
 .../data/testfiles/semantic/traits_01.php.semantic |     5 +
 .../unit/data/testfiles/semantic/traits_02.php     |     5 +
 .../data/testfiles/semantic/traits_02.php.semantic |     5 +
 .../unit/data/testfiles/semantic/traits_03.php     |     5 +
 .../data/testfiles/semantic/traits_03.php.semantic |     5 +
 .../unit/data/testfiles/semantic/traits_04.php     |     7 +
 .../data/testfiles/semantic/traits_04.php.semantic |     7 +
 .../unit/data/testfiles/semantic/traits_05.php     |     8 +
 .../data/testfiles/semantic/traits_05.php.semantic |     8 +
 .../unit/data/testfiles/semantic/traits_06.php     |     8 +
 .../data/testfiles/semantic/traits_06.php.semantic |     8 +
 .../structure/anonymousClassInClassScope.php       |    63 +
 .../structure/anonymousClassInNamespaceScope.php   |    53 +
 .../structure/anonymousClassInTraitScope.php       |    67 +
 .../unit/data/testfiles/structure/class005.php     |    35 +
 .../testfiles/structure/deprecatedDeclarations.php |    68 +
 .../data/testfiles/structure/deprecatedTypes.php   |    26 +
 .../data/testfiles/structure/interface_001.php     |     8 +
 .../unit/data/testfiles/structure/issue142644.php  |    16 +
 .../unit/data/testfiles/structure/issue148558.php  |    36 +
 .../unit/data/testfiles/structure/issue170712.php  |    11 +
 .../data/testfiles/structure/issue205886_01.php    |    13 +
 .../php53/bracketed_multiple_namespaces.php        |    11 +
 ...cketed_multiple_namespaces_with_default_one.php |    11 +
 .../structure/php53/multiple_namespaces.php        |     9 +
 .../data/testfiles/structure/php53/namespace.php   |     6 +
 .../unit/data/testfiles/structure/propertyTag.php  |    59 +
 .../testfiles/structure/referenceParameter_001.php |     7 +
 .../testfiles/structure/traitsStructure_01.php     |    12 +
 .../testfiles/structure/traitsStructure_02.php     |    14 +
 ...ses01.php.testAnonymousClasses01_01.occurrences |     6 +
 ...ses01.php.testAnonymousClasses01_02.occurrences |     5 +
 ...ses01.php.testAnonymousClasses01_03.occurrences |     6 +
 ...ses01.php.testAnonymousClasses01_04.occurrences |     1 +
 ...ses01.php.testAnonymousClasses01_05.occurrences |     2 +
 ...ses01.php.testAnonymousClasses01_06.occurrences |     2 +
 ...ses01.php.testAnonymousClasses01_07.occurrences |     6 +
 ...ses01.php.testAnonymousClasses01_08.occurrences |     6 +
 ...ses01.php.testAnonymousClasses01_09.occurrences |     6 +
 ...ses01.php.testAnonymousClasses01_10.occurrences |     1 +
 ...ses01.php.testAnonymousClasses01_11.occurrences |     2 +
 ...ses01.php.testAnonymousClasses01_12.occurrences |     2 +
 ...ses01.php.testAnonymousClasses01_13.occurrences |     6 +
 ...ses01.php.testAnonymousClasses01_14.occurrences |     2 +
 ...ses01.php.testAnonymousClasses01_15.occurrences |     2 +
 ...ses01.php.testAnonymousClasses01_16.occurrences |     2 +
 ...ses01.php.testAnonymousClasses01_17.occurrences |     2 +
 ...ses02.php.testAnonymousClasses02_01.occurrences |     2 +
 ...ses02.php.testAnonymousClasses02_02.occurrences |     2 +
 ...ses02.php.testAnonymousClasses02_03.occurrences |     2 +
 ...ses02.php.testAnonymousClasses02_04.occurrences |     2 +
 ...ses02.php.testAnonymousClasses02_05.occurrences |     2 +
 ...ses02.php.testAnonymousClasses02_06.occurrences |     2 +
 ...ses02.php.testAnonymousClasses02_07.occurrences |     2 +
 ...ses02.php.testAnonymousClasses02_08.occurrences |     2 +
 ...ses02.php.testAnonymousClasses02_09.occurrences |     2 +
 ...ses02.php.testAnonymousClasses02_10.occurrences |     2 +
 ...ses03.php.testAnonymousClasses03_01.occurrences |     3 +
 ...ses03.php.testAnonymousClasses03_02.occurrences |     2 +
 ...ses03.php.testAnonymousClasses03_03.occurrences |     2 +
 ...ses03.php.testAnonymousClasses03_04.occurrences |     2 +
 ...ses03.php.testAnonymousClasses03_05.occurrences |     2 +
 ...ses03.php.testAnonymousClasses03_06.occurrences |     2 +
 ...ses03.php.testAnonymousClasses03_07.occurrences |     3 +
 ...ses03.php.testAnonymousClasses03_08.occurrences |     3 +
 ...ses03.php.testAnonymousClasses03_09.occurrences |     3 +
 ...ses03.php.testAnonymousClasses03_10.occurrences |     2 +
 ...ses03.php.testAnonymousClasses03_11.occurrences |     2 +
 ...ses03.php.testAnonymousClasses03_12.occurrences |     3 +
 ...ses03.php.testAnonymousClasses03_13.occurrences |     2 +
 ...ses03.php.testAnonymousClasses03_14.occurrences |     3 +
 ...ses03.php.testAnonymousClasses03_15.occurrences |     2 +
 ...ses03.php.testAnonymousClasses03_16.occurrences |     2 +
 ...ses04.php.testAnonymousClasses04_01.occurrences |     2 +
 ...ses04.php.testAnonymousClasses04_02.occurrences |     2 +
 ...ses05.php.testAnonymousClasses05_01.occurrences |     2 +
 ...ses05.php.testAnonymousClasses05_02.occurrences |     2 +
 ...ses05.php.testAnonymousClasses05_03.occurrences |     2 +
 ...ses05.php.testAnonymousClasses05_04.occurrences |     2 +
 ...ses05.php.testAnonymousClasses05_05.occurrences |     2 +
 ...ses05.php.testAnonymousClasses05_06.occurrences |     2 +
 ...ncing.php.testArrayDereferencing_01.occurrences |     3 +
 ...ncing.php.testArrayDereferencing_02.occurrences |     2 +
 ...ncing.php.testArrayDereferencing_03.occurrences |     3 +
 ...ncing.php.testArrayDereferencing_04.occurrences |     4 +
 ...ncing.php.testArrayDereferencing_05.occurrences |     3 +
 ...ncing.php.testArrayDereferencing_06.occurrences |     3 +
 ...ncing.php.testArrayDereferencing_07.occurrences |     4 +
 ...ncing.php.testArrayDereferencing_08.occurrences |     2 +
 ...ncing.php.testArrayDereferencing_09.occurrences |     4 +
 ...WithAlias.php.testCatchWithAlias_01.occurrences |     3 +
 ...WithAlias.php.testCatchWithAlias_02.occurrences |     3 +
 ...WithAlias.php.testCatchWithAlias_03.occurrences |     3 +
 ...Test.php.testClsVarPropInPhpDocTest.occurrences |     3 +
 ...cess.php.testConstantArrayAccess_01.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_02.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_03.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_04.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_05.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_06.occurrences |     3 +
 ...cess.php.testConstantArrayAccess_07.occurrences |     3 +
 ...cess.php.testConstantArrayAccess_08.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_09.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_10.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_11.occurrences |     3 +
 ...cess.php.testConstantArrayAccess_12.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_13.occurrences |     5 +
 ...cess.php.testConstantArrayAccess_14.occurrences |     5 +
 ...cess.php.testConstantArrayAccess_15.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_16.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_17.occurrences |     3 +
 ...cess.php.testConstantArrayAccess_18.occurrences |     5 +
 ...cess.php.testConstantArrayAccess_19.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_20.occurrences |     5 +
 ...cess.php.testConstantArrayAccess_21.occurrences |     3 +
 ...cess.php.testConstantArrayAccess_22.occurrences |     3 +
 ...cess.php.testConstantArrayAccess_23.occurrences |     5 +
 ...cess.php.testConstantArrayAccess_24.occurrences |     3 +
 ...cess.php.testConstantArrayAccess_25.occurrences |     4 +
 ...cess.php.testConstantArrayAccess_26.occurrences |    11 +
 ...cess.php.testConstantArrayAccess_27.occurrences |     4 +
 ...cess.php.testConstantArrayAccess_28.occurrences |     4 +
 ...cess.php.testConstantArrayAccess_29.occurrences |     4 +
 ...cess.php.testConstantArrayAccess_30.occurrences |    11 +
 .../testConstants.php.testConstants_01.occurrences |     4 +
 .../testConstants.php.testConstants_02.occurrences |     4 +
 .../testConstants.php.testConstants_03.occurrences |     4 +
 .../testConstants.php.testConstants_04.occurrences |     4 +
 ....php.testFieldAccessInInstanceOf_01.occurrences |     2 +
 ....php.testFieldAccessInInstanceOf_02.occurrences |     2 +
 ...tructTest.php.testGotoConstructTest.occurrences |     3 +
 ...uctTest.php.testGotoConstructTest_2.occurrences |     2 +
 .../testGotoLabel.php.testGotoLabel.occurrences    |     2 +
 ...tGroupUses01.php.testGroupUses01_01.occurrences |     3 +
 ...tGroupUses01.php.testGroupUses01_02.occurrences |     3 +
 ...tGroupUses01.php.testGroupUses01_03.occurrences |     3 +
 ...tGroupUses01.php.testGroupUses01_04.occurrences |     3 +
 ...tGroupUses01.php.testGroupUses01_05.occurrences |     3 +
 ...tGroupUses01.php.testGroupUses01_06.occurrences |     3 +
 ...tGroupUses01.php.testGroupUses01_07.occurrences |     3 +
 ...tGroupUses01.php.testGroupUses01_08.occurrences |     3 +
 ...tGroupUses01.php.testGroupUses01_09.occurrences |     3 +
 ...tGroupUses01.php.testGroupUses01_10.occurrences |     2 +
 ...tGroupUses01.php.testGroupUses01_11.occurrences |     2 +
 ...tGroupUses01.php.testGroupUses01_12.occurrences |     2 +
 ...tGroupUses01.php.testGroupUses01_13.occurrences |     2 +
 ...tGroupUses01.php.testGroupUses01_14.occurrences |     1 +
 ...tGroupUses01.php.testGroupUses01_15.occurrences |     1 +
 ...tGroupUses02.php.testGroupUses02_01.occurrences |     3 +
 ...tGroupUses02.php.testGroupUses02_02.occurrences |     3 +
 ...tGroupUses02.php.testGroupUses02_03.occurrences |     3 +
 ...tGroupUses02.php.testGroupUses02_04.occurrences |     4 +
 ...tGroupUses02.php.testGroupUses02_05.occurrences |     4 +
 ...tGroupUses02.php.testGroupUses02_06.occurrences |     4 +
 ...tGroupUses02.php.testGroupUses02_07.occurrences |     4 +
 ...tGroupUses02.php.testGroupUses02_08.occurrences |     2 +
 ...tGroupUses02.php.testGroupUses02_09.occurrences |     2 +
 ...tGroupUses02.php.testGroupUses02_10.occurrences |     3 +
 ...tGroupUses02.php.testGroupUses02_11.occurrences |     3 +
 ...tGroupUses02.php.testGroupUses02_12.occurrences |     3 +
 .../testIfaceTest.php.testIfaceTest.occurrences    |     4 +
 .../testIfaceTest.php.testIfaceTest_2.occurrences  |     2 +
 .../testIfaceTest.php.testIfaceTest_3.occurrences  |     3 +
 .../testIfaceTest.php.testIfaceTest_4.occurrences  |     2 +
 ...f198909.php.testInstanceof198909_01.occurrences |     3 +
 ...f198909.php.testInstanceof198909_02.occurrences |     3 +
 ...f198909.php.testInstanceof198909_03.occurrences |     3 +
 ...tIssue133465.php.testIssue133465_01.occurrences |     1 +
 ...tIssue133465.php.testIssue133465_02.occurrences |     2 +
 ...tIssue133465.php.testIssue133465_03.occurrences |     2 +
 ...tIssue186553.php.testIssue186553_01.occurrences |     2 +
 ...tIssue186553.php.testIssue186553_02.occurrences |     1 +
 ...tIssue186553.php.testIssue186553_03.occurrences |     2 +
 ...tIssue197283.php.testIssue197283_01.occurrences |     2 +
 ...tIssue197283.php.testIssue197283_02.occurrences |     2 +
 ...tIssue197283.php.testIssue197283_03.occurrences |     2 +
 ...tIssue197283.php.testIssue197283_04.occurrences |     2 +
 ...tIssue197283.php.testIssue197283_05.occurrences |     2 +
 ...tIssue197283.php.testIssue197283_06.occurrences |     2 +
 ...tIssue198449.php.testIssue198449_01.occurrences |     2 +
 ...tIssue200399.php.testIssue200399_01.occurrences |     3 +
 ...tIssue200596.php.testIssue200596_01.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_02.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_03.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_04.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_05.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_06.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_07.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_08.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_09.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_10.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_11.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_12.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_13.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_14.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_15.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_16.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_17.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_18.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_19.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_20.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_21.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_22.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_23.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_24.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_25.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_26.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_27.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_28.occurrences |     8 +
 ...tIssue200596.php.testIssue200596_29.occurrences |     7 +
 ...tIssue200596.php.testIssue200596_30.occurrences |     8 +
 ...tIssue201429.php.testIssue201429_01.occurrences |     3 +
 ...testIssue201671.php.testIssue201671.occurrences |     2 +
 ...tIssue203073.php.testIssue203073_01.occurrences |     4 +
 ...tIssue203073.php.testIssue203073_02.occurrences |     4 +
 ...tIssue203073.php.testIssue203073_03.occurrences |     4 +
 ...tIssue203073.php.testIssue203073_04.occurrences |     4 +
 ...tIssue203073.php.testIssue203073_05.occurrences |     2 +
 ...tIssue203073.php.testIssue203073_06.occurrences |     2 +
 ...tIssue203419.php.testIssue203419_01.occurrences |     7 +
 ...tIssue203419.php.testIssue203419_02.occurrences |     7 +
 ...tIssue203419.php.testIssue203419_03.occurrences |     7 +
 ...tIssue203419.php.testIssue203419_04.occurrences |     7 +
 ...tIssue203419.php.testIssue203419_05.occurrences |     7 +
 ...tIssue203419.php.testIssue203419_06.occurrences |     7 +
 ...tIssue203419.php.testIssue203419_07.occurrences |     7 +
 ...tIssue203814.php.testIssue203814_01.occurrences |     4 +
 ...tIssue203814.php.testIssue203814_02.occurrences |     4 +
 ...tIssue203814.php.testIssue203814_03.occurrences |     4 +
 ...tIssue203814.php.testIssue203814_04.occurrences |     4 +
 ...tIssue204433.php.testIssue204433_01.occurrences |     4 +
 ...tIssue204433.php.testIssue204433_02.occurrences |     2 +
 ...tIssue204433.php.testIssue204433_03.occurrences |     3 +
 ...tIssue207346.php.testIssue207346_01.occurrences |     3 +
 ...tIssue207346.php.testIssue207346_02.occurrences |     3 +
 ...tIssue207346.php.testIssue207346_03.occurrences |     3 +
 ...tIssue207615.php.testIssue207615_01.occurrences |     3 +
 ...tIssue207615.php.testIssue207615_02.occurrences |     3 +
 ...tIssue207615.php.testIssue207615_03.occurrences |     3 +
 ...tIssue207971.php.testIssue207971_01.occurrences |     2 +
 ...tIssue207971.php.testIssue207971_02.occurrences |     2 +
 ...tIssue207971.php.testIssue207971_03.occurrences |     2 +
 ...tIssue207971.php.testIssue207971_04.occurrences |     2 +
 ...tIssue207971.php.testIssue207971_05.occurrences |     2 +
 ...tIssue207971.php.testIssue207971_06.occurrences |     2 +
 ...tIssue208245.php.testIssue208245_01.occurrences |     3 +
 ...tIssue208245.php.testIssue208245_02.occurrences |     3 +
 ...tIssue208245.php.testIssue208245_03.occurrences |     3 +
 ...tIssue208245.php.testIssue208245_04.occurrences |     3 +
 ...tIssue208245.php.testIssue208245_05.occurrences |     3 +
 ...tIssue208245.php.testIssue208245_06.occurrences |     3 +
 ...tIssue208826.php.testIssue208826_01.occurrences |     3 +
 ...tIssue208826.php.testIssue208826_02.occurrences |     3 +
 ...tIssue208826.php.testIssue208826_03.occurrences |     3 +
 ...tIssue208826.php.testIssue208826_04.occurrences |     3 +
 ...tIssue208826.php.testIssue208826_05.occurrences |     3 +
 ...tIssue208826.php.testIssue208826_06.occurrences |     3 +
 ...tIssue209187.php.testIssue209187_01.occurrences |     3 +
 ...tIssue209187.php.testIssue209187_02.occurrences |     3 +
 ...tIssue209187.php.testIssue209187_03.occurrences |     3 +
 ...tIssue209308.php.testIssue209308_01.occurrences |     5 +
 ...Issue209308.php.testIssue209308_010.occurrences |     5 +
 ...Issue209308.php.testIssue209308_011.occurrences |     5 +
 ...Issue209308.php.testIssue209308_012.occurrences |     5 +
 ...Issue209308.php.testIssue209308_013.occurrences |     7 +
 ...Issue209308.php.testIssue209308_014.occurrences |     7 +
 ...Issue209308.php.testIssue209308_015.occurrences |     7 +
 ...Issue209308.php.testIssue209308_016.occurrences |     7 +
 ...Issue209308.php.testIssue209308_018.occurrences |     7 +
 ...Issue209308.php.testIssue209308_019.occurrences |     7 +
 ...tIssue209308.php.testIssue209308_02.occurrences |     5 +
 ...Issue209308.php.testIssue209308_020.occurrences |     7 +
 ...Issue209308.php.testIssue209308_021.occurrences |     7 +
 ...tIssue209308.php.testIssue209308_03.occurrences |     5 +
 ...tIssue209308.php.testIssue209308_04.occurrences |     5 +
 ...tIssue209308.php.testIssue209308_05.occurrences |     5 +
 ...tIssue209308.php.testIssue209308_08.occurrences |     5 +
 ...tIssue209308.php.testIssue209308_09.occurrences |     5 +
 ...tIssue209309.php.testIssue209309_01.occurrences |     3 +
 ...tIssue209309.php.testIssue209309_02.occurrences |     2 +
 ...tIssue209309.php.testIssue209309_03.occurrences |     3 +
 ...tIssue209309.php.testIssue209309_04.occurrences |     2 +
 ...tIssue209309.php.testIssue209309_05.occurrences |     2 +
 ...tIssue209309.php.testIssue209309_06.occurrences |     3 +
 ...tIssue209309.php.testIssue209309_07.occurrences |     2 +
 ...tIssue211015.php.testIssue211015_01.occurrences |     5 +
 ...tIssue211015.php.testIssue211015_02.occurrences |     5 +
 ...tIssue211015.php.testIssue211015_03.occurrences |     5 +
 ...tIssue211015.php.testIssue211015_04.occurrences |     5 +
 ...tIssue211015.php.testIssue211015_05.occurrences |     5 +
 ...tIssue211230.php.testIssue211230_01.occurrences |     2 +
 ...tIssue211230.php.testIssue211230_02.occurrences |     2 +
 ...tIssue211230.php.testIssue211230_03.occurrences |     3 +
 ...tIssue211230.php.testIssue211230_04.occurrences |     3 +
 ...tIssue211230.php.testIssue211230_05.occurrences |     3 +
 ...tIssue213133.php.testIssue213133_01.occurrences |     3 +
 ...tIssue213133.php.testIssue213133_02.occurrences |     3 +
 ...tIssue213133.php.testIssue213133_03.occurrences |     3 +
 ...tIssue213133.php.testIssue213133_04.occurrences |     3 +
 ...tIssue213133.php.testIssue213133_05.occurrences |     3 +
 ...tIssue213133.php.testIssue213133_06.occurrences |     3 +
 ...tIssue213584.php.testIssue213584_01.occurrences |     3 +
 ...tIssue213584.php.testIssue213584_02.occurrences |     3 +
 ...tIssue213584.php.testIssue213584_03.occurrences |     3 +
 ...tIssue213584.php.testIssue213584_04.occurrences |     3 +
 ...tIssue213584.php.testIssue213584_05.occurrences |     3 +
 ...tIssue213584.php.testIssue213584_06.occurrences |     3 +
 ...tIssue213584.php.testIssue213584_07.occurrences |     3 +
 ...tIssue213584.php.testIssue213584_08.occurrences |     3 +
 ...tIssue213584.php.testIssue213584_09.occurrences |     3 +
 ...tIssue213584.php.testIssue213584_10.occurrences |     3 +
 ...tIssue213584.php.testIssue213584_11.occurrences |     3 +
 ...tIssue213584.php.testIssue213584_12.occurrences |     3 +
 ...tIssue216876.php.testIssue216876_01.occurrences |     3 +
 ...tIssue216876.php.testIssue216876_02.occurrences |     3 +
 ...tIssue216876.php.testIssue216876_03.occurrences |     3 +
 ...tIssue217357.php.testIssue217357_01.occurrences |     3 +
 ...tIssue217357.php.testIssue217357_02.occurrences |     3 +
 ...tIssue217357.php.testIssue217357_03.occurrences |     3 +
 ...tIssue217360.php.testIssue217360_01.occurrences |     2 +
 ...tIssue217360.php.testIssue217360_02.occurrences |     2 +
 ...tIssue217360.php.testIssue217360_03.occurrences |     2 +
 ...tIssue217360.php.testIssue217360_04.occurrences |     2 +
 ...tIssue218487.php.testIssue218487_01.occurrences |     2 +
 ...tIssue218487.php.testIssue218487_02.occurrences |     2 +
 ...tIssue223076.php.testIssue223076_01.occurrences |     2 +
 ...tIssue223076.php.testIssue223076_02.occurrences |     2 +
 ...tIssue223076.php.testIssue223076_03.occurrences |     2 +
 ...tIssue244317.php.testIssue244317_01.occurrences |     3 +
 ...tIssue244317.php.testIssue244317_02.occurrences |     3 +
 ...tIssue244317.php.testIssue244317_03.occurrences |     3 +
 ...tIssue247082.php.testIssue247082_01.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_02.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_03.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_04.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_05.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_06.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_07.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_08.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_09.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_10.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_11.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_12.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_13.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_14.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_15.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_16.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_17.occurrences |     2 +
 ...tIssue247082.php.testIssue247082_18.occurrences |     2 +
 ...tIssue262438.php.testIssue262438_00.occurrences |     3 +
 ...tIssue262438.php.testIssue262438_01.occurrences |     3 +
 ...tIssue262438.php.testIssue262438_02.occurrences |     3 +
 ...tIssue262438.php.testIssue262438_03.occurrences |     3 +
 ...tMagicMethod.php.testMagicMethod_01.occurrences |     2 +
 ...tMagicMethod.php.testMagicMethod_02.occurrences |     2 +
 ...hod171249.php.testMagicMethod171249.occurrences |     3 +
 .../testMarkArray.php.testMarkArray.occurrences    |     3 +
 .../testMarkArray.php.testMarkArray_10.occurrences |     2 +
 .../testMarkArray.php.testMarkArray_11.occurrences |     2 +
 .../testMarkArray.php.testMarkArray_12.occurrences |     2 +
 .../testMarkArray.php.testMarkArray_13.occurrences |     2 +
 .../testMarkArray.php.testMarkArray_14.occurrences |     2 +
 .../testMarkArray.php.testMarkArray_15.occurrences |     2 +
 .../testMarkArray.php.testMarkArray_2.occurrences  |     3 +
 .../testMarkArray.php.testMarkArray_3.occurrences  |     4 +
 .../testMarkArray.php.testMarkArray_4.occurrences  |     4 +
 .../testMarkArray.php.testMarkArray_5.occurrences  |     5 +
 .../testMarkArray.php.testMarkArray_6.occurrences  |     5 +
 .../testMarkArray.php.testMarkArray_7.occurrences  |     6 +
 .../testMarkArray.php.testMarkArray_8.occurrences  |     6 +
 .../testMarkArray.php.testMarkArray_9.occurrences  |     2 +
 ...stMarkClsIface.php.testMarkClsIface.occurrences |     6 +
 ...arkClsIface.php.testMarkClsIface_10.occurrences |     1 +
 ...arkClsIface.php.testMarkClsIface_11.occurrences |     1 +
 ...arkClsIface.php.testMarkClsIface_12.occurrences |     1 +
 ...arkClsIface.php.testMarkClsIface_13.occurrences |     1 +
 ...arkClsIface.php.testMarkClsIface_14.occurrences |     1 +
 ...arkClsIface.php.testMarkClsIface_15.occurrences |     1 +
 ...arkClsIface.php.testMarkClsIface_16.occurrences |     1 +
 ...arkClsIface.php.testMarkClsIface_17.occurrences |     1 +
 ...arkClsIface.php.testMarkClsIface_18.occurrences |     1 +
 ...arkClsIface.php.testMarkClsIface_19.occurrences |     1 +
 ...MarkClsIface.php.testMarkClsIface_2.occurrences |     6 +
 ...arkClsIface.php.testMarkClsIface_20.occurrences |     1 +
 ...arkClsIface.php.testMarkClsIface_21.occurrences |     1 +
 ...arkClsIface.php.testMarkClsIface_22.occurrences |     1 +
 ...MarkClsIface.php.testMarkClsIface_3.occurrences |     5 +
 ...MarkClsIface.php.testMarkClsIface_4.occurrences |     5 +
 ...MarkClsIface.php.testMarkClsIface_5.occurrences |     5 +
 ...MarkClsIface.php.testMarkClsIface_6.occurrences |     5 +
 ...MarkClsIface.php.testMarkClsIface_7.occurrences |     3 +
 ...MarkClsIface.php.testMarkClsIface_8.occurrences |     3 +
 ...MarkClsIface.php.testMarkClsIface_9.occurrences |     1 +
 ...hp.testMarkReturnsOnConstructorTest.occurrences |     0
 ....testMarkReturnsOnConstructorTest_2.occurrences |     0
 ...stOccurrences1.php.testOccurrences1.occurrences |     2 +
 ...stOccurrences2.php.testOccurrences2.occurrences |     3 +
 ...stOccurrences3.php.testOccurrences3.occurrences |     1 +
 ...stOccurrences4.php.testOccurrences4.occurrences |     3 +
 ...ader.php.testOccurrencesClassHeader.occurrences |     2 +
 ...sDefines.php.testOccurrencesDefines.occurrences |     4 +
 ...d.php.testOccurrencesInstanceMethod.occurrences |     2 +
 ...php.testOccurrencesInstanceVarParam.occurrences |     2 +
 ...p.testOccurrencesInstanceVarParam_1.occurrences |     2 +
 ...st.php.testParamVarPropInPhpDocTest.occurrences |     2 +
 ...nt.php.testQualifiedUseStatement_01.occurrences |     4 +
 ...nt.php.testQualifiedUseStatement_02.occurrences |     4 +
 ...nt.php.testQualifiedUseStatement_03.occurrences |     4 +
 ...nt.php.testQualifiedUseStatement_04.occurrences |     4 +
 ...ectionVariableInMethodInvocation_01.occurrences |     2 +
 ...ectionVariableInMethodInvocation_02.occurrences |     2 +
 ...urnTypes01.php.testReturnTypes01_01.occurrences |     5 +
 ...urnTypes01.php.testReturnTypes01_02.occurrences |     5 +
 ...urnTypes01.php.testReturnTypes01_03.occurrences |     5 +
 ...urnTypes01.php.testReturnTypes01_04.occurrences |     5 +
 ...urnTypes01.php.testReturnTypes01_05.occurrences |     5 +
 ...urnTypes01.php.testReturnTypes01_06.occurrences |     4 +
 ...urnTypes01.php.testReturnTypes01_07.occurrences |     4 +
 ...urnTypes01.php.testReturnTypes01_08.occurrences |     4 +
 ...urnTypes01.php.testReturnTypes01_09.occurrences |     0
 ...urnTypes01.php.testReturnTypes01_10.occurrences |     0
 ...ithNs.php.testStaticAccessWithNs_01.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_02.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_03.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_04.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_05.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_06.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_07.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_08.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_09.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_10.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_11.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_12.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_13.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_14.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_15.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_16.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_17.occurrences |     3 +
 ...ithNs.php.testStaticAccessWithNs_18.occurrences |     3 +
 ....php.testStaticAccessWithNsAlias_01.occurrences |     4 +
 ....php.testStaticAccessWithNsAlias_02.occurrences |     4 +
 ....php.testStaticAccessWithNsAlias_03.occurrences |     4 +
 ....php.testStaticAccessWithNsAlias_04.occurrences |     4 +
 ....php.testStaticAccessWithNsAlias_05.occurrences |     4 +
 ....php.testStaticAccessWithNsAlias_06.occurrences |     4 +
 ....php.testStaticAccessWithNsAlias_07.occurrences |     4 +
 ....php.testStaticAccessWithNsAlias_08.occurrences |     4 +
 ....php.testStaticAccessWithNsAlias_09.occurrences |     2 +
 ....php.testStaticAccessWithNsAlias_10.occurrences |     2 +
 ...MethodCall.php.testStaticMethodCall.occurrences |     2 +
 ....php.testUniformVariableSyntax01_01.occurrences |    10 +
 ....php.testUniformVariableSyntax01_02.occurrences |    10 +
 ....php.testUniformVariableSyntax01_03.occurrences |    10 +
 ....php.testUniformVariableSyntax01_04.occurrences |     9 +
 ....php.testUniformVariableSyntax01_05.occurrences |     2 +
 ....php.testUniformVariableSyntax01_06.occurrences |     2 +
 ....php.testUniformVariableSyntax01_07.occurrences |     3 +
 ....php.testUniformVariableSyntax01_08.occurrences |    10 +
 ....php.testUniformVariableSyntax01_09.occurrences |     9 +
 ....php.testUniformVariableSyntax01_10.occurrences |     3 +
 ....php.testUniformVariableSyntax01_11.occurrences |     2 +
 ....php.testUniformVariableSyntax01_12.occurrences |     2 +
 ....php.testUniformVariableSyntax01_13.occurrences |     9 +
 ....php.testUniformVariableSyntax02_01.occurrences |     2 +
 ....php.testUniformVariableSyntax02_02.occurrences |     2 +
 ....php.testUniformVariableSyntax02_03.occurrences |     2 +
 ....php.testUniformVariableSyntax02_04.occurrences |     2 +
 ....php.testUniformVariableSyntax02_05.occurrences |     2 +
 ...AndConst.php.testUseFuncAndConst_01.occurrences |     4 +
 ...AndConst.php.testUseFuncAndConst_02.occurrences |     4 +
 ...AndConst.php.testUseFuncAndConst_03.occurrences |     2 +
 ...AndConst.php.testUseFuncAndConst_04.occurrences |     4 +
 ...AndConst.php.testUseFuncAndConst_05.occurrences |     4 +
 ...AndConst.php.testUseFuncAndConst_06.occurrences |     2 +
 ...AndConst.php.testUseFuncAndConst_07.occurrences |     4 +
 ...AndConst.php.testUseFuncAndConst_08.occurrences |     2 +
 ...AndConst.php.testUseFuncAndConst_09.occurrences |     4 +
 ...AndConst.php.testUseFuncAndConst_10.occurrences |     2 +
 ...stVardoc166660.php.testVardoc166660.occurrences |     3 +
 ...Vardoc166660.php.testVardoc166660_1.occurrences |     2 +
 ...ssName.php.testVariableAsAClassName.occurrences |     2 +
 .../data/testfiles/verification/Issue239277.php    |    14 +
 .../PSR0/testIssue246997/SomeClass.php             |    11 +
 .../SomeClass.php.testIssue246997.hints            |     0
 .../FirstNs/SecondNs/WrongName.php                 |     9 +
 .../WrongName.php.testNsNotOkClassNotOk.hints      |     4 +
 .../FirstNs/SecondNs/WrongName.php                 |     9 +
 .../WrongName.php.testNsNotOkClassNotOk_type.hints |     4 +
 .../FirstNs/SecondNs/WrongName.php                 |     9 +
 .../WrongName.php.testNsOkClassNotOk.hints         |     0
 .../FirstNs/SecondNs/SomeClass.php                 |     9 +
 .../SomeClass.php.testNsOkClassNotOk_01.hints      |     0
 .../FirstNs/SecondNs/SomeClass.php                 |     9 +
 .../SomeClass.php.testNsOkClassNotOk_01_type.hints |     4 +
 .../FirstNs/SecondNs/WrongName.php                 |     9 +
 .../WrongName.php.testNsOkClassNotOk_type.hints    |     4 +
 .../testNsOkClassOk/FirstNs/SecondNs/ClassName.php |     9 +
 .../SecondNs/ClassName.php.testNsOkClassOk.hints   |     0
 .../FirstNs/SecondNs/Some/Class.php                |     9 +
 .../Some/Class.php.testNsOkClassOk_01.hints        |     0
 .../FirstNs/SecondNs/Some/Class.php                |     9 +
 .../Some/Class.php.testNsOkClassOk_01_type.hints   |     0
 .../FirstNs/SecondNs/ClassName.php                 |     9 +
 .../ClassName.php.testNsOkClassOk_type.hints       |     0
 .../PSR1/testConstantNameNotOk_1/ClassName.php     |     9 +
 .../ClassName.php.testConstantNameNotOk_1.hints    |     4 +
 .../PSR1/testConstantNameNotOk_2/ClassName.php     |     9 +
 .../ClassName.php.testConstantNameNotOk_2.hints    |     4 +
 .../PSR1/testConstantNameNotOk_3/ClassName.php     |     9 +
 .../ClassName.php.testConstantNameNotOk_3.hints    |     4 +
 .../PSR1/testConstantNameOk_1/ClassName.php        |     9 +
 .../ClassName.php.testConstantNameOk_1.hints       |     0
 .../PSR1/testConstantNameOk_2/ClassName.php        |     9 +
 .../ClassName.php.testConstantNameOk_2.hints       |     0
 .../PSR1/testMethodMagicOk/ClassName.php           |    22 +
 .../ClassName.php.testMethodMagicOk.hints          |     0
 .../PSR1/testMethodNotOk_1/ClassName.php           |    11 +
 .../ClassName.php.testMethodNotOk_1.hints          |     4 +
 .../PSR1/testMethodNotOk_2/ClassName.php           |    11 +
 .../ClassName.php.testMethodNotOk_2.hints          |     4 +
 .../verification/PSR1/testMethodOk_1/ClassName.php |    11 +
 .../ClassName.php.testMethodOk_1.hints             |     0
 .../verification/PSR1/testMethodOk_2/ClassName.php |    11 +
 .../ClassName.php.testMethodOk_2.hints             |     0
 .../verification/PSR1/testMethodOk_3/ClassName.php |    11 +
 .../ClassName.php.testMethodOk_3.hints             |     0
 .../PSR1/testPropertyName_01/ClassName.php         |    19 +
 .../ClassName.php.testPropertyName_01.hints        |    25 +
 .../PSR1/testPropertyName_02/ClassName.php         |    19 +
 .../ClassName.php.testPropertyName_02.hints        |    20 +
 .../PSR1/testPropertyName_03/ClassName.php         |    19 +
 .../ClassName.php.testPropertyName_03.hints        |    35 +
 .../PSR1/testPropertyName_04/ClassName.php         |    14 +
 .../ClassName.php.testPropertyName_04.hints        |    15 +
 .../PSR1/testPropertyName_05/ClassName.php         |    14 +
 .../ClassName.php.testPropertyName_05.hints        |    15 +
 .../PSR1/testPropertyName_06/ClassName.php         |    14 +
 .../ClassName.php.testPropertyName_06.hints        |    20 +
 .../PSR1/testSideEffect_01/ClassName.php           |    10 +
 .../ClassName.php.testSideEffect_01.hints          |     4 +
 .../PSR1/testSideEffect_02/ClassName.php           |    10 +
 .../ClassName.php.testSideEffect_02.hints          |     4 +
 .../PSR1/testSideEffect_03/ClassName.php           |    10 +
 .../ClassName.php.testSideEffect_03.hints          |     4 +
 .../PSR1/testSideEffect_04/ClassName.php           |     9 +
 .../ClassName.php.testSideEffect_04.hints          |     4 +
 .../PSR1/testSideEffect_05/ClassName.php           |     7 +
 .../ClassName.php.testSideEffect_05.hints          |     4 +
 .../PSR1/testSideEffect_06/ClassName.php           |    11 +
 .../ClassName.php.testSideEffect_06.hints          |     0
 .../PSR1/testSideEffect_07/ClassName.php           |    15 +
 .../ClassName.php.testSideEffect_07.hints          |     4 +
 .../PSR1/testSideEffect_08/ClassName.php           |    13 +
 .../ClassName.php.testSideEffect_08.hints          |     0
 .../PSR1/testSideEffect_09/ClassName.php           |    14 +
 .../ClassName.php.testSideEffect_09.hints          |     4 +
 .../PSR1/testSideEffect_10/ClassName.php           |    13 +
 .../ClassName.php.testSideEffect_10.hints          |     0
 .../PSR1/testTypeNameNotOk52/ClassName.php         |     7 +
 .../ClassName.php.testTypeNameNotOk52.hints        |     4 +
 .../PSR1/testTypeNameNotOk53/ClassName.php         |     7 +
 .../ClassName.php.testTypeNameNotOk53.hints        |     4 +
 .../PSR1/testTypeNameNotOk53_2/ClassName.php       |     7 +
 .../ClassName.php.testTypeNameNotOk53_2.hints      |     4 +
 .../testTypeNameNotOkNamespace52/ClassName.php     |     7 +
 ...lassName.php.testTypeNameNotOkNamespace52.hints |     4 +
 .../testTypeNameNotOkNamespace53/ClassName.php     |     7 +
 ...lassName.php.testTypeNameNotOkNamespace53.hints |     4 +
 .../testTypeNameNotOkNamespace53_2/ClassName.php   |     9 +
 ...ssName.php.testTypeNameNotOkNamespace53_2.hints |     4 +
 .../testTypeNameNotOneDeclaration52/ClassName.php  |    18 +
 ...sName.php.testTypeNameNotOneDeclaration52.hints |     4 +
 .../testTypeNameNotOneDeclaration53/ClassName.php  |    20 +
 ...sName.php.testTypeNameNotOneDeclaration53.hints |     4 +
 .../PSR1/testTypeNameOk52/ClassName.php            |     7 +
 .../ClassName.php.testTypeNameOk52.hints           |     0
 .../PSR1/testTypeNameOk53/ClassName.php            |     7 +
 .../ClassName.php.testTypeNameOk53.hints           |     0
 .../testAbstractClassInstantiationHint.php         |    10 +
 ...nt.php.testAbstractClassInstantiationHint.hints |     6 +
 .../testAbstractClassInstantiationHint_02.php      |     9 +
 ...php.testAbstractClassInstantiationHint_02.hints |     6 +
 .../verification/testAccidentalAssignmentHint.php  |    25 +
 ...talAssignmentHint.php.testInSubAndInWhile.hints |    28 +
 ...AssignmentHint.php.testInSubAndNotInWhile.hints |    13 +
 ...AssignmentHint.php.testNotInSubAndInWhile.hints |    20 +
 ...ignmentHint.php.testNotInSubAndNotInWhile.hints |    10 +
 .../verification/testAddUseImportSuggestion_01.php |    11 +
 ...tion_01.php.testAddUseImportSuggestion_01.hints |     6 +
 .../verification/testAddUseImportSuggestion_02.php |    11 +
 ...tion_02.php.testAddUseImportSuggestion_02.hints |     0
 .../verification/testAmbiguousComparisonHint.php   |    45 +
 ...risonHint.php.testAmbiguousComparisonHint.hints |    24 +
 .../verification/testArraySyntaxSuggestion.php     |    11 +
 ...ggestion.php.testArraySyntaxSuggestion_01.hints |     4 +
 ...ggestion.php.testArraySyntaxSuggestion_02.hints |     4 +
 ...ggestion.php.testArraySyntaxSuggestion_03.hints |     4 +
 ...ggestion.php.testArraySyntaxSuggestion_04.hints |     4 +
 ...ggestion.php.testArraySyntaxSuggestion_05.hints |     6 +
 ...ggestion.php.testArraySyntaxSuggestion_06.hints |     4 +
 ...aySyntaxSuggestion.php.testIssue248013_01.hints |     0
 ...aySyntaxSuggestion.php.testIssue248013_02.hints |     0
 ...aySyntaxSuggestion.php.testIssue248013_03.hints |     0
 ...aySyntaxSuggestion.php.testIssue248013_04.hints |     0
 ...aySyntaxSuggestion.php.testIssue248013_05.hints |     0
 ...aySyntaxSuggestion.php.testIssue248013_06.hints |     0
 .../verification/testAssignVariableSuggestion.php  |     9 +
 ...ggestion.php.testAssignVariableSuggestion.hints |     4 +
 ...stion.php.testAssignVariableSuggestion_02.hints |     0
 ...stion.php.testAssignVariableSuggestion_03.hints |     0
 ...stion.php.testAssignVariableSuggestion_04.hints |     4 +
 .../testfiles/verification/testClassesLines.php    |    56 +
 ...testClassesLines.php.testClassesLinesFail.hints |     3 +
 .../testClassesLines.php.testClassesLinesOk.hints  |     0
 .../verification/testClosingDelimUseCase01.php     |    15 +
 ...imUseCase01.php.testClosingDelimUseCase01.hints |     0
 .../verification/testClosingDelimUseCase02.php     |    13 +
 ...imUseCase02.php.testClosingDelimUseCase02.hints |     4 +
 .../verification/testClosingDelimUseCase03.php     |    14 +
 ...imUseCase03.php.testClosingDelimUseCase03.hints |     0
 .../verification/testConstantRedeclarationHint.php |    29 +
 ...ionHint.php.testConstantRedeclarationHint.hints |    18 +
 .../verification/testCookieSuperglobalsHint.php    |    56 +
 ...lobalsHint.php.testCookieSuperglobalsHint.hints |    25 +
 .../verification/testDoWhileBracesHint.php         |    15 +
 ...WhileBracesHint.php.testDoWhileBracesHint.hints |     4 +
 .../verification/testEmptyStatementHint.php        |   302 +
 ...yStatementHint.php.testEmptyStatementHint.hints |     4 +
 .../verification/testEnvSuperglobalsHint.php       |    56 +
 ...erglobalsHint.php.testEnvSuperglobalsHint.hints |    25 +
 .../verification/testErrorControlOperatorHint.php  |    30 +
 ...atorHint.php.testErrorControlOperatorHint.hints |     0
 .../verification/testFieldRedeclarationHint.php    |    41 +
 ...rationHint.php.testFieldRedeclarationHint.hints |    63 +
 .../testfiles/verification/testForBracesHint.php   |    14 +
 .../testForBracesHint.php.testForBracesHint.hints  |     4 +
 .../verification/testForEachBracesHint.php         |    14 +
 ...rEachBracesHint.php.testForEachBracesHint.hints |     4 +
 .../testfiles/verification/testFunctionsLines.php  |    55 +
 ...FunctionsLines.php.testFunctionsLinesFail.hints |     9 +
 ...stFunctionsLines.php.testFunctionsLinesOk.hints |     0
 .../verification/testGetSuperglobalsHint.php       |    56 +
 ...erglobalsHint.php.testGetSuperglobalsHint.hints |    25 +
 .../testfiles/verification/testGlobalContext.php   |     5 +
 .../testGlobalContext.php.testGlobalContext.hints  |     0
 .../testIdenticalComparisonSuggestion.php          |     5 +
 ...ion.php.testIdenticalComparisonSuggestion.hints |     4 +
 .../testfiles/verification/testIfBracesHint_01.php |    16 +
 ...stIfBracesHint_01.php.testIfBracesHint_01.hints |     8 +
 .../testfiles/verification/testIfBracesHint_02.php |    18 +
 ...stIfBracesHint_02.php.testIfBracesHint_02.hints |    12 +
 .../testfiles/verification/testIfBracesHint_03.php |    17 +
 ...stIfBracesHint_03.php.testIfBracesHint_03.hints |    12 +
 .../verification/testImmutableVariablesHint.php    |    46 +
 ...ablesHint.php.testWith1AllowedAssignments.hints |    42 +
 .../testImplementAbstractMethodsHint.php           |    77 +
 ...Hint.php.testImplementAbstractMethodsHint.hints |    10 +
 .../testImplementAbstractMethodsHintFix.php        |    46 +
 ...hp.testImplementAbstractMethodsHintFix_01.fixed |    49 +
 ...hp.testImplementAbstractMethodsHintFix_02.fixed |    50 +
 ...hp.testImplementAbstractMethodsHintFix_03.fixed |    50 +
 ...hp.testImplementAbstractMethodsHintFix_04.fixed |    50 +
 ...hp.testImplementAbstractMethodsHintFix_05.fixed |    51 +
 ...hp.testImplementAbstractMethodsHintFix_06.fixed |    49 +
 ...hp.testImplementAbstractMethodsHintFix_07.fixed |    46 +
 ...hp.testImplementAbstractMethodsHintFix_08.fixed |    46 +
 .../testImplementAbstractMethodsHintFix02.php      |     8 +
 ....testImplementAbstractMethodsHintFix02_01.fixed |    11 +
 ....testImplementAbstractMethodsHintFix02_02.hints |     5 +
 .../testInitializeFieldSuggestion_01.php           |     9 +
 ...n_01.php.testInitializeFieldSuggestion_01.hints |     4 +
 .../testInitializeFieldSuggestion_02.php           |    13 +
 ...n_02.php.testInitializeFieldSuggestion_02.hints |     4 +
 .../testInitializeFieldSuggestion_03.php           |    10 +
 ...n_03.php.testInitializeFieldSuggestion_03.hints |     4 +
 .../testInitializeFieldSuggestion_04.php           |    14 +
 ...n_04.php.testInitializeFieldSuggestion_04.hints |     0
 .../testInitializeFieldSuggestion_05.php           |     6 +
 ...n_05.php.testInitializeFieldSuggestion_05.hints |     4 +
 .../testInitializeFieldSuggestion_06.php           |    11 +
 ...n_06.php.testInitializeFieldSuggestion_06.hints |     4 +
 .../testInitializeFieldSuggestion_07.php           |     7 +
 ...n_07.php.testInitializeFieldSuggestion_07.hints |     4 +
 .../testInitializeFieldSuggestion_08.php           |    12 +
 ...n_08.php.testInitializeFieldSuggestion_08.hints |     0
 .../testfiles/verification/testInterfacesLines.php |    55 +
 ...terfacesLines.php.testInterfacesLinesFail.hints |     3 +
 ...InterfacesLines.php.testInterfacesLinesOk.hints |     0
 .../verification/testIntroduceSuggestion.php       |    13 +
 ...gestion.php.testIntroduceSuggestionFix_02.fixed |    17 +
 ...gestion.php.testIntroduceSuggestionFix_03.fixed |    19 +
 ...gestion.php.testIntroduceSuggestionFix_04.fixed |    17 +
 ...gestion.php.testIntroduceSuggestionFix_05.fixed |    19 +
 ...gestion.php.testIntroduceSuggestionFix_06.fixed |    17 +
 ...Suggestion.php.testIntroduceSuggestion_01.hints |     4 +
 ...Suggestion.php.testIntroduceSuggestion_02.hints |     4 +
 ...Suggestion.php.testIntroduceSuggestion_03.hints |     4 +
 ...Suggestion.php.testIntroduceSuggestion_04.hints |     4 +
 ...Suggestion.php.testIntroduceSuggestion_05.hints |     4 +
 ...Suggestion.php.testIntroduceSuggestion_06.hints |     4 +
 ...Suggestion.php.testIntroduceSuggestion_07.hints |     0
 .../verification/testIntroduceSuggestionTrait.php  |    35 +
 ...p.testIntroduceSuggestionFixForTraitField.fixed |    37 +
 ....testIntroduceSuggestionFixForTraitMethod.fixed |    39 +
 ...roduceSuggestionFixForTraitStaticField_01.fixed |    37 +
 ...roduceSuggestionFixForTraitStaticField_02.fixed |    37 +
 ...roduceSuggestionFixForTraitStaticField_03.fixed |    37 +
 ...roduceSuggestionFixForTraitStaticField_04.fixed |    38 +
 ...oduceSuggestionFixForTraitStaticMethod_01.fixed |    39 +
 ...oduceSuggestionFixForTraitStaticMethod_02.fixed |    39 +
 ...oduceSuggestionFixForTraitStaticMethod_03.fixed |    39 +
 ...oduceSuggestionFixForTraitStaticMethod_04.fixed |    40 +
 ...p.testIntroduceSuggestionForTraitConstant.hints |     0
 ....php.testIntroduceSuggestionForTraitField.hints |     4 +
 ...php.testIntroduceSuggestionForTraitMethod.hints |     4 +
 ...IntroduceSuggestionForTraitStaticField_01.hints |     4 +
 ...IntroduceSuggestionForTraitStaticField_02.hints |     4 +
 ...ntroduceSuggestionForTraitStaticMethod_01.hints |     4 +
 ...ntroduceSuggestionForTraitStaticMethod_02.hints |     4 +
 .../testfiles/verification/testIssue223842.php     |     7 +
 .../testIssue223842.php.testIssue223842.hints      |     0
 .../testfiles/verification/testIssue224940.php     |     9 +
 .../testIssue224940.php.testIssue224940.hints      |     0
 .../testfiles/verification/testIssue225818.php     |    11 +
 .../testIssue225818.php.testIssue225818.hints      |     0
 .../testfiles/verification/testIssue226041.php     |    10 +
 .../testIssue226041.php.testIssue226041.hints      |     6 +
 .../testfiles/verification/testIssue226425.php     |     9 +
 .../testIssue226425.php.testIssue226425.hints      |     0
 .../testfiles/verification/testIssue226494.php     |    19 +
 .../testIssue226494.php.testIssue226494.hints      |     0
 .../testfiles/verification/testIssue227081.php     |     8 +
 .../testIssue227081.php.testIssue227081.hints      |     3 +
 .../testfiles/verification/testIssue229522.php     |    11 +
 .../testIssue229522.php.testIssue229522.hints      |     4 +
 .../testfiles/verification/testIssue229529.php     |    13 +
 .../testIssue229529.php.testIssue229529.hints      |     0
 .../testfiles/verification/testIssue230297.php     |     9 +
 .../testIssue230297.php.testIssue230297.hints      |     0
 .../testfiles/verification/testIssue233268.php     |     7 +
 .../testIssue233268.php.testIssue233268.hints      |     0
 .../testfiles/verification/testIssue234983.php     |     7 +
 .../testIssue234983.php.testIssue234983.hints      |     0
 .../testfiles/verification/testIssue237620_01.php  |    28 +
 ...testIssue237620_01.php.testIssue237620_01.hints |     0
 .../testfiles/verification/testIssue237620_02.php  |    28 +
 ...testIssue237620_02.php.testIssue237620_02.hints |     3 +
 .../testfiles/verification/testIssue237620_03.php  |    28 +
 ...testIssue237620_03.php.testIssue237620_03.hints |     0
 .../testfiles/verification/testIssue237620_04.php  |    28 +
 ...testIssue237620_04.php.testIssue237620_04.hints |     3 +
 .../testfiles/verification/testIssue237726_01.php  |     4 +
 ...testIssue237726_01.php.testIssue237726_01.hints |     0
 .../testfiles/verification/testIssue237726_02.php  |     4 +
 ...testIssue237726_02.php.testIssue237726_02.hints |     0
 .../testfiles/verification/testIssue237768.php     |     1 +
 .../testIssue237768.php.testIssue237768.hints      |     0
 .../testfiles/verification/testIssue239277.php     |    13 +
 .../testIssue239277.php.testIssue239277_01.hints   |     4 +
 .../testIssue239277.php.testIssue239277_02.hints   |     4 +
 .../testfiles/verification/testIssue239640.php     |    13 +
 .../testIssue239640.php.testIssue239640.hints      |     0
 .../testIssue239640.php.testIssue239640_01.hints   |     0
 .../testfiles/verification/testIssue241824.php     |    13 +
 .../testIssue241824.php.testIssue241824_01.hints   |     0
 .../testIssue241824.php.testIssue241824_02.hints   |     4 +
 .../testfiles/verification/testIssue246125.php     |    13 +
 .../testIssue246125.php.testIssue246125.hints      |     0
 .../testfiles/verification/testIssue246230.php     |    18 +
 .../testIssue246230.php.testIssue246230.hints      |     3 +
 .../testfiles/verification/testIssue248213.php     |     9 +
 .../testIssue248213.php.testIssue248213.hints      |     4 +
 .../testfiles/verification/testIssue249306.php     |     9 +
 .../testIssue249306.php.testIssue249306.hints      |     4 +
 .../testfiles/verification/testIssue257454.php     |     8 +
 .../testIssue257454.php.testIssue257454.hints      |     0
 .../testfiles/verification/testIssue257898.php     |     6 +
 .../testIssue257898.php.testIssue257898.hints      |     0
 .../testfiles/verification/testIssue258480_1.php   |     7 +
 .../testIssue258480_1.php.testIssue258480_1.hints  |     0
 .../testfiles/verification/testIssue258480_2.php   |     9 +
 .../testIssue258480_2.php.testIssue258480_2.hints  |     6 +
 .../testfiles/verification/testIssue259026_01.php  |     3 +
 ...testIssue259026_01.php.testIssue259026_01.hints |     0
 .../testfiles/verification/testIssue259026_02.php  |     3 +
 ...tIssue259026_02.php.testIssue259026Fix_02.fixed |     3 +
 ...testIssue259026_02.php.testIssue259026_02.hints |     4 +
 .../testfiles/verification/testIssue259026_03.php  |     5 +
 ...tIssue259026_03.php.testIssue259026Fix_03.fixed |     5 +
 ...testIssue259026_03.php.testIssue259026_03.hints |     4 +
 .../verification/testIssue262838Fix01.php          |    10 +
 ...ssue262838Fix01.php.testIssue262838Fix01a.fixed |    14 +
 ...ssue262838Fix01.php.testIssue262838Fix01b.fixed |    14 +
 .../verification/testIssue262838Fix02.php          |    13 +
 ...ssue262838Fix02.php.testIssue262838Fix02a.fixed |    17 +
 ...ssue262838Fix02.php.testIssue262838Fix02b.fixed |    17 +
 .../verification/testIssue262838Fix03.php          |    13 +
 ...ssue262838Fix03.php.testIssue262838Fix03a.fixed |    17 +
 ...ssue262838Fix03.php.testIssue262838Fix03b.fixed |    17 +
 .../verification/testIssue267563Fix01.php          |    10 +
 ...ssue267563Fix01.php.testIssue267563Fix01a.fixed |    14 +
 ...ssue267563Fix01.php.testIssue267563Fix01b.fixed |    14 +
 .../verification/testIssue267563Fix02.php          |    10 +
 ...ssue267563Fix02.php.testIssue267563Fix02a.fixed |    14 +
 ...ssue267563Fix02.php.testIssue267563Fix02b.fixed |    14 +
 .../verification/testMethodRedeclarationHint.php   |    50 +
 ...ationHint.php.testMethodRedeclarationHint.hints |    12 +
 .../verification/testModifiersCheckHint.php        |    37 +
 ...fiersCheckHint.php.testModifiersCheckHint.hints |    34 +
 .../verification/testNestedBlocksHint_default.php  |    91 +
 ...tNestedBlocksHint_default.php.testDefault.hints |    56 +
 .../verification/testParentConstructorCallHint.php |    50 +
 ...allHint.php.testParentConstructorCallHint.hints |    20 +
 .../verification/testPostSuperglobalsHint.php      |    56 +
 ...rglobalsHint.php.testPostSuperglobalsHint.hints |    25 +
 .../verification/testRequestSuperglobalsHint.php   |    56 +
 ...obalsHint.php.testRequestSuperglobalsHint.hints |    25 +
 .../verification/testServerSuperglobalsHint.php    |    59 +
 ...lobalsHint.php.testServerSuperglobalsHint.hints |    25 +
 .../verification/testTooManyReturnStatements.php   |    40 +
 ...tatements.php.testTooManyReturnStatements.hints |    24 +
 .../testfiles/verification/testTraitsLines.php     |    56 +
 .../testTraitsLines.php.testTraitsLinesFail.hints  |     3 +
 .../testTraitsLines.php.testTraitsLinesOk.hints    |     0
 .../verification/testTypeRedeclarationHint.php     |    17 +
 ...arationHint.php.testTypeRedeclarationHint.hints |     6 +
 .../verification/testUninitializedVariableHint.php |   104 +
 ...ninitializedVariableHint.php.testWithRefs.hints |    21 +
 ...itializedVariableHint.php.testWithoutRefs.hints |    27 +
 .../verification/testUnreachableStatementHint.php  |    70 +
 ...mentHint.php.testUnreachableStatementHint.hints |    27 +
 .../testUnreachableStatementHint_02.php            |    99 +
 ...nt_02.php.testUnreachableStatementHint_02.hints |    45 +
 .../testUnusedInGlobalNamespaceContext.php         |     7 +
 ...xt.php.testUnusedInGlobalNamespaceContext.hints |     0
 .../testUnusedInGlobalProgramContext.php           |     5 +
 ...text.php.testUnusedInGlobalProgramContext.hints |     0
 .../testfiles/verification/testUnusedUsesHint.php  |    62 +
 ...testUnusedUsesHint.php.testUnusedUsesHint.hints |    12 +
 .../verification/testUnusedVariableHint.php        |   129 +
 ...testUnusedVariableHint.php.testWithParams.hints |    59 +
 ...tUnusedVariableHint.php.testWithoutParams.hints |    41 +
 .../verification/testVarDocSuggestion.php          |     5 +
 ...VarDocSuggestion.php.testVarDocSuggestion.hints |     4 +
 .../testfiles/verification/testWhileBracesHint.php |    14 +
 ...stWhileBracesHint.php.testWhileBracesHint.hints |     4 +
 .../verification/testWrongOrderOfArgsHint.php      |    25 +
 ...erOfArgsHint.php.testWrongOrderOfArgsHint.hints |     8 +
 .../verification/testWrongParamNameHint.php        |    74 +
 ...gParamNameHint.php.testWrongParamNameHint.hints |    16 +
 .../netbeans/modules/php/editor/CodeUtilsTest.java |   205 +
 .../modules/php/editor/PHPBracesMatcherTest.java   |   452 +
 .../php/editor/actions/FixUsesPerformerTest.java   |   120 +-
 .../php/editor/actions/ImportDataCreatorTest.java  |     8 +
 .../SelectedPropertyMethodsCreatorTest.java        |   112 +-
 .../php/editor/completion/ByReferencesTest.java    |   217 +
 .../php/editor/completion/DocRendererTest.java     |   220 +-
 .../editor/completion/PHP70CodeCompletionTest.java |   522 +
 .../editor/completion/PHPCCDocumentationTest.java  |    51 +
 .../completion/PHPCodeCompletion163432Test.java    |     2 +
 .../completion/PHPCodeCompletion171178Test.java    |    73 +
 .../completion/PHPCodeCompletion186936Test.java    |    73 +
 .../completion/PHPCodeCompletion194836Test.java    |    91 +
 .../completion/PHPCodeCompletion239987Test.java    |   129 +
 .../completion/PHPCodeCompletion240527Test.java    |   107 +
 .../completion/PHPCodeCompletion246396Test.java    |    85 +
 .../completion/PHPCodeCompletion247082Test.java    |    85 +
 .../completion/PHPCodeCompletion247169Test.java    |    77 +
 .../completion/PHPCodeCompletion248884Test.java    |    93 +
 .../completion/PHPCodeCompletion253290Test.java    |   143 +
 .../completion/PHPCodeCompletion256106Test.java    |   117 +
 .../completion/PHPCodeCompletion257088Test.java    |    72 +
 .../completion/PHPCodeCompletion257709Test.java    |    71 +
 .../completion/PHPCodeCompletion258226Test.java    |    77 +
 .../completion/PHPCodeCompletion258352Test.java    |    76 +
 .../completion/PHPCodeCompletion267226_01Test.java |    71 +
 .../completion/PHPCodeCompletion267226_02Test.java |    71 +
 .../editor/completion/PHPCodeCompletionTest.java   |   501 +-
 .../completion/PHPCodeCompletionTestBase.java      |     2 +-
 .../modules/php/editor/csl/FoldingTest.java        |     4 +
 .../php/editor/csl/GotoDeclarationTest.java        |   434 +-
 .../modules/php/editor/csl/NavigatorTest.java      |    12 +
 .../php/editor/csl/OccurrencesFinderImplTest.java  |   639 +-
 .../php/editor/csl/SemanticAnalyzerTest.java       |    14 +
 .../editor/indent/PHPFormatterBlankLinesTest.java  |   266 +
 .../php/editor/indent/PHPFormatterSpacesTest.java  |   180 +-
 .../editor/indent/PHPFormatterTemplateTest.java    |   130 +
 .../php/editor/indent/PHPFormatterTest.java        |    98 +
 .../editor/indent/PHPFormatterWrappingTest.java    |   230 +-
 .../php/editor/indent/PHPNewLineIndenterTest.java  |    44 +
 .../php/editor/js/JsFormatterEmbeddedTest.java     |     2 +-
 .../php/editor/lexer/PHP53FeaturesTest.java        |    28 +-
 .../php/editor/lexer/PHP54FeaturesTest.java        |     4 +-
 .../php/editor/lexer/PHP70FeaturesTest.java        |   119 +
 .../modules/php/editor/lexer/PHPLexerTest.java     |    13 +-
 .../modules/php/editor/model/impl/ModelTest.java   |    81 +
 .../php/editor/parser/ASTPHP5ParserTest.java       |   199 +-
 .../php/editor/parser/PHPDocCommentParserTest.java |    42 +
 .../php/editor/parser/PHPVarCommentParserTest.java |    18 +
 .../php/editor/parser/PhpParserErrorTest.java      |   206 +-
 .../modules/php/editor/parser/PrintASTVisitor.java |    51 +-
 .../typinghooks/PhpCommentGeneratorTest.java       |    50 +-
 .../typinghooks/PhpTypedBreakInterceptorTest.java  |   174 +-
 .../typinghooks/PhpTypedTextInterceptorTest.java   |    42 +
 .../modules/php/editor/verification/HintsTest.java |   311 +-
 .../php/editor/verification/PHPHintsTestBase.java  |    20 +
 .../UninitializedVariableHintTest.java             |     4 +
 php.editor/tools/ASTPHP5Parser.cup                 |   615 +-
 php.editor/tools/ASTPHP5Scanner.flex               |    33 +-
 php.editor/tools/Php5ColoringScanner.flex          |    59 +-
 php.editor/tools/skeleton.netbeans                 |    41 -
 php.editor/tools/skeletonParser.netbeans           |    41 -
 php.kit/build.xml                                  |    39 +
 php.kit/manifest.mf                                |     2 +-
 php.kit/nbproject/project.properties               |    39 +
 php.kit/nbproject/project.xml                      |    45 +
 php.kit/release/VERSION.txt                        |     2 +-
 .../org/netbeans/modules/php/kit/Bundle.properties |    37 +
 php.latte/build.xml                                |    48 +-
 php.latte/manifest.mf                              |     2 +-
 php.latte/nbproject/project.properties             |    41 +-
 php.latte/nbproject/project.xml                    |    65 +-
 .../netbeans/modules/php/latte/LatteSyntax.java    |    13 +-
 .../php/latte/lexer/LatteMarkupColoringLexer.java  |    64 +-
 .../modules/php/latte/lexer/LatteStateStack.java   |   162 -
 .../php/latte/lexer/LatteTopColoringLexer.java     |    64 +-
 .../php/latte/resources/LatteFileDescription.html  |    11 +-
 .../php/latte/resources/highlighting-bluetheme.xml |     9 +-
 .../latte/resources/highlighting-citylights.xml    |     9 +-
 .../modules/php/latte/resources/highlighting.xml   |     9 +-
 php.latte/tools/LatteMarkupColoringLexer.flex      |    17 +-
 php.latte/tools/LatteTopColoringLexer.flex         |    17 +-
 php.latte/tools/skeleton.netbeans                  |    41 -
 php.nette.tester/build.xml                         |    39 +
 php.nette.tester/manifest.mf                       |     2 +-
 php.nette.tester/nbproject/project.properties      |    39 +-
 php.nette.tester/nbproject/project.xml             |    43 +-
 .../php/nette/tester/TesterTestingProvider.java    |     2 +-
 .../modules/php/nette/tester/commands/Tester.java  |     6 +-
 .../modules/php/nette/tester/util/TesterUtils.java |     3 +-
 php.nette2/build.xml                               |    39 +
 php.nette2/manifest.mf                             |     3 +-
 php.nette2/nbproject/project.properties            |    39 +-
 php.nette2/nbproject/project.xml                   |    50 +-
 .../nette2/codegen/ActionRenderMethodChecker.java  |     2 +-
 .../modules/php/nette2/resources/Bundle.properties |     3 +
 .../modules/php/nette2/resources/layer.xml         |    54 +
 .../php/nette2/ui/codegen/Bundle.properties        |    37 +
 .../php/nette2/ui/customizer/Bundle.properties     |    37 +
 php.phing/manifest.mf                              |     2 +-
 php.phing/nbproject/project.properties             |    39 +-
 php.phing/nbproject/project.xml                    |    50 +-
 .../netbeans/modules/php/phing/PhingBuildTool.java |    72 +-
 .../modules/php/phing/exec/PhingExecutable.java    |    93 +-
 .../modules/php/phing/file/PhingTargets.java       |    42 +-
 .../php/phing/ui/actions/RunPhingTargetAction.java |    97 +-
 .../ui/customizer/PhingCustomizerProvider.java     |    12 +-
 .../modules/php/phing/ui/options/Bundle.properties |     8 +-
 .../modules/php/phing/ui/resources/build.xml       |    41 +
 php.phpdoc.documentation/build.xml                 |    39 +
 .../external/binaries-list                         |     0
 php.phpdoc.documentation/manifest.mf               |     2 +-
 .../nbproject/project.properties                   |    39 +
 php.phpdoc.documentation/nbproject/project.xml     |    39 +
 php.phpdoc/build.xml                               |    39 +
 php.phpdoc/manifest.mf                             |     2 +-
 php.phpdoc/nbproject/project.properties            |    39 +-
 php.phpdoc/nbproject/project.xml                   |    39 +
 php.phpunit/build.xml                              |    39 +
 php.phpunit/manifest.mf                            |     2 +-
 php.phpunit/nbproject/project.properties           |    39 +-
 php.phpunit/nbproject/project.xml                  |    61 +-
 .../php/phpunit/PhpUnitTestingProvider.java        |    27 +-
 .../php/phpunit/annotations/AfterClassTag.java     |    55 +
 .../modules/php/phpunit/annotations/AfterTag.java  |    55 +
 .../modules/php/phpunit/annotations/AuthorTag.java |    55 +
 .../php/phpunit/annotations/BeforeClassTag.java    |    55 +
 .../modules/php/phpunit/annotations/BeforeTag.java |    55 +
 .../php/phpunit/annotations/Bundle.properties      |   277 +-
 .../annotations/CodeCoverageIgnoreEndTag.java      |    55 +
 .../annotations/CodeCoverageIgnoreStartTag.java    |    55 +
 .../phpunit/annotations/CoversDefaultClassTag.java |    55 +
 .../php/phpunit/annotations/CoversNothingTag.java  |    55 +
 .../ExpectedExceptionMessageRegExpTag.java         |    55 +
 .../modules/php/phpunit/annotations/LargeTag.java  |    55 +
 .../modules/php/phpunit/annotations/MediumTag.java |    55 +
 .../annotations/PhpUnitAnnotationsProvider.java    |    23 +-
 .../annotations/PreserveGlobalStateTag.java        |    55 +
 .../php/phpunit/annotations/RequiresTag.java       |    55 +
 .../modules/php/phpunit/annotations/SmallTag.java  |    55 +
 .../modules/php/phpunit/annotations/UsesTag.java   |    55 +
 .../parser/ExpectedExceptionLineParser.java        |    14 +-
 .../modules/php/phpunit/commands/PhpUnit.java      |   363 +-
 .../php/phpunit/commands/SkeletonGenerator.java    |     5 +-
 .../phpunit/preferences/PhpUnitPreferences.java    |    13 +-
 .../modules/php/phpunit/run/JsonParser.java        |   343 +
 .../modules/php/phpunit/run/PhpUnitLogParser.java  |   315 -
 .../modules/php/phpunit/run/TestCaseVo.java        |    77 +-
 .../modules/php/phpunit/run/TestRunner.java        |   108 +-
 .../modules/php/phpunit/run/TestSessionVo.java     |    40 +-
 .../modules/php/phpunit/run/TestSuiteVo.java       |    37 +-
 .../php/phpunit/ui/customizer/Bundle.properties    |     7 +-
 .../phpunit/ui/customizer/CustomizerPhpUnit.form   |    35 +-
 .../phpunit/ui/customizer/CustomizerPhpUnit.java   |    39 +-
 .../php/phpunit/ui/resources/PHPUnitBootstrap.php  |     1 -
 .../emptyPHPUnitBootstrapDescription.html          |    16 +-
 .../emptyPHPUnitConfigurationDescription.html      |    16 +-
 .../ui/resources/emptyPHPUnitSuiteDescription.html |    16 +-
 .../modules/php/phpunit/util/PhpUnitUtils.java     |     4 +
 php.phpunit/test/unit/data/issue258312.json        |    24 +
 php.phpunit/test/unit/data/issue259044.json        | 17705 +++++++++
 php.phpunit/test/unit/data/issue267597a.json       |    41 +
 php.phpunit/test/unit/data/issue267597b.json       |   764 +
 php.phpunit/test/unit/data/issue267597c.json       |   208 +
 php.phpunit/test/unit/data/issue267597d.json       |   126 +
 php.phpunit/test/unit/data/issue267597e.json       |   129 +
 php.phpunit/test/unit/data/issue267597f.json       |    22 +
 php.phpunit/test/unit/data/log-chunk-1.json        |    13 +
 php.phpunit/test/unit/data/log-chunk-10.json       |    23 +
 php.phpunit/test/unit/data/log-chunk-11.json       |    27 +
 php.phpunit/test/unit/data/log-chunk-12.json       |    26 +
 php.phpunit/test/unit/data/log-chunk-13.json       |    16 +
 php.phpunit/test/unit/data/log-chunk-14.json       |     5 +
 php.phpunit/test/unit/data/log-chunk-2.json        |    16 +
 php.phpunit/test/unit/data/log-chunk-3.json        |    17 +
 php.phpunit/test/unit/data/log-chunk-4.json        |    24 +
 php.phpunit/test/unit/data/log-chunk-5.json        |    22 +
 php.phpunit/test/unit/data/log-chunk-6.json        |    26 +
 php.phpunit/test/unit/data/log-chunk-7.json        |    27 +
 php.phpunit/test/unit/data/log-chunk-8.json        |    22 +
 php.phpunit/test/unit/data/log-chunk-9.json        |    27 +
 .../test/unit/data/log-special-chars-2.json        |  3853 ++
 php.phpunit/test/unit/data/log-special-chars.json  |    54 +
 .../test/unit/data/phpunit-log-empty-suite.xml     |    19 -
 .../test/unit/data/phpunit-log-issue157846.xml     |    19 -
 .../test/unit/data/phpunit-log-issue159876.xml     |    11 -
 .../test/unit/data/phpunit-log-issue169433.xml     |    33 -
 .../test/unit/data/phpunit-log-issue198920.xml     |    29 -
 .../test/unit/data/phpunit-log-issue200503.xml     |    21 -
 .../test/unit/data/phpunit-log-more-suites.xml     |    54 -
 .../test/unit/data/phpunit-log-one-suite.xml       |     6 -
 php.phpunit/test/unit/data/phpunit-log.json        |   279 +
 php.phpunit/test/unit/data/phpunit.json            | 18052 +++++++++
 .../modules/php/phpunit/commands/PhpUnitTest.java  |    44 +-
 .../modules/php/phpunit/run/JsonParserTest.java    |   412 +
 .../php/phpunit/run/PhpUnitLogParserTest.java      |   296 -
 php.project/arch.xml                               |    49 +-
 php.project/external/binaries-list                 |     1 +
 php.project/manifest.mf                            |     2 +-
 php.project/nbproject/project.properties           |     2 +-
 php.project/nbproject/project.xml                  |    23 +-
 .../modules/php/project/PhpModuleImpl.java         |     7 +-
 .../netbeans/modules/php/project/PhpProject.java   |     5 +-
 .../php/project/ProjectPropertiesSupport.java      |     2 +-
 .../annotations/GlobalUserAnnotationsProvider.java |   101 +
 .../ProjectUserAnnotationsProvider.java            |    99 +
 .../php/project/annotations/UserAnnotations.java   |    32 +-
 .../annotations/UserAnnotationsProvider.java       |   101 -
 .../modules/php/project/api/PhpAnnotations.java    |     6 +-
 .../classpath/SourcePathImplementation.java        |     1 -
 .../php/project/connections/RemoteClient.java      |     7 +-
 .../project/connections/common/Bundle.properties   |     1 +
 .../project/connections/common/RemoteUtils.java    |     2 +-
 .../connections/common/RemoteValidator.java        |    11 +
 .../php/project/connections/ftp/Bundle.properties  |     2 +
 .../php/project/connections/ftp/FtpClient.java     |    25 +-
 .../project/connections/ftp/FtpConfiguration.java  |    24 +
 .../connections/ftp/FtpConfigurationPanel.form     |    88 +-
 .../connections/ftp/FtpConfigurationPanel.java     |   141 +-
 .../connections/ftp/FtpConfigurationValidator.java |    39 +-
 .../connections/ftp/FtpConnectionProvider.java     |     9 +
 .../connections/transfer/LocalTransferFile.java    |     2 +-
 .../ui/transfer/TransferFilesChooser.java          |    12 +-
 .../ui/transfer/tree/TransferSelector.java         |     2 +
 .../project/internalserver/InternalWebServer.java  |     2 +-
 .../modules/php/project/resources/layer.xml        |     9 +
 .../modules/php/project/ui/Bundle.properties       |    39 +-
 .../php/project/ui/PhpAnnotationsPanel.form        |   185 +
 .../php/project/ui/PhpAnnotationsPanel.java        |   468 +
 .../php/project/ui/actions/RemoteCommand.java      |     6 +
 .../project/ui/actions/support/CommandUtils.java   |     2 +-
 .../actions/support/TestSingleMethodSupport.java   |    12 +-
 .../ui/customizer/CompositePanelProviderImpl.java  |    27 +-
 .../ui/customizer/CustomizerAnnotations.form       |    18 +
 .../ui/customizer/CustomizerAnnotations.java       |   128 +
 .../ui/logicalview/PhpLogicalViewProvider.java     |    20 +-
 .../project/ui/logicalview/PhpSourcesFilter.java   |    14 +-
 .../php/project/ui/logicalview/SrcNode.java        |    42 +-
 .../php/project/ui/options/Bundle.properties       |    29 +-
 .../project/ui/options/PhpAnnotationsPanel.form    |   170 -
 .../project/ui/options/PhpAnnotationsPanel.java    |   452 -
 .../ui/options/PhpAnnotationsPanelController.java  |    26 +-
 .../ui/resources/emptyPHPClassDescription.html     |    16 +-
 .../ui/resources/emptyPHPFileDescription.html      |    16 +-
 .../ui/resources/emptyPHPInterfaceDescription.html |    16 +-
 .../ui/resources/emptyPHPTraitDescription.html     |    50 +
 .../ui/resources/emptyPHPWebPageDescription.html   |    16 +-
 .../php/project/ui/resources/emptyPhpProject.html  |    16 +-
 .../php/project/ui/resources/emptyTraitPHP.php     |    58 +
 .../project/ui/resources/existingPhpProject.html   |    16 +-
 .../php/project/ui/resources/phpDescription.html   |    16 +-
 .../php/project/ui/resources/remotePhpProject.html |    16 +-
 .../php/project/ui/testrunner/TestCaseImpl.java    |     1 +
 .../php/project/ui/testrunner/TestSessionImpl.java |    10 +-
 .../php/project/ui/testrunner/TestSuiteImpl.java   |    15 +-
 .../php/project/ui/testrunner/UnitTestRunner.java  |     5 +
 .../php/project/ui/wizards/Bundle.properties       |     1 +
 .../project/ui/wizards/NewFileNamespacePanel.java  |     8 +-
 .../project/ui/wizards/NewFileWizardIterator.java  |     7 +-
 .../ui/wizards/RemoteConfirmationPanel.java        |     2 +-
 .../project/ui/wizards/RunConfigurationPanel.java  |     3 +-
 .../project/annotations/UserAnnotationsTest.java   |    20 +-
 .../ftp/FtpConfigurationValidatorTest.java         |   101 +-
 .../project/ui/testrunner/TestSessionImplTest.java |     4 +-
 php.refactoring/build.xml                          |    39 +
 php.refactoring/manifest.mf                        |     2 +-
 php.refactoring/nbproject/project.properties       |    41 +-
 php.refactoring/nbproject/project.xml              |    66 +-
 .../modules/refactoring/php/Bundle.properties      |    37 +
 .../modules/refactoring/php/RefactoringUtils.java  |     8 +-
 .../php/rename/PhpRenameRefactoringUI.java         |    10 +-
 .../refactoring/php/rename/RenamePanel.form        |     4 +-
 .../refactoring/php/rename/RenamePanel.java        |    10 +-
 .../modules/refactoring/php/resources/mf-layer.xml |     2 +-
 php.samples/build.xml                              |    41 +-
 php.samples/manifest.mf                            |     2 +-
 php.samples/nbproject/project.properties           |    39 +-
 php.samples/nbproject/project.xml                  |    39 +
 .../nbproject/project.properties                   |    37 +
 .../Calculator-Codeception/nbproject/project.xml   |    39 +
 .../nbproject/project.properties                   |    37 +
 .../Calculator-Nette-Tester/nbproject/project.xml  |    39 +
 .../nbproject/project.properties                   |    37 +
 .../Calculator-PHPUnit/nbproject/project.xml       |    39 +
 .../Calculator-atoum/nbproject/project.properties  |    37 +
 .../Calculator-atoum/nbproject/project.xml         |    39 +
 .../RentAFlat-Symfony/apps/frontend/config/app.yml |     5 -
 .../apps/frontend/config/cache.yml                 |     7 -
 .../apps/frontend/config/factories.yml             |    42 -
 .../apps/frontend/config/filters.yml               |    10 -
 .../config/frontendConfiguration.class.php         |    49 -
 .../apps/frontend/config/routing.yml               |    20 -
 .../apps/frontend/config/security.yml              |     5 -
 .../apps/frontend/config/settings.yml              |    35 -
 .../apps/frontend/config/view.yml                  |    22 -
 .../apps/frontend/lib/myUser.class.php             |    46 -
 .../RentAFlat-Symfony/apps/frontend/misc/Utils.php |   102 -
 .../modules/contacts/actions/actions.class.php     |    49 -
 .../modules/contacts/templates/indexSuccess.php    |    52 -
 .../modules/content/actions/actions.class.php      |    60 -
 .../modules/content/templates/indexSuccess.php     |    58 -
 .../modules/content/templates/readmeSuccess.php    |    45 -
 .../modules/myfavorites/actions/actions.class.php  |   109 -
 .../modules/myfavorites/templates/indexSuccess.php |    80 -
 .../myfavorites/templates/noresultsSuccess.php     |    47 -
 .../modules/property/actions/actions.class.php     |    89 -
 .../modules/property/templates/addSuccess.php      |    63 -
 .../modules/property/templates/allSuccess.php      |    73 -
 .../modules/property/templates/detailError.php     |    47 -
 .../modules/property/templates/detailSuccess.php   |   120 -
 .../apps/frontend/templates/layout.php             |   144 -
 .../config/ProjectConfiguration.class.php          |    66 -
 .../RentAFlat-Symfony/config/doctrine/schema.yml   |   246 -
 .../RentAFlat-Symfony/config/properties.ini        |     4 -
 .../RentAFlat-Symfony/config/rsync_exclude.txt     |    15 -
 .../RentAFlat-Symfony/data/fixtures/data.yml       |   227 -
 .../lib/form/doctrine/PropertyForm.class.php       |    51 -
 .../lib/model/doctrine/Disposition.class.php       |    50 -
 .../lib/model/doctrine/Location.class.php          |    54 -
 .../lib/model/doctrine/Property.class.php          |    54 -
 .../lib/model/doctrine/PropertyBuild.class.php     |    50 -
 .../RentAFlat-Symfony/nbproject/project.properties |     8 -
 .../RentAFlat-Symfony/nbproject/project.xml        |     9 -
 .../samples_src/RentAFlat-Symfony/readme.html      |   225 -
 php.samples/samples_src/RentAFlat-Symfony/symfony  |    14 -
 .../samples_src/RentAFlat-Symfony/web/.htaccess    |    22 -
 .../RentAFlat-Symfony/web/check_configuration.php  |   148 -
 .../RentAFlat-Symfony/web/css/cssweb.css           |   304 -
 .../samples_src/RentAFlat-Symfony/web/favicon.ico  |   Bin 1150 -> 0 bytes
 .../RentAFlat-Symfony/web/frontend_dev.php         |    54 -
 .../web/images/netbeans-logo-2.png                 |   Bin 36324 -> 0 bytes
 .../RentAFlat-Symfony/web/images/netbeans-logo.gif |   Bin 17167 -> 0 bytes
 .../samples_src/RentAFlat-Symfony/web/index.php    |    47 -
 .../RentAFlat-Symfony/web/js/function.js           |   101 -
 .../samples_src/RentAFlat-Symfony/web/robots.txt   |     2 -
 .../samples_src/RentAFlat-Zend/.zfproject.xml      |   259 -
 .../RentAFlat-Zend/application/Bootstrap.php       |    77 -
 .../application/configs/application.ini            |    33 -
 .../application/controllers/BaseController.php     |    91 -
 .../application/controllers/ContactsController.php |    52 -
 .../application/controllers/ErrorController.php    |    88 -
 .../application/controllers/IndexController.php    |    61 -
 .../controllers/MyFavoritesController.php          |    90 -
 .../application/controllers/PropertyController.php |   110 -
 .../application/forms/PropertyForm.php             |   331 -
 .../application/forms/Zend_Validate_IsNumber.php   |    70 -
 .../forms/Zend_Validate_UniqueRefNo.php            |    69 -
 .../application/layouts/scripts/layout.phtml       |   100 -
 .../RentAFlat-Zend/application/misc/Utils.php      |    90 -
 .../application/models/DbTable/Disposition.php     |    50 -
 .../application/models/DbTable/Location.php        |    50 -
 .../application/models/DbTable/PriceType.php       |    50 -
 .../application/models/DbTable/Property.php        |    50 -
 .../models/DbTable/PropertyBuildType.php           |    50 -
 .../application/models/Disposition.php             |    99 -
 .../application/models/DispositionMapper.php       |   118 -
 .../application/models/PriceType.php               |   108 -
 .../application/models/PriceTypeMapper.php         |   107 -
 .../RentAFlat-Zend/application/models/Property.php |   292 -
 .../application/models/PropertyBuildType.php       |   100 -
 .../application/models/PropertyBuildTypeMapper.php |   125 -
 .../application/models/PropertyLocation.php        |   109 -
 .../application/models/PropertyLocationMapper.php  |   113 -
 .../application/models/PropertyMapper.php          |   195 -
 .../application/views/scripts/contacts/index.phtml |    52 -
 .../application/views/scripts/error/error.phtml    |    61 -
 .../scripts/formElements/property/_clear.phtml     |    45 -
 .../scripts/formElements/property/_select.phtml    |    56 -
 .../scripts/formElements/property/_submit.phtml    |    51 -
 .../scripts/formElements/property/_textArea.phtml  |    56 -
 .../scripts/formElements/property/_textInput.phtml |    58 -
 .../application/views/scripts/index/_footer.phtml  |    75 -
 .../application/views/scripts/index/_menu.phtml    |    67 -
 .../application/views/scripts/index/index.phtml    |    58 -
 .../application/views/scripts/index/readme.phtml   |    47 -
 .../views/scripts/my-favorites/index.phtml         |    92 -
 .../views/scripts/my-favorites/no-results.phtml    |    47 -
 .../application/views/scripts/property/add.phtml   |    54 -
 .../application/views/scripts/property/all.phtml   |    73 -
 .../views/scripts/property/detail.phtml            |   122 -
 .../application/views/scripts/property/error.phtml |    47 -
 .../RentAFlat-Zend/database/database.sql           |   100 -
 .../samples_src/RentAFlat-Zend/docs/README.txt     |    30 -
 .../RentAFlat-Zend/nbproject/project.properties    |    14 -
 .../RentAFlat-Zend/nbproject/project.xml           |     9 -
 .../samples_src/RentAFlat-Zend/public/.htaccess    |    14 -
 .../RentAFlat-Zend/public/css/cssweb.css           |   302 -
 .../samples_src/RentAFlat-Zend/public/favicon.ico  |   Bin 1150 -> 0 bytes
 .../public/images/netbeans-logo-2.png              |   Bin 36324 -> 0 bytes
 .../RentAFlat-Zend/public/images/netbeans-logo.gif |   Bin 17167 -> 0 bytes
 .../samples_src/RentAFlat-Zend/public/index.php    |    76 -
 .../RentAFlat-Zend/public/js/function.js           |   101 -
 php.samples/samples_src/RentAFlat-Zend/readme.html |   189 -
 php.samples/samples_src/TodoList/config/.htaccess  |     2 -
 php.samples/samples_src/TodoList/config/Config.php |    16 +-
 php.samples/samples_src/TodoList/config/config.ini |     6 +-
 php.samples/samples_src/TodoList/dao/.htaccess     |     2 -
 php.samples/samples_src/TodoList/dao/TodoDao.php   |    41 +-
 .../TodoList/dao/TodoSearchCriteria.php            |     4 +-
 php.samples/samples_src/TodoList/db/.htaccess      |    42 +-
 php.samples/samples_src/TodoList/db/db.sqlite      |   Bin 0 -> 9216 bytes
 php.samples/samples_src/TodoList/db/mysql.sql      |    77 -
 php.samples/samples_src/TodoList/db/sqlite.sql     |    79 +
 .../samples_src/TodoList/exception/.htaccess       |     2 -
 .../TodoList/exception/NotFoundException.php       |     7 +-
 php.samples/samples_src/TodoList/flash/.htaccess   |     2 -
 php.samples/samples_src/TodoList/flash/Flash.php   |     8 +-
 php.samples/samples_src/TodoList/layout/.htaccess  |     2 -
 .../samples_src/TodoList/layout/index.phtml        |    60 +-
 php.samples/samples_src/TodoList/mapping/.htaccess |     2 -
 .../samples_src/TodoList/mapping/TodoMapper.php    |     9 +-
 php.samples/samples_src/TodoList/model/.htaccess   |     2 -
 php.samples/samples_src/TodoList/model/Todo.php    |    25 +-
 .../TodoList/nbproject/private/private.properties  |    45 +
 .../TodoList/nbproject/project.properties          |    42 +-
 .../samples_src/TodoList/nbproject/project.xml     |    39 +
 php.samples/samples_src/TodoList/page/.htaccess    |     2 -
 php.samples/samples_src/TodoList/page/404.phtml    |     2 +
 php.samples/samples_src/TodoList/page/500.phtml    |     2 +
 php.samples/samples_src/TodoList/page/add-edit.php |    20 +-
 .../samples_src/TodoList/page/add-edit.phtml       |    27 +-
 .../samples_src/TodoList/page/change-status.php    |     8 +-
 php.samples/samples_src/TodoList/page/delete.php   |     8 +-
 php.samples/samples_src/TodoList/page/detail.php   |     9 +-
 php.samples/samples_src/TodoList/page/detail.phtml |    29 +-
 php.samples/samples_src/TodoList/page/home.phtml   |     4 +-
 php.samples/samples_src/TodoList/page/list.php     |    11 +-
 php.samples/samples_src/TodoList/page/list.phtml   |    23 +-
 php.samples/samples_src/TodoList/readme.html       |    89 +-
 php.samples/samples_src/TodoList/util/.htaccess    |     2 -
 php.samples/samples_src/TodoList/util/Utils.php    |    53 +-
 .../samples_src/TodoList/validation/.htaccess      |     2 -
 .../samples_src/TodoList/validation/Error.php      |    79 -
 .../TodoList/validation/TodoValidator.php          |    35 +-
 .../TodoList/validation/ValidationError.php        |    81 +
 .../samples_src/TodoList/web/css/layout.css        |    56 +-
 .../redmond/images/ui-bg_flat_0_aaaaaa_40x100.png  |   Bin 180 -> 0 bytes
 .../redmond/images/ui-bg_flat_55_fbec88_40x100.png |   Bin 182 -> 0 bytes
 .../redmond/images/ui-bg_glass_75_d0e5f5_1x400.png |   Bin 124 -> 0 bytes
 .../redmond/images/ui-bg_glass_85_dfeffc_1x400.png |   Bin 123 -> 0 bytes
 .../redmond/images/ui-bg_glass_95_fef1ec_1x400.png |   Bin 119 -> 0 bytes
 .../images/ui-bg_gloss-wave_55_5c9ccc_500x100.png  |   Bin 4033 -> 0 bytes
 .../images/ui-bg_inset-hard_100_f5f8f9_1x100.png   |   Bin 130 -> 0 bytes
 .../images/ui-bg_inset-hard_100_fcfdfd_1x100.png   |   Bin 88 -> 0 bytes
 .../css/redmond/images/ui-icons_217bc0_256x240.png |   Bin 4369 -> 0 bytes
 .../css/redmond/images/ui-icons_2e83ff_256x240.png |   Bin 4369 -> 0 bytes
 .../css/redmond/images/ui-icons_469bdd_256x240.png |   Bin 4369 -> 0 bytes
 .../css/redmond/images/ui-icons_6da8d5_256x240.png |   Bin 4369 -> 0 bytes
 .../css/redmond/images/ui-icons_cd0a0a_256x240.png |   Bin 4369 -> 0 bytes
 .../css/redmond/images/ui-icons_d8e7f3_256x240.png |   Bin 5355 -> 0 bytes
 .../css/redmond/images/ui-icons_f9bd01_256x240.png |   Bin 4369 -> 0 bytes
 .../web/css/redmond/jquery-ui-1.8.16.custom.css    |   378 -
 php.samples/samples_src/TodoList/web/css/style.css |    98 +-
 .../samples_src/TodoList/web/img/NB-IDE-logo.png   |   Bin 0 -> 6465 bytes
 .../samples_src/TodoList/web/img/action/add.png    |   Bin 789 -> 0 bytes
 .../samples_src/TodoList/web/img/action/back.png   |   Bin 345 -> 0 bytes
 .../samples_src/TodoList/web/img/action/delete.png |   Bin 476 -> 0 bytes
 .../samples_src/TodoList/web/img/action/edit.png   |   Bin 610 -> 0 bytes
 .../samples_src/TodoList/web/img/exclamation.png   |   Bin 701 -> 0 bytes
 .../TodoList/web/img/header-bg-left.jpg            |   Bin 465 -> 0 bytes
 .../TodoList/web/img/header-bg-right.jpg           |   Bin 358 -> 0 bytes
 .../samples_src/TodoList/web/img/header-bg.jpg     |   Bin 39018 -> 0 bytes
 php.samples/samples_src/TodoList/web/img/line.gif  |   Bin 43 -> 0 bytes
 .../samples_src/TodoList/web/img/link-bgd.gif      |   Bin 149 -> 0 bytes
 .../samples_src/TodoList/web/img/link-left.gif     |   Bin 49 -> 0 bytes
 .../samples_src/TodoList/web/img/link-right.gif    |   Bin 49 -> 0 bytes
 .../samples_src/TodoList/web/img/marker-1.gif      |   Bin 141 -> 0 bytes
 .../samples_src/TodoList/web/img/marker-2.gif      |   Bin 47 -> 0 bytes
 .../samples_src/TodoList/web/img/marker-3.gif      |   Bin 44 -> 0 bytes
 .../samples_src/TodoList/web/img/priority/1.png    |   Bin 592 -> 0 bytes
 .../samples_src/TodoList/web/img/priority/2.png    |   Bin 586 -> 0 bytes
 .../samples_src/TodoList/web/img/priority/3.png    |   Bin 586 -> 0 bytes
 .../samples_src/TodoList/web/img/spacer.gif        |   Bin 43 -> 0 bytes
 .../TodoList/web/img/status/DONE-disabled.png      |   Bin 470 -> 0 bytes
 .../samples_src/TodoList/web/img/status/DONE.png   |   Bin 781 -> 0 bytes
 .../TodoList/web/img/status/PENDING-disabled.png   |   Bin 491 -> 0 bytes
 .../TodoList/web/img/status/PENDING.png            |   Bin 793 -> 0 bytes
 .../TodoList/web/img/status/VOIDED-disabled.png    |   Bin 452 -> 0 bytes
 .../samples_src/TodoList/web/img/status/VOIDED.png |   Bin 715 -> 0 bytes
 php.samples/samples_src/TodoList/web/index.php     |    49 +-
 .../netbeans/modules/php/samples/Bundle.properties |     2 -
 .../modules/php/samples/PHPSamplesPanelVisual.java |     1 +
 .../samples/descriptions/Rent-a-Flat-Symfony.html  |    53 -
 .../php/samples/descriptions/Rent-a-Flat-Zend.html |    53 -
 .../modules/php/samples/descriptions/TodoList.html |     2 +-
 .../src/org/netbeans/modules/php/samples/layer.xml |    16 -
 php.smarty/build.xml                               |    39 +
 php.smarty/manifest.mf                             |     2 +-
 php.smarty/nbproject/project.properties            |    39 +-
 php.smarty/nbproject/project.xml                   |    53 +
 .../netbeans/modules/php/smarty/Bundle.properties  |     9 +-
 .../modules/php/smarty/SmartyFramework.java        |     9 +-
 .../php/smarty/SmartyPhpFrameworkProvider.java     |     9 +-
 .../smarty/SmartyPhpModuleCustomizerExtender.java  |     9 +-
 .../modules/php/smarty/editor/Bundle.properties    |     9 +-
 .../modules/php/smarty/editor/TplDataLoader.java   |     9 +-
 .../modules/php/smarty/editor/TplDataObject.java   |     9 +-
 .../php/smarty/editor/TplEditorSupport.java        |     9 +-
 .../netbeans/modules/php/smarty/editor/TplKit.java |     9 +-
 .../modules/php/smarty/editor/TplMetaData.java     |     9 +-
 .../modules/php/smarty/editor/TplSyntax.java       |    13 +-
 .../coloring/EmbeddingHighlightsContainer.java     |     9 +-
 .../coloring/EmbeddingHighlightsLayerFactory.java  |     9 +-
 .../php/smarty/editor/completion/Bundle.properties |     9 +-
 .../editor/completion/CodeCompletionUtils.java     |     9 +-
 .../editor/completion/TplCompletionItem.java       |     9 +-
 .../editor/completion/TplCompletionProvider.java   |     9 +-
 .../editor/completion/TplCompletionQuery.java      |     9 +-
 .../completion/entries/CodeCompletionEntries.java  |     9 +-
 .../entries/CodeCompletionEntryMetadata.java       |     9 +-
 .../entries/SmartyCodeCompletionOffer.java         |     9 +-
 .../completion/entries/defs/built-in-functions.xml |    39 +
 .../completion/entries/defs/custom-functions.xml   |    39 +
 .../completion/entries/defs/variable-modifiers.xml |    41 +-
 .../editor/embedding/TplHtmlEmbeddingProvider.java |     9 +-
 .../php/smarty/editor/gsf/TplGSFParser.java        |     9 +-
 .../modules/php/smarty/editor/gsf/TplLanguage.java |     9 +-
 .../php/smarty/editor/gsf/TplStructureScanner.java |     9 +-
 .../modules/php/smarty/editor/lexer/TplLexer.java  |     9 +-
 .../php/smarty/editor/lexer/TplTokenId.java        |     9 +-
 .../php/smarty/editor/lexer/TplTopLexer.java       |     9 +-
 .../php/smarty/editor/lexer/TplTopTokenId.java     |     9 +-
 .../php/smarty/editor/parser/TplParser.java        |     4 +-
 .../php/smarty/editor/parser/TplParserResult.java  |     4 +-
 .../php/smarty/editor/utlis/EmbeddingUtils.java    |     9 +-
 .../php/smarty/editor/utlis/LexerUtils.java        |     9 +-
 .../modules/php/smarty/editor/utlis/TplUtils.java  |     9 +-
 .../modules/php/smarty/resources/Bundle.properties |    37 +
 .../php/smarty/resources/TplDescription.html       |    18 +-
 .../modules/php/smarty/resources/fontsColors.xml   |     9 +-
 .../modules/php/smarty/resources/layer.xml         |    39 +
 .../modules/php/smarty/ui/Bundle.properties        |    37 +
 .../php/smarty/ui/customizer/Bundle.properties     |    37 +
 .../ui/customizer/SmartyCustomizerPanel.java       |     9 +-
 .../php/smarty/ui/notification/Bundle.properties   |    37 +
 .../php/smarty/ui/options/Bundle.properties        |     9 +-
 .../php/smarty/ui/options/SmartyOptions.java       |     9 +-
 .../php/smarty/ui/options/SmartyOptionsPanel.java  |     9 +-
 .../ui/options/SmartyOptionsPanelController.java   |     9 +-
 .../netbeans/modules/php/smarty/TplTestBase.java   |     2 +-
 .../editor/embedding/JsEmbeddingProviderTest.java  |     2 +-
 .../smarty/editor/lexer/TplTopLexerBatchTest.java  |     9 +-
 .../smarty/editor/parser/TplParserErrorsTest.java  |     2 +-
 .../php/smarty/editor/parser/TplParserTest.java    |     2 +-
 php.symfony/build.xml                              |    39 +
 php.symfony/manifest.mf                            |     2 +-
 php.symfony/nbproject/project.properties           |    39 +-
 php.symfony/nbproject/project.xml                  |    50 +-
 .../php/symfony/SymfonyPhpFrameworkProvider.java   |     8 +-
 .../php/symfony/resources/Bundle.properties        |     6 +-
 .../ui/actions/SymfonyGoToActionAction.java        |     3 +-
 .../modules/php/symfony/util/SymfonyUtils.java     |     1 +
 php.symfony2/build.xml                             |    39 +
 php.symfony2/manifest.mf                           |     2 +-
 php.symfony2/nbproject/project.properties          |    39 +-
 php.symfony2/nbproject/project.xml                 |    71 +-
 .../modules/php/symfony2/ConfigurationFiles.java   |    21 +-
 .../php/symfony2/Symfony2PhpFrameworkProvider.java |   166 -
 .../Symfony2PhpModuleCustomizerExtender.java       |   214 -
 .../php/symfony2/Symfony2PhpModuleExtender.java    |   229 -
 .../Symfony2PhpModuleIgnoredFilesExtender.java     |   101 -
 .../php/symfony2/SymfonyPhpFrameworkProvider.java  |   185 +
 .../SymfonyPhpModuleCustomizerExtender.java        |   217 +
 .../php/symfony2/SymfonyPhpModuleExtender.java     |   229 +
 .../SymfonyPhpModuleIgnoredFilesExtender.java      |    78 +
 .../modules/php/symfony2/SymfonyVersion.java       |   222 +
 .../php/symfony2/annotations/BaseParsedLine.java   |     1 +
 .../extra/Symfony2ExtraAnnotationsProvider.java    |    88 -
 .../extra/SymfonyExtraAnnotationsProvider.java     |    88 +
 .../parser/Symfony2ExtraAnnotationLineParser.java  |    96 -
 .../parser/SymfonyExtraAnnotationLineParser.java   |    96 +
 .../Symfony2CommonLineAnnotationLineParser.java    |   113 -
 .../SymfonyCommonLineAnnotationLineParser.java     |   114 +
 .../Symfony2SecurityAnnotationsProvider.java       |    87 -
 .../SymfonySecurityAnnotationsProvider.java        |    87 +
 .../Symfony2SecurityAnnotationLineParser.java      |    97 -
 .../SymfonySecurityAnnotationLineParser.java       |    97 +
 .../Symfony2ValidatorsAnnotationsProvider.java     |   118 -
 .../SymfonyValidatorsAnnotationsProvider.java      |   118 +
 .../Symfony2ValidatorsAnnotationLineParser.java    |    84 -
 .../SymfonyValidatorsAnnotationLineParser.java     |    84 +
 .../php/symfony2/commands/InstallerExecutable.java |    26 +-
 .../php/symfony2/commands/Symfony2Command.java     |    68 -
 .../symfony2/commands/Symfony2CommandSupport.java  |   128 -
 .../php/symfony2/commands/Symfony2CommandVO.java   |    86 -
 .../commands/Symfony2CommandsXmlParser.java        |   252 -
 .../php/symfony2/commands/Symfony2Script.java      |   266 -
 .../php/symfony2/commands/SymfonyCommand.java      |    69 +
 .../symfony2/commands/SymfonyCommandSupport.java   |   120 +
 .../php/symfony2/commands/SymfonyCommandVO.java    |    86 +
 .../commands/SymfonyCommandsXmlParser.java         |   252 +
 .../php/symfony2/commands/SymfonyScript.java       |   242 +
 .../php/symfony2/options/Symfony2Options.java      |   145 -
 .../symfony2/options/Symfony2OptionsValidator.java |   107 -
 .../php/symfony2/options/SymfonyOptions.java       |   145 +
 .../symfony2/options/SymfonyOptionsValidator.java  |   107 +
 .../symfony2/preferences/Symfony2Preferences.java  |   105 -
 .../symfony2/preferences/SymfonyPreferences.java   |   107 +
 .../php/symfony2/resources/Bundle.properties       |     8 +-
 .../modules/php/symfony2/resources/layer.xml       |     4 +-
 .../php/symfony2/ui/actions/CacheClearAction.java  |    21 +-
 .../php/symfony2/ui/actions/CacheWarmupAction.java |    21 +-
 .../php/symfony2/ui/actions/Symfony2Action.java    |    76 -
 .../actions/Symfony2PhpModuleActionsExtender.java  |    77 -
 .../ui/actions/Symfony2RunCommandAction.java       |    83 -
 .../php/symfony2/ui/actions/SymfonyAction.java     |    74 +
 .../ui/actions/SymfonyGoToActionAction.java        |   109 +
 .../symfony2/ui/actions/SymfonyGoToViewAction.java |    98 +
 .../actions/SymfonyPhpModuleActionsExtender.java   |   110 +
 .../ui/actions/SymfonyRunCommandAction.java        |    82 +
 .../php/symfony2/ui/customizer/Bundle.properties   |    18 +-
 .../ui/customizer/Symfony2CustomizerPanel.form     |   131 -
 .../ui/customizer/Symfony2CustomizerPanel.java     |   264 -
 .../ui/customizer/SymfonyCustomizerPanel.form      |   131 +
 .../ui/customizer/SymfonyCustomizerPanel.java      |   289 +
 .../php/symfony2/ui/options/Bundle.properties      |    25 +-
 .../symfony2/ui/options/Symfony2OptionsPanel.form  |   198 -
 .../symfony2/ui/options/Symfony2OptionsPanel.java  |   473 -
 .../ui/options/Symfony2OptionsPanelController.java |   190 -
 .../symfony2/ui/options/SymfonyOptionsPanel.form   |   196 +
 .../symfony2/ui/options/SymfonyOptionsPanel.java   |   470 +
 .../ui/options/SymfonyOptionsPanelController.java  |   192 +
 .../php/symfony2/ui/wizards/Bundle.properties      |     2 +-
 .../ui/wizards/NewProjectConfigurationPanel.java   |    22 +-
 .../modules/php/symfony2/util/SymfonyUtils.java    |   238 +
 .../extra/parser/CacheLineParserTest.java          |     2 +-
 .../extra/parser/MethodLineParserTest.java         |     2 +-
 .../extra/parser/ParamConverterLineParserTest.java |     2 +-
 .../extra/parser/RouteLineParserTest.java          |     2 +-
 .../Symfony2ExtraAnnotationLineParserTest.java     |    84 -
 .../SymfonyExtraAnnotationLineParserTest.java      |    84 +
 .../extra/parser/TemplateLineParserTest.java       |     2 +-
 ...Symfony2CommonLineAnnotationLineParserTest.java |   115 -
 .../SymfonyCommonLineAnnotationLineParserTest.java |   115 +
 .../parser/PreAuthorizeLineParserTest.java         |     2 +-
 .../security/parser/RunAsLineParserTest.java       |     2 +-
 ...atisfiesParentSecurityPolicyLineParserTest.java |     2 +-
 .../security/parser/SecureLineParserTest.java      |     2 +-
 .../security/parser/SecureParamLineParserTest.java |     2 +-
 .../parser/SecureReturnLineParserTest.java         |     2 +-
 .../Symfony2SecurityAnnotationLineParserTest.java  |    89 -
 .../SymfonySecurityAnnotationLineParserTest.java   |    89 +
 .../validators/parser/AllLineParserTest.java       |     2 +-
 .../validators/parser/BlankLineParserTest.java     |     2 +-
 .../validators/parser/CallbackLineParserTest.java  |     2 +-
 .../validators/parser/ChoiceLineParserTest.java    |     2 +-
 .../parser/CollectionLineParserTest.java           |     2 +-
 .../validators/parser/CountryLineParserTest.java   |     2 +-
 .../validators/parser/DateLineParserTest.java      |     2 +-
 .../validators/parser/DateTimeLineParserTest.java  |     2 +-
 .../validators/parser/EmailLineParserTest.java     |     2 +-
 .../validators/parser/FalseLineParserTest.java     |     2 +-
 .../validators/parser/FileLineParserTest.java      |     2 +-
 .../validators/parser/ImageLineParserTest.java     |     2 +-
 .../validators/parser/IpLineParserTest.java        |     2 +-
 .../validators/parser/LanguageLineParserTest.java  |     2 +-
 .../validators/parser/LocaleLineParserTest.java    |     2 +-
 .../validators/parser/MaxLengthLineParserTest.java |     2 +-
 .../validators/parser/MaxLineParserTest.java       |     2 +-
 .../validators/parser/MinLengthLineParserTest.java |     2 +-
 .../validators/parser/MinLineParserTest.java       |     2 +-
 .../validators/parser/NotBlankLineParserTest.java  |     2 +-
 .../validators/parser/NotNullLineParserTest.java   |     2 +-
 .../validators/parser/NullLineParserTest.java      |     2 +-
 .../validators/parser/RegexLineParserTest.java     |     2 +-
 ...Symfony2ValidatorsAnnotationLineParserTest.java |   176 -
 .../SymfonyValidatorsAnnotationLineParserTest.java |   176 +
 .../validators/parser/TimeLineParserTest.java      |     2 +-
 .../validators/parser/TrueLineParserTest.java      |     2 +-
 .../parser/TypeAnnotationLineParserTest.java       |     2 +-
 .../parser/UniqueEntityLineParserTest.java         |     2 +-
 .../validators/parser/UrlLineParserTest.java       |     2 +-
 .../validators/parser/ValidLineParserTest.java     |     2 +-
 .../commands/Symfony2CommandsXmlParserTest.java    |   184 -
 .../commands/SymfonyCommandsXmlParserTest.java     |   184 +
 .../php/symfony2/util/SymfonyUtilsTest.java        |    67 +
 php.twig/build.xml                                 |    43 +-
 php.twig/manifest.mf                               |     2 +-
 php.twig/nbproject/project.properties              |    39 +-
 php.twig/nbproject/project.xml                     |    67 +-
 .../modules/php/twig/editor/TwigDataObject.java    |     4 +-
 .../modules/php/twig/editor/TwigEditorKit.java     |     4 +-
 .../modules/php/twig/editor/TwigSyntax.java        |    13 +-
 .../editor/completion/TwigCompletionHandler.java   |     4 +-
 .../embedding/TwigHtmlEmbeddingProvider.java       |     4 +-
 .../php/twig/editor/format/TwigFormatter.java      |     4 +-
 .../modules/php/twig/editor/gsf/TwigLanguage.java  |     6 +-
 .../php/twig/editor/gsf/TwigStructureItem.java     |     4 +-
 .../php/twig/editor/gsf/TwigStructureScanner.java  |     6 +-
 .../twig/editor/lexer/TwigBlockColoringLexer.java  |    64 +-
 .../php/twig/editor/lexer/TwigStateStack.java      |   164 -
 .../twig/editor/lexer/TwigTopColoringLexer.java    |    64 +-
 .../php/twig/editor/lexer/TwigTopTokenId.java      |     6 +-
 .../editor/lexer/TwigVariableColoringLexer.java    |    64 +-
 .../php/twig/editor/parsing/TwigParser.java        |     4 +-
 .../php/twig/editor/parsing/TwigParserResult.java  |     4 +-
 .../modules/php/twig/resources/Bundle.properties   |     7 +-
 .../modules/php/twig/resources/highlighting.xml    |     4 +-
 .../netbeans/modules/php/twig/resources/layer.xml  |    19 +-
 php.twig/tools/TwigBlockColoringLexer.flex         |    17 +-
 php.twig/tools/TwigTopColoringLexer.flex           |    17 +-
 php.twig/tools/TwigVariableColoringLexer.flex      |    17 +-
 php.twig/tools/skeleton.netbeans                   |    41 -
 php.zend/build.xml                                 |    39 +
 php.zend/manifest.mf                               |     2 +-
 php.zend/nbproject/project.properties              |    39 +-
 php.zend/nbproject/project.xml                     |    50 +-
 .../modules/php/zend/ZendPhpFrameworkProvider.java |     8 +-
 .../php/zend/editor/ZendEditorExtender.java        |    26 +-
 .../php/zend/ui/actions/ZendGoToActionAction.java  |     3 +-
 .../php/zend/ui/options/ZendOptionsPanel.java      |     2 +-
 php.zend2/build.xml                                |    39 +
 php.zend2/manifest.mf                              |     2 +-
 php.zend2/nbproject/project.properties             |    39 +-
 php.zend2/nbproject/project.xml                    |    50 +-
 .../php/zend2/editor/Zend2EditorExtender.java      |    14 +-
 .../zend2/ui/actions/Zend2GoToActionAction.java    |     3 +-
 print.editor/manifest.mf                           |     2 +-
 print/manifest.mf                                  |     2 +-
 print/nbproject/org-netbeans-modules-print.sig     |     2 +-
 profiler.api/manifest.mf                           |     2 +-
 profiler.api/nbproject/project.xml                 |     4 +-
 .../modules/profiler/api/GestureSubmitter.java     |     6 +-
 .../modules/profiler/api/JavaPlatform.java         |     2 +
 .../modules/profiler/api/ProfilerIDESettings.java  |    36 +-
 .../modules/profiler/api/icons/GeneralIcons.java   |     3 +
 .../modules/profiler/api/icons/ProfilerIcons.java  |     2 +
 .../profiler/api/project/AntProjectSupport.java    |   124 -
 .../api/project/ProfilingSettingsSupport.java      |   149 -
 .../api/project/ProjectContentsSupport.java        |     2 +-
 .../api/project/ProjectProfilingSupport.java       |    66 +-
 .../spi/project/AntProjectSupportProvider.java     |    82 -
 .../modules/profiler/spi/project/Bundle.properties |    37 +
 .../project/ProfilingSettingsSupportProvider.java  |   190 -
 .../project/ProjectProfilingSupportProvider.java   |    86 +-
 profiler.attach/build.xml                          |    39 +
 profiler.attach/manifest.mf                        |     2 +-
 profiler.attach/nbproject/project.properties       |    37 +
 profiler.attach/nbproject/project.xml              |    41 +-
 .../profiler/attach/dialog/AttachDialog.java       |    47 +-
 profiler.freeform/manifest.mf                      |     2 +-
 profiler.freeform/nbproject/project.xml            |    14 +-
 .../modules/profiler/freeform/Bundle.properties    |     1 +
 .../FreeFormAntProjectSupportProvider.java         |    35 +-
 .../FreeFormProjectProfilingSupportProvider.java   |    37 +-
 .../profiler/freeform/FreeFormProjectsSupport.java |    18 +-
 profiler.heapwalker/build.xml                      |    39 +
 profiler.heapwalker/manifest.mf                    |     2 +-
 profiler.heapwalker/nbproject/project.properties   |    37 +
 profiler.heapwalker/nbproject/project.xml          |    41 +-
 .../profiler/heapwalk/HeapWalkerManager.java       |     2 +-
 .../profiler/heapwalk/OverviewController.java      |    78 +-
 .../heapwalk/details/basic/ArrayValueView.java     |    21 +-
 .../heapwalk/details/basic/StringDecoder.java      |   103 +
 .../details/basic/StringDetailsProvider.java       |    60 +-
 .../heapwalk/details/jdk/JmxDetailsProvider.java   |    70 +
 .../heapwalk/details/jdk/image/ImageBuilder.java   |     6 +-
 .../details/jdk/image/ImageDetailProvider.java     |     6 +-
 .../heapwalk/details/jdk/ui/BaseBuilders.java      |    10 +-
 .../heapwalk/details/jdk/ui/ComponentBuilders.java |    10 +-
 .../details/netbeans/JavaDetailsProvider.java      |     5 +-
 .../details/netbeans/VCSDetailsProvider.java       |    74 +
 .../heapwalk/details/spi/DetailsUtils.java         |     2 +-
 .../profiler/heapwalk/model/BrowserUtils.java      |     9 -
 .../profiler/heapwalk/oql/ui/OQLEditor.java        |    55 +-
 .../heapwalk/ui/ClassesListControllerUI.java       |     9 +-
 .../heapwalk/ui/FieldsBrowserControllerUI.java     |     3 +-
 .../modules/profiler/heapwalk/ui/HeapWalkerUI.java |    96 +-
 .../profiler/heapwalk/ui/OQLControllerUI.java      |    14 +-
 .../heapwalk/ui/ReferencesBrowserControllerUI.java |     3 +-
 .../modules/profiler/heapwalker/Bundle.properties  |    37 +
 profiler.j2ee/manifest.mf                          |     2 +-
 profiler.j2ee/nbproject/project.xml                |    14 +-
 .../j2ee/J2EEAntProjectSupportProvider.java        |   132 +-
 .../j2ee/J2EEProfilingSettingsSupportProvider.java |    66 -
 .../j2ee/J2EEProjectProfilingSupportProvider.java  |   315 +-
 .../modules/profiler/j2ee/WebProjectUtils.java     |     2 +-
 profiler.j2se/manifest.mf                          |     2 +-
 profiler.j2se/nbproject/project.xml                |    14 +-
 .../j2se/J2SEAntProjectSupportProvider.java        |    81 +-
 .../j2se/J2SEProjectProfilingSupportProvider.java  |   175 +-
 .../j2se/JFXProjectProfilingSupportProvider.java   |    63 +-
 profiler.kit/build.xml                             |    39 +
 profiler.kit/manifest.mf                           |     2 +-
 profiler.kit/nbproject/project.properties          |    37 +
 profiler.kit/nbproject/project.xml                 |    39 +
 .../modules/profiler/kit/Bundle.properties         |    37 +
 profiler.nbimpl/manifest.mf                        |     2 +-
 profiler.nbimpl/nbproject/project.xml              |     2 +-
 .../nbimpl/actions/FileSensitivePerformer.java     |    20 +-
 .../profiler/nbimpl/actions/ProfilerLauncher.java  |    44 +-
 .../nbimpl/actions/ProjectSensitivePerformer.java  |    15 +-
 .../profiler/nbimpl/javac/Bundle.properties        |    37 +
 .../nbimpl/javac/ClasspathInfoFactory.java         |     2 +-
 .../profiler/nbimpl/javac/ElementUtilitiesEx.java  |     4 +-
 .../project/AbstractAntProjectSupportProvider.java |    87 -
 .../profiler/nbimpl/project/AntProjectSupport.java |   134 +
 .../nbimpl/project/AntProjectSupportProvider.java  |   137 +
 .../JavaProfilingSettingsSupportProvider.java      |    68 -
 .../JavaProjectProfilingSupportProvider.java       |   128 +-
 .../profiler/nbimpl/project/ProjectUtilities.java  |    10 +-
 .../providers/GlobalProfilerTypeUtilsImpl.java     |     6 +-
 profiler.nbmodule/manifest.mf                      |     2 +-
 profiler.nbmodule/nbproject/project.xml            |    14 +-
 .../NbModuleAntProjectSupportProvider.java         |    35 +-
 .../NbModuleProfilingSettingsSupportProvider.java  |    79 -
 .../NbModuleProjectProfilingSupportProvider.java   |    92 +-
 profiler.options/build.xml                         |    39 +
 profiler.options/manifest.mf                       |     2 +-
 profiler.options/nbproject/project.properties      |    37 +
 profiler.options/nbproject/project.xml             |    51 +-
 .../options/ui/v2/impl/FiltersOptionsPanel.java    |   564 +
 .../options/ui/v2/impl/SnapshotsOptionsPanel.java  |    31 +
 profiler.oql.language/build.xml                    |    39 +
 profiler.oql.language/manifest.mf                  |     2 +-
 profiler.oql.language/nbproject/project.properties |    37 +
 profiler.oql.language/nbproject/project.xml        |    39 +
 .../modules/profiler/oql/language/layer.xml        |    39 +
 profiler.oql/build.xml                             |    39 +
 profiler.oql/manifest.mf                           |     2 +-
 profiler.oql/nbproject/project.properties          |    37 +
 profiler.oql/nbproject/project.xml                 |    51 +-
 .../profiler/oql/engine/api/impl/Snapshot.java     |    43 +-
 .../profiler/oql/engine/api/impl/hat_nashorn.js    |    26 +-
 .../org/netbeans/modules/profiler/oql/layer.xml    |    39 +
 .../oql/repository/permgen/resources/CLHisto.oql   |     2 +-
 .../oql/repository/resources/Bundle.properties     |    37 +
 .../oql/engine/api/impl/OQLEngineTest.java         |     6 +-
 profiler.ppoints/build.xml                         |    39 +
 profiler.ppoints/manifest.mf                       |     2 +-
 profiler.ppoints/nbproject/project.properties      |    37 +
 profiler.ppoints/nbproject/project.xml             |    45 +-
 .../profiler/ppoints/GlobalProfilingPoint.java     |    12 +
 .../ppoints/GlobalProfilingPointsProcessor.java    |    24 +-
 .../modules/profiler/ppoints/ProfilingPoint.java   |   107 +-
 .../profiler/ppoints/ProfilingPointFactory.java    |     7 +-
 .../profiler/ppoints/ProfilingPointsManager.java   |    31 +-
 .../ppoints/ResetResultsProfilingPoint.java        |     2 +-
 .../TimedTakeSnapshotProfilingPointFactory.java    |     3 +-
 .../ppoints/TriggeredGlobalProfilingPoint.java     |     8 +
 .../TriggeredTakeSnapshotProfilingPoint.java       |    11 +
 ...TriggeredTakeSnapshotProfilingPointFactory.java |     5 +-
 .../netbeans/modules/profiler/ppoints/Utils.java   |   182 +-
 .../profiler/ppoints/ui/ProfilingPointsWindow.java |     2 +
 .../ppoints/ui/ProfilingPointsWindowUI.java        |   326 +-
 .../profiler/ppoints/ui/ProjectSelector.java       |   199 +
 .../profiler/ppoints/ui/TriggerCustomizer.java     |    46 +-
 .../profiler/ppoints/ui/WizardPanel1UI.java        |   103 +-
 .../ppoints/ui/resources/loadgenProfilingPoint.xml |     4 -
 .../ui/resources/loadgenProfilingPointD.xml        |     4 -
 .../ui/resources/resetResultsProfilingPoint.xml    |     4 -
 .../ui/resources/resetResultsProfilingPointD.xml   |     4 -
 .../ui/resources/stopwatchProfilingPoint.xml       |     4 -
 .../ui/resources/stopwatchProfilingPointD.xml      |     4 -
 .../ui/resources/takeSnapshotProfilingPoint.xml    |     4 -
 .../ui/resources/takeSnapshotProfilingPointD.xml   |     4 -
 profiler.projectsupport/build.xml                  |    39 +
 profiler.projectsupport/manifest.mf                |     2 +-
 .../nbproject/project.properties                   |    37 +
 profiler.projectsupport/nbproject/project.xml      |    39 +
 .../projectsupport/utilities/ProjectUtilities.java |     9 +-
 .../utilities/ProjectUtilitiesProviderImpl.java    |     4 +-
 profiler.snaptracer/manifest.mf                    |     2 +-
 profiler.snaptracer/nbproject/project.xml          |     2 +-
 .../profiler/snaptracer/impl/PackagesView.java     |   226 -
 .../profiler/snaptracer/impl/TracerController.java |    12 +-
 .../profiler/snaptracer/impl/TracerView.java       |     2 +-
 .../snaptracer/impl/probes/ProbePresenter.java     |    18 +-
 .../snaptracer/impl/swing/CategoryList.java        |   209 -
 .../snaptracer/impl/timeline/ChartPanel.java       |     3 +-
 .../impl/timeline/RowForegroundDecorator.java      |    14 +-
 .../snaptracer/impl/timeline/TimelineChart.java    |     2 +-
 .../impl/timeline/TimelineSelectionManager.java    |    15 +-
 .../snaptracer/impl/timeline/TimelineSupport.java  |    11 +-
 .../impl/timeline/XChartSelectionOverlay.java      |    88 +-
 profiler.utilities/build.xml                       |    39 +
 profiler.utilities/manifest.mf                     |     2 +-
 profiler.utilities/nbproject/project.properties    |    37 +
 profiler.utilities/nbproject/project.xml           |    39 +
 profiler/manifest.mf                               |     2 +-
 profiler/nbproject/project.xml                     |     8 +-
 profiler/release/VERSION.txt                       |     2 +-
 .../netbeans/modules/profiler/LoadedSnapshot.java  |    10 +-
 .../modules/profiler/NetBeansProfiler.java         |    12 +-
 .../modules/profiler/ProfilingMonitor.java         |    55 +-
 .../netbeans/modules/profiler/ResultsManager.java  |    48 +-
 .../modules/profiler/SnapshotInfoPanel.java        |    96 +-
 .../modules/profiler/SnapshotResultsWindow.java    |   197 +-
 .../profiler/actions/CompareSnapshotsAction.java   |     3 +
 .../profiler/actions/LoadSnapshotAction.java       |     2 +-
 .../profiler/impl/icons/IconsProviderImpl.java     |     5 +
 .../netbeans/modules/profiler/impl/icons/add.png   |   Bin 0 -> 404 bytes
 .../modules/profiler/impl/icons/deltaValues.png    |   Bin 556 -> 1485 bytes
 .../netbeans/modules/profiler/impl/icons/down.png  |   Bin 506 -> 451 bytes
 .../netbeans/modules/profiler/impl/icons/edit.png  |   Bin 0 -> 1267 bytes
 .../modules/profiler/impl/icons/remove.png         |   Bin 0 -> 290 bytes
 .../modules/profiler/impl/icons/rename.png         |   Bin 494 -> 628 bytes
 .../modules/profiler/impl/icons/sqlQuery.png       |   Bin 0 -> 1631 bytes
 .../modules/profiler/impl/icons/sqlWindow.png      |   Bin 0 -> 1566 bytes
 .../netbeans/modules/profiler/impl/icons/up.png    |   Bin 479 -> 433 bytes
 .../netbeans/modules/profiler/ui/NBHTMLLabel.java  |     2 +
 .../modules/profiler/v2/ProfilerFeatures.java      |     7 +-
 .../modules/profiler/v2/ProfilerSession.java       |    52 +-
 .../modules/profiler/v2/ProfilerSessions.java      |    24 +-
 .../modules/profiler/v2/ProfilerWindow.java        |    85 +-
 .../modules/profiler/v2/features/LocksFeature.java |     3 +-
 .../profiler/v2/features/MethodsFeature.java       |    24 +-
 .../profiler/v2/features/MethodsFeatureModes.java  |   486 +-
 .../profiler/v2/features/MonitorFeature.java       |     8 +
 .../profiler/v2/features/MonitorFeatureUI.java     |    46 +-
 .../profiler/v2/features/ObjectsFeature.java       |    18 +-
 .../profiler/v2/features/ObjectsFeatureModes.java  |   262 +-
 .../modules/profiler/v2/features/SQLFeature.java   |   525 +
 .../profiler/v2/features/SQLFeatureModes.java      |   314 +
 .../modules/profiler/v2/features/SQLFeatureUI.java |   299 +
 .../modules/profiler/v2/impl/ClassMethodList.java  |    86 +-
 .../profiler/v2/impl/ClassMethodSelector.java      |     6 +
 .../modules/profiler/v2/impl/FeaturesView.java     |    13 +-
 .../modules/profiler/v2/impl/FilterSelector.java   |   324 +
 .../modules/profiler/v2/impl/ProjectsSelector.java |   248 +
 .../profiler/v2/impl/SnapshotsWindowUI.java        |    43 +-
 .../modules/profiler/v2/impl/WelcomePanel.java     |     4 +-
 .../modules/profiler/v2/ui/DropdownButton.java     |   100 +-
 .../modules/profiler/v2/ui/ProjectSelector.java    |     4 +-
 progress.ui/build.xml                              |    39 +
 progress.ui/manifest.mf                            |     2 +-
 progress.ui/nbproject/project.properties           |    38 +
 progress.ui/nbproject/project.xml                  |    39 +
 project.ant.compat8/build.xml                      |    39 +
 project.ant.compat8/manifest.mf                    |     2 +-
 project.ant.compat8/nbproject/project.properties   |    37 +
 project.ant.compat8/nbproject/project.xml          |    39 +
 .../modules/project/ant/compat8/Bundle.properties  |    37 +
 project.ant.ui/manifest.mf                         |     2 +-
 .../org-netbeans-modules-project-ant-ui.sig        |   383 +-
 .../spi/project/support/ant/ui/Bundle.properties   |    37 +
 .../spi/project/support/ant/ui/package.html        |    16 +-
 .../netbeans/modules/project/ant/task/antlib.xml   |    39 +
 project.ant/manifest.mf                            |     2 +-
 .../nbproject/org-netbeans-modules-project-ant.sig |   658 +-
 .../src/org/netbeans/api/project/ant/package.html  |    18 +-
 .../project/ant/ant-project-libraries-1.xsd        |    39 +
 .../src/org/netbeans/spi/project/ant/package.html  |    16 +-
 .../project/support/ant/GlobFileBuiltQuery.java    |    31 +-
 .../spi/project/support/ant/PropertyUtils.java     |     3 +
 .../spi/project/support/ant/SourcesHelper.java     |     9 +-
 .../netbeans/spi/project/support/ant/package.html  |    16 +-
 .../spi/project/support/ant/PropertyUtilsTest.java |     1 +
 .../support/ant/SourcesHelperIssue258004Test.java  |   171 +
 project.indexingbridge/build.xml                   |    39 +
 project.indexingbridge/manifest.mf                 |     2 +-
 .../nbproject/project.properties                   |    37 +
 project.indexingbridge/nbproject/project.xml       |    39 +
 .../project/indexingbridge/Bundle.properties       |    37 +
 .../project/indexingbridge/IndexingBridge.java     |     2 +-
 project.libraries.ui/arch.xml                      |    45 +-
 project.libraries.ui/build.xml                     |    39 +
 project.libraries.ui/manifest.mf                   |     2 +-
 .../org-netbeans-modules-project-libraries-ui.sig  |    30 +-
 project.libraries.ui/nbproject/project.properties  |    37 +
 project.libraries.ui/nbproject/project.xml         |    48 +
 .../api/project/libraries/LibraryChooserGUI.java   |    45 +-
 .../libraries/ui/ProxyLibraryImplementation.java   |     8 +-
 project.libraries/manifest.mf                      |     2 +-
 .../org-netbeans-modules-project-libraries.sig     |   126 +-
 .../netbeans/api/project/libraries/package.html    |    16 +-
 .../Library-declaration-1_0SAXBindings.xml         |    39 +
 .../resources/library-declaration-1_0.dtd          |    39 +
 project.spi.intern.impl/build.xml                  |    39 +
 project.spi.intern.impl/manifest.mf                |     2 +-
 .../nbproject/project.properties                   |    37 +
 project.spi.intern.impl/nbproject/project.xml      |    39 +
 .../project/spi/intern/impl/Bundle.properties      |    37 +
 project.spi.intern/build.xml                       |    39 +
 project.spi.intern/manifest.mf                     |     2 +-
 project.spi.intern/nbproject/project.properties    |    37 +
 project.spi.intern/nbproject/project.xml           |    39 +
 .../modules/project/spi/intern/Bundle.properties   |    37 +
 projectapi.nb/build.xml                            |    39 +
 projectapi.nb/manifest.mf                          |     2 +-
 projectapi.nb/nbproject/project.properties         |    37 +
 projectapi.nb/nbproject/project.xml                |    39 +
 .../modules/projectapi/nb/Bundle.properties        |    37 +
 projectapi/manifest.mf                             |     2 +-
 .../nbproject/org-netbeans-modules-projectapi.sig  |    74 +-
 projectapi/nbproject/project.properties            |     2 +-
 projectapi/nbproject/project.xml                   |     2 +-
 projectapi/src/META-INF/upgrade/ProjectUtils.hint  |    39 +
 .../org/netbeans/api/project/FileOwnerQuery.java   |    17 +-
 .../org/netbeans/api/project/ProjectManager.java   |     9 +
 .../src/org/netbeans/api/project/package.html      |    18 +-
 .../modules/projectapi/auxiliary-configuration.xsd |    39 +
 .../src/org/netbeans/modules/projectapi/layer.xml  |    39 +
 .../spi/project/doc-files/configurations.html      |    39 +
 .../src/org/netbeans/spi/project/package.html      |    16 +-
 projectimport.eclipse.core/manifest.mf             |     2 +-
 projectimport.eclipse.j2se/build.xml               |    39 +
 .../nbproject/project.properties                   |    39 +-
 projectimport.eclipse.j2se/nbproject/project.xml   |    39 +
 .../projectimport/eclipse/j2se/Bundle.properties   |    37 +
 projectimport.eclipse.web/build.xml                |    39 +
 .../nbproject/project.properties                   |    39 +-
 projectimport.eclipse.web/nbproject/project.xml    |    39 +
 .../projectimport/eclipse/web/Bundle.properties    |    37 +
 projectui.buildmenu/nbproject/project.properties   |     2 +-
 projectui/nbproject/project.properties             |     4 +-
 projectui/nbproject/project.xml                    |     1 +
 .../src/org/netbeans/modules/project/ui/Hacks.java |     3 +-
 .../modules/project/ui/NewProjectWizard.java       |    15 +-
 .../netbeans/modules/project/ui/PhysicalView.java  |    43 +-
 .../modules/project/ui/ProjectUtilities.java       |    10 +-
 .../modules/project/ui/ProjectsRootNode.java       |   176 +-
 .../modules/project/ui/TemplatesPanelGUI.java      |     3 +-
 .../project/ui/actions/ActiveConfigAction.java     |    41 +-
 .../project/ui/actions/MainProjectAction.java      |     3 +-
 .../modules/project/ui/actions/NewFile.java        |    27 +-
 .../modules/project/ui/groups/Bundle.properties    |    37 +
 .../modules/project/ui/problems/Bundle.properties  |    37 +
 .../project/ui/resources/ProjectTemplates.html     |    75 +-
 .../modules/project/ui/resources/import.html       |    75 +-
 .../modules/project/ui/resources/projects.settings |    39 +
 .../modules/project/ui/resources/projects.wstcgrp  |    39 +
 .../modules/project/ui/resources/projects.wstcref  |    39 +
 .../project/ui/resources/projectsLogical.settings  |    39 +
 .../project/ui/resources/projectsLogical.wstcgrp   |    39 +
 .../project/ui/resources/projectsLogical.wstcref   |    39 +
 .../modules/project/ui/templatesFolder.html        |    75 +-
 .../modules/project/ui/zip/Bundle.properties       |    37 +
 .../netbeans/modules/project/ui/zip/ImportZIP.java |    33 +-
 .../modules/project/ui/ProjectsRootNodeTest.java   |     6 +-
 .../modules/project/ui/TemplatesPanelGUITest.java  |    29 +-
 projectuiapi.base/apichanges.xml                   |    15 +
 projectuiapi.base/arch.xml                         |     2 +-
 .../org-netbeans-modules-projectuiapi-base.sig     |   321 +
 projectuiapi.base/nbproject/project.properties     |     2 +-
 .../ui/convertor/ProjectConvertorFactory.java      |    70 +-
 .../spi/project/ui/RecommendedTemplates.java       |     2 +-
 .../spi/project/ui/support/ProjectConvertors.java  |   102 +-
 .../project/ui/DelegateToOwnerLookupTest.java      |   244 +
 projectuiapi/arch.xml                              |     2 +-
 .../org-netbeans-modules-projectuiapi.sig          |    81 +-
 projectuiapi/nbproject/project.properties          |     2 +-
 projectuiapi/src/META-INF/upgrade/Templates.hint   |    39 +
 .../modules/project/uiapi/Bundle.properties        |     2 +
 .../DefaultProjectOperationsImplementation.java    |    34 +-
 .../modules/project/uiapi/OpenedProjects.wsgrp     |    39 +
 .../src/org/netbeans/spi/project/ui/package.html   |    18 +-
 .../netbeans/spi/project/ui/support/package.html   |    16 +-
 .../spi/project/ui/templates/support/package.html  |    22 +-
 properties.based.dataobjects/build.xml             |    39 +
 properties.based.dataobjects/manifest.mf           |     2 +-
 .../nbproject/project.properties                   |    37 +
 properties.based.dataobjects/nbproject/project.xml |    39 +
 .../org/netbeans/modules/propdos/Bundle.properties |    37 +
 properties.syntax/manifest.mf                      |     2 +-
 properties/arch.xml                                |    49 +-
 properties/manifest.mf                             |     2 +-
 .../modules/properties/PropertiesOpen.java         |     4 +
 .../netbeans/modules/properties/TemplateHelp.html  |    16 +-
 .../org/netbeans/modules/properties/package.html   |    16 +-
 queries/manifest.mf                                |     2 +-
 queries/nbproject/org-netbeans-modules-queries.sig |     2 +-
 queries/src/org/netbeans/api/queries/package.html  |    18 +-
 queries/src/org/netbeans/spi/queries/package.html  |    16 +-
 .../org-netbeans-modules-refactoring-api.sig       |    21 +-
 refactoring.api/nbproject/project.properties       |    41 +-
 refactoring.api/nbproject/project.xml              |    39 +
 .../src/META-INF/netbeans/translate.names          |    37 +
 .../refactoring/api/resources/find-usages.settings |    39 +
 .../refactoring/api/resources/find-usages.wstcref  |    39 +
 .../modules/refactoring/api/resources/layer.xml    |    13 +-
 .../api/resources/refactoring-preview.settings     |    39 +
 .../api/resources/refactoring-preview.wstcref      |    39 +
 .../modules/refactoring/plugins/CopyFile.java      |    15 +-
 .../modules/refactoring/spi/impl/Bundle.properties |     2 +-
 .../refactoring/spi/impl/ParametersPanel.java      |    33 +-
 .../refactoring/spi/impl/PreviewManager.java       |    11 +-
 .../modules/refactoring/spi/ui/Bundle.properties   |    37 +
 .../org-netbeans-modules-refactoring-java.sig      |     9 +-
 refactoring.java/nbproject/project.properties      |    41 +-
 refactoring.java/nbproject/project.xml             |    43 +-
 .../modules/refactoring/java/RefactoringUtils.java |    20 +-
 .../modules/refactoring/java/WhereUsedElement.java |     2 +-
 .../java/api/InvertBooleanRefactoring.java         |     9 +-
 .../modules/refactoring/java/api/MemberInfo.java   |     3 +
 .../ReplaceConstructorWithFactoryRefactoring.java  |     9 +-
 .../refactoring/java/callhierarchy/Call.java       |     4 +-
 .../java/callhierarchy/CallHierarchyTasks.java     |     9 +-
 .../callhierarchy/CallHierarchyTopComponent.form   |    16 +-
 .../callhierarchy/CallHierarchyTopComponent.java   |     8 +-
 .../java/callhierarchy/CallOccurrence.java         |     6 +-
 .../refactoring/java/plugins/Bundle.properties     |     1 -
 .../java/plugins/ChangeParametersPlugin.java       |    12 +-
 .../java/plugins/ChangeParamsTransformer.java      |    61 +-
 .../java/plugins/CopyClassesRefactoringPlugin.java |     2 +-
 .../plugins/EncapsulateFieldRefactoringPlugin.java |    32 +-
 .../java/plugins/EncapsulateFieldsPlugin.java      |     3 +-
 .../ExtractSuperclassRefactoringPlugin.java        |   124 +-
 .../java/plugins/FindSubtypesVisitor.java          |     2 +-
 .../java/plugins/FindUsagesVisitor.java            |     2 +-
 .../java/plugins/InlineMethodTransformer.java      |    36 +-
 .../java/plugins/InlineRefactoringPlugin.java      |    11 +-
 .../java/plugins/InnerToOuterTransformer.java      |    41 +-
 .../java/plugins/InstantRefactoringPerformer.java  |     6 +-
 .../IntroduceLocalExtensionTransformer.java        |    53 +-
 .../java/plugins/IntroduceParameterPlugin.java     |    46 +-
 .../plugins/InvertBooleanRefactoringPlugin.java    |    11 +-
 .../refactoring/java/plugins/JavaPluginUtils.java  |     6 +
 .../java/plugins/JavaWhereUsedQueryPlugin.java     |   214 +-
 .../java/plugins/MoveClassTransformer.java         |     2 +-
 .../java/plugins/MoveFileRefactoringPlugin.java    |    13 +-
 .../java/plugins/MoveMembersTransformer.java       |    48 +-
 .../refactoring/java/plugins/MoveTransformer.java  |     2 +-
 .../java/plugins/OperatorPrecedence.java           |     2 +-
 .../java/plugins/PullUpTransformer.java            |     4 +-
 .../java/plugins/PushDownTransformer.java          |    15 +-
 .../plugins/RenamePropertyRefactoringPlugin.java   |    92 +-
 .../java/plugins/RenameRefactoringPlugin.java      |     8 +-
 .../java/plugins/RenameTransformer.java            |     7 +-
 .../ReplaceConstructorWithBuilderPlugin.java       |    26 +-
 .../ReplaceConstructorWithFactoryPlugin.java       |    18 +-
 .../refactoring/java/plugins/VarUsageVisitor.java  |     5 +-
 .../refactoring/java/resources/mf-layer.xml        |     4 +-
 .../refactoring/java/ui/ChangeParametersPanel.form |    11 +-
 .../refactoring/java/ui/ChangeParametersPanel.java |    58 +-
 .../refactoring/java/ui/ChangeParametersUI.java    |     2 +-
 .../refactoring/java/ui/ContextAnalyzer.java       |     2 +-
 .../refactoring/java/ui/EncapsulateFieldPanel.java |    33 +-
 .../refactoring/java/ui/EncapsulateFieldUI.java    |   147 +-
 .../refactoring/java/ui/InlineRefactoringUI.java   |    11 +-
 .../java/ui/IntroduceParameterPanel.java           |    25 +-
 .../refactoring/java/ui/InvertBooleanAction.java   |    12 +-
 .../java/ui/InvertBooleanRefactoringPanel.java     |     9 +-
 .../java/ui/InvertBooleanRefactoringUI.java        |    12 +-
 .../java/ui/JavaRefactoringActionsProvider.java    |    23 +-
 .../refactoring/java/ui/JavaRenameProperties.java  |     9 +
 .../refactoring/java/ui/MoveMembersPanel.java      |    40 +-
 .../java/ui/RefactoringActionsProvider.java        |    11 +-
 .../ui/ReplaceConstructorWithBuilderAction.java    |     4 +-
 .../java/ui/ReplaceConstructorWithBuilderUI.java   |     2 +-
 .../ui/ReplaceConstructorWithFactoryAction.java    |    12 +-
 .../ui/ReplaceConstructorWithFactoryPanel.java     |     9 +-
 .../java/ui/ReplaceConstructorWithFactoryUI.java   |    11 +-
 .../modules/refactoring/java/ui/UIUtilities.java   |    14 +
 .../refactoring/java/ui/WhereUsedPanelClass.form   |     4 +-
 .../refactoring/java/ui/WhereUsedPanelClass.java   |     2 +-
 .../refactoring/java/ui/WhereUsedPanelMethod.form  |     4 +-
 .../refactoring/java/ui/WhereUsedPanelMethod.java  |     2 +-
 .../refactoring/java/ui/WhereUsedPanelPackage.form |     4 +-
 .../refactoring/java/ui/WhereUsedPanelPackage.java |     2 +-
 .../java/ui/WhereUsedPanelVariable.form            |     4 +-
 .../java/ui/WhereUsedPanelVariable.java            |     2 +-
 .../refactoring/java/ui/WhereUsedQueryUI.java      |     3 +-
 .../RefactoringTest/nbproject/build-impl.xml       |     2 +-
 .../refactoring/ConvertAnonymousToMemberTest.java  |   126 -
 .../test/refactoring/EncapsulateFieldTest.java     |    42 -
 .../operators/EncapsulateFieldOperator.java        |    40 -
 .../data/SimpleJ2SEApp/nbproject/build-impl.xml    |     2 +-
 .../SimpleJ2SEAppChild/nbproject/build-impl.xml    |     2 +-
 .../java/test/ChangeParametersTest.java            |    86 +
 .../refactoring/java/test/CopyClassTest.java       |     9 +-
 .../refactoring/java/test/FindUsagesPerfTest.java  |     3 +-
 .../modules/refactoring/java/test/InlineTest.java  |    56 +-
 .../refactoring/java/test/InnerToOutterTest.java   |    53 +-
 .../java/test/IntroduceLocalExtensionTest.java     |   119 +-
 .../java/test/IntroduceParameterTest.java          |    39 +
 .../modules/refactoring/java/test/MoveBase.java    |   287 +
 .../refactoring/java/test/MoveBaseTest.java        |   287 -
 .../refactoring/java/test/MoveClassTest.java       |     2 +-
 .../refactoring/java/test/MoveFieldTest.java       |     2 +-
 .../refactoring/java/test/MoveJavaFileTest.java    |     2 +-
 .../refactoring/java/test/MoveMethodTest.java      |     2 +-
 .../modules/refactoring/java/test/RefTestBase.java |     9 +-
 .../refactoring/java/test/RefactoringTestBase.java |     9 +-
 .../modules/refactoring/java/test/RenameTest.java  |    27 +
 .../test/ReplaceConstructorWithBuilderTest.java    |     9 +-
 .../test/ReplaceConstructorWithFactoryTest.java    |     9 +-
 remotefs.versioning.api/build.xml                  |    39 +
 .../nbproject/project.properties                   |    39 +-
 remotefs.versioning.api/nbproject/project.xml      |    39 +
 .../remotefs/versioning/api/Bundle.properties      |    39 +-
 .../modules/remotefs/versioning/api/Scrambler.java |    12 +-
 .../versioning/api/VCSFileProxySupport.java        |    26 +-
 remotefs.versioning/build.xml                      |    39 +
 remotefs.versioning/nbproject/project.properties   |    39 +-
 remotefs.versioning/nbproject/project.xml          |    59 +-
 .../modules/remotefs/versioning/Bundle.properties  |    37 +
 .../RemoteFileSystemConnectionManagerImpl.java     |   178 +-
 .../versioning/impl/RemoteVcsSupportImpl.java      |    12 +-
 .../spi/FilesystemInterceptorProviderImpl.java     |     6 +-
 .../remotefs/versioning/spi/RemoteVCSTCKTest.java  |    14 +-
 sampler/build.xml                                  |    39 +
 sampler/manifest.mf                                |     2 +-
 sampler/nbproject/org-netbeans-modules-sampler.sig |     2 +-
 sampler/nbproject/project.properties               |    37 +
 sampler/nbproject/project.xml                      |    39 +
 .../org/netbeans/modules/sampler/Bundle.properties |    37 +
 schema2beans/manifest.mf                           |     2 +-
 .../schema2beansdev/beangraph/beangraph.xsd        |    39 +
 .../modules/schema2beansdev/metadd/metadd.dtd      |    39 +
 .../netbeans/modules/schema2beansdev/s2bconfig.mdd |    39 +
 .../netbeans/modules/schema2beansdev/s2bconfig.xsd |    39 +
 .../netbeans/modules/schema2beansdev/xmlschema.xsd |    41 +-
 selenium2.java/build.xml                           |    39 +
 selenium2.java/manifest.mf                         |     2 +-
 selenium2.java/nbproject/project.properties        |    37 +
 selenium2.java/nbproject/project.xml               |    39 +
 .../modules/selenium2/java/Bundle.properties       |    37 +
 .../modules/selenium2/java/SeleneseITJava.html     |    39 +-
 selenium2.maven/build.xml                          |    39 +
 selenium2.maven/manifest.mf                        |     2 +-
 selenium2.maven/nbproject/project.properties       |    37 +
 selenium2.maven/nbproject/project.xml              |    39 +
 .../modules/selenium2/maven/Bundle.properties      |    37 +
 selenium2.php/build.xml                            |    39 +
 selenium2.php/manifest.mf                          |     2 +-
 selenium2.php/nbproject/project.properties         |    37 +
 selenium2.php/nbproject/project.xml                |    39 +
 .../modules/selenium2/php/Bundle.properties        |    37 +
 .../modules/selenium2/php/SeleneseTestPHP.html     |    39 +-
 selenium2.server/build.xml                         |    39 +
 selenium2.server/manifest.mf                       |     2 +-
 selenium2.server/nbproject/project.properties      |    37 +
 selenium2.server/nbproject/project.xml             |    39 +
 .../modules/selenium2/server/Bundle.properties     |    37 +
 selenium2.webclient.mocha/build.xml                |    39 +
 selenium2.webclient.mocha/manifest.mf              |     2 +-
 .../nbproject/project.properties                   |    37 +
 selenium2.webclient.mocha/nbproject/project.xml    |    49 +-
 .../release/mocha/netbeans-reporter.js             |    41 +
 .../selenium2/webclient/mocha/MochaRunner.java     |     2 +-
 .../preferences/MochaPreferencesValidator.java     |     2 +-
 .../mocha/wizard/SeleneseMochaTestWebclient.html   |    39 +-
 selenium2.webclient.protractor/build.xml           |    39 +
 selenium2.webclient.protractor/manifest.mf         |     2 +-
 .../nbproject/project.properties                   |    37 +
 .../nbproject/project.xml                          |    49 +-
 .../protractor/jasmine-netbeans-reporter.js        |    40 +
 .../webclient/protractor/Bundle.properties         |    37 +
 .../webclient/protractor/ProtractorRunner.java     |     2 +-
 .../ProtractorPreferencesValidator.java            |     2 +-
 .../wizard/SeleneseJasmineTestWebclient.html       |    39 +-
 selenium2.webclient/build.xml                      |    39 +
 selenium2.webclient/manifest.mf                    |     2 +-
 selenium2.webclient/nbproject/project.properties   |    37 +
 selenium2.webclient/nbproject/project.xml          |    39 +
 .../modules/selenium2/webclient/Bundle.properties  |    37 +
 .../selenium2/webclient/ui/Bundle.properties       |    37 +
 .../webclient/ui/customizer/Bundle.properties      |    46 +-
 selenium2/build.xml                                |    39 +
 selenium2/manifest.mf                              |     2 +-
 selenium2/nbproject/project.properties             |    37 +
 selenium2/nbproject/project.xml                    |    39 +
 .../netbeans/modules/selenium2/Bundle.properties   |    37 +
 .../src/org/netbeans/modules/selenium2/layer.xml   |    39 +
 sendopts/apichanges.xml                            |     8 +-
 sendopts/arch.xml                                  |    30 +-
 sendopts/manifest.mf                               |     2 +-
 .../nbproject/org-netbeans-modules-sendopts.sig    |     2 +-
 .../src/org/netbeans/api/sendopts/package.html     |    39 +
 .../src/org/netbeans/spi/sendopts/package.html     |    43 +-
 server/arch.xml                                    |    51 +-
 server/manifest.mf                                 |     2 +-
 server/nbproject/org-netbeans-modules-server.sig   |     4 +-
 .../netbeans/modules/server/resources/layer.xml    |     4 +-
 .../external/binaries-list                         |     0
 servletapi/manifest.mf                             |     2 +-
 .../external/binaries-list                         |     0
 servletjspapi/nbproject/project.properties         |     2 +-
 settings/apichanges.xml                            |     4 +-
 .../modules/settings/examples/Bundle.properties    |    37 +
 .../examples/resources/JavaCompilerSetting.xml     |    39 +
 .../settings/examples/resources/ProxySettings.xml  |    39 +
 settings/manifest.mf                               |     2 +-
 .../nbproject/org-netbeans-modules-settings.sig    |     2 +-
 .../src/org/netbeans/spi/settings/package.html     |    77 +-
 simple.project.templates/arch.xml                  |    45 +-
 simple.project.templates/build.xml                 |    39 +
 simple.project.templates/manifest.mf               |     2 +-
 .../nbproject/project.properties                   |    37 +
 simple.project.templates/nbproject/project.xml     |    39 +
 .../modules/projecttemplates/Bundle.properties     |    37 +
 slf4j.dummy/build.xml                              |    12 -
 slf4j.dummy/manifest.mf                            |     1 -
 slf4j.dummy/nbproject/project.xml                  |    15 -
 spellchecker.apimodule/arch.xml                    |    45 +-
 spellchecker.apimodule/manifest.mf                 |     2 +-
 spellchecker.apimodule/nbproject/project.xml       |    39 +
 spellchecker.bindings.htmlxml/manifest.mf          |     2 +-
 .../nbproject/project.xml                          |    39 +
 .../bindings/htmlxml/AbstractTokenList.java        |    18 +-
 .../bindings/htmlxml/HtmlXmlTokenListProvider.java |    11 -
 spellchecker.bindings.java/manifest.mf             |     2 +-
 spellchecker.bindings.java/nbproject/project.xml   |    39 +
 spellchecker.bindings.php/build.xml                |    46 +
 spellchecker.bindings.php/manifest.mf              |     6 +
 .../nbproject/project.properties                   |    42 +
 spellchecker.bindings.php/nbproject/project.xml    |   154 +
 .../spellchecker/bindings/php/PHPTokenList.java    |   476 +
 .../bindings/php/PHPTokenListProvider.java         |    65 +
 .../bindings/php/resources/Bundle.properties       |    46 +
 .../spellchecker/bindings/php/resources/layer.xml  |    59 +
 .../bindings/php/PHPTokenListTest.java             |   269 +
 spellchecker.bindings.properties/manifest.mf       |     2 +-
 .../nbproject/project.xml                          |    39 +
 .../bindings/properties/AbstractTokenList.java     |    18 +-
 .../external/binaries-list                         |     0
 spellchecker.dictionary_en/manifest.mf             |     2 +-
 .../nbproject/project.properties                   |    37 +
 spellchecker.dictionary_en/nbproject/project.xml   |    39 +
 .../spellchecker/dictionary_en/Bundle.properties   |    37 +
 spellchecker.kit/manifest.mf                       |     2 +-
 spellchecker.kit/nbproject/project.xml             |    39 +
 spellchecker/nbproject/project.properties          |     2 +-
 spellchecker/nbproject/project.xml                 |    39 +
 .../modules/spellchecker/ComponentPeer.java        |     5 +
 .../options/DictionaryInstallerPanel.java          |     1 -
 .../options/SpellcheckerOptionsPanel.form          |    82 +-
 .../options/SpellcheckerOptionsPanel.java          |    65 +-
 spi.actions/build.xml                              |    39 +
 spi.actions/manifest.mf                            |     2 +-
 spi.actions/nbproject/project.properties           |    37 +
 spi.actions/nbproject/project.xml                  |    39 +
 .../src/org/netbeans/spi/actions/Bundle.properties |    37 +
 spi.debugger.jpda.ui/manifest.mf                   |     2 +-
 spi.debugger.ui/apichanges.xml                     |    20 +
 spi.debugger.ui/manifest.mf                        |     2 +-
 .../nbproject/org-netbeans-spi-debugger-ui.sig     |    87 +-
 spi.debugger.ui/nbproject/project.properties       |     2 +-
 spi.debugger.ui/nbproject/project.xml              |    17 +
 .../org.netbeans.api.debugger.Properties$Reader    |     1 -
 .../modules/debugger/resources/Bundle.properties   |     1 +
 .../debugger/resources/DebuggerExecutor.settings   |    39 +
 .../debugger/resources/DebuggerWindow.settings     |    39 +
 .../resources/DefaultDebuggerType.settings         |    39 +
 .../modules/debugger/resources/WatchPin.xml        |    55 +
 .../modules/debugger/resources/actions/Comment.png |   Bin 0 -> 1203 bytes
 .../resources/components/breakpoints.settings      |    39 +
 .../resources/components/callstack.settings        |    39 +
 .../resources/components/debugging.settings        |    39 +
 .../resources/components/evaluator.settings        |    39 +
 .../debugger/resources/components/locals.settings  |    39 +
 .../debugger/resources/components/results.settings |    39 +
 .../resources/components/sessions.settings         |    39 +
 .../debugger/resources/components/sources.settings |    39 +
 .../debugger/resources/components/threads.settings |    39 +
 .../debugger/resources/components/watches.settings |    39 +
 .../debugger/resources/groups/debugger.wsgrp       |    39 +
 .../resources/groups/debugger/breakpoints.wstcgrp  |    39 +
 .../resources/groups/debugger/callstack.wstcgrp    |    39 +
 .../resources/groups/debugger/evaluator.wstcgrp    |    39 +
 .../resources/groups/debugger/locals.wstcgrp       |    39 +
 .../resources/groups/debugger/results.wstcgrp      |    39 +
 .../resources/groups/debugger/sessions.wstcgrp     |    39 +
 .../resources/groups/debugger/sources.wstcgrp      |    39 +
 .../resources/groups/debugger/threads.wstcgrp      |    39 +
 .../resources/groups/debugger/watches.wstcgrp      |    39 +
 .../modules/debugger/resources/mf-layer.xml        |     1 +
 .../resources/modes/evaluator/evaluator.wstcref    |    39 +
 .../resources/modes/explorer/debugging.wstcref     |    39 +
 .../resources/modes/output/breakpoints.wstcref     |    39 +
 .../resources/modes/output/callstack.wstcref       |    39 +
 .../resources/modes/output/console.wstcref         |    39 +
 .../debugger/resources/modes/output/locals.wstcref |    39 +
 .../resources/modes/output/results.wstcref         |    39 +
 .../resources/modes/output/sessions.wstcref        |    39 +
 .../resources/modes/output/sources.wstcref         |    39 +
 .../resources/modes/output/threads.wstcref         |    39 +
 .../resources/modes/output/watches.wstcref         |    39 +
 .../resources/threadsView/thread_zombie_16.png     |   Bin 0 -> 912 bytes
 .../modules/debugger/ui/PersistenceManager.java    |    16 +-
 .../netbeans/modules/debugger/ui/WatchPanel.java   |    11 +-
 .../modules/debugger/ui/WatchesReader.java         |    82 +-
 .../ui/actions/DebugMainProjectAction.java         |   137 +-
 .../modules/debugger/ui/actions/package.html       |    75 +-
 .../ui/annotations/DebuggerAnnotation.java         |   132 +
 .../ui/annotations/WatchAnnotationProvider.java    |  1029 +
 .../modules/debugger/ui/models/Bundle.properties   |     1 +
 .../debugger/ui/models/ToolTipExpansionFilter.java |    82 +
 .../debugger/ui/models/ToolTipNodeModelFilter.java |   138 +
 .../debugger/ui/models/ToolTipTreeModelFilter.java |    98 +
 .../debugger/ui/models/WatchesActionsProvider.java |    45 +
 .../debugger/ui/models/WatchesTreeModel.java       |    63 +-
 .../modules/debugger/ui/views/ToolTipView.java     |   336 +
 .../ui/views/debugging/DebuggingViewComponent.java |     6 +-
 .../ui/views/debugging/FiltersDescriptor.java      |     2 +-
 .../modules/debugger/ui/views/package.html         |    75 +-
 .../debugger/ui/AbstractExpandToolTipAction.java   |   144 +
 .../spi/debugger/ui/EditorContextDispatcher.java   |     5 -
 .../org/netbeans/spi/debugger/ui/EditorPin.java    |   190 +
 .../spi/debugger/ui/PinWatchUISupport.java         |   433 +
 .../org/netbeans/spi/debugger/ui/ToolTipUI.java    |   214 +
 .../org/netbeans/spi/debugger/ui/ViewFactory.java  |    17 +
 .../src/org/netbeans/spi/debugger/ui/package.html  |    64 +-
 spi.debugger.ui/sub.locale.xml                     |    41 +-
 .../test/apps/src/DebuggerTestApplication.java     |     1 -
 spi.editor.hints.projects/arch.xml                 |    45 +-
 spi.editor.hints.projects/build.xml                |    39 +
 .../nbproject/project.properties                   |    39 +-
 spi.editor.hints.projects/nbproject/project.xml    |    39 +
 .../editor/hints/projects/Bundle.properties        |    37 +
 .../modules/editor/hints/projects/layer.xml        |    39 +
 .../hints/projects/settings/Bundle.properties      |    37 +
 .../spi/editor/hints/projects/Bundle.properties    |     6 +-
 .../hints/projects/support/Bundle.properties       |    15 +-
 .../nbproject/org-netbeans-spi-editor-hints.sig    |    16 +-
 spi.editor.hints/nbproject/project.properties      |     2 +-
 .../modules/editor/hints/AnnotationHolder.java     |     9 +
 .../org/netbeans/modules/editor/hints/HintsUI.java |    24 +-
 .../src/org/netbeans/spi/editor/hints/package.html |    11 +-
 spi.java.hints/apichanges.xml                      |    16 +
 spi.java.hints/arch.xml                            |    45 +-
 spi.java.hints/build.xml                           |    39 +
 .../nbproject/org-netbeans-spi-java-hints.sig      |    13 +-
 spi.java.hints/nbproject/project.properties        |    39 +-
 spi.java.hints/nbproject/project.xml               |    39 +
 .../java/hints/jackpot/spi/PatternConvertor.java   |     9 +-
 .../jackpot/spi/ProjectDependencyUpgrader.java     |     9 +-
 .../hints/providers/code/CodeHintProviderImpl.java |     5 +
 .../java/hints/providers/spi/HintMetadata.java     |    24 +-
 .../modules/java/hints/spiimpl/Bundle.properties   |    37 +
 .../modules/java/hints/spiimpl/Utilities.java      |    19 +-
 .../java/hints/spiimpl/hints/HintsInvoker.java     |    17 +-
 .../ipi/upgrade/ProjectDependencyUpgrader.java     |     9 +-
 .../java/hints/spiimpl/processor/Bundle.properties |    37 +
 .../org/netbeans/spi/java/hints/Bundle.properties  |    37 +
 .../spi/java/hints/ErrorDescriptionFactory.java    |    23 +-
 .../src/org/netbeans/spi/java/hints/Hint.java      |     8 +
 .../netbeans/spi/java/hints/JavaFixUtilities.java  |    23 +-
 spi.navigator/arch.xml                             |    22 +-
 spi.navigator/manifest.mf                          |     2 +-
 .../nbproject/org-netbeans-spi-navigator.sig       |     2 +-
 .../navigator/resources/navigatorTC.wstcgrp        |    39 +
 .../navigator/resources/navigatorTC.wstcref        |    39 +
 .../modules/navigator/resources/navigatorTC.xml    |    41 +-
 spi.palette/arch.xml                               |     6 +-
 spi.palette/manifest.mf                            |     2 +-
 spi.palette/nbproject/org-netbeans-spi-palette.sig |     2 +-
 .../palette/resources/CommonPalette.settings       |    39 +
 .../palette/resources/CommonPalette.wstcgrp        |    39 +
 .../palette/resources/CommonPalette.wstcref        |    39 +
 .../modules/palette/resources/commonpalette.wsgrp  |    39 +
 spi.quicksearch/build.xml                          |    39 +
 spi.quicksearch/manifest.mf                        |     2 +-
 .../nbproject/org-netbeans-spi-quicksearch.sig     |     2 +-
 spi.quicksearch/nbproject/project.properties       |    37 +
 spi.quicksearch/nbproject/project.xml              |    39 +
 .../org/netbeans/spi/quicksearch/Bundle.properties |    37 +
 spi.tasklist/arch.xml                              |     4 +-
 spi.tasklist/build.xml                             |    39 +
 .../nbproject/org-netbeans-spi-tasklist.sig        |     4 +-
 spi.tasklist/nbproject/project.properties          |    39 +-
 spi.tasklist/nbproject/project.xml                 |    39 +
 .../modules/tasklist/trampoline/Bundle.properties  |    37 +
 .../org/netbeans/spi/tasklist/Bundle.properties    |    37 +
 .../src/org/netbeans/spi/tasklist/layer.xml        |    45 +-
 .../src/org/netbeans/spi/tasklist/package.html     |    18 +-
 spi.viewmodel/manifest.mf                          |     2 +-
 .../nbproject/org-netbeans-spi-viewmodel.sig       |    19 +-
 .../modules/viewmodel/DelegatingCellEditor.java    |     9 +-
 .../modules/viewmodel/DelegatingCellRenderer.java  |     7 +-
 .../netbeans/modules/viewmodel/OutlineTable.java   |    16 +-
 .../netbeans/modules/viewmodel/TreeModelRoot.java  |    53 +-
 .../src/org/netbeans/spi/viewmodel/package.html    |    64 +-
 spring.beans/nbproject/project.properties          |     2 +-
 .../spring/beans/catalog/SpringCatalog.java        |    12 +-
 .../beans/completion/completors/Bundle.properties  |    39 +-
 .../modules/spring/beans/jumpto/Bundle.properties  |    37 +
 .../beans/loader/SpringXMLConfigDataNode.java      |    12 +-
 .../spring/beans/resources/newSpringXMLConfig.html |    16 +-
 .../wizards/NewSpringXMLConfigWizardIterator.java  |    12 +-
 .../wizards/SpringXMLConfigNamespacesVisual.java   |    12 +-
 spring.webmvc/manifest.mf                          |     2 +-
 .../spring/webmvc/SpringConfigPanelVisual.java     |    12 +-
 .../spring/webmvc/SpringWebFrameworkProvider.java  |    12 +-
 .../spring/webmvc/SpringWebModuleExtender.java     |    12 +-
 .../modules/spring/webmvc/editor/Bundle.properties |    37 +
 .../webmvc/resources/abstractController.html       |    16 +-
 .../webmvc/resources/simpleFormController.html     |    16 +-
 subversion.remote/build.xml                        |    39 +
 subversion.remote/nbproject/project.properties     |    39 +-
 subversion.remote/nbproject/project.xml            |    39 +
 .../modules/subversion/remote/Annotator.java       |    43 +-
 .../modules/subversion/remote/Bundle.properties    |    37 +
 .../modules/subversion/remote/HistoryProvider.java |     1 +
 .../modules/subversion/remote/SubversionVCS.java   |     8 +-
 .../remote/client/SvnClientExceptionHandler.java   |     4 +
 .../modules/subversion/remote/client/package.html  |    39 +
 .../subversion/remote/config/Bundle.properties     |    37 +
 .../subversion/remote/options/Bundle.properties    |    39 +-
 .../remote/resources/svn_remote_wstcref.xml        |    39 +
 .../remote/resources/svnremoteversioning.xml       |    39 +
 .../remote/ui/actions/ContextAction.java           |     5 +-
 .../subversion/remote/ui/actions/package.html      |    41 +-
 .../subversion/remote/ui/blame/AnnotationBar.java  |    12 +
 .../subversion/remote/ui/blame/BlameAction.java    |     1 +
 .../subversion/remote/ui/browser/Bundle.properties |    41 +-
 .../subversion/remote/ui/commit/CommitAction.java  |     2 +
 .../remote/ui/commit/ConflictResolvedAction.java   |     1 +
 .../subversion/remote/ui/commit/package.html       |    39 +
 .../remote/ui/copy/CreateCopyAction.java           |     4 +
 .../subversion/remote/ui/copy/MergeAction.java     |     4 +
 .../subversion/remote/ui/copy/SwitchToAction.java  |     4 +
 .../subversion/remote/ui/diff/MultiDiffPanel.java  |     1 +
 .../remote/ui/history/SearchCriteriaPanel.java     |     6 +-
 .../remote/ui/properties/SvnProperties.java        |     3 +
 .../ui/status/SvnVersioningTopComponent.java       |    14 +-
 .../subversion/remote/ui/status/package.html       |    39 +
 .../ui/update/RevertModificationsAction.java       |     4 +
 .../subversion/remote/ui/update/UpdateAction.java  |     5 +
 .../remote/ui/update/UpdateToAction.java           |     4 +
 .../ui/wizards/checkoutstep/Bundle.properties      |    41 +-
 .../remote/ui/wizards/importstep/Bundle.properties |    37 +
 .../ui/wizards/repositorystep/Bundle.properties    |    39 +-
 .../ui/wizards/urlpatternstep/Bundle.properties    |    37 +
 .../subversion/remote/util/Bundle.properties       |    37 +
 .../modules/subversion/remote/util/Context.java    |    12 +-
 .../subversion/remote/InterceptorCopyDOTest.java   |     8 +-
 .../subversion/remote/InterceptorCopyFOTest.java   |     2 +-
 .../subversion/remote/InterceptorDeleteTest.java   |     2 +-
 .../subversion/remote/InterceptorMoveDOTest.java   |    10 +-
 .../subversion/remote/InterceptorMoveFOTest.java   |    10 +-
 .../subversion/remote/InterceptorRenameDOTest.java |     4 +-
 .../subversion/remote/InterceptorRenameFOTest.java |     4 +-
 .../remote/RemoteVersioningTestBase.java           |     1 +
 subversion/build.xml                               |    41 +-
 subversion/nbproject/project.properties            |    39 +-
 subversion/nbproject/project.xml                   |    39 +
 .../modules/subversion/SvnModuleConfig.java        |    10 +
 .../subversion/client/SvnClientFactory.java        |     5 +-
 .../modules/subversion/client/package.html         |    39 +
 .../modules/subversion/config/Bundle.properties    |    37 +
 .../modules/subversion/config/Scrambler.java       |    16 +-
 .../modules/subversion/options/Bundle.properties   |    39 +-
 .../modules/subversion/resources/svn_wstcref.xml   |    39 +
 .../modules/subversion/resources/svnversioning.xml |    39 +
 .../modules/subversion/ui/actions/package.html     |    41 +-
 .../modules/subversion/ui/blame/AnnotationBar.java |    11 +-
 .../subversion/ui/browser/Bundle.properties        |    41 +-
 .../modules/subversion/ui/commit/package.html      |    39 +
 .../modules/subversion/ui/diff/DiffAction.java     |     6 +-
 .../modules/subversion/ui/diff/DiffToAction.java   |     4 +-
 .../subversion/ui/history/Bundle.properties        |     2 +-
 .../modules/subversion/ui/status/package.html      |    39 +
 .../subversion/ui/update/UpdateResultNode.java     |     8 +-
 .../ui/wizards/checkoutstep/Bundle.properties      |    41 +-
 .../ui/wizards/importstep/Bundle.properties        |    37 +
 .../ui/wizards/repositorystep/Bundle.properties    |    39 +-
 .../ui/wizards/urlpatternstep/Bundle.properties    |    37 +
 .../modules/subversion/util/Bundle.properties      |    37 +
 .../modules/subversion/AbstractSvnTestCase.java    |    13 +-
 .../subversion/client/AbstractCommandTestCase.java |     5 +-
 .../subversion/client/SvnKitClientTest.java        |    62 +-
 .../subversion/client/commands/AddTestHidden.java  |     4 +-
 .../client/commands/CheckoutTestHidden.java        |     4 +-
 .../client/commands/RelocateTestHidden.java        |     2 +-
 .../client/commands/StatusTestHidden.java          |     3 +-
 .../client/commands/TreeConflictsTestHidden.java   |    10 +-
 swing.customizerlayout/arch.xml                    |    45 +-
 swing.customizerlayout/build.xml                   |    39 +
 swing.customizerlayout/manifest.mf                 |     2 +-
 .../nbproject/project.properties                   |    37 +
 swing.customizerlayout/nbproject/project.xml       |    39 +
 .../org/netbeans/swing/layouts/Bundle.properties   |    37 +
 swing.validation/arch.xml                          |    45 +-
 swing.validation/build.xml                         |    39 +
 .../external/binaries-list                         |     0
 swing.validation/manifest.mf                       |     2 +-
 swing.validation/nbproject/project.properties      |    37 +
 swing.validation/nbproject/project.xml             |    39 +
 .../modules/swing/validation/Bundle.properties     |    37 +
 target.iterator/build.xml                          |    39 +
 target.iterator/manifest.mf                        |     2 +-
 target.iterator/nbproject/project.properties       |    37 +
 target.iterator/nbproject/project.xml              |    39 +
 .../modules/target/iterator/Bundle.properties      |    37 +
 tasklist.kit/build.xml                             |    39 +
 tasklist.kit/manifest.mf                           |     2 +-
 tasklist.kit/nbproject/project.properties          |    37 +
 tasklist.kit/nbproject/project.xml                 |    39 +
 .../modules/tasklist/kit/Bundle.properties         |    37 +
 tasklist.projectint/build.xml                      |    39 +
 tasklist.projectint/manifest.mf                    |     2 +-
 tasklist.projectint/nbproject/project.properties   |    37 +
 tasklist.projectint/nbproject/project.xml          |    39 +
 .../modules/tasklist/projectint/Bundle.properties  |    37 +
 .../netbeans/modules/tasklist/projectint/layer.xml |    39 +
 tasklist.todo/build.xml                            |    39 +
 tasklist.todo/nbproject/project.properties         |    41 +-
 tasklist.todo/nbproject/project.xml                |    39 +
 .../modules/tasklist/todo/Bundle.properties        |    37 +
 .../org/netbeans/modules/tasklist/todo/layer.xml   |    45 +-
 .../tasklist/todo/settings/Bundle.properties       |    37 +
 tasklist.ui/build.xml                              |    39 +
 tasklist.ui/nbproject/project.properties           |    39 +-
 tasklist.ui/nbproject/project.xml                  |    39 +
 .../modules/tasklist/impl/Bundle.properties        |    37 +
 .../netbeans/modules/tasklist/ui/Bundle.properties |    37 +
 .../src/org/netbeans/modules/tasklist/ui/layer.xml |    39 +
 .../tasklist/ui/resources/Bundle.properties        |    37 +
 .../modules/tasklist/ui/resources/TaskList.wsgrp   |    39 +
 .../ui/resources/TaskListTopComponent.wstcgrp      |    39 +
 .../ui/resources/TaskListTopComponentSettings.xml  |    39 +
 .../ui/resources/TaskListTopComponentWstcref.xml   |    39 +
 team.commons/build.xml                             |    39 +
 team.commons/manifest.mf                           |     2 +-
 team.commons/nbproject/project.properties          |    39 +-
 team.commons/nbproject/project.xml                 |    39 +
 .../bugtracking/commons/AttachmentsPanel.java      |    27 +-
 .../commons/CollapsibleSectionPanel.java           |    37 +-
 .../modules/bugtracking/commons/LinkButton.java    |    80 +-
 .../modules/team/commons/Bundle.properties         |    37 +
 .../org/netbeans/modules/team/commons/layer.xml    |    39 +
 .../team/commons/treelist/Bundle.properties        |    37 +
 team.ide/build.xml                                 |    39 +
 team.ide/manifest.mf                               |     2 +-
 team.ide/nbproject/project.properties              |    37 +
 team.ide/nbproject/project.xml                     |    39 +
 .../netbeans/modules/team/ide/IDEServicesImpl.java |    38 +-
 templates/manifest.mf                              |     2 +-
 .../modules/templates/actions/TemplatesAction.java |     2 +-
 .../modules/templates/resources/templatesFile.html |    75 +-
 .../templates/resources/templatesFolder.html       |    75 +-
 templatesui/build.xml                              |    39 +
 templatesui/manifest.mf                            |     2 +-
 templatesui/nbproject/project.properties           |    37 +
 templatesui/nbproject/project.xml                  |    39 +
 .../modules/templatesui/AbstractWizard.java        |    11 +-
 .../netbeans/modules/templatesui/Bundle.properties |    37 +
 .../modules/templatesui/HTMLJavaTemplateTest.java  |     9 +
 .../modules/templatesui/HTMLTemplateTest.java      |    37 +-
 .../org/netbeans/modules/templatesui/RunTCK.java   |     9 +
 .../unit/src/org/netbeans/modules/templatesui/x.js |    40 +
 terminal.nb/build.xml                              |    44 +
 terminal.nb/manifest.mf                            |     7 +
 terminal.nb/nbproject/project.properties           |    39 +
 terminal.nb/nbproject/project.xml                  |   220 +
 .../netbeans/modules/terminal/api/ui/IOTerm.java   |    77 +
 .../modules/terminal/api/ui/IOTermSupport.java     |    74 +
 .../modules/terminal/api/ui/IOTopComponent.java    |    65 +
 .../modules/terminal/api/ui/IOVisibility.java      |   129 +
 .../terminal/api/ui/IOVisibilityControl.java       |   134 +
 .../modules/terminal/api/ui/TerminalContainer.java |   140 +
 .../modules/terminal/iocontainer/Bundle.properties |     0
 .../iocontainer/TerminalContainerCommon.java       |   568 +
 .../iocontainer/TerminalContainerMuxable.java      |   175 +
 .../iocontainer/TerminalContainerTabbed.java       |   340 +
 .../modules/terminal/ioprovider/Bundle.properties  |    56 +
 .../modules/terminal/ioprovider/Catalog.java       |     0
 .../netbeans/modules/terminal/ioprovider/Task.java |   539 +
 .../modules/terminal/ioprovider/Terminal.java      |  1405 +
 .../terminal/ioprovider/TerminalIOProvider.java    |     0
 .../terminal/ioprovider/TerminalInputOutput.java   |   834 +
 .../netbeans/modules/terminal/nb/Bundle.properties |   148 +
 .../org/netbeans/modules/terminal/nb/PinPanel.form |   191 +
 .../org/netbeans/modules/terminal/nb/PinPanel.java |   264 +
 .../modules/terminal/nb/TermAdvancedOption.java    |   161 +
 .../modules/terminal/nb/TermOptionsPanel.form      |   376 +
 .../modules/terminal/nb/TermOptionsPanel.java      |   680 +
 .../terminal/nb/TerminalPinnedTabOptions.java      |   160 +
 .../modules/terminal/nb/actions/ActionFactory.java |    72 +
 .../modules/terminal/nb/actions/Bundle.properties  |    64 +
 .../modules/terminal/nb/actions/ClearAction.java   |    93 +
 .../modules/terminal/nb/actions/CloseAction.java   |    90 +
 .../modules/terminal/nb/actions/CopyAction.java    |    88 +
 .../terminal/nb/actions/DumpSequencesAction.java   |   113 +
 .../modules/terminal/nb/actions/FindAction.java    |    91 +
 .../terminal/nb/actions/LargerFontAction.java      |    81 +
 .../modules/terminal/nb/actions/NewTabAction.java  |    76 +
 .../modules/terminal/nb/actions/PasteAction.java   |    88 +
 .../modules/terminal/nb/actions/PinTabAction.java  |   185 +
 .../terminal/nb/actions/SetTitleAction.java        |    96 +
 .../terminal/nb/actions/SmallerFontAction.java     |    82 +
 .../terminal/nb/actions/SwitchTabAction.java       |   118 +
 .../terminal/nb/actions/TerminalAction.java        |   112 +
 .../modules/terminal/nb/actions/WrapAction.java    |   115 +
 .../org/netbeans/modules/terminal/nb}/layer.xml    |     0
 .../terminal/nb/resources/Bundle.properties        |    38 +
 .../spi/ui/ExternalCommandActionProvider.java      |    83 +
 .../terminal/support/OpenInEditorAction.java       |   132 +
 .../terminal/support/TerminalPinSupport.java       |   304 +
 .../org/netbeans/modules/terminal/support/pin.png  |   Bin
 .../netbeans/modules/terminal/T1_Close_Test.java   |   363 +
 .../modules/terminal/T2_CloseVeto_Test.java        |   231 +
 .../modules/terminal/T3_HardClose_Test.java        |   255 +
 .../modules/terminal/T4_Attribute_Test.java        |   189 +
 .../modules/terminal/T5_MTStress_Test.java         |     0
 .../org/netbeans/modules/terminal/TestSupport.java |   310 +
 .../src/org/netbeans/modules/terminal/sunsky.png   |   Bin
 terminal/arch.xml                                  |    45 +-
 terminal/build.xml                                 |    39 +
 terminal/manifest.mf                               |     3 +-
 terminal/nbproject/project.properties              |    37 +
 terminal/nbproject/project.xml                     |   148 +-
 .../netbeans/modules/terminal/Bundle.properties    |    45 +-
 .../org/netbeans/modules/terminal/PinPanel.form    |   177 -
 .../org/netbeans/modules/terminal/PinPanel.java    |   214 -
 .../modules/terminal/TermAdvancedOption.java       |   161 -
 .../modules/terminal/TermOptionsPanel.form         |   368 -
 .../modules/terminal/TermOptionsPanel.java         |   662 -
 .../modules/terminal/TerminalPinnedTabOptions.java |   160 -
 .../modules/terminal/actions/ActionFactory.java    |    70 -
 .../modules/terminal/actions/Bundle.properties     |    62 -
 .../modules/terminal/actions/ClearAction.java      |    90 -
 .../modules/terminal/actions/CloseAction.java      |    90 -
 .../modules/terminal/actions/CopyAction.java       |    88 -
 .../terminal/actions/DumpSequencesAction.java      |   113 -
 .../modules/terminal/actions/FindAction.java       |   102 -
 .../modules/terminal/actions/LargerFontAction.java |    81 -
 .../modules/terminal/actions/PasteAction.java      |    88 -
 .../modules/terminal/actions/PinTabAction.java     |   169 -
 .../modules/terminal/actions/SetTitleAction.java   |    95 -
 .../terminal/actions/SmallerFontAction.java        |    82 -
 .../modules/terminal/actions/TerminalAction.java   |   110 -
 .../modules/terminal/actions/WrapAction.java       |   115 -
 .../org/netbeans/modules/terminal/api/IOTerm.java  |    71 +-
 .../modules/terminal/api/IOTopComponent.java       |    65 -
 .../modules/terminal/api/IOVisibility.java         |   129 -
 .../modules/terminal/api/IOVisibilityControl.java  |   134 -
 .../modules/terminal/api/TerminalContainer.java    |   125 -
 .../org/netbeans/modules/terminal/api/package.html |    16 +-
 .../iocontainer/TerminalContainerCommon.java       |   553 -
 .../iocontainer/TerminalContainerMuxable.java      |   166 -
 .../iocontainer/TerminalContainerTabbed.java       |   322 -
 .../modules/terminal/ioprovider/Bundle.properties  |    19 -
 .../netbeans/modules/terminal/ioprovider/Task.java |   523 -
 .../modules/terminal/ioprovider/Terminal.java      |  1335 -
 .../terminal/ioprovider/TerminalInputOutput.java   |   794 -
 .../terminal/support/TerminalPinSupport.java       |   304 -
 .../netbeans/modules/terminal/T1_Close_Test.java   |   362 -
 .../modules/terminal/T2_CloseVeto_Test.java        |   231 -
 .../modules/terminal/T3_HardClose_Test.java        |   255 -
 .../modules/terminal/T4_Attribute_Test.java        |   189 -
 .../org/netbeans/modules/terminal/TestSupport.java |   307 -
 testng.ant/build.xml                               |    58 +-
 testng.ant/manifest.mf                             |     2 +-
 testng.ant/nbproject/project.xml                   |    58 +-
 .../modules/testng/ant/AntSessionInfo.java         |     4 +-
 .../modules/testng/ant/AntTestNGSupport.java       |     4 +-
 .../netbeans/modules/testng/ant/RegexpUtils.java   |     4 +-
 .../modules/testng/ant/TestNGAntLogger.java        |     4 +-
 .../modules/testng/ant/TestNGExecutionManager.java |     4 +-
 .../modules/testng/ant/TestNGOutputReader.java     |     4 +-
 .../modules/testng/ant/TestNGTestSession.java      |     4 +-
 .../netbeans/modules/testng/ant/testng-build.xml   |     4 +-
 .../modules/testng/ant/RegexpUtilsTest.java        |     4 +-
 .../modules/testng/ant/impl/ProjectImpl.java       |     4 +-
 testng.maven/build.xml                             |     4 +-
 testng.maven/manifest.mf                           |     2 +-
 testng.maven/nbproject/project.xml                 |     4 +-
 .../modules/testng/maven/Bundle.properties         |     4 +-
 .../modules/testng/maven/MavenTestNGSupport.java   |     4 +-
 .../testng/maven/TestNGActionsProvider.java        |     4 +-
 .../modules/testng/maven/testngActionMappings.xml  |     4 +-
 testng.ui/build.xml                                |    39 +
 testng.ui/manifest.mf                              |     2 +-
 testng.ui/nbproject/project.properties             |    37 +
 testng.ui/nbproject/project.xml                    |    39 +
 .../netbeans/modules/testng/ui/Bundle.properties   |    37 +
 .../modules/testng/ui/CallstackFrameNode.java      |     4 +-
 .../org/netbeans/modules/testng/ui/JumpAction.java |     4 +-
 .../modules/testng/ui/TestMethodNodeAction.java    |     8 +-
 .../modules/testng/ui/TestNGMethodNode.java        |     4 +-
 .../modules/testng/ui/TestNGNodeOpener.java        |     4 +-
 .../modules/testng/ui/TestNGSuiteNode.java         |     4 +-
 .../modules/testng/ui/TestNGTestNodeFactory.java   |     4 +-
 .../testng/ui/actions/DebugTestClassAction.java    |     4 +-
 .../testng/ui/actions/DebugTestMethodAction.java   |     4 +-
 .../testng/ui/actions/RerunFailedTestsAction.java  |     4 +-
 .../testng/ui/actions/RunTestMethodAction.java     |     4 +-
 .../testng/ui/actions/TestClassInfoTask.java       |     8 +-
 .../testng/ui/resources/testng-suite-resolver.xml  |    39 +-
 .../modules/testng/ui/wizards/Bundle.properties    |     4 +-
 .../testng/ui/wizards/NewTestWizardIterator.java   |     4 +-
 .../testng/ui/actions/RetoucheTestBase.java        |     4 +-
 .../testng/ui/actions/RunTestMethodActionTest.java |     4 +-
 .../modules/testng/ui/actions/TestActionT.java     |     4 +-
 .../testng/ui/actions/TestClassInfoTaskTest.java   |     4 +-
 .../modules/testng/ui/impl/ProjectImpl.java        |     4 +-
 .../modules/testng/ui/impl/TestNGImpl.java         |     4 +-
 testng/build.xml                                   |     4 +-
 testng/manifest.mf                                 |     2 +-
 testng/nbproject/project.properties                |     4 +-
 testng/nbproject/project.xml                       |     4 +-
 .../org/netbeans/modules/testng/Bundle.properties  |     4 +-
 .../modules/testng/TestConfigAccessor.java         |     4 +-
 .../netbeans/modules/testng/api/TestNGSupport.java |     4 +-
 .../netbeans/modules/testng/api/TestNGTest.java    |     4 +-
 .../modules/testng/api/TestNGTestSuite.java        |     4 +-
 .../modules/testng/api/TestNGTestcase.java         |     4 +-
 .../modules/testng/api/XmlOutputParser.java        |     4 +-
 .../org/netbeans/modules/testng/api/XmlResult.java |     4 +-
 .../netbeans/modules/testng/resources/layer.xml    |     4 +-
 .../netbeans/modules/testng/resources/testng.xml   |     4 +-
 .../netbeans/modules/testng/spi/TestConfig.java    |     4 +-
 .../testng/spi/TestNGSupportImplementation.java    |     4 +-
 .../modules/testng/spi/XMLSuiteSupport.java        |     8 +-
 .../modules/testng/api/XmlOutputParserTest.java    |     4 +-
 tomcat5/manifest.mf                                |     2 +-
 .../netbeans/modules/tomcat5/TomcatFactory.java    |    28 +-
 .../tomcat5/config/TomcatModuleConfiguration.java  |     2 +-
 .../config/TomcatModuleConfigurationFactory.java   |     2 +-
 .../tomcat5/customizer/CustomizerDataSupport.java  |     2 +-
 .../modules/tomcat5/deploy/TomcatManager.java      |    18 +-
 .../modules/tomcat5/deploy/TomcatManagerImpl.java  |     2 +-
 .../modules/tomcat5/j2ee/TomcatPlatformImpl.java   |    27 +-
 .../modules/tomcat5/optional/StartTomcat.java      |     2 +-
 .../registration/AutomaticRegistration.java        |     4 +
 .../tomcat5/resources/tomcat-ant-deploy.xml        |    41 +-
 .../tomcat5/resources/tomcat-ant-deploy60.xml      |    41 +-
 .../tomcat5/resources/tomcat-ant-deploy70.xml      |    41 +-
 .../modules/tomcat5/resources/tomcat5_context.mdd  |    39 +
 .../modules/tomcat5/resources/tomcat5_server.mdd   |    39 +
 .../modules/tomcat5/resources/tomee_resources.mdd  |    41 +-
 .../ui/nodes/TomcatWebModuleChildrenFactory.java   |     2 +-
 .../tomcat5/ui/wizard/InstallPanelVisual.java      |     7 +-
 .../modules/tomcat5/util/TomcatProperties.java     |     4 +
 .../netbeans/modules/tomcat5/util/TomcatUsers.java |     6 +-
 .../org/netbeans/modules/tomcat5/util/Utils.java   |    17 +-
 uihandler.exceptionreporter/build.xml              |    39 +
 uihandler.exceptionreporter/manifest.mf            |     2 +-
 .../nbproject/project.properties                   |    37 +
 uihandler.exceptionreporter/nbproject/project.xml  |    39 +
 .../uihandler/exceptionreporter/Bundle.properties  |    37 +
 uihandler/arch.xml                                 |     2 +-
 uihandler/manifest.mf                              |     2 +-
 .../nbproject/org-netbeans-modules-uihandler.sig   |     2 +-
 .../org/netbeans/modules/uihandler/Connecting.html |    39 +
 .../org/netbeans/modules/uihandler/Installer.java  |     6 +-
 .../ReporterResultTopComponentSettings.xml         |    39 +-
 .../ReporterResultTopComponentWstcref.xml          |    39 +-
 .../netbeans/modules/uihandler/SAXException.html   |    39 +
 .../modules/uihandler/UnknownHostException.html    |    43 +-
 .../modules/uihandler/api/doc-files/ui.html        |    43 +-
 .../src/org/netbeans/modules/uihandler/layer.xml   |    39 +
 .../src/org/netbeans/modules/uihandler/error.html  |    41 +-
 .../org/netbeans/modules/uihandler/error_ja.html   |    45 +-
 .../org/netbeans/modules/uihandler/index_ja.html   |    43 +-
 .../modules/uihandler/parsing_with_suffix.html     |    39 +
 updatecenters/manifest.mf                          |     2 +-
 .../updatecenters/resources/Bundle.properties      |    10 +-
 .../modules/updatecenters/resources/mf-layer.xml   |    14 +-
 .../netbeans/modules/usersguide/f1_css_editor.htm  |     4 +-
 .../modules/usersguide/f1_css_editor001.htm        |    14 +-
 .../modules/usersguide/f1_css_editor002.htm        |     6 +-
 .../modules/usersguide/f1_css_editor003.htm        |     6 +-
 .../modules/usersguide/f1_css_editor004.htm        |     6 +-
 .../modules/usersguide/f1_css_editor005.htm        |     6 +-
 .../modules/usersguide/f1_css_editor006.htm        |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs.htm     |     4 +-
 .../org/netbeans/modules/usersguide/f1_cvs001.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs002.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs003.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs004.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs005.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs006.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs007.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs008.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs009.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs010.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs011.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs012.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs013.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs014.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs015.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs016.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs017.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs018.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs019.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_cvs020.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_database.htm    |     6 +-
 .../netbeans/modules/usersguide/f1_database001.htm |    12 +-
 .../netbeans/modules/usersguide/f1_database002.htm |     6 +-
 .../netbeans/modules/usersguide/f1_database003.htm |    10 +-
 .../netbeans/modules/usersguide/f1_database004.htm |     6 +-
 .../netbeans/modules/usersguide/f1_database005.htm |     8 +-
 .../netbeans/modules/usersguide/f1_database006.htm |     8 +-
 .../netbeans/modules/usersguide/f1_database007.htm |     8 +-
 .../netbeans/modules/usersguide/f1_database008.htm |     8 +-
 .../netbeans/modules/usersguide/f1_database009.htm |     8 +-
 .../netbeans/modules/usersguide/f1_database010.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_git.htm     |     4 +-
 .../org/netbeans/modules/usersguide/f1_git001.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git002.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git003.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git004.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git005.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git006.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git007.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git008.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git009.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git010.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git011.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git012.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git013.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git014.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git015.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git016.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git017.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git018.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git019.htm  |     4 +-
 .../org/netbeans/modules/usersguide/f1_git020.htm  |     4 +-
 .../org/netbeans/modules/usersguide/f1_git021.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git022.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git023.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git024.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git025.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git026.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git027.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git028.htm  |     4 +-
 .../org/netbeans/modules/usersguide/f1_git029.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git030.htm  |     4 +-
 .../org/netbeans/modules/usersguide/f1_git031.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git032.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_git033.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_html.htm    |     6 +-
 .../org/netbeans/modules/usersguide/f1_html001.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html002.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html003.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html004.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html005.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html006.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html007.htm |    10 +-
 .../org/netbeans/modules/usersguide/f1_html008.htm |    10 +-
 .../org/netbeans/modules/usersguide/f1_html009.htm |    10 +-
 .../org/netbeans/modules/usersguide/f1_html010.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html011.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html012.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html013.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html014.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html015.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html016.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html017.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html018.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html019.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_html020.htm |    46 +-
 .../org/netbeans/modules/usersguide/f1_html021.htm |    83 +-
 .../org/netbeans/modules/usersguide/f1_html022.htm |    66 +-
 .../org/netbeans/modules/usersguide/f1_html023.htm |    32 +-
 .../org/netbeans/modules/usersguide/f1_html024.htm |    30 +-
 .../org/netbeans/modules/usersguide/f1_html025.htm |    32 +-
 .../org/netbeans/modules/usersguide/f1_html026.htm |    45 +-
 .../org/netbeans/modules/usersguide/f1_html027.htm |    53 +-
 .../org/netbeans/modules/usersguide/f1_html028.htm |    34 +-
 .../org/netbeans/modules/usersguide/f1_html029.htm |    37 +-
 .../org/netbeans/modules/usersguide/f1_html030.htm |    83 +
 .../org/netbeans/modules/usersguide/f1_html031.htm |    77 +
 .../netbeans/modules/usersguide/f1_java_debug.htm  |     4 +-
 .../modules/usersguide/f1_java_debug001.htm        |     4 +-
 .../modules/usersguide/f1_java_debug002.htm        |    12 +-
 .../modules/usersguide/f1_java_debug003.htm        |    14 +-
 .../modules/usersguide/f1_java_debug004.htm        |    14 +-
 .../modules/usersguide/f1_java_debug005.htm        |    14 +-
 .../modules/usersguide/f1_java_debug006.htm        |    12 +-
 .../modules/usersguide/f1_java_debug007.htm        |    14 +-
 .../modules/usersguide/f1_java_debug008.htm        |    10 +-
 .../modules/usersguide/f1_java_debug009.htm        |    10 +-
 .../modules/usersguide/f1_java_debug010.htm        |    10 +-
 .../modules/usersguide/f1_java_debug011.htm        |     6 +-
 .../modules/usersguide/f1_java_debug012.htm        |     6 +-
 .../modules/usersguide/f1_java_debug013.htm        |     6 +-
 .../modules/usersguide/f1_java_debug014.htm        |     8 +-
 .../modules/usersguide/f1_java_debug015.htm        |     4 +-
 .../modules/usersguide/f1_java_debug016.htm        |     6 +-
 .../modules/usersguide/f1_java_debug017.htm        |    10 +-
 .../modules/usersguide/f1_java_debug018.htm        |     8 +-
 .../modules/usersguide/f1_java_debug019.htm        |    12 +-
 .../modules/usersguide/f1_java_debug020.htm        |    14 +-
 .../modules/usersguide/f1_java_debug021.htm        |    12 +-
 .../modules/usersguide/f1_java_debug022.htm        |    10 +-
 .../modules/usersguide/f1_java_debug023.htm        |     8 +-
 .../modules/usersguide/f1_java_debug024.htm        |     6 +-
 .../netbeans/modules/usersguide/f1_java_edit.htm   |     2 +-
 .../modules/usersguide/f1_java_edit001.htm         |     8 +-
 .../modules/usersguide/f1_java_edit002.htm         |     8 +-
 .../org/netbeans/modules/usersguide/f1_java_ee.htm |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee001.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee002.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_ee003.htm  |    20 +-
 .../netbeans/modules/usersguide/f1_java_ee004.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee005.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee006.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee007.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee008.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee009.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee010.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee011.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_ee012.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee013.htm  |    14 +-
 .../netbeans/modules/usersguide/f1_java_ee014.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee015.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee016.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee017.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee018.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_ee019.htm  |    14 +-
 .../netbeans/modules/usersguide/f1_java_ee020.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee021.htm  |    14 +-
 .../netbeans/modules/usersguide/f1_java_ee022.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee023.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee024.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee025.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee026.htm  |    16 +-
 .../netbeans/modules/usersguide/f1_java_ee027.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee028.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee029.htm  |    20 +-
 .../netbeans/modules/usersguide/f1_java_ee030.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee031.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee032.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee033.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee034.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_ee035.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee036.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee037.htm  |    16 +-
 .../netbeans/modules/usersguide/f1_java_ee038.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee039.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee040.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee041.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee042.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_ee043.htm  |    14 +-
 .../netbeans/modules/usersguide/f1_java_ee044.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee045.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee046.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee047.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee048.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_ee049.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee050.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee051.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee052.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee053.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_ee054.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_ee055.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_ee056.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee057.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee058.htm  |    16 +-
 .../netbeans/modules/usersguide/f1_java_ee059.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee060.htm  |    14 +-
 .../netbeans/modules/usersguide/f1_java_ee061.htm  |    14 +-
 .../netbeans/modules/usersguide/f1_java_ee062.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_ee063.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_ee064.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee065.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee066.htm  |    22 +-
 .../netbeans/modules/usersguide/f1_java_ee067.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_ee068.htm  |    16 +-
 .../netbeans/modules/usersguide/f1_java_ee069.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee070.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee071.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee072.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee073.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee074.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee075.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee076.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee077.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee078.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee079.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee080.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee081.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee082.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee083.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee084.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee085.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee086.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee087.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee088.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee089.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee090.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee091.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee092.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee093.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee094.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee095.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee096.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee097.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee098.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee099.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee100.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee101.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee102.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee103.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee104.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee105.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee106.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee107.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee108.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee109.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee110.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee111.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_ee112.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_ee113.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_ee114.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_gui.htm    |     2 +-
 .../netbeans/modules/usersguide/f1_java_gui001.htm |     8 +-
 .../netbeans/modules/usersguide/f1_java_gui002.htm |    18 +-
 .../netbeans/modules/usersguide/f1_java_gui003.htm |    14 +-
 .../netbeans/modules/usersguide/f1_java_gui004.htm |     6 +-
 .../netbeans/modules/usersguide/f1_java_gui005.htm |    10 +-
 .../netbeans/modules/usersguide/f1_java_gui006.htm |     6 +-
 .../netbeans/modules/usersguide/f1_java_gui007.htm |     6 +-
 .../netbeans/modules/usersguide/f1_java_gui008.htm |    10 +-
 .../netbeans/modules/usersguide/f1_java_gui009.htm |     6 +-
 .../netbeans/modules/usersguide/f1_java_gui010.htm |     6 +-
 .../netbeans/modules/usersguide/f1_java_gui011.htm |     6 +-
 .../netbeans/modules/usersguide/f1_java_gui012.htm |    12 +-
 .../netbeans/modules/usersguide/f1_java_gui013.htm |     6 +-
 .../netbeans/modules/usersguide/f1_java_gui014.htm |     6 +-
 .../netbeans/modules/usersguide/f1_java_gui015.htm |     6 +-
 .../netbeans/modules/usersguide/f1_java_gui016.htm |     8 +-
 .../netbeans/modules/usersguide/f1_java_gui017.htm |    12 +-
 .../netbeans/modules/usersguide/f1_java_gui018.htm |    10 +-
 .../netbeans/modules/usersguide/f1_java_gui019.htm |     8 +-
 .../netbeans/modules/usersguide/f1_java_gui020.htm |     8 +-
 .../netbeans/modules/usersguide/f1_java_gui021.htm |     8 +-
 .../netbeans/modules/usersguide/f1_java_gui022.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_java_me.htm |     4 +-
 .../netbeans/modules/usersguide/f1_java_me001.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_me002.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me003.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_me004.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me005.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me006.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me007.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me008.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me009.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me010.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_me011.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_me012.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me013.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me014.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me015.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me016.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me017.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_me018.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_me019.htm  |    12 +-
 .../netbeans/modules/usersguide/f1_java_me020.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_me021.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_me022.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me023.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me024.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me025.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_me026.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_java_me027.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_me028.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me029.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_java_me030.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_java_me031.htm  |     8 +-
 .../modules/usersguide/f1_java_project.htm         |     2 +-
 .../modules/usersguide/f1_java_project001.htm      |    10 +-
 .../modules/usersguide/f1_java_project002.htm      |    10 +-
 .../modules/usersguide/f1_java_project003.htm      |     6 +-
 .../modules/usersguide/f1_java_project004.htm      |     8 +-
 .../modules/usersguide/f1_java_project005.htm      |     6 +-
 .../modules/usersguide/f1_java_project006.htm      |     8 +-
 .../modules/usersguide/f1_java_project007.htm      |    10 +-
 .../modules/usersguide/f1_java_project008.htm      |    12 +-
 .../modules/usersguide/f1_java_project009.htm      |    14 +-
 .../modules/usersguide/f1_java_project010.htm      |     8 +-
 .../modules/usersguide/f1_java_project011.htm      |     8 +-
 .../modules/usersguide/f1_java_project012.htm      |    18 +-
 .../modules/usersguide/f1_java_project013.htm      |    12 +-
 .../modules/usersguide/f1_java_project014.htm      |     8 +-
 .../modules/usersguide/f1_java_project015.htm      |     6 +-
 .../modules/usersguide/f1_java_project016.htm      |     8 +-
 .../modules/usersguide/f1_java_project017.htm      |     8 +-
 .../modules/usersguide/f1_java_project018.htm      |    16 +-
 .../modules/usersguide/f1_java_project019.htm      |    12 +-
 .../modules/usersguide/f1_java_project020.htm      |    12 +-
 .../modules/usersguide/f1_java_project021.htm      |    18 +-
 .../modules/usersguide/f1_java_project022.htm      |    10 +-
 .../modules/usersguide/f1_java_project023.htm      |    12 +-
 .../modules/usersguide/f1_java_project024.htm      |    10 +-
 .../modules/usersguide/f1_java_project025.htm      |    12 +-
 .../modules/usersguide/f1_java_project026.htm      |    10 +-
 .../modules/usersguide/f1_java_project027.htm      |     8 +-
 .../modules/usersguide/f1_java_project028.htm      |     8 +-
 .../modules/usersguide/f1_java_project029.htm      |     8 +-
 .../modules/usersguide/f1_java_project030.htm      |    10 +-
 .../modules/usersguide/f1_java_project031.htm      |     6 +-
 .../modules/usersguide/f1_java_project032.htm      |     8 +-
 .../modules/usersguide/f1_java_project033.htm      |     8 +-
 .../modules/usersguide/f1_java_project034.htm      |     6 +-
 .../org/netbeans/modules/usersguide/f1_jpa.htm     |     6 +-
 .../org/netbeans/modules/usersguide/f1_jpa001.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_jpa002.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_jpa003.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_jpa004.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_jpa005.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_jpa006.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_jpa007.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_jpa008.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_jpa009.htm  |    10 +-
 .../org/netbeans/modules/usersguide/f1_jpa010.htm  |    10 +-
 .../org/netbeans/modules/usersguide/f1_jpa011.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_jpa012.htm  |    10 +-
 .../org/netbeans/modules/usersguide/f1_jpa013.htm  |    10 +-
 .../org/netbeans/modules/usersguide/f1_jpa014.htm  |    10 +-
 .../org/netbeans/modules/usersguide/f1_maven.htm   |     4 +-
 .../netbeans/modules/usersguide/f1_maven001.htm    |     6 +-
 .../netbeans/modules/usersguide/f1_maven002.htm    |     6 +-
 .../netbeans/modules/usersguide/f1_maven003.htm    |     6 +-
 .../netbeans/modules/usersguide/f1_maven004.htm    |     6 +-
 .../netbeans/modules/usersguide/f1_maven005.htm    |     8 +-
 .../netbeans/modules/usersguide/f1_maven006.htm    |    24 +-
 .../netbeans/modules/usersguide/f1_mercurial.htm   |     4 +-
 .../modules/usersguide/f1_mercurial001.htm         |     6 +-
 .../modules/usersguide/f1_mercurial002.htm         |     6 +-
 .../modules/usersguide/f1_mercurial003.htm         |     6 +-
 .../modules/usersguide/f1_mercurial004.htm         |     6 +-
 .../modules/usersguide/f1_mercurial005.htm         |     6 +-
 .../modules/usersguide/f1_mercurial006.htm         |     6 +-
 .../modules/usersguide/f1_mercurial007.htm         |     6 +-
 .../modules/usersguide/f1_mercurial008.htm         |     6 +-
 .../modules/usersguide/f1_mercurial009.htm         |     4 +-
 .../modules/usersguide/f1_mercurial010.htm         |     4 +-
 .../modules/usersguide/f1_mercurial011.htm         |     6 +-
 .../modules/usersguide/f1_mercurial012.htm         |     6 +-
 .../modules/usersguide/f1_mercurial013.htm         |     6 +-
 .../modules/usersguide/f1_mercurial014.htm         |     6 +-
 .../modules/usersguide/f1_mercurial015.htm         |     6 +-
 .../modules/usersguide/f1_mercurial016.htm         |     6 +-
 .../modules/usersguide/f1_mercurial017.htm         |     6 +-
 .../modules/usersguide/f1_mercurial018.htm         |     6 +-
 .../modules/usersguide/f1_mercurial019.htm         |     6 +-
 .../modules/usersguide/f1_mercurial020.htm         |     4 +-
 .../modules/usersguide/f1_mercurial021.htm         |     4 +-
 .../modules/usersguide/f1_mercurial022.htm         |     4 +-
 .../modules/usersguide/f1_mercurial023.htm         |     4 +-
 .../modules/usersguide/f1_mercurial024.htm         |     4 +-
 .../modules/usersguide/f1_mercurial025.htm         |     4 +-
 .../modules/usersguide/f1_mercurial026.htm         |     6 +-
 .../modules/usersguide/f1_mercurial027.htm         |     6 +-
 .../modules/usersguide/f1_mercurial028.htm         |     6 +-
 .../modules/usersguide/f1_mercurial029.htm         |     6 +-
 .../modules/usersguide/f1_mercurial030.htm         |     6 +-
 .../org/netbeans/modules/usersguide/f1_modules.htm |     2 +-
 .../netbeans/modules/usersguide/f1_modules001.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules002.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules003.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules004.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules005.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules006.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules007.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules008.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules009.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules010.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules011.htm  |    10 +-
 .../netbeans/modules/usersguide/f1_modules012.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules013.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules014.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules015.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules016.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules017.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules018.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules019.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules020.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules021.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules022.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules023.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules024.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules025.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules026.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules027.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules028.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules029.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules030.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules031.htm  |     8 +-
 .../netbeans/modules/usersguide/f1_modules032.htm  |     4 +-
 .../netbeans/modules/usersguide/f1_modules033.htm  |     4 +-
 .../netbeans/modules/usersguide/f1_modules034.htm  |     4 +-
 .../netbeans/modules/usersguide/f1_modules035.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules036.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules037.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules038.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules039.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules040.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules041.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules042.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules043.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules044.htm  |     6 +-
 .../netbeans/modules/usersguide/f1_modules045.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_php.htm     |     6 +-
 .../org/netbeans/modules/usersguide/f1_php001.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_php002.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_php003.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_php004.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_php005.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_php006.htm  |    10 +-
 .../org/netbeans/modules/usersguide/f1_php007.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_php008.htm  |    34 +-
 .../org/netbeans/modules/usersguide/f1_php009.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_php010.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_php011.htm  |    80 +-
 .../org/netbeans/modules/usersguide/f1_php012.htm  |    61 +-
 .../org/netbeans/modules/usersguide/f1_php013.htm  |    36 +-
 .../org/netbeans/modules/usersguide/f1_php014.htm  |    67 +-
 .../org/netbeans/modules/usersguide/f1_php015.htm  |    67 +-
 .../org/netbeans/modules/usersguide/f1_php016.htm  |    93 +-
 .../org/netbeans/modules/usersguide/f1_php017.htm  |   198 +-
 .../org/netbeans/modules/usersguide/f1_php018.htm  |   199 +-
 .../org/netbeans/modules/usersguide/f1_php019.htm  |    56 +-
 .../org/netbeans/modules/usersguide/f1_php020.htm  |    81 +-
 .../org/netbeans/modules/usersguide/f1_php021.htm  |    85 +-
 .../org/netbeans/modules/usersguide/f1_php022.htm  |    70 +-
 .../org/netbeans/modules/usersguide/f1_php023.htm  |   127 +-
 .../org/netbeans/modules/usersguide/f1_php024.htm  |   119 +-
 .../org/netbeans/modules/usersguide/f1_php025.htm  |    72 +-
 .../org/netbeans/modules/usersguide/f1_php026.htm  |    73 +-
 .../org/netbeans/modules/usersguide/f1_php027.htm  |    40 +-
 .../org/netbeans/modules/usersguide/f1_php028.htm  |    41 +-
 .../org/netbeans/modules/usersguide/f1_php029.htm  |    40 +-
 .../org/netbeans/modules/usersguide/f1_php030.htm  |    34 +-
 .../org/netbeans/modules/usersguide/f1_php031.htm  |    54 +-
 .../org/netbeans/modules/usersguide/f1_php032.htm  |    59 +-
 .../org/netbeans/modules/usersguide/f1_php033.htm  |    51 +-
 .../org/netbeans/modules/usersguide/f1_php034.htm  |    93 +-
 .../org/netbeans/modules/usersguide/f1_php035.htm  |    87 +-
 .../org/netbeans/modules/usersguide/f1_php036.htm  |    28 +-
 .../org/netbeans/modules/usersguide/f1_php037.htm  |    56 +-
 .../org/netbeans/modules/usersguide/f1_php038.htm  |    57 +-
 .../org/netbeans/modules/usersguide/f1_php039.htm  |    40 +-
 .../org/netbeans/modules/usersguide/f1_php040.htm  |    44 +-
 .../org/netbeans/modules/usersguide/f1_php041.htm  |    44 +-
 .../org/netbeans/modules/usersguide/f1_php042.htm  |    33 +-
 .../org/netbeans/modules/usersguide/f1_php043.htm  |    67 +
 .../netbeans/modules/usersguide/f1_profiler.htm    |     4 +-
 .../netbeans/modules/usersguide/f1_profiler001.htm |    10 +-
 .../netbeans/modules/usersguide/f1_profiler002.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler003.htm |     8 +-
 .../netbeans/modules/usersguide/f1_profiler004.htm |     8 +-
 .../netbeans/modules/usersguide/f1_profiler005.htm |    12 +-
 .../netbeans/modules/usersguide/f1_profiler006.htm |    12 +-
 .../netbeans/modules/usersguide/f1_profiler007.htm |    12 +-
 .../netbeans/modules/usersguide/f1_profiler008.htm |    12 +-
 .../netbeans/modules/usersguide/f1_profiler009.htm |    10 +-
 .../netbeans/modules/usersguide/f1_profiler010.htm |    12 +-
 .../netbeans/modules/usersguide/f1_profiler011.htm |    12 +-
 .../netbeans/modules/usersguide/f1_profiler012.htm |    10 +-
 .../netbeans/modules/usersguide/f1_profiler013.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler014.htm |    10 +-
 .../netbeans/modules/usersguide/f1_profiler015.htm |     8 +-
 .../netbeans/modules/usersguide/f1_profiler016.htm |    10 +-
 .../netbeans/modules/usersguide/f1_profiler017.htm |     8 +-
 .../netbeans/modules/usersguide/f1_profiler018.htm |    10 +-
 .../netbeans/modules/usersguide/f1_profiler019.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler020.htm |     8 +-
 .../netbeans/modules/usersguide/f1_profiler021.htm |   156 +-
 .../netbeans/modules/usersguide/f1_profiler022.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler023.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler024.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler025.htm |     8 +-
 .../netbeans/modules/usersguide/f1_profiler026.htm |     8 +-
 .../netbeans/modules/usersguide/f1_profiler027.htm |     8 +-
 .../netbeans/modules/usersguide/f1_profiler028.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler029.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler030.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler031.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler032.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler033.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler034.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler035.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler036.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler037.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler038.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler039.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler040.htm |     6 +-
 .../netbeans/modules/usersguide/f1_profiler041.htm |   193 +-
 .../netbeans/modules/usersguide/f1_profiler042.htm |    94 +-
 .../netbeans/modules/usersguide/f1_profiler043.htm |    77 +-
 .../netbeans/modules/usersguide/f1_profiler044.htm |    58 +-
 .../netbeans/modules/usersguide/f1_profiler045.htm |    92 +
 .../netbeans/modules/usersguide/f1_profiler046.htm |    59 +
 .../netbeans/modules/usersguide/f1_profiler047.htm |    67 +
 .../netbeans/modules/usersguide/f1_profiler048.htm |    67 +
 .../netbeans/modules/usersguide/f1_refactor.htm    |     2 +-
 .../netbeans/modules/usersguide/f1_refactor001.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor002.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor003.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor004.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor005.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor006.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor007.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor008.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor009.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor010.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor011.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor012.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor013.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor014.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor015.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor016.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor017.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor018.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor019.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor020.htm |     8 +-
 .../netbeans/modules/usersguide/f1_refactor021.htm |     8 +-
 .../netbeans/modules/usersguide/f1_refactor022.htm |     8 +-
 .../netbeans/modules/usersguide/f1_refactor023.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor024.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor025.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor026.htm |     6 +-
 .../netbeans/modules/usersguide/f1_refactor027.htm |     6 +-
 .../netbeans/modules/usersguide/f1_subversion.htm  |     4 +-
 .../modules/usersguide/f1_subversion001.htm        |     6 +-
 .../modules/usersguide/f1_subversion002.htm        |     6 +-
 .../modules/usersguide/f1_subversion003.htm        |     6 +-
 .../modules/usersguide/f1_subversion004.htm        |     6 +-
 .../modules/usersguide/f1_subversion005.htm        |     6 +-
 .../modules/usersguide/f1_subversion006.htm        |     6 +-
 .../modules/usersguide/f1_subversion007.htm        |     6 +-
 .../modules/usersguide/f1_subversion008.htm        |     6 +-
 .../modules/usersguide/f1_subversion009.htm        |     6 +-
 .../modules/usersguide/f1_subversion010.htm        |     6 +-
 .../modules/usersguide/f1_subversion011.htm        |     6 +-
 .../modules/usersguide/f1_subversion012.htm        |     6 +-
 .../modules/usersguide/f1_subversion013.htm        |     6 +-
 .../modules/usersguide/f1_subversion014.htm        |     6 +-
 .../modules/usersguide/f1_subversion015.htm        |     6 +-
 .../modules/usersguide/f1_subversion016.htm        |     6 +-
 .../modules/usersguide/f1_subversion017.htm        |     6 +-
 .../modules/usersguide/f1_subversion018.htm        |     6 +-
 .../modules/usersguide/f1_subversion019.htm        |     6 +-
 .../modules/usersguide/f1_subversion020.htm        |     6 +-
 .../modules/usersguide/f1_subversion021.htm        |     6 +-
 .../modules/usersguide/f1_subversion022.htm        |     6 +-
 .../modules/usersguide/f1_subversion023.htm        |     6 +-
 .../modules/usersguide/f1_subversion024.htm        |     6 +-
 .../modules/usersguide/f1_subversion025.htm        |     6 +-
 .../modules/usersguide/f1_subversion026.htm        |     6 +-
 .../modules/usersguide/f1_subversion027.htm        |     6 +-
 .../modules/usersguide/f1_subversion028.htm        |     6 +-
 .../modules/usersguide/f1_subversion029.htm        |     6 +-
 .../modules/usersguide/f1_subversion030.htm        |     6 +-
 .../modules/usersguide/f1_subversion031.htm        |     6 +-
 .../modules/usersguide/f1_subversion032.htm        |     6 +-
 .../modules/usersguide/f1_subversion033.htm        |     6 +-
 .../modules/usersguide/f1_subversion034.htm        |     6 +-
 .../modules/usersguide/f1_subversion035.htm        |     6 +-
 .../modules/usersguide/f1_subversion036.htm        |     6 +-
 .../modules/usersguide/f1_subversion037.htm        |     6 +-
 .../org/netbeans/modules/usersguide/f1_team.htm    |     4 +-
 .../org/netbeans/modules/usersguide/f1_team001.htm |     4 +-
 .../org/netbeans/modules/usersguide/f1_team002.htm |     4 +-
 .../org/netbeans/modules/usersguide/f1_team003.htm |     4 +-
 .../org/netbeans/modules/usersguide/f1_unit.htm    |     4 +-
 .../org/netbeans/modules/usersguide/f1_unit001.htm |     8 +-
 .../org/netbeans/modules/usersguide/f1_unit002.htm |     6 +-
 .../org/netbeans/modules/usersguide/f1_unit003.htm |     6 +-
 .../org/netbeans/modules/usersguide/f1_unit004.htm |     6 +-
 .../org/netbeans/modules/usersguide/f1_unit005.htm |     6 +-
 .../org/netbeans/modules/usersguide/f1_unit006.htm |     6 +-
 .../org/netbeans/modules/usersguide/f1_unit007.htm |     6 +-
 .../netbeans/modules/usersguide/f1_web_apps.htm    |     6 +-
 .../netbeans/modules/usersguide/f1_web_apps001.htm |    30 +-
 .../netbeans/modules/usersguide/f1_web_apps002.htm |    18 +-
 .../netbeans/modules/usersguide/f1_web_apps003.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_apps004.htm |    18 +-
 .../netbeans/modules/usersguide/f1_web_apps005.htm |    16 +-
 .../netbeans/modules/usersguide/f1_web_apps006.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_apps007.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps008.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_apps009.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_apps010.htm |    14 +-
 .../netbeans/modules/usersguide/f1_web_apps011.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_apps012.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_apps013.htm |    14 +-
 .../netbeans/modules/usersguide/f1_web_apps014.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps015.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps016.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps017.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps018.htm |     8 +-
 .../netbeans/modules/usersguide/f1_web_apps019.htm |    18 +-
 .../netbeans/modules/usersguide/f1_web_apps020.htm |     6 +-
 .../netbeans/modules/usersguide/f1_web_apps021.htm |     8 +-
 .../netbeans/modules/usersguide/f1_web_apps022.htm |     6 +-
 .../netbeans/modules/usersguide/f1_web_apps023.htm |     8 +-
 .../netbeans/modules/usersguide/f1_web_apps024.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_apps025.htm |     8 +-
 .../netbeans/modules/usersguide/f1_web_apps026.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_apps027.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_apps028.htm |    14 +-
 .../netbeans/modules/usersguide/f1_web_apps029.htm |     8 +-
 .../netbeans/modules/usersguide/f1_web_apps030.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps031.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_apps032.htm |     8 +-
 .../netbeans/modules/usersguide/f1_web_apps033.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps034.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_apps035.htm |     8 +-
 .../netbeans/modules/usersguide/f1_web_apps036.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps037.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps038.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps039.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps040.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps041.htm |     8 +-
 .../netbeans/modules/usersguide/f1_web_apps042.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_apps043.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_apps044.htm |     8 +-
 .../netbeans/modules/usersguide/f1_web_apps045.htm |     8 +-
 .../netbeans/modules/usersguide/f1_web_fmwk.htm    |     6 +-
 .../netbeans/modules/usersguide/f1_web_fmwk001.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_fmwk002.htm |     8 +-
 .../netbeans/modules/usersguide/f1_web_fmwk003.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_fmwk004.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_fmwk005.htm |     8 +-
 .../netbeans/modules/usersguide/f1_web_fmwk006.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_fmwk007.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_fmwk008.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_fmwk009.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_fmwk010.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_fmwk011.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_fmwk012.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_fmwk013.htm |    10 +-
 .../netbeans/modules/usersguide/f1_web_fmwk014.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_fmwk015.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_fmwk016.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_fmwk017.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_fmwk018.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_fmwk019.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_fmwk020.htm |    12 +-
 .../netbeans/modules/usersguide/f1_web_fmwk021.htm |    12 +-
 .../modules/usersguide/f1_working_netbeans.htm     |     4 +-
 .../modules/usersguide/f1_working_netbeans001.htm  |    10 +-
 .../modules/usersguide/f1_working_netbeans002.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans003.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans004.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans005.htm  |    10 +-
 .../modules/usersguide/f1_working_netbeans006.htm  |     8 +-
 .../modules/usersguide/f1_working_netbeans007.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans008.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans009.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans010.htm  |     4 +-
 .../modules/usersguide/f1_working_netbeans011.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans012.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans013.htm  |     8 +-
 .../modules/usersguide/f1_working_netbeans014.htm  |     8 +-
 .../modules/usersguide/f1_working_netbeans015.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans016.htm  |     8 +-
 .../modules/usersguide/f1_working_netbeans017.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans018.htm  |    10 +-
 .../modules/usersguide/f1_working_netbeans019.htm  |     8 +-
 .../modules/usersguide/f1_working_netbeans020.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans021.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans022.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans023.htm  |    16 +-
 .../modules/usersguide/f1_working_netbeans024.htm  |     8 +-
 .../modules/usersguide/f1_working_netbeans025.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans026.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans027.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans028.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans029.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans030.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans031.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans032.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans033.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans034.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans035.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans036.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans037.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans038.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans039.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans040.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans041.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans042.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans043.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans044.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans045.htm  |    12 +-
 .../modules/usersguide/f1_working_netbeans046.htm  |    12 +-
 .../modules/usersguide/f1_working_netbeans047.htm  |     8 +-
 .../modules/usersguide/f1_working_netbeans048.htm  |     4 +-
 .../modules/usersguide/f1_working_netbeans049.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans050.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans051.htm  |    16 +-
 .../modules/usersguide/f1_working_netbeans052.htm  |     4 +-
 .../modules/usersguide/f1_working_netbeans053.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans054.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans055.htm  |     8 +-
 .../modules/usersguide/f1_working_netbeans056.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans057.htm  |    12 +-
 .../modules/usersguide/f1_working_netbeans058.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans059.htm  |     4 +-
 .../modules/usersguide/f1_working_netbeans060.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans061.htm  |    12 +-
 .../modules/usersguide/f1_working_netbeans062.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans063.htm  |    10 +-
 .../modules/usersguide/f1_working_netbeans064.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans065.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans066.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans067.htm  |     4 +-
 .../modules/usersguide/f1_working_netbeans068.htm  |     4 +-
 .../modules/usersguide/f1_working_netbeans069.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans070.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans071.htm  |    50 +-
 .../modules/usersguide/f1_working_netbeans072.htm  |     4 +-
 .../modules/usersguide/f1_working_netbeans073.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans074.htm  |     6 +-
 .../modules/usersguide/f1_working_netbeans075.htm  |    10 +-
 .../modules/usersguide/f1_working_netbeans076.htm  |     6 +-
 .../org/netbeans/modules/usersguide/f1_xml.htm     |     6 +-
 .../org/netbeans/modules/usersguide/f1_xml001.htm  |    12 +-
 .../org/netbeans/modules/usersguide/f1_xml002.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_xml003.htm  |     8 +-
 .../org/netbeans/modules/usersguide/f1_xml004.htm  |     8 +-
 .../org/netbeans/modules/usersguide/ide-toc.xml    |     2 +-
 .../netbeans/modules/usersguide/img/contains.png   |   Bin 0 -> 453 bytes
 .../modules/usersguide/img/does_not_contain.png    |   Bin 0 -> 472 bytes
 .../netbeans/modules/usersguide/img/filter_sql.png |   Bin 0 -> 570 bytes
 .../netbeans/modules/usersguide/img/match_case.png |   Bin 0 -> 632 bytes
 .../modules/usersguide/img/reg_expression.png      |   Bin 0 -> 616 bytes
 .../netbeans/modules/usersguide/img/settings.png   |   Bin 0 -> 841 bytes
 .../netbeans/modules/usersguide/legal_notice.htm   |     4 +-
 .../org/netbeans/modules/usersguide/map.xml        |  1194 +-
 .../netbeans/modules/usersguide/prefacehelp.htm    |    86 +
 .../org/netbeans/modules/usersguide/titlehelp.htm  |    14 +-
 usersguide/manifest.mf                             |     2 +-
 utilities.project/manifest.mf                      |     2 +-
 .../org/netbeans/modules/search/project/layer.xml  |    39 +
 utilities/arch.xml                                 |    49 +-
 utilities/manifest.mf                              |     2 +-
 versioning.core/arch.xml                           |    45 +-
 versioning.core/nbproject/project.properties       |     2 +-
 .../modules/versioning/core/VersioningManager.java |     4 +
 versioning.indexingbridge/build.xml                |    39 +
 versioning.indexingbridge/manifest.mf              |     2 +-
 .../nbproject/project.properties                   |    37 +
 versioning.indexingbridge/nbproject/project.xml    |    39 +
 .../versioning/indexingbridge/Bundle.properties    |    37 +
 versioning.masterfs/build.xml                      |    39 +
 versioning.masterfs/manifest.mf                    |     2 +-
 versioning.masterfs/nbproject/project.properties   |    37 +
 versioning.masterfs/nbproject/project.xml          |    39 +
 .../modules/versioning/masterfs/Bundle.properties  |    37 +
 versioning.system.cvss.installer/build.xml         |    39 +
 versioning.system.cvss.installer/manifest.mf       |     2 +-
 .../nbproject/project.properties                   |    37 +
 .../nbproject/project.xml                          |    39 +
 versioning.ui/nbproject/project.properties         |     2 +-
 .../modules/versioning/ui/diff/DiffSidebar.java    |     3 +
 .../versioning/ui/history/Bundle.properties        |    37 +
 versioning.util/build.xml                          |    39 +
 versioning.util/nbproject/project.properties       |     2 +-
 versioning.util/nbproject/project.xml              |    39 +
 .../src/org/netbeans/modules/turbo/package.html    |    39 +
 .../modules/versioning/annotate/AnnotationBar.java |    12 +-
 .../netbeans/modules/versioning/util/Utils.java    |     9 +-
 .../components/versioning_output.settings          |    39 +
 .../modes/output/versioning_output.wstcref         |    39 +
 .../modules/versioning/util/UtilsTest.java         |     2 +-
 .../nbproject/org-netbeans-modules-versioning.sig  |     2 +-
 versioning/nbproject/project.properties            |     2 +-
 web.beans/build.xml                                |    39 +
 web.beans/manifest.mf                              |     2 +-
 web.beans/nbproject/project.xml                    |    39 +
 .../modules/web/beans/BeansDataLoader.java         |    84 +-
 .../beans/impl/model/DefaultBindingTypeFilter.java |    68 +-
 .../beans/impl/model/FieldInjectionPointLogic.java |    68 +-
 .../modules/web/beans/resources/BeansResolver.xml  |    39 +
 .../modules/web/beans/resources/BeansXml.html      |    16 +-
 .../modules/web/beans/resources/Bundle.properties  |    37 +
 .../modules/web/beans/resources/Interceptor.html   |    16 +-
 .../modules/web/beans/resources/Qualifier.html     |    16 +-
 .../modules/web/beans/resources/Scope.html         |    16 +-
 .../modules/web/beans/resources/Stereotype.html    |    16 +-
 .../modules/web/beans/resources/beans-1.0.xml      |     5 -
 .../netbeans/modules/web/beans/resources/layer.xml |     2 +-
 web.browser.api/build.xml                          |    39 +
 web.browser.api/manifest.mf                        |     2 +-
 web.browser.api/nbproject/project.xml              |    39 +
 .../modules/web/browser/ui/resources/layer.xml     |    39 +
 web.client.kit/build.xml                           |    39 +
 web.client.kit/manifest.mf                         |     2 +-
 web.client.kit/nbproject/project.properties        |    37 +
 web.client.kit/nbproject/project.xml               |    46 +
 web.client.kit/release/VERSION.txt                 |     2 +-
 web.client.rest/build.xml                          |    39 +
 web.client.rest/manifest.mf                        |     2 +-
 web.client.rest/nbproject/project.properties       |    37 +
 web.client.rest/nbproject/project.xml              |    39 +
 .../modules/web/client/rest/Bundle.properties      |    37 +
 .../modules/web/client/rest/resources/js.html      |    44 +
 .../modules/web/client/rest/resources/rest.js      |    48 +-
 .../web/client/rest/wizard/resources/JSClient.html |    39 +
 .../EaselDemo/nbproject/project.properties         |    37 +
 web.client.samples/EaselDemo/nbproject/project.xml |    39 +
 .../EaselDemo/public_html/about.html               |    51 +-
 .../public_html/css/bootstrap-responsive.css       |   825 -
 .../public_html/css/bootstrap-responsive.min.css   |     9 -
 .../EaselDemo/public_html/css/bootstrap.css        |  4984 ---
 .../EaselDemo/public_html/css/bootstrap.min.css    |     9 -
 .../public_html/css/jquery.mobile-1.0.1.min.css    |     2 -
 .../EaselDemo/public_html/css/style.css            |    48 +-
 .../EaselDemo/public_html/index.html               |    69 +-
 .../EaselDemo/public_html/js/about.js              |    41 +-
 .../EaselDemo/public_html/js/bootstrap-alert.js    |    90 -
 .../EaselDemo/public_html/js/bootstrap-button.js   |    96 -
 .../EaselDemo/public_html/js/bootstrap-carousel.js |   169 -
 .../EaselDemo/public_html/js/bootstrap-collapse.js |   157 -
 .../EaselDemo/public_html/js/bootstrap-dropdown.js |   100 -
 .../EaselDemo/public_html/js/bootstrap-modal.js    |   218 -
 .../EaselDemo/public_html/js/bootstrap-popover.js  |    98 -
 .../public_html/js/bootstrap-scrollspy.js          |   151 -
 .../EaselDemo/public_html/js/bootstrap-tab.js      |   135 -
 .../EaselDemo/public_html/js/bootstrap-tooltip.js  |   275 -
 .../public_html/js/bootstrap-transition.js         |    61 -
 .../public_html/js/bootstrap-typeahead.js          |   285 -
 .../EaselDemo/public_html/js/bootstrap.js          |  1825 -
 .../EaselDemo/public_html/js/draganddrop.js        |    47 +-
 .../js/libs/jqueryui-1.8.16/jquery-ui.js           | 11767 ------
 .../EaselDemo/public_html/js/loadWelcome.js        |    46 +-
 .../EaselDemo/public_html/rest/RestClient.js       |    47 +-
 .../EaselDemo/public_html/tableui.html             |    61 +-
 web.client.samples/manifest.mf                     |     2 +-
 web.client.samples/nbproject/project.properties    |    39 +-
 web.client.samples/nbproject/project.xml           |    39 +
 .../netbeans/modules/web/client/samples/layer.xml  |     2 +-
 .../samples/resources/ResponsiveRabbits.html       |    39 +
 web.clientproject.api/build.xml                    |    39 +
 web.clientproject.api/manifest.mf                  |     2 +-
 web.clientproject.api/nbproject/project.properties |    39 +-
 web.clientproject.api/nbproject/project.xml        |    65 +
 .../api/ClientProjectWizardProvider.java           |     6 +
 .../web/clientproject/api/build/BuildTools.java    |   157 +-
 .../api/build/ui/AdvancedTaskPanel.form            |   137 -
 .../api/build/ui/AdvancedTaskPanel.java            |   281 -
 .../clientproject/api/build/ui/AdvancedTasks.java  |   110 -
 .../clientproject/api/build/ui/Bundle.properties   |    54 -
 .../api/build/ui/CustomizerPanel.form              |   219 -
 .../api/build/ui/CustomizerPanel.java              |   382 -
 .../web/clientproject/api/build/ui/TasksMenu.java  |   315 -
 .../api/build/ui/VerticalGridLayout.java           |   187 -
 .../web/clientproject/api/json/JsonFile.java       |    31 +-
 .../clientproject/api/network/NetworkSupport.java  |    15 +-
 .../web/clientproject/build/AdvancedTask.java      |   130 +
 .../clientproject/build/AdvancedTasksStorage.java  |   261 +
 .../modules/web/clientproject/build/Tasks.java     |    86 +
 .../clientproject/build/ui/AdvancedTasksPanel.form |   325 +
 .../clientproject/build/ui/AdvancedTasksPanel.java |   713 +
 .../web/clientproject/build/ui/Bundle.properties   |    60 +
 .../clientproject/build/ui/CustomizerPanel.form    |   225 +
 .../clientproject/build/ui/CustomizerPanel.java    |   430 +
 .../clientproject/build/ui/NavigatorPanelImpl.java |   434 +
 .../web/clientproject/build/ui/TasksMenu.java      |   356 +
 .../clientproject/build/ui/VerticalGridLayout.java |   187 +
 .../spi/ClientProjectWizardProviderImpl.java       |     1 +
 .../spi/build/CustomizerPanelImplementation.java   |   122 +
 .../ui/options/CssPreprocessorsOptionsFactory.java |     8 +-
 .../modules/web/clientproject/ui/resources/add.png |   Bin 0 -> 2992 bytes
 .../clientproject/ui/resources/advanced-task.gif   |   Bin 0 -> 576 bytes
 .../web/clientproject/ui/resources/down.png        |   Bin 0 -> 945 bytes
 .../web/clientproject/ui/resources/remove.png      |   Bin 0 -> 457 bytes
 .../web/clientproject/ui/resources/task.gif        |   Bin 0 -> 450 bytes
 .../modules/web/clientproject/ui/resources/up.png  |   Bin 0 -> 945 bytes
 web.clientproject/build.xml                        |    39 +
 web.clientproject/manifest.mf                      |     2 +-
 web.clientproject/nbproject/project.properties     |    39 +-
 web.clientproject/nbproject/project.xml            |    51 +-
 .../ClientProjectWizardProviderImplementation.java |     5 +
 .../web/clientproject/ClientSideProject.java       |     3 +-
 .../clientproject/ClientSideProjectConvertor.java  |    63 +-
 .../web/clientproject/sites/OnlineSites.java       |    69 +-
 .../clientproject/sites/SiteMobileBoilerplate.java |   120 -
 .../ui/ClientSideProjectLogicalView.java           |   116 +-
 .../ui/customizer/CompositePanelProviderImpl.java  |     6 +-
 .../ui/resources/html5-convertor-project.png       |   Bin 0 -> 413 bytes
 .../ui/wizard/ClientSideProjectWizardIterator.java |     1 +
 .../ui/wizard/NewClientSideProject.java            |    12 +-
 .../ui/wizard/SiteTemplateWizard.form              |     7 +-
 .../ui/wizard/SiteTemplateWizard.java              |     5 +-
 .../modules/web/clientproject/ui/wizard/Tools.java |     8 +-
 .../util/ClientSideProjectUtilities.java           |     1 -
 web.common.ui/build.xml                            |    49 +
 web.common.ui/manifest.mf                          |     5 +
 web.common.ui/nbproject/project.properties         |    50 +
 web.common.ui/nbproject/project.xml                |   316 +
 .../modules/web/common/ui/Bundle.properties        |    40 +
 .../ui/ExternalExecutionUserWarningImpl.java       |    69 +
 .../modules/web/common/ui/ImportantFiles.java      |   367 +
 .../web/common/ui/api/CssPreprocessorUI.java       |   113 +
 .../web/common/ui/api/CssPreprocessorsUI.java      |   193 +
 .../web/common/ui/api/ExternalExecutable.java      |   737 +
 .../common/ui/api/ExternalExecutableValidator.java |   122 +
 .../web/common/ui/api/FileReferenceCompletion.java |   271 +
 .../modules/web/common/ui/api/WebUIUtils.java      |   164 +
 .../web/common/ui}/cssprep/Bundle.properties       |     0
 .../common/ui}/cssprep/CssPrepOptionsPanel.form    |     0
 .../web/common/ui/cssprep/CssPrepOptionsPanel.java |   172 +
 .../ui/cssprep/CssPrepOptionsPanelController.java  |   190 +
 .../common/ui/cssprep/CssPreprocessorAccessor.java |    88 +
 .../ui/cssprep/CssPreprocessorsAccessor.java       |    76 +
 .../ui/cssprep/CssPreprocessorsCustomizer.java     |    77 +
 .../cssprep/CssPreprocessorsCustomizerPanel.form   |    52 +
 .../cssprep/CssPreprocessorsCustomizerPanel.java   |   250 +
 .../cssprep/CssPreprocessorsProblemProvider.java   |   136 +
 .../web/common/ui}/refactoring/Bundle.properties   |     0
 .../FolderActionsImplementationProvider.java       |   150 +
 .../web/common/ui/refactoring/RenamePanel.form     |   100 +
 .../web/common/ui/refactoring/RenamePanel.java     |   186 +
 .../common/ui/refactoring/RenameRefactoringUI.java |   161 +
 .../web/common/ui/remote/RemoteFSDecoratorUI.java  |    88 +
 .../web/common/ui/resources/config-badge.gif       |   Bin
 .../ui/spi/CssPreprocessorUIImplementation.java    |   290 +
 .../modules/web/common/ui/api/WebUIUtilsTest.java  |    62 +
 web.common/build.xml                               |    44 +
 web.common/manifest.mf                             |     2 +-
 web.common/nbproject/project.properties            |     2 +-
 web.common/nbproject/project.xml                   |   229 +-
 .../netbeans/modules/web/common/Bundle.properties  |    42 +
 .../netbeans/modules/web/common/api/ByteStack.java |   229 +
 .../modules/web/common/api/CssPreprocessor.java    |    33 +-
 .../modules/web/common/api/CssPreprocessors.java   |    65 -
 .../modules/web/common/api/ExternalExecutable.java |   742 -
 .../common/api/ExternalExecutableValidator.java    |   122 -
 .../web/common/api/FileReferenceCompletion.java    |   270 -
 .../modules/web/common/api/LexerUtils.java         |    19 +-
 .../modules/web/common/api/ServerURLMapping.java   |     4 +-
 .../netbeans/modules/web/common/api/WebUtils.java  |   114 +-
 .../web/common/cssprep/CssPrepOptionsPanel.java    |   180 -
 .../cssprep/CssPrepOptionsPanelController.java     |   190 -
 .../common/cssprep/CssPreprocessorAccessor.java    |    12 -
 .../common/cssprep/CssPreprocessorsCustomizer.java |    77 -
 .../cssprep/CssPreprocessorsCustomizerPanel.form   |    52 -
 .../cssprep/CssPreprocessorsCustomizerPanel.java   |   252 -
 .../cssprep/CssPreprocessorsProblemProvider.java   |   135 -
 .../FolderActionsImplementationProvider.java       |   150 -
 .../web/common/refactoring/RenamePanel.form        |   100 -
 .../web/common/refactoring/RenamePanel.java        |   186 -
 .../common/refactoring/RenameRefactoringUI.java    |   161 -
 .../modules/web/common/remote/RemoteFS.java        |    28 +-
 .../modules/web/common/sourcemap/Mapping.java      |    38 +
 .../web/common/sourcemap/MappingTokenizer.java     |     9 +
 .../modules/web/common/sourcemap/SourceMap.java    |   163 +-
 .../web/common/sourcemap/SourceMapsScanner.java    |   474 +
 .../web/common/sourcemap/SourceMapsTranslator.java |   198 +
 .../common/sourcemap/SourceMapsTranslatorImpl.java |   301 +
 .../common/spi/CssPreprocessorImplementation.java  |   227 +-
 .../spi/CssPreprocessorImplementationListener.java |     4 +-
 .../common/spi/ExternalExecutableUserWarning.java  |    52 +
 .../modules/web/common/spi/RemoteFSDecorator.java  |    54 +
 .../modules/web/common/ui/ImportantFiles.java      |   351 -
 .../test/unit/data/sourcemaps/greeter.dmapping     |    60 +
 .../test/unit/data/sourcemaps/greeter.imapping     |    49 +
 web.common/test/unit/data/sourcemaps/greeter.js    |    13 +
 .../test/unit/data/sourcemaps/greeter.js.map       |     1 +
 web.common/test/unit/data/sourcemaps/greeter.ts    |    10 +
 web.common/test/unit/data/sourcemaps/test_1.map    |     8 +
 .../modules/web/common/api/ByteStackTest.java      |   124 +
 .../modules/web/common/api/WebUtilsTest.java       |     6 -
 .../web/common/sourcemap/SourceMapTest.java        |   289 +
 .../common/sourcemap/SourceMapsTranslatorTest.java |   106 +
 .../external/binaries-list                         |     0
 web.core.syntax/nbproject/project.properties       |     2 +-
 web.core.syntax/nbproject/project.xml              |     9 +
 .../src/META-INF/netbeans/translate.names          |    39 +-
 .../netbeans/modules/web/core/syntax/JspKit.java   |   201 +-
 .../web/core/syntax/JspTypedBreakInterceptor.java  |   138 +
 .../web/core/syntax/JspTypedTextInterceptor.java   |   256 +
 .../web/core/syntax/gsf/JspKeystrokeHandler.java   |   238 -
 .../modules/web/core/syntax/gsf/JspLanguage.java   |     6 -
 .../core/syntax/JspTypedTextInterceptorTest.java   |     4 +
 .../core/syntax/formatting/JspIndenterTest.java    |     2 +-
 .../js/JsTypedBreakInterceptorEmbeddedTest.java    |     2 +-
 .../web/core/syntax/ContextJspServletGenTest.java  |     2 +-
 .../web/core/syntax/SingleJspServletGenTest.java   |     2 +-
 .../tlddoc/HowGenerateDocumentation.html           |    39 +
 web.core.syntax/tlddoc/xslt/alltags-frame.html.xsl |    18 +-
 .../tlddoc/xslt/alltags-noframe.html.xsl           |    18 +-
 web.core.syntax/tlddoc/xslt/function.html.xsl      |    18 +-
 web.core.syntax/tlddoc/xslt/help-doc.html.xsl      |    18 +-
 web.core.syntax/tlddoc/xslt/index.html.xsl         |    18 +-
 .../tlddoc/xslt/overview-frame.html.xsl            |    18 +-
 .../tlddoc/xslt/overview-summary.html.xsl          |    18 +-
 web.core.syntax/tlddoc/xslt/stylesheet.css         |    65 +-
 web.core.syntax/tlddoc/xslt/tag.html.xsl           |    18 +-
 web.core.syntax/tlddoc/xslt/tld-frame.html.xsl     |    18 +-
 web.core.syntax/tlddoc/xslt/tld-summary.html.xsl   |    18 +-
 web.core.syntax/tlddoc/xslt/tld1_1-tld1_2.xsl      |    18 +-
 web.core.syntax/tlddoc/xslt/tld1_2-tld2_0.xsl      |    18 +-
 web.core.syntax/tlddoc/xslt/tld2_0-tld2_1.xsl      |    18 +-
 web.core.syntax/tlddoc/xslt/tld2_1-tld2_1.xsl      |    18 +-
 web.core/nbproject/project.properties              |     2 +-
 .../web/core/jsploader/TagLibParseSupport.java     |     2 +-
 .../web/core/resources/ConnectionFailurePage.html  |    16 +-
 .../modules/web/core/resources/JSPInfo.html        |    16 +-
 .../modules/web/core/resources/Servlet.html        |    16 +-
 .../web/core/resources/ServletListener.html        |    16 +-
 .../modules/web/core/resources/SimpleFilter.html   |    16 +-
 .../modules/web/core/resources/TagFile.html        |    16 +-
 .../modules/web/core/resources/TagHandler.html     |    16 +-
 .../modules/web/core/resources/TagLibrary.html     |    16 +-
 .../modules/web/core/resources/WebInfo.html        |    16 +-
 .../modules/web/core/resources/webFragmentXml.html |    16 +-
 .../modules/web/core/resources/webXml.html         |    16 +-
 .../modules/web/taglib/resources/javaee_5.xsd      |     2 +-
 .../resources/javaee_web_services_client_1_2.xsd   |     2 +-
 .../web/taglib/resources/web-jsptaglibrary_2_0.mdd |    39 +
 .../web/taglib/resources/web-jsptaglibrary_2_1.mdd |    39 +
 .../web/taglib/resources/web-jsptaglibrary_2_1.xsd |     2 +-
 .../netbeans/modules/web/wizards/DeployData.java   |     2 +-
 web.debug/manifest.mf                              |     2 +-
 .../org/netbeans/modules/web/debug/Context.java    |     4 +-
 .../web/debug/JspBreakpointAnnotationListener.java |     4 +-
 .../data/TestLibrary/nbproject/build-impl.xml      |     2 +-
 .../data/TestTagLibrary/nbproject/build-impl.xml   |     2 +-
 web.el/build.xml                                   |    39 +
 web.el/manifest.mf                                 |     2 +-
 web.el/nbproject/project.properties                |    37 +
 web.el/nbproject/project.xml                       |    48 +
 .../org/netbeans/modules/web/el/Bundle.properties  |    37 +
 web.el/src/org/netbeans/modules/web/el/layer.xml   |    39 +
 .../modules/web/el/navigation/Bundle.properties    |    37 +
 web.examples/appdev/build.properties               |     9 -
 web.examples/appdev/build.xml                      |   509 -
 web.examples/appdev/nbproject/project.xml          |    83 -
 web.examples/appdev/src/mypackage/Hello.java       |    95 -
 web.examples/appdev/web/WEB-INF/web.xml            |    23 -
 web.examples/appdev/web/hello.jsp                  |    44 -
 web.examples/appdev/web/images/tomcat.gif          |   Bin 1441 -> 0 bytes
 web.examples/appdev/web/index.html                 |    28 -
 web.examples/build.xml                             |    61 -
 web.examples/jsp/build.xml                         |    69 -
 web.examples/jsp/nbproject/project.properties      |    84 -
 web.examples/jsp/nbproject/project.xml             |    23 -
 web.examples/jsp/src/cal/Entries.java              |    72 -
 web.examples/jsp/src/cal/Entry.java                |    54 -
 web.examples/jsp/src/cal/JspCalendar.java          |   154 -
 web.examples/jsp/src/cal/TableBean.java            |   101 -
 web.examples/jsp/src/checkbox/CheckTest.java       |    30 -
 web.examples/jsp/src/colors/ColorGameBean.java     |   114 -
 .../src/compressionFilters/CompressionFilter.java  |   219 -
 .../CompressionFilterTestServlet.java              |    56 -
 .../CompressionResponseStream.java                 |   318 -
 .../CompressionServletResponseWrapper.java         |   277 -
 web.examples/jsp/src/dates/JspCalendar.java        |   152 -
 web.examples/jsp/src/error/Smart.java              |    34 -
 web.examples/jsp/src/examples/ExampleTagBase.java  |    66 -
 web.examples/jsp/src/examples/FooTag.java          |    82 -
 web.examples/jsp/src/examples/FooTagExtraInfo.java |    32 -
 web.examples/jsp/src/examples/LogTag.java          |    60 -
 web.examples/jsp/src/examples/ShowSource.java      |    83 -
 web.examples/jsp/src/filters/ExampleFilter.java    |   140 -
 .../jsp/src/filters/RequestDumperFilter.java       |   201 -
 .../src/filters/SetCharacterEncodingFilter.java    |   172 -
 web.examples/jsp/src/jsp2/examples/BookBean.java   |    43 -
 web.examples/jsp/src/jsp2/examples/FooBean.java    |    35 -
 .../jsp/src/jsp2/examples/el/Functions.java        |    44 -
 .../jsp2/examples/simpletag/EchoAttributesTag.java |    54 -
 .../jsp2/examples/simpletag/FindBookSimpleTag.java |    44 -
 .../examples/simpletag/HelloWorldSimpleTag.java    |    31 -
 .../jsp2/examples/simpletag/RepeatSimpleTag.java   |    42 -
 .../jsp2/examples/simpletag/ShuffleSimpleTag.java  |    90 -
 .../src/jsp2/examples/simpletag/TileSimpleTag.java |    46 -
 .../jsp/src/listeners/ContextListener.java         |   156 -
 .../jsp/src/listeners/SessionListener.java         |   183 -
 web.examples/jsp/src/num/NumberGuessBean.java      |    83 -
 web.examples/jsp/src/servletToJsp.java             |    32 -
 web.examples/jsp/src/sessions/DummyCart.java       |    69 -
 web.examples/jsp/src/util/HTMLFilter.java          |    69 -
 .../jsp/src/validators/DebugValidator.java         |    91 -
 web.examples/jsp/web/WEB-INF/jsp/debug-taglib.tld  |    53 -
 .../jsp/web/WEB-INF/jsp/example-taglib.tld         |    82 -
 .../jsp/web/WEB-INF/jsp2/jsp2-example-taglib.tld   |   123 -
 web.examples/jsp/web/WEB-INF/sun-web.xml           |    11 -
 .../jsp/web/WEB-INF/tags/displayProducts.tag       |    54 -
 web.examples/jsp/web/WEB-INF/tags/helloWorld.tag   |    16 -
 web.examples/jsp/web/WEB-INF/tags/panel.tag        |    28 -
 web.examples/jsp/web/WEB-INF/tags/xhtmlbasic.tag   |    20 -
 web.examples/jsp/web/WEB-INF/web.xml               |   240 -
 web.examples/jsp/web/cal/Entries.java.html         |    74 -
 web.examples/jsp/web/cal/Entry.java.html           |    56 -
 web.examples/jsp/web/cal/JspCalendar.java.html     |   156 -
 web.examples/jsp/web/cal/TableBean.java.html       |   103 -
 web.examples/jsp/web/cal/cal1.jsp                  |    86 -
 web.examples/jsp/web/cal/cal1.jsp.html             |    89 -
 web.examples/jsp/web/cal/cal2.jsp                  |    39 -
 web.examples/jsp/web/cal/cal2.jsp.html             |    43 -
 web.examples/jsp/web/cal/calendar.html             |    37 -
 web.examples/jsp/web/cal/login.html                |    46 -
 web.examples/jsp/web/checkbox/CheckTest.html       |    55 -
 web.examples/jsp/web/checkbox/check.html           |    37 -
 web.examples/jsp/web/checkbox/checkresult.jsp      |    66 -
 web.examples/jsp/web/checkbox/checkresult.jsp.html |    70 -
 web.examples/jsp/web/checkbox/cresult.html         |    31 -
 web.examples/jsp/web/colors/ColorGameBean.html     |   115 -
 web.examples/jsp/web/colors/clr.html               |    31 -
 web.examples/jsp/web/colors/colors.html            |    46 -
 web.examples/jsp/web/colors/colrs.jsp              |    69 -
 web.examples/jsp/web/colors/colrs.jsp.html         |    71 -
 web.examples/jsp/web/dates/date.html               |    29 -
 web.examples/jsp/web/dates/date.jsp                |    40 -
 web.examples/jsp/web/dates/date.jsp.html           |    42 -
 web.examples/jsp/web/error/er.html                 |    29 -
 web.examples/jsp/web/error/err.jsp                 |    43 -
 web.examples/jsp/web/error/err.jsp.html            |    45 -
 web.examples/jsp/web/error/error.html              |    36 -
 web.examples/jsp/web/error/errorpge.jsp            |    23 -
 web.examples/jsp/web/forward/forward.jsp           |    22 -
 web.examples/jsp/web/forward/forward.jsp.html      |    24 -
 web.examples/jsp/web/forward/fwd.html              |    17 -
 web.examples/jsp/web/forward/one.jsp               |    12 -
 web.examples/jsp/web/forward/two.html              |    12 -
 web.examples/jsp/web/images/code.gif               |   Bin 292 -> 0 bytes
 web.examples/jsp/web/images/execute.gif            |   Bin 1242 -> 0 bytes
 web.examples/jsp/web/images/read.gif               |   Bin 1125 -> 0 bytes
 web.examples/jsp/web/images/return.gif             |   Bin 1231 -> 0 bytes
 web.examples/jsp/web/include/foo.html              |    16 -
 web.examples/jsp/web/include/foo.jsp               |    22 -
 web.examples/jsp/web/include/inc.html              |    28 -
 web.examples/jsp/web/include/include.jsp           |    36 -
 web.examples/jsp/web/include/include.jsp.html      |    36 -
 web.examples/jsp/web/index.html                    |   361 -
 web.examples/jsp/web/jsp2/el/Functions.java.html   |    46 -
 web.examples/jsp/web/jsp2/el/basic-arithmetic.html |    28 -
 web.examples/jsp/web/jsp2/el/basic-arithmetic.jsp  |    87 -
 .../jsp/web/jsp2/el/basic-arithmetic.jsp.html      |    89 -
 .../jsp/web/jsp2/el/basic-comparisons.html         |    28 -
 web.examples/jsp/web/jsp2/el/basic-comparisons.jsp |   115 -
 .../jsp/web/jsp2/el/basic-comparisons.jsp.html     |   117 -
 web.examples/jsp/web/jsp2/el/functions.html        |    29 -
 web.examples/jsp/web/jsp2/el/functions.jsp         |    64 -
 web.examples/jsp/web/jsp2/el/functions.jsp.html    |    68 -
 web.examples/jsp/web/jsp2/el/implicit-objects.html |    18 -
 web.examples/jsp/web/jsp2/el/implicit-objects.jsp  |    87 -
 .../jsp/web/jsp2/el/implicit-objects.jsp.html      |    91 -
 .../jsp/web/jsp2/jspattribute/FooBean.java.html    |    37 -
 .../jspattribute/HelloWorldSimpleTag.java.html     |    33 -
 .../jsp2/jspattribute/ShuffleSimpleTag.java.html   |    83 -
 .../web/jsp2/jspattribute/TileSimpleTag.java.html  |    48 -
 .../jsp/web/jsp2/jspattribute/jspattribute.html    |    33 -
 .../jsp/web/jsp2/jspattribute/jspattribute.jsp     |    45 -
 .../web/jsp2/jspattribute/jspattribute.jsp.html    |    47 -
 .../jsp/web/jsp2/jspattribute/shuffle.html         |    33 -
 web.examples/jsp/web/jsp2/jspattribute/shuffle.jsp |    89 -
 .../jsp/web/jsp2/jspattribute/shuffle.jsp.html     |    91 -
 web.examples/jsp/web/jsp2/jspx/basic.html          |    29 -
 web.examples/jsp/web/jsp2/jspx/basic.jspx          |    30 -
 web.examples/jsp/web/jsp2/jspx/basic.jspx.html     |    32 -
 web.examples/jsp/web/jsp2/jspx/svgexample.html     |    51 -
 web.examples/jsp/web/jsp2/jspx/textRotate.html     |    30 -
 web.examples/jsp/web/jsp2/jspx/textRotate.jpg      |   Bin 26729 -> 0 bytes
 web.examples/jsp/web/jsp2/jspx/textRotate.jspx     |    34 -
 .../jsp/web/jsp2/jspx/textRotate.jspx.html         |    37 -
 .../jsp/web/jsp2/misc/EchoAttributesTag.java.html  |    56 -
 web.examples/jsp/web/jsp2/misc/coda.jspf           |     5 -
 web.examples/jsp/web/jsp2/misc/coda.jspf.html      |     7 -
 web.examples/jsp/web/jsp2/misc/config.html         |    31 -
 web.examples/jsp/web/jsp2/misc/config.jsp          |    31 -
 web.examples/jsp/web/jsp2/misc/config.jsp.html     |    33 -
 web.examples/jsp/web/jsp2/misc/dynamicattrs.html   |    30 -
 web.examples/jsp/web/jsp2/misc/dynamicattrs.jsp    |    43 -
 .../jsp/web/jsp2/misc/dynamicattrs.jsp.html        |    45 -
 web.examples/jsp/web/jsp2/misc/prelude.jspf        |     5 -
 web.examples/jsp/web/jsp2/misc/prelude.jspf.html   |     7 -
 .../jsp/web/jsp2/simpletag/BookBean.java.html      |    45 -
 .../web/jsp2/simpletag/FindBookSimpleTag.java.html |    46 -
 .../jsp/web/jsp2/simpletag/Functions.java.html     |    46 -
 .../jsp2/simpletag/HelloWorldSimpleTag.java.html   |    33 -
 .../web/jsp2/simpletag/RepeatSimpleTag.java.html   |    44 -
 web.examples/jsp/web/jsp2/simpletag/book.html      |    32 -
 web.examples/jsp/web/jsp2/simpletag/book.jsp       |    54 -
 web.examples/jsp/web/jsp2/simpletag/book.jsp.html  |    56 -
 web.examples/jsp/web/jsp2/simpletag/hello.html     |    30 -
 web.examples/jsp/web/jsp2/simpletag/hello.jsp      |    30 -
 web.examples/jsp/web/jsp2/simpletag/hello.jsp.html |    32 -
 web.examples/jsp/web/jsp2/simpletag/repeat.html    |    30 -
 web.examples/jsp/web/jsp2/simpletag/repeat.jsp     |    38 -
 .../jsp/web/jsp2/simpletag/repeat.jsp.html         |    40 -
 .../jsp/web/jsp2/tagfiles/displayProducts.tag.html |    56 -
 web.examples/jsp/web/jsp2/tagfiles/hello.html      |    30 -
 web.examples/jsp/web/jsp2/tagfiles/hello.jsp       |    34 -
 web.examples/jsp/web/jsp2/tagfiles/hello.jsp.html  |    36 -
 .../jsp/web/jsp2/tagfiles/helloWorld.tag.html      |    18 -
 web.examples/jsp/web/jsp2/tagfiles/panel.html      |    30 -
 web.examples/jsp/web/jsp2/tagfiles/panel.jsp       |    57 -
 web.examples/jsp/web/jsp2/tagfiles/panel.jsp.html  |    59 -
 web.examples/jsp/web/jsp2/tagfiles/panel.tag.html  |    30 -
 web.examples/jsp/web/jsp2/tagfiles/products.html   |    19 -
 web.examples/jsp/web/jsp2/tagfiles/products.jsp    |    53 -
 .../jsp/web/jsp2/tagfiles/products.jsp.html        |    55 -
 .../jsp/web/jsp2/tagfiles/xhtmlbasic.tag.html      |    22 -
 web.examples/jsp/web/jsptoserv/hello.jsp           |    25 -
 web.examples/jsp/web/jsptoserv/jsptoservlet.jsp    |    22 -
 .../jsp/web/jsptoserv/jsptoservlet.jsp.html        |    24 -
 web.examples/jsp/web/jsptoserv/jts.html            |    31 -
 .../jsp/web/jsptoserv/servletToJsp.java.html       |    34 -
 web.examples/jsp/web/num/numguess.html             |    32 -
 web.examples/jsp/web/num/numguess.jsp              |    68 -
 web.examples/jsp/web/num/numguess.jsp.html         |    71 -
 web.examples/jsp/web/plugin/applet/Clock2.java     |   214 -
 web.examples/jsp/web/plugin/plugin.html            |    28 -
 web.examples/jsp/web/plugin/plugin.jsp             |    33 -
 web.examples/jsp/web/plugin/plugin.jsp.html        |    35 -
 web.examples/jsp/web/security/protected/error.jsp  |    24 -
 web.examples/jsp/web/security/protected/index.jsp  |    82 -
 web.examples/jsp/web/security/protected/login.jsp  |    37 -
 web.examples/jsp/web/sessions/DummyCart.html       |    55 -
 web.examples/jsp/web/sessions/carts.html           |    52 -
 web.examples/jsp/web/sessions/carts.jsp            |    43 -
 web.examples/jsp/web/sessions/carts.jsp.html       |    45 -
 web.examples/jsp/web/sessions/crt.html             |    31 -
 web.examples/jsp/web/simpletag/foo.html            |    28 -
 web.examples/jsp/web/simpletag/foo.jsp             |    37 -
 web.examples/jsp/web/simpletag/foo.jsp.html        |    39 -
 web.examples/jsp/web/snp/snoop.html                |    29 -
 web.examples/jsp/web/snp/snoop.jsp                 |    45 -
 web.examples/jsp/web/snp/snoop.jsp.html            |    49 -
 web.examples/jsp/web/source.jsp                    |    19 -
 web.examples/jsp/web/tagplugin/choose.html         |    35 -
 web.examples/jsp/web/tagplugin/choose.jsp          |    54 -
 web.examples/jsp/web/tagplugin/choose.jsp.html     |    59 -
 web.examples/jsp/web/tagplugin/foreach.html        |    35 -
 web.examples/jsp/web/tagplugin/foreach.jsp         |    54 -
 web.examples/jsp/web/tagplugin/foreach.jsp.html    |    58 -
 web.examples/jsp/web/tagplugin/howto.html          |    42 -
 web.examples/jsp/web/tagplugin/if.html             |    35 -
 web.examples/jsp/web/tagplugin/if.jsp              |    44 -
 web.examples/jsp/web/tagplugin/if.jsp.html         |    46 -
 web.examples/jsp/web/tagplugin/notes.html          |    38 -
 web.examples/jsp/web/xml/xml.html                  |    29 -
 web.examples/jsp/web/xml/xml.jsp                   |    69 -
 web.examples/jsp/web/xml/xml.jsp.html              |    71 -
 web.examples/jstl/nbproject/project.properties     |    86 -
 web.examples/jstl/nbproject/project.xml            |    23 -
 .../taglibs/standard/examples/beans/Address.java   |   201 -
 .../taglibs/standard/examples/beans/Customer.java  |   260 -
 .../taglibs/standard/examples/beans/Customers.java |   140 -
 .../taglibs/standard/examples/i18n/Resources.java  |    78 -
 .../standard/examples/i18n/Resources_de.java       |    78 -
 .../standard/examples/i18n/Resources_fr.java       |    78 -
 .../standard/examples/i18n/Resources_it.java       |    72 -
 .../taglibs/standard/examples/startup/Init.java    |   183 -
 .../standard/examples/taglib/CustomerFmtTag.java   |   156 -
 .../standard/examples/taglib/DefaultLocaleTag.java |    80 -
 .../standard/examples/taglib/EscapeHtmlTag.java    |   172 -
 .../taglibs/standard/examples/taglib/EvenTag.java  |    83 -
 .../taglibs/standard/examples/taglib/FileTag.java  |   160 -
 .../standard/examples/taglib/Functions.java        |   109 -
 .../standard/examples/taglib/LocalesTag.java       |   101 -
 .../examples/taglib/NullAttributeException.java    |    81 -
 .../taglibs/standard/examples/taglib/OddTag.java   |    87 -
 .../standard/examples/taglib/ResourceTag.java      |   172 -
 .../standard/examples/taglib/UsCustomerTag.java    |   133 -
 .../standard/examples/util/DataSourceProvider.java |   144 -
 .../taglibs/standard/examples/util/IOBean.java     |    98 -
 .../util/ServletResponseWrapperForWriter.java      |   101 -
 .../taglibs/standard/examples/util/Util.java       |    95 -
 web.examples/jstl/web/ShowSource.jsp               |    37 -
 .../jstl/web/Templates/ExamplesTemplate.dwt        |    38 -
 web.examples/jstl/web/WEB-INF/jstl-examples.tld    |   165 -
 web.examples/jstl/web/WEB-INF/sun-web.xml          |    11 -
 web.examples/jstl/web/WEB-INF/web.xml              |    46 -
 web.examples/jstl/web/conditionals/Choose.jsp      |    27 -
 .../jstl/web/conditionals/CustomLogicTag.jsp       |    36 -
 .../jstl/web/conditionals/FailureLocal.jsp         |    27 -
 web.examples/jstl/web/conditionals/If.jsp          |    19 -
 web.examples/jstl/web/conditionals/index.html      |    59 -
 web.examples/jstl/web/elsupport/Out.jsp            |    34 -
 web.examples/jstl/web/elsupport/Set.jsp            |    33 -
 web.examples/jstl/web/elsupport/Set2.jsp           |    16 -
 web.examples/jstl/web/elsupport/index.html         |    60 -
 web.examples/jstl/web/format/Demo.jsp              |   118 -
 web.examples/jstl/web/format/FormatDateTime.jsp    |    74 -
 .../web/format/FormatDateTimeBrowserLocale.jsp     |    73 -
 web.examples/jstl/web/format/FormatNumber.jsp      |    41 -
 .../jstl/web/format/FormatNumberBrowserLocale.jsp  |    52 -
 web.examples/jstl/web/format/GermanLocale.jsp      |    18 -
 .../jstl/web/format/GermanUmlautCorrect.jsp        |    20 -
 .../jstl/web/format/GermanUmlautIncorrect.jsp      |    18 -
 web.examples/jstl/web/format/ItalianLocale.jsp     |    15 -
 .../jstl/web/format/MissingResourceBundle.jsp      |    22 -
 .../jstl/web/format/ParametricReplacement.jsp      |    66 -
 web.examples/jstl/web/format/PrefixAttribute.jsp   |    16 -
 web.examples/jstl/web/format/RequestEncoding.jsp   |    18 -
 web.examples/jstl/web/format/UndefinedKey.jsp      |    15 -
 web.examples/jstl/web/format/index.html            |    89 -
 web.examples/jstl/web/functions/EscapeXml.jsp      |    39 -
 web.examples/jstl/web/functions/Length.jsp         |    37 -
 web.examples/jstl/web/functions/Replace.jsp        |    55 -
 web.examples/jstl/web/functions/SplitJoin.jsp      |    87 -
 .../jstl/web/functions/StringCapitalization.jsp    |    55 -
 web.examples/jstl/web/functions/StringSubset.jsp   |   183 -
 .../jstl/web/functions/SubstringContained.jsp      |   227 -
 web.examples/jstl/web/functions/Trim.jsp           |    48 -
 web.examples/jstl/web/functions/index.html         |    90 -
 web.examples/jstl/web/global.css                   |     8 -
 web.examples/jstl/web/images/code.gif              |   Bin 292 -> 0 bytes
 web.examples/jstl/web/images/execute.gif           |   Bin 1242 -> 0 bytes
 web.examples/jstl/web/images/return.gif            |   Bin 1231 -> 0 bytes
 web.examples/jstl/web/import/Absolute.jsp          |    19 -
 web.examples/jstl/web/import/AbsoluteFtp.jsp       |    18 -
 web.examples/jstl/web/import/ContextRelative.jsp   |    20 -
 web.examples/jstl/web/import/Encode.jsp            |    47 -
 .../jstl/web/import/EncodeContextRelative.jsp      |    20 -
 web.examples/jstl/web/import/ExposeString.jsp      |    20 -
 .../jstl/web/import/ExposeStringRelative.jsp       |    17 -
 web.examples/jstl/web/import/LocalSample.jsp       |    14 -
 web.examples/jstl/web/import/Param.jsp             |    13 -
 web.examples/jstl/web/import/Relative.jsp          |    18 -
 web.examples/jstl/web/import/StartSlash.jsp        |    16 -
 web.examples/jstl/web/import/index.html            |    99 -
 web.examples/jstl/web/import/index.jsp             |    94 -
 web.examples/jstl/web/import/links.html            |    46 -
 web.examples/jstl/web/import/relativeLinks.html    |    10 -
 web.examples/jstl/web/import/session.jsp           |    33 -
 web.examples/jstl/web/index.html                   |   142 -
 web.examples/jstl/web/iterators/Collaboration.jsp  |    42 -
 web.examples/jstl/web/iterators/DataTypes.jsp      |    40 -
 web.examples/jstl/web/iterators/Extensability.jsp  |    45 -
 web.examples/jstl/web/iterators/ForTokens.jsp      |    25 -
 web.examples/jstl/web/iterators/Simple.jsp         |    18 -
 web.examples/jstl/web/iterators/SimpleRange.jsp    |    16 -
 web.examples/jstl/web/iterators/Status.jsp         |    53 -
 web.examples/jstl/web/iterators/index.html         |    78 -
 web.examples/jstl/web/misc/IteratorTest.jsp        |    60 -
 web.examples/jstl/web/misc/index.html              |    46 -
 web.examples/jstl/web/sql/DriverSetup.jsp          |    22 -
 web.examples/jstl/web/sql/QueryDirect.jsp          |    80 -
 web.examples/jstl/web/sql/QueryIterate.jsp         |   105 -
 web.examples/jstl/web/sql/QueryParam.jsp           |    65 -
 web.examples/jstl/web/sql/Transaction.jsp          |    54 -
 web.examples/jstl/web/sql/Update.jsp               |   110 -
 web.examples/jstl/web/sql/index.jsp                |   100 -
 web.examples/jstl/web/sql/links.html               |    32 -
 web.examples/jstl/web/sql/session.jsp              |    17 -
 .../jstl/web/tlv/PermittedTaglibsError.jsp         |    26 -
 web.examples/jstl/web/tlv/PermittedTaglibsOk.jsp   |    30 -
 web.examples/jstl/web/tlv/ScriptFreeError.jsp      |    15 -
 web.examples/jstl/web/tlv/ScriptFreeOk.jsp         |    25 -
 web.examples/jstl/web/tlv/index.html               |    67 -
 web.examples/jstl/web/xml/Filter.jsp               |    33 -
 web.examples/jstl/web/xml/ForEach.jsp              |    83 -
 web.examples/jstl/web/xml/ForEachDoc.xml           |    15 -
 web.examples/jstl/web/xml/If.jsp                   |    42 -
 web.examples/jstl/web/xml/Out.jsp                  |    66 -
 web.examples/jstl/web/xml/Parse.jsp                |    30 -
 web.examples/jstl/web/xml/ParseWithEntities.jsp    |    27 -
 web.examples/jstl/web/xml/Set.jsp                  |    31 -
 web.examples/jstl/web/xml/Transform.jsp            |    58 -
 .../jstl/web/xml/TransformWithInclusion.jsp        |    32 -
 web.examples/jstl/web/xml/When.jsp                 |    68 -
 web.examples/jstl/web/xml/games.xml                |    31 -
 web.examples/jstl/web/xml/included.xml             |     3 -
 web.examples/jstl/web/xml/includedStylesheet.xsl   |    56 -
 web.examples/jstl/web/xml/index.html               |    81 -
 web.examples/l10n.list                             |     3 -
 web.examples/manifest.mf                           |     6 -
 web.examples/nbproject/project.properties          |    43 -
 web.examples/nbproject/project.xml                 |   157 -
 web.examples/servlets/nbproject/project.properties |    83 -
 web.examples/servlets/nbproject/project.xml        |    18 -
 web.examples/servlets/src/CookieExample.java       |   118 -
 web.examples/servlets/src/HelloWorldExample.java   |    75 -
 web.examples/servlets/src/LocalStrings.properties  |    52 -
 .../servlets/src/LocalStrings_en.properties        |    52 -
 .../servlets/src/LocalStrings_es.properties        |    52 -
 .../servlets/src/LocalStrings_fr.properties        |    52 -
 .../servlets/src/RequestHeaderExample.java         |    90 -
 web.examples/servlets/src/RequestInfoExample.java  |   114 -
 web.examples/servlets/src/RequestParamExample.java |   106 -
 web.examples/servlets/src/SessionExample.java      |   140 -
 .../src/compressionFilters/CompressionFilter.java  |   218 -
 .../CompressionFilterTestServlet.java              |    57 -
 .../CompressionResponseStream.java                 |   317 -
 .../CompressionServletResponseWrapper.java         |   276 -
 .../servlets/src/filters/ExampleFilter.java        |   139 -
 .../servlets/src/filters/RequestDumperFilter.java  |   200 -
 .../src/filters/SetCharacterEncodingFilter.java    |   171 -
 .../servlets/src/listeners/ContextListener.java    |   155 -
 .../servlets/src/listeners/SessionListener.java    |   182 -
 web.examples/servlets/src/util/HTMLFilter.java     |    69 -
 web.examples/servlets/web/WEB-INF/sun-web.xml      |    11 -
 web.examples/servlets/web/WEB-INF/web.xml          |   259 -
 web.examples/servlets/web/cookies.html             |    60 -
 web.examples/servlets/web/helloworld.html          |    49 -
 web.examples/servlets/web/images/code.gif          |   Bin 292 -> 0 bytes
 web.examples/servlets/web/images/execute.gif       |   Bin 1242 -> 0 bytes
 web.examples/servlets/web/images/return.gif        |   Bin 1231 -> 0 bytes
 web.examples/servlets/web/index.html               |   120 -
 web.examples/servlets/web/reqheaders.html          |    48 -
 web.examples/servlets/web/reqinfo.html             |    67 -
 web.examples/servlets/web/reqparams.html           |    55 -
 web.examples/servlets/web/sessions.html            |    69 -
 .../modules/web/examples/Bundle.properties         |    82 -
 .../modules/web/examples/FoldersListSettings.java  |    83 -
 .../web/examples/PanelConfigureProject.java        |   129 -
 .../web/examples/PanelConfigureProjectVisual.form  |    31 -
 .../web/examples/PanelConfigureProjectVisual.java  |   116 -
 .../web/examples/PanelProjectLocationVisual.form   |   136 -
 .../web/examples/PanelProjectLocationVisual.java   |   297 -
 .../web/examples/WebSampleProjectGenerator.java    |   245 -
 .../web/examples/WebSampleProjectIterator.java     |   171 -
 .../modules/web/examples/WizardProperties.java     |    58 -
 .../modules/web/examples/descriptions/jsp.html     |     6 -
 .../modules/web/examples/descriptions/jstl.html    |     6 -
 .../web/examples/descriptions/servlets.html        |     7 -
 .../examples/descriptions/webSamplesCategory.html  |     1 -
 web.freeform/manifest.mf                           |     2 +-
 .../freeform/resources/freeform-project-web.html   |    85 +-
 web.indent/build.xml                               |    39 +
 web.indent/manifest.mf                             |     2 +-
 web.indent/nbproject/project.xml                   |    39 +
 .../netbeans/modules/web/indent/Bundle.properties  |    37 +
 web.inspect/manifest.mf                            |     2 +-
 web.inspect/nbproject/project.xml                  |    17 +
 .../web/inspect/webkit/WebKitPageModel.java        |     2 +-
 .../inspect/webkit/ui/CSSStylesSelectionPanel.java |     4 +-
 web.javascript.debugger/build.xml                  |    39 +
 web.javascript.debugger/manifest.mf                |     2 +-
 .../nbproject/project.properties                   |     2 +-
 web.javascript.debugger/nbproject/project.xml      |    66 +-
 .../web/javascript/debugger/MiscEditorUtil.java    |   233 +-
 .../debugger/annotation/PinWatchValueProvider.java |   252 +
 .../debugger/annotation/ToolTipAnnotation.java     |   102 +-
 .../debugger/annotation/ToolTipModel.java          |   104 -
 .../annotation/WebJSDebuggerTooltipSupport.java    |   123 -
 .../breakpoints/BreakpointActionProvider.java      |     5 +-
 .../debugger/breakpoints/BreakpointModel.java      |     2 +-
 .../BreakpointModelActiveSessionFilter.java        |     2 +-
 .../breakpoints/BreakpointRuntimeSetter.java       |    51 +-
 .../debugger/breakpoints/BreakpointsReader.java    |     5 +-
 .../debugger/breakpoints/LineBreakpointUtils.java  |    12 +-
 .../breakpoints/WebBreakpointsActiveService.java   |    17 -
 .../breakpoints/WebKitBreakpointManager.java       |   185 +-
 .../debugger/breakpoints/ui/Bundle.properties      |    37 +
 .../NetBeansJavaScriptDebuggerFactoryImpl.java     |     2 +
 .../debugger/callstack/CallStackActionsModel.java  |     7 +-
 .../callstack/CallStackAnnotationListener.java     |    86 +-
 .../debugger/callstack/CallStackModel.java         |     9 +-
 .../debugger/eval/EvaluatorServiceImpl.java        |    14 +-
 .../debugger/eval/VarNamesTranslatorFactory.java   |    81 +
 .../javascript/debugger/locals/VariablesModel.java |    40 +-
 .../debugger/sessions/SessionsModel.java           |     2 +-
 web.jsf.editor/build.xml                           |    39 +
 .../external/binaries-list                         |     0
 web.jsf.editor/manifest.mf                         |     2 +-
 web.jsf.editor/nbproject/project.properties        |     2 +-
 web.jsf.editor/nbproject/project.xml               |    56 +
 .../completion/JsfAttributesCompletionHelper.java  |     2 +-
 .../editor/facelets/AbstractFaceletsLibrary.java   |    63 +-
 .../web/jsf/editor/facelets/FaceletsLibrary.java   |    63 +-
 .../web/jsf/editor/facelets/libdefs/composite.xml  |    39 +
 .../web/jsf/editor/facelets/libdefs/core.xml       |    39 +
 .../web/jsf/editor/facelets/libdefs/functions.xml  |    41 +-
 .../web/jsf/editor/facelets/libdefs/html.xml       |    39 +
 .../modules/web/jsf/editor/facelets/libdefs/ui.xml |    39 +
 .../jsf/editor/facelets/mojarra/ConfigManager.java |    60 +-
 .../mojarra/FaceletsTaglibConfigProcessor.java     |    67 +-
 .../web/jsf/editor/index/JsfBinaryIndexer.java     |    14 +-
 .../web/jsf/editor/index/JsfCustomIndexer.java     |     9 +-
 .../web/jsf/editor/resources/Bundle.properties     |    37 +
 .../jsf/editor/resources/DefaultKeyBindings.xml    |     2 +-
 .../modules/web/jsf/editor/resources/layer.xml     |    39 +
 web.jsf.icefaces/build.xml                         |    39 +
 web.jsf.icefaces/manifest.mf                       |     2 +-
 web.jsf.icefaces/nbproject/project.properties      |    37 +
 web.jsf.icefaces/nbproject/project.xml             |    39 +
 .../web/jsf/icefaces/resources/Bundle.properties   |    37 +
 .../modules/web/jsf/icefaces/resources/layer.xml   |    39 +
 .../modules/web/jsf/icefaces/ui/Bundle.properties  |    37 +
 web.jsf.kit/build.xml                              |    39 +
 web.jsf.kit/manifest.mf                            |     2 +-
 web.jsf.kit/nbproject/project.properties           |    37 +
 web.jsf.kit/nbproject/project.xml                  |    39 +
 .../netbeans/modules/web/jsf/kit/Bundle.properties |    37 +
 web.jsf.navigation/build.xml                       |    39 +
 web.jsf.navigation/manifest.mf                     |     2 +-
 web.jsf.navigation/nbproject/project.xml           |    39 +
 .../web/jsf/navigation/NavigationCaseEdge.java     |     3 +-
 .../jsf/navigation/PageFlowToolbarUtilities.java   |     3 +-
 .../modules/web/jsf/navigation/PageFlowView.java   |    18 +-
 .../netbeans/modules/web/jsf/navigation/Pin.java   |     4 +-
 .../jsf/navigation/graph/PageFlowSceneElement.java |    44 +-
 .../jsf/navigation/graph/actions/Bundle.properties |    37 +
 .../graph/actions/LinkCreateProvider.java          |     3 +-
 .../graph/actions/PageFlowAcceptProvider.java      |     4 +-
 .../graph/actions/PageFlowPopupProvider.java       |     4 +-
 .../web/jsf/navigation/PageFlowControllerTest.java |     2 +-
 .../web/jsf/navigation/TestJSFApp/build.xml        |    53 +-
 .../navigation/TestJSFApp/nbproject/ant-deploy.xml |    41 +-
 .../TestJSFApp/nbproject/project.properties        |    37 +
 .../navigation/TestJSFApp/nbproject/project.xml    |    39 +
 .../TestJSFApp/web/WEB-INF/faces-config.xml        |    39 +
 .../navigation/TestJSFApp/web/WEB-INF/sun-web.xml  |    40 +
 .../jsf/navigation/TestJSFApp/web/WEB-INF/web.xml  |    39 +
 .../jsf/navigation/TestJSFApp/web/welcomeJSF.jsp   |    42 +
 web.jsf.richfaces/build.xml                        |    39 +
 web.jsf.richfaces/manifest.mf                      |     2 +-
 web.jsf.richfaces/nbproject/project.properties     |    37 +
 web.jsf.richfaces/nbproject/project.xml            |    39 +
 .../modules/web/jsf/richfaces/resources/layer.xml  |    39 +
 .../modules/web/jsf/richfaces/ui/Bundle.properties |    37 +
 web.jsf/nbproject/project.properties               |     2 +-
 web.jsf/nbproject/project.xml                      |     9 +
 .../web/jsf/facelets/resources/Template.html       |    45 +-
 .../web/jsf/facelets/resources/TemplateClient.html |    45 +-
 .../modules/web/jsf/resources/FacesComponent.html  |    16 +-
 .../modules/web/jsf/resources/FacesConfig.html     |    16 +-
 .../modules/web/jsf/resources/JSFInfo.html         |    16 +-
 .../modules/web/jsf/resources/JSFManagedBean.html  |    16 +-
 .../modules/web/jsf/resources/JsfFromDB.html       |    16 +-
 .../web/jsf/resources/ResourceLibraryContract.html |    16 +-
 .../web/jsf/resources/compositeComponent.html      |    11 +-
 .../web/jsf/resources/facelet-taglib_1_0.dtd       |     3 +-
 .../modules/web/jsf/resources/faces-config_1_2.xml |     6 +-
 .../jsf/resources/web-facelettaglibrary_2_0.xsd    |    10 +-
 .../web/jsf/resources/web-facesconfig_1_1.mdd      |    39 +
 .../web/jsf/resources/web-facesconfig_1_2.mdd      |    39 +
 .../web.jsf12 => web.jsf12}/external/binaries-list |     0
 web.jsf12/nbproject/project.properties             |     2 +-
 web.jsf12ri/build.xml                              |    39 +
 web.jsf12ri/nbproject/project.properties           |     2 +-
 web.jsf12ri/nbproject/project.xml                  |    39 +
 .../web.jsf20 => web.jsf20}/external/binaries-list |     0
 web.jsf20/nbproject/project.properties             |     2 +-
 web.jsfapi/build.xml                               |    39 +
 web.jsfapi/manifest.mf                             |     2 +-
 web.jsfapi/nbproject/project.properties            |    37 +
 web.jsfapi/nbproject/project.xml                   |    48 +
 .../netbeans/modules/web/jsfapi/Bundle.properties  |    37 +
 .../netbeans/modules/web/jsfapi/api/Library.java   |    63 +-
 .../external/binaries-list                         |     0
 .../web/jspparser_ext/WebAppParseSupport.java      |   115 +-
 web.jspparser/manifest.mf                          |     2 +-
 .../modules/web/jspparser/Bundle.properties        |     2 +-
 .../modules/web/jspparser/JspParserImpl.java       |     2 +-
 .../modules/web/jspparser/WebAppParseProxy.java    |     3 +-
 .../modules/web/jsps/parserapi/PageInfo.java       |    11 +-
 .../netbeans/modules/web/jspparser/ParseTest.java  |     2 +-
 .../web/jspparser/ParserClassLoaderTest.java       |     5 +-
 .../goldenfiles/ParseTest/testAnalysisFaulty.pass  |     8 +-
 .../goldenfiles/ParseTest/testAnalysisMain.pass    |     8 +-
 web.kit/build.xml                                  |    39 +
 web.kit/manifest.mf                                |     2 +-
 web.kit/nbproject/project.xml                      |    46 +-
 web.kit/release/VERSION.txt                        |     2 +-
 .../org/netbeans/modules/web/kit/Bundle.properties |    37 +
 web.kit/test/coverage.properties                   |    37 +
 .../NewWebProjectStrutsFrameworkStepOperator.java  |    39 +
 .../external/binaries-list                         |     0
 web.monitor/manifest.mf                            |     2 +-
 web.primefaces/build.xml                           |    39 +
 .../external/binaries-list                         |     0
 web.primefaces/manifest.mf                         |     2 +-
 web.primefaces/nbproject/project.properties        |    37 +
 web.primefaces/nbproject/project.xml               |    39 +
 .../web/primefaces/resources/Bundle.properties     |    37 +
 .../modules/web/primefaces/resources/layer.xml     |    39 +
 .../web/primefaces/resources/primefaces.xml        |    46 +-
 .../modules/web/primefaces/ui/Bundle.properties    |    37 +
 web.project/nbproject/project.properties           |     2 +-
 web.project/nbproject/project.xml                  |     8 +
 .../netbeans/modules/web/project/WebProject.java   |     3 +-
 .../modules/web/project/resources/jax-ws.xml       |     5 -
 .../ui/customizer/WebCompositePanelProvider.java   |     6 +-
 .../web/project/ui/resources/web-emptyProject.html |    16 +-
 .../project/ui/resources/web-importProject.html    |    16 +-
 .../modules/web/project/ui/resources/web.html      |    75 +-
 web.refactoring/build.xml                          |    39 +
 web.refactoring/nbproject/project.properties       |    39 +-
 web.refactoring/nbproject/project.xml              |    39 +
 .../modules/web/refactoring/Bundle.properties      |    37 +
 .../modules/web/refactoring/rename/TldRename.java  |     2 +-
 .../external/binaries-list                         |     0
 web.struts/nbproject/project.properties            |     2 +-
 .../struts/resources/MessageResources.properties   |    37 +
 .../modules/web/struts/resources/StrutsAction.html |    16 +-
 .../web/struts/resources/StrutsFormBean.html       |    16 +-
 .../web/struts/resources/struts-config_1_2.mdd     |    39 +
 .../modules/web/struts/resources/validation.xml    |    39 +
 .../modules/web/struts/EndToEndTest.properties     |    37 +
 web.webkit.debugging/build.xml                     |    39 +
 web.webkit.debugging/manifest.mf                   |     2 +-
 web.webkit.debugging/nbproject/project.properties  |    37 +
 web.webkit.debugging/nbproject/project.xml         |    39 +
 .../modules/web/webkit/debugging/Bundle.properties |    43 +
 .../modules/web/webkit/debugging/api/Debugger.java |    35 +-
 .../debugging/api/console/ConsoleMessage.java      |     6 +
 .../modules/web/webkit/debugging/api/css/CSS.java  |    37 +-
 .../webkit/debugging/api/css/MatchedStyles.java    |     9 +-
 .../webkit/debugging/api/css/PseudoIdRules.java    |    98 -
 .../modules/web/webkit/debugging/api/css/Rule.java |     2 +-
 .../web/webkit/debugging/api/css/Style.java        |    20 +-
 .../webkit/debugging/api/debugger/Breakpoint.java  |    17 +
 .../web/webkit/debugging/api/debugger/Script.java  |     4 +-
 .../web/webkit/debugging/api/network/Network.java  |     6 +
 web.webkit.tooling/build.xml                       |    39 +
 web.webkit.tooling/manifest.mf                     |     2 +-
 web.webkit.tooling/nbproject/project.properties    |    37 +
 web.webkit.tooling/nbproject/project.xml           |    39 +
 .../modules/web/webkit/tooling/Bundle.properties   |    37 +
 .../tooling/console/BrowserConsoleLogger.java      |    61 +-
 .../tooling/networkmonitor/Bundle.properties       |    37 +
 .../webkit/tooling/networkmonitor/ModelItem.java   |     3 +-
 weblogic.common/build.xml                          |    39 +
 weblogic.common/manifest.mf                        |     2 +-
 weblogic.common/nbproject/project.xml              |    39 +
 .../weblogic/common/api/DeploymentTarget.java      |   121 +
 .../weblogic/common/api/WebLogicDeployer.java      |   225 +-
 .../weblogic/common/resources/Bundle.properties    |    37 +
 websocket/build.xml                                |    39 +
 websocket/manifest.mf                              |     2 +-
 websocket/nbproject/project.properties             |    37 +
 websocket/nbproject/project.xml                    |    39 +
 .../websocket/wizard/resources/WebSocket.html      |    39 +
 websvc.clientapi/manifest.mf                       |     2 +-
 websvc.core/nbproject/project.properties           |     2 +-
 .../core/client/resources/WebServiceClient.html    |    16 +-
 .../websvc/core/dev/resources/LogicalHandler.html  |    16 +-
 .../websvc/core/dev/resources/MessageHandler.html  |    16 +-
 .../websvc/core/dev/resources/WebService.html      |    16 +-
 .../core/dev/resources/WebServiceFromWSDL.html     |    16 +-
 .../core/jaxws/projects/JavaEEWSOpenHook.java      |    23 +-
 .../core/resources/default-binding-handler.xml     |     6 +-
 websvc.customization/nbproject/project.properties  |     2 +-
 .../jaxwssettings/panel/Bundle.properties          |    39 +-
 websvc.design/manifest.mf                          |     2 +-
 .../websvc/design/view/actions/Bundle.properties   |     2 +-
 websvc.editor.hints/manifest.mf                    |     2 +-
 websvc.jaxws.lightapi/manifest.mf                  |     2 +-
 .../external/binaries-list                         |     0
 websvc.jaxws21/manifest.mf                         |     2 +-
 .../external/binaries-list                         |     0
 websvc.jaxws21api/manifest.mf                      |     2 +-
 websvc.jaxwsapi/manifest.mf                        |     2 +-
 websvc.jaxwsmodel/manifest.mf                      |     2 +-
 websvc.jaxwsmodelapi/build.xml                     |    39 +
 websvc.jaxwsmodelapi/manifest.mf                   |     2 +-
 websvc.jaxwsmodelapi/nbproject/project.properties  |    37 +
 websvc.jaxwsmodelapi/nbproject/project.xml         |    39 +
 .../modules/websvc/jaxwsmodelapi/Bundle.properties |    37 +
 websvc.kit/manifest.mf                             |     2 +-
 .../netbeans/modules/ws/qaf/editor/HintsTests.java |     4 +-
 websvc.manager/manifest.mf                         |     2 +-
 .../modules/websvc/manager/ui/Bundle.properties    |    37 +
 .../websvc/manager/ui/TestWebServiceMethodDlg.java |     2 +-
 .../external/binaries-list                         |     0
 websvc.metro.lib/manifest.mf                       |     2 +-
 websvc.metro.model/manifest.mf                     |     2 +-
 websvc.metro.model/nbproject/coverage.properties   |    38 +
 websvc.metro.model/nbproject/project.properties    |    37 +
 websvc.metro.samples/manifest.mf                   |     2 +-
 .../samples_src/CalculatorApp/build.xml            |    39 +
 .../CalculatorApp/nbproject/jaxws-build.xml        |    39 +
 .../CalculatorApp/nbproject/project.properties     |    37 +
 .../CalculatorApp/nbproject/project.xml            |    39 +
 .../CalculatorApp/web/WEB-INF/sun-web.xml          |     2 +-
 .../samples_src/CalculatorClientApp/build.xml      |    45 +-
 .../samples_src/CalculatorClientApp/catalog.xml    |    39 +
 .../CalculatorClientApp/nbproject/jax-ws.xml       |    39 +
 .../nbproject/project.properties                   |    37 +
 .../CalculatorClientApp/nbproject/project.xml      |    39 +
 .../wsdl/CalculatorWSService.wsdl                  |    42 +-
 .../src/java/META-INF/CalculatorWSService.xml      |    42 +-
 .../src/java/META-INF/wsit-client.xml              |    50 +-
 .../web/WEB-INF/jax-ws-catalog.xml                 |    39 +
 .../CalculatorClientApp/web/WEB-INF/sun-web.xml    |    39 +
 .../web/WEB-INF/wsdl/CalculatorWSService.wsdl      |    42 +-
 .../SecureCalculatorApp/nbproject/jaxws-build.xml  |    39 +
 .../SecureCalculatorApp/web/WEB-INF/sun-web.xml    |     2 +-
 .../wsdl/CalculatorWSService.wsdl                  |    42 +-
 .../src/java/META-INF/CalculatorWSService.xml      |     4 +-
 .../web/WEB-INF/jax-ws-catalog.xml                 |    39 +
 .../web/WEB-INF/sun-web.xml                        |     2 +-
 .../web/WEB-INF/wsdl/CalculatorWSService.wsdl      |    42 +-
 .../metro/samples/descriptions/Calculator.html     |    39 +
 .../samples/descriptions/SecureCalculator.html     |    39 +
 .../samples/descriptions/metroSamplesCategory.html |    39 +
 .../modules/websvc/metro/samples/mf-layer.xml      |     2 +-
 websvc.owsm/manifest.mf                            |     2 +-
 websvc.owsm/nbproject/project.xml                  |    39 +
 websvc.projectapi/arch.xml                         |    49 +-
 websvc.projectapi/manifest.mf                      |     2 +-
 .../CustomerDB/src/java/entities/Customer.java     |    40 +-
 .../CustomerDB/src/java/entities/DiscountCode.java |    40 +-
 .../CustomerDB/src/java/entities/MicroMarket.java  |    40 +-
 .../src/java/entities/service/AbstractFacade.java  |    42 +-
 .../java/entities/service/ApplicationConfig.java   |    42 +-
 .../java/entities/service/CustomerFacadeREST.java  |    40 +-
 .../entities/service/DiscountCodeFacadeREST.java   |    40 +-
 .../entities/service/MicroMarketFacadeREST.java    |    40 +-
 .../CustomerDB/web/CustomerClient.js               |    48 +-
 .../CustomerDB/web/css_master-all.css              |    58 +-
 websvc.rest.samples/CustomerDB/web/index.html      |    62 +-
 .../CustomerDB/web/js/libs/backbone.js/backbone.js |  1571 -
 .../web/js/libs/underscore.js/underscore.js        |  1226 -
 .../CustomerDB/web/test-resbeans.css               |    79 +-
 .../CustomerDBClient/web/css/style.css             |    77 +-
 .../CustomerDBSpring/setup/sun-resources.xml       |     8 +-
 .../CustomerDBSpring/web/restclient/Readme.html    |    77 +-
 .../CustomerDBSpring/web/restclient/TestStubs.html |    75 +-
 .../web/restclient/css/clientstubs.css             |    79 +-
 .../web/restclient/css/css_master-all.css          |    58 +-
 .../web/restclient/ui/css/style.css                |    77 +-
 .../LeanServiceECBComponentWithAjax/build.xml      |    43 +-
 .../nbproject/project.properties                   |    37 +
 .../nbproject/project.xml                          |    39 +
 .../src/conf/persistence.xml                       |    39 +
 .../web/WEB-INF/sun-web.xml                        |    39 +
 .../web/WEB-INF/web.xml                            |    39 +
 .../LeanServiceECBComponentWithAjax/web/index.html |    58 +-
 websvc.rest.samples/MessageBoard/docs/index.html   |    41 +
 .../MessageBoard/nbproject/project.properties      |    37 +
 .../MessageBoard/nbproject/project.xml             |    39 +
 websvc.rest.samples/MessageBoard/web/index.html    |    73 +-
 .../RestRCPMvnAppSampleProject/application/pom.xml |    40 +-
 .../RestRCPMvnAppSampleProject/branding/pom.xml    |    39 +
 .../org/netbeans/core/startup/Bundle.properties    |    37 +
 .../core/windows/view/ui/Bundle.properties         |    37 +
 .../org/netbeans/core/ui/Bundle.properties         |    37 +
 .../main/resources/demo/rest/mvn/Bundle.properties |    37 +
 .../src/main/resources/demo/rest/mvn/layer.xml     |    41 +-
 .../RestRCPMvnAppSampleProject/pom.xml             |    39 +
 .../RestRCPMvnAppSampleProject/restsample/pom.xml  |    41 +-
 websvc.rest.samples/manifest.mf                    |     2 +-
 .../CustomerDBClientSampleDescription.html         |    45 +-
 .../resources/CustomerDBSampleDescription.html     |    39 +
 .../CustomerDBSpringSampleDescription.html         |    39 +
 .../resources/HelloWorldSampleDescription.html     |    39 +
 .../resources/LeanServiceECBComponentWithAjax.html |    39 +
 .../resources/MessageBoardSampleDescription.html   |    39 +
 .../resources/RestRCPMvnAppSampleDescription.html  |    15 +-
 .../websvc/rest/samples/resources/category.html    |    38 +
 websvc.rest/manifest.mf                            |     2 +-
 .../websvc/rest/codegen/RestGenerationOptions.java |    52 +-
 .../rest/wizard/fromdb/EjbFacadeGenerator.java     |     9 +-
 .../rest/wizard/resources/DatabaseResource.html    |    39 +
 .../rest/wizard/resources/EntityResources.html     |    39 +
 .../websvc/rest/wizard/resources/JaxRsFilter.html  |    39 +
 .../rest/wizard/resources/JaxRsInterceptor.html    |    39 +
 .../rest/wizard/resources/JerseyClientWizard.html  |    11 +-
 .../wizard/resources/OriginResourceFilter.html     |    41 +-
 .../rest/wizard/resources/PatternResources.html    |    39 +
 websvc.restapi/manifest.mf                         |     2 +-
 .../websvc/rest/spi/resources/clientstubs.css      |    79 +-
 .../websvc/rest/spi/resources/css_master-all.css   |    58 +-
 .../websvc/rest/spi/resources/test-resbeans.css    |    79 +-
 websvc.restkit/manifest.mf                         |     2 +-
 websvc.restlib/arch.xml                            |    49 +-
 .../external/binaries-list                         |     0
 websvc.restlib/manifest.mf                         |     2 +-
 websvc.saas.api/manifest.mf                        |     2 +-
 websvc.saas.api/nbproject/project.properties       |    37 +
 websvc.saas.api/nbproject/project.xml              |    39 +
 websvc.saas.codegen.j2ee/build.xml                 |    39 +
 websvc.saas.codegen.j2ee/manifest.mf               |     2 +-
 .../nbproject/project.properties                   |    37 +
 websvc.saas.codegen.j2ee/nbproject/project.xml     |    39 +
 .../modules/websvc/saas/codegen/j2ee/layer.xml     |    39 +
 websvc.saas.codegen.java/build.xml                 |    39 +
 websvc.saas.codegen.java/manifest.mf               |     2 +-
 .../nbproject/project.properties                   |    37 +
 websvc.saas.codegen.java/nbproject/project.xml     |    39 +
 .../modules/websvc/saas/codegen/java/layer.xml     |    39 +
 websvc.saas.codegen.php/build.xml                  |    39 +
 websvc.saas.codegen.php/manifest.mf                |     2 +-
 .../nbproject/project.properties                   |    37 +
 websvc.saas.codegen.php/nbproject/project.xml      |    39 +
 .../modules/websvc/saas/codegen/php/layer.xml      |    41 +-
 websvc.saas.codegen/build.xml                      |    39 +
 websvc.saas.codegen/manifest.mf                    |     2 +-
 websvc.saas.codegen/nbproject/project.properties   |    37 +
 websvc.saas.codegen/nbproject/project.xml          |    39 +
 websvc.saas.kit/build.xml                          |    41 +-
 websvc.saas.kit/manifest.mf                        |     2 +-
 websvc.saas.kit/nbproject/project.xml              |    39 +
 websvc.saas.kit/release/VERSION.txt                |     2 +-
 .../modules/websvc/saas/kit/Bundle.properties      |    37 +
 websvc.saas.services.amazon/build.xml              |    39 +
 websvc.saas.services.amazon/manifest.mf            |     2 +-
 websvc.saas.services.amazon/nbproject/project.xml  |    39 +
 websvc.saas.services.delicious/build.xml           |    39 +
 websvc.saas.services.delicious/manifest.mf         |     2 +-
 .../nbproject/project.xml                          |    39 +
 websvc.saas.services.flickr/build.xml              |    39 +
 websvc.saas.services.flickr/manifest.mf            |     2 +-
 websvc.saas.services.flickr/nbproject/project.xml  |    39 +
 websvc.saas.services.google/build.xml              |    39 +
 websvc.saas.services.google/manifest.mf            |     2 +-
 websvc.saas.services.google/nbproject/project.xml  |    39 +
 .../resources/java/googlemapservice.properties     |    41 +-
 websvc.saas.services.strikeiron/build.xml          |    39 +
 websvc.saas.services.strikeiron/manifest.mf        |     2 +-
 .../nbproject/project.properties                   |    37 +
 .../nbproject/project.xml                          |    39 +
 websvc.saas.services.weatherbug/build.xml          |    39 +
 websvc.saas.services.weatherbug/manifest.mf        |     2 +-
 .../nbproject/project.properties                   |    37 +
 .../nbproject/project.xml                          |    39 +
 .../saas/services/weatherbug/Bundle.properties     |    37 +
 .../websvc/saas/services/weatherbug/layer.xml      |    43 +-
 websvc.saas.services.zillow/build.xml              |    39 +
 websvc.saas.services.zillow/manifest.mf            |     2 +-
 websvc.saas.services.zillow/nbproject/project.xml  |    39 +
 websvc.saas.services.zvents/build.xml              |    39 +
 websvc.saas.services.zvents/manifest.mf            |     2 +-
 websvc.saas.services.zvents/nbproject/project.xml  |    39 +
 .../websvc/saas/services/zvents/Bundle.properties  |    37 +
 .../modules/websvc/saas/services/zvents/layer.xml  |    43 +-
 websvc.saas.ui/build.xml                           |    39 +
 websvc.saas.ui/manifest.mf                         |     2 +-
 websvc.saas.ui/nbproject/project.properties        |    37 +
 websvc.saas.ui/nbproject/project.xml               |    39 +
 websvc.utilities/manifest.mf                       |     2 +-
 websvc.websvcapi/manifest.mf                       |     2 +-
 websvc.wsitconf/coverage/emmascript.xml            |    55 +-
 websvc.wsitconf/manifest.mf                        |     2 +-
 websvc.wsitconf/nbproject/coverage.properties      |    38 +
 .../websvc/wsitconf/resources/STSWizard.html       |    39 +
 websvc.wsitmodelext/manifest.mf                    |     2 +-
 websvc.wsitmodelext/nbproject/coverage.properties  |    38 +
 websvc.wsstackapi/arch.xml                         |    49 +-
 websvc.wsstackapi/manifest.mf                      |     2 +-
 welcome/manifest.mf                                |     2 +-
 welcome/release/docs/GUIExamplesDescription.html   |    41 +-
 welcome/release/docs/SwingInteropDescription.html  |    51 +-
 welcome/release/docs/netbeans.css                  |    39 +
 .../modules/welcome/Bundle_test.properties         |     2 +-
 .../netbeans/modules/welcome/FeedbackSurvey.java   |    29 +-
 .../modules/welcome/resources/Bundle.properties    |    37 +
 .../modules/welcome/resources/Welcome.settings     |    39 +
 .../modules/welcome/resources/Welcome.wstcref      |    39 +
 .../modules/welcome/resources/java_logo_dark.png   |   Bin 0 -> 6921 bytes
 .../modules/welcome/resources/nb_logo_dark.png     |   Bin 0 -> 3366 bytes
 .../modules/welcome/resources/oracle_logo_dark.png |   Bin 0 -> 1211 bytes
 .../modules/welcome/resources/whatsnew.url         |     2 +-
 whitelist/build.xml                                |    39 +
 whitelist/manifest.mf                              |     2 +-
 whitelist/nbproject/project.properties             |    37 +
 whitelist/nbproject/project.xml                    |    39 +
 .../netbeans/modules/whitelist/Bundle.properties   |    37 +
 .../modules/whitelist/project/Bundle.properties    |    37 +
 xml.axi/manifest.mf                                |     2 +-
 .../modules/xml/axi/AXIModelPerf2Test.java         |    84 -
 .../netbeans/modules/xml/axi/resources/hl7/ACK.xsd |    29 -
 .../modules/xml/axi/resources/hl7/ADR_A19.xsd      |    72 -
 .../modules/xml/axi/resources/hl7/ADT_A01.xsd      |    60 -
 .../modules/xml/axi/resources/hl7/ADT_A02.xsd      |    34 -
 .../modules/xml/axi/resources/hl7/ADT_A03.xsd      |    45 -
 .../modules/xml/axi/resources/hl7/ADT_A05.xsd      |    60 -
 .../modules/xml/axi/resources/hl7/ADT_A06.xsd      |    61 -
 .../modules/xml/axi/resources/hl7/ADT_A09.xsd      |    35 -
 .../modules/xml/axi/resources/hl7/ADT_A12.xsd      |    35 -
 .../modules/xml/axi/resources/hl7/ADT_A15.xsd      |    35 -
 .../modules/xml/axi/resources/hl7/ADT_A16.xsd      |    36 -
 .../modules/xml/axi/resources/hl7/ADT_A17.xsd      |    40 -
 .../modules/xml/axi/resources/hl7/ADT_A18.xsd      |    32 -
 .../modules/xml/axi/resources/hl7/ADT_A20.xsd      |    29 -
 .../modules/xml/axi/resources/hl7/ADT_A21.xsd      |    34 -
 .../modules/xml/axi/resources/hl7/ADT_A24.xsd      |    36 -
 .../modules/xml/axi/resources/hl7/ADT_A30.xsd      |    31 -
 .../modules/xml/axi/resources/hl7/ADT_A37.xsd      |    36 -
 .../modules/xml/axi/resources/hl7/ADT_A38.xsd      |    36 -
 .../modules/xml/axi/resources/hl7/ADT_A39.xsd      |    39 -
 .../modules/xml/axi/resources/hl7/ADT_A43.xsd      |    38 -
 .../modules/xml/axi/resources/hl7/ADT_A45.xsd      |    39 -
 .../modules/xml/axi/resources/hl7/ADT_A50.xsd      |    32 -
 .../modules/xml/axi/resources/hl7/BAR_P01.xsd      |    66 -
 .../modules/xml/axi/resources/hl7/BAR_P02.xsd      |    39 -
 .../modules/xml/axi/resources/hl7/BAR_P05.xsd      |    66 -
 .../modules/xml/axi/resources/hl7/BAR_P06.xsd      |    37 -
 .../modules/xml/axi/resources/hl7/CRM_C01.xsd      |    38 -
 .../modules/xml/axi/resources/hl7/CSU_C09.xsd      |    84 -
 .../modules/xml/axi/resources/hl7/DFT_P03.xsd      |    63 -
 .../modules/xml/axi/resources/hl7/DOC_T12.xsd      |    44 -
 .../modules/xml/axi/resources/hl7/DSR_Q01.xsd      |    34 -
 .../modules/xml/axi/resources/hl7/DSR_Q03.xsd      |    34 -
 .../modules/xml/axi/resources/hl7/EDR_R07.xsd      |    32 -
 .../modules/xml/axi/resources/hl7/EQQ_Q04.xsd      |    29 -
 .../modules/xml/axi/resources/hl7/ERP_R09.xsd      |    32 -
 .../modules/xml/axi/resources/hl7/MDM_T01.xsd      |    31 -
 .../modules/xml/axi/resources/hl7/MDM_T02.xsd      |    32 -
 .../modules/xml/axi/resources/hl7/MFD_MFA.xsd      |    29 -
 .../modules/xml/axi/resources/hl7/MFK_M01.xsd      |    31 -
 .../modules/xml/axi/resources/hl7/MFN_M01.xsd      |    37 -
 .../modules/xml/axi/resources/hl7/MFN_M02.xsd      |    38 -
 .../modules/xml/axi/resources/hl7/MFN_M03.xsd      |    38 -
 .../modules/xml/axi/resources/hl7/MFN_M04.xsd      |    38 -
 .../modules/xml/axi/resources/hl7/MFN_M05.xsd      |    48 -
 .../modules/xml/axi/resources/hl7/MFN_M06.xsd      |    45 -
 .../modules/xml/axi/resources/hl7/MFN_M08.xsd      |    45 -
 .../modules/xml/axi/resources/hl7/MFN_M09.xsd      |    44 -
 .../modules/xml/axi/resources/hl7/MFN_M10.xsd      |    44 -
 .../modules/xml/axi/resources/hl7/MFN_M11.xsd      |    44 -
 .../modules/xml/axi/resources/hl7/MFQ_M01.xsd      |    30 -
 .../modules/xml/axi/resources/hl7/MFR_M01.xsd      |    43 -
 .../modules/xml/axi/resources/hl7/OMD_O01.xsd      |    89 -
 .../modules/xml/axi/resources/hl7/OMN_O01.xsd      |    82 -
 .../modules/xml/axi/resources/hl7/OMS_O01.xsd      |    81 -
 .../modules/xml/axi/resources/hl7/ORD_O02.xsd      |    63 -
 .../modules/xml/axi/resources/hl7/ORF_R04.xsd      |    66 -
 .../modules/xml/axi/resources/hl7/ORM_O01.xsd      |    94 -
 .../modules/xml/axi/resources/hl7/ORN_O02.xsd      |    43 -
 .../modules/xml/axi/resources/hl7/ORR_O02.xsd      |    54 -
 .../modules/xml/axi/resources/hl7/ORS_O02.xsd      |    42 -
 .../modules/xml/axi/resources/hl7/ORU_R01.xsd      |    71 -
 .../modules/xml/axi/resources/hl7/OSQ_Q06.xsd      |    30 -
 .../modules/xml/axi/resources/hl7/OSR_Q06.xsd      |    57 -
 .../modules/xml/axi/resources/hl7/PEX_P07.xsd      |   113 -
 .../modules/xml/axi/resources/hl7/PGL_PC6.xsd      |   127 -
 .../modules/xml/axi/resources/hl7/PIN_I07.xsd      |    55 -
 .../modules/xml/axi/resources/hl7/PPG_PCG.xsd      |   136 -
 .../modules/xml/axi/resources/hl7/PPP_PCB.xsd      |   136 -
 .../modules/xml/axi/resources/hl7/PPR_PC1.xsd      |   127 -
 .../modules/xml/axi/resources/hl7/PPT_PCL.xsd      |   146 -
 .../modules/xml/axi/resources/hl7/PPV_PCA.xsd      |   137 -
 .../modules/xml/axi/resources/hl7/PRR_PC5.xsd      |   137 -
 .../modules/xml/axi/resources/hl7/PTR_PCF.xsd      |   146 -
 .../modules/xml/axi/resources/hl7/QCK_Q02.xsd      |    30 -
 .../modules/xml/axi/resources/hl7/QRY_A19.xsd      |    29 -
 .../modules/xml/axi/resources/hl7/QRY_PC4.xsd      |    29 -
 .../modules/xml/axi/resources/hl7/QRY_Q01.xsd      |    30 -
 .../modules/xml/axi/resources/hl7/QRY_Q02.xsd      |    30 -
 .../modules/xml/axi/resources/hl7/QRY_R02.xsd      |    29 -
 .../modules/xml/axi/resources/hl7/QRY_T12.xsd      |    29 -
 .../modules/xml/axi/resources/hl7/RAR_RAR.xsd      |    65 -
 .../modules/xml/axi/resources/hl7/RAS_O01.xsd      |    97 -
 .../modules/xml/axi/resources/hl7/RCI_I05.xsd      |    60 -
 .../modules/xml/axi/resources/hl7/RCL_I06.xsd      |    46 -
 .../modules/xml/axi/resources/hl7/RDE_O01.xsd      |    93 -
 .../modules/xml/axi/resources/hl7/RDO_O01.xsd      |    90 -
 .../modules/xml/axi/resources/hl7/RDR_RDR.xsd      |    72 -
 .../modules/xml/axi/resources/hl7/RDS_O01.xsd      |    97 -
 .../modules/xml/axi/resources/hl7/REF_I12.xsd      |   109 -
 .../modules/xml/axi/resources/hl7/RER_RER.xsd      |    57 -
 .../modules/xml/axi/resources/hl7/RGR_RGR.xsd      |    66 -
 .../modules/xml/axi/resources/hl7/RGV_O01.xsd      |   102 -
 .../modules/xml/axi/resources/hl7/RPA_I08.xsd      |   102 -
 .../modules/xml/axi/resources/hl7/RPI_I01.xsd      |    56 -
 .../modules/xml/axi/resources/hl7/RPI_I04.xsd      |    56 -
 .../modules/xml/axi/resources/hl7/RPL_I02.xsd      |    40 -
 .../modules/xml/axi/resources/hl7/RPR_I03.xsd      |    39 -
 .../modules/xml/axi/resources/hl7/RQA_I08.xsd      |   107 -
 .../modules/xml/axi/resources/hl7/RQC_I05.xsd      |    42 -
 .../modules/xml/axi/resources/hl7/RQC_I06.xsd      |    42 -
 .../modules/xml/axi/resources/hl7/RQI_I01.xsd      |    55 -
 .../modules/xml/axi/resources/hl7/RQP_I04.xsd      |    40 -
 .../modules/xml/axi/resources/hl7/RQQ_Q09.xsd      |    29 -
 .../modules/xml/axi/resources/hl7/RRA_O02.xsd      |    48 -
 .../modules/xml/axi/resources/hl7/RRD_O02.xsd      |    49 -
 .../modules/xml/axi/resources/hl7/RRE_O02.xsd      |    49 -
 .../modules/xml/axi/resources/hl7/RRG_O02.xsd      |    49 -
 .../modules/xml/axi/resources/hl7/RRI_I12.xsd      |    91 -
 .../modules/xml/axi/resources/hl7/RRO_O02.xsd      |    51 -
 .../modules/xml/axi/resources/hl7/SIU_S12.xsd      |    81 -
 .../modules/xml/axi/resources/hl7/SPQ_Q08.xsd      |    30 -
 .../modules/xml/axi/resources/hl7/SQM_S25.xsd      |    79 -
 .../modules/xml/axi/resources/hl7/SQR_S25.xsd      |    89 -
 .../modules/xml/axi/resources/hl7/SRM_S01.xsd      |    85 -
 .../modules/xml/axi/resources/hl7/SRR_S01.xsd      |    87 -
 .../modules/xml/axi/resources/hl7/SUR_P09.xsd      |    53 -
 .../modules/xml/axi/resources/hl7/TBR_R08.xsd      |    33 -
 .../modules/xml/axi/resources/hl7/UDM_Q05.xsd      |    31 -
 .../modules/xml/axi/resources/hl7/VQQ_Q07.xsd      |    30 -
 .../modules/xml/axi/resources/hl7/VXQ_V01.xsd      |    29 -
 .../modules/xml/axi/resources/hl7/VXR_V03.xsd      |    68 -
 .../modules/xml/axi/resources/hl7/VXU_V04.xsd      |    65 -
 .../modules/xml/axi/resources/hl7/VXX_V02.xsd      |    39 -
 .../modules/xml/axi/resources/hl7/batch.xsd        |    40 -
 .../modules/xml/axi/resources/hl7/datatypes.xsd    | 10295 ------
 .../modules/xml/axi/resources/hl7/fields.xsd       | 36584 -------------------
 .../modules/xml/axi/resources/hl7/messages.xsd     |   513 -
 .../modules/xml/axi/resources/hl7/segments.xsd     |  2729 --
 xml.catalog.ui/build.xml                           |    39 +
 xml.catalog.ui/nbproject/project.properties        |    39 +-
 xml.catalog.ui/nbproject/project.xml               |    39 +
 .../modules/xml/catalog/CatalogAction.java         |     2 +-
 .../modules/xml/catalog/ui/Bundle.properties       |    37 +
 xml.catalog/nbproject/project.properties           |     2 +-
 .../netbeans/modules/xml/catalog/impl/package.html |    16 +-
 .../modules/xml/catalog/impl/sun/package.html      |    39 +
 .../org/netbeans/modules/xml/catalog/package.html  |    16 +-
 .../xml/catalog/resources/ProjectSettings.xml      |    39 +
 .../catalog/resources/templates/XMLCatalog.html    |    16 +-
 .../netbeans/modules/xml/catalog/spi/package.html  |    16 +-
 xml.core/nbproject/project.properties              |     2 +-
 .../netbeans/modules/xml/api/model/package.html    |    41 +-
 .../netbeans/modules/xml/dtd/grammar/package.html  |    45 +-
 .../src/org/netbeans/modules/xml/dtd/package.html  |    41 +-
 .../org/netbeans/modules/xml/spi/dom/package.html  |    39 +
 xml.jaxb.api/build.xml                             |    39 +
 .../external/binaries-list                         |     0
 xml.jaxb.api/manifest.mf                           |     2 +-
 xml.jaxb.api/nbproject/project.properties          |     4 +-
 xml.jaxb.api/nbproject/project.xml                 |    39 +
 xml.jaxb/manifest.mf                               |     2 +-
 xml.jaxb/nbproject/project.properties              |    37 +
 .../netbeans/modules/xml/jaxb/Bundle.properties    |    37 +
 .../modules/xml/jaxb/actions/Bundle.properties     |    37 +
 .../src/org/netbeans/modules/xml/jaxb/layer.xml    |    12 +-
 .../modules/xml/jaxb/resources/JAXBConfig.xml      |    49 +-
 .../modules/xml/jaxb/resources/JAXBWiz.html        |    39 +
 .../modules/xml/jaxb/spi/SchemaCompiler.java       |     9 +-
 .../xml/jaxb/spi/SchemaCompilerProvider.java       |     9 +-
 .../modules/xml/jaxb/ui/AntSchemaCompiler.java     |     9 +-
 .../xml/jaxb/ui/AntSchemaCompilerProvider.java     |     9 +-
 .../netbeans/modules/xml/jaxb/ui/Bundle.properties |    39 +-
 .../modules/xml/jaxb/ui/CompilerFinder.java        |     9 +-
 .../xml/jaxb/ui/JAXBBindingSupportFileNode.java    |    12 +-
 .../modules/xml/jaxb/util/Bundle.properties        |    37 +
 xml.lexer/build.xml                                |    39 +
 xml.lexer/manifest.mf                              |     2 +-
 xml.lexer/nbproject/project.xml                    |    39 +
 xml.lexer/src/org/netbeans/lib/xml/lexer/layer.xml |    39 +
 xml.multiview/nbproject/project.properties         |     2 +-
 xml.retriever/manifest.mf                          |     2 +-
 xml.schema.completion/manifest.mf                  |     2 +-
 .../xml/schema/completion/AttributeResultItem.java |    82 +-
 .../schema/completion/CompletionResultItem.java    |    41 +-
 .../xml/schema/completion/ElementResultItem.java   |    39 +-
 .../xml/schema/completion/EndTagResultItem.java    |     2 +-
 .../xml/schema/completion/ValueResultItem.java     |    50 +-
 .../completion/util/CompletionContextImpl.java     |    30 +-
 xml.schema.model/nbproject/project.properties      |     2 +-
 xml.schema.model/www/index.html                    |    12 -
 xml.tax/lib/src/org/netbeans/tax/dom/package.html  |    39 +
 xml.tax/lib/src/org/netbeans/tax/io/package.html   |    16 +-
 xml.tax/lib/src/org/netbeans/tax/package.html      |    16 +-
 xml.tax/lib/src/org/netbeans/tax/spec/package.html |    16 +-
 xml.tax/nbproject/project.properties               |     2 +-
 .../modules/xml/tax/beans/customizer/package.html  |    16 +-
 .../modules/xml/tax/beans/editor/package-info.java |    39 +
 xml.text/manifest.mf                               |     2 +-
 xml.text/nbproject/project.xml                     |     9 +
 .../modules/xml/text/resources/DTDIndentEngine.xml |    39 +
 .../modules/xml/text/resources/XMLIndentEngine.xml |    39 +
 .../netbeans/modules/xml/text/syntax/dom/Util.java |    74 +-
 .../modules/xml/text/syntax/dom/package.html       |    41 +-
 .../modules/xml/text/syntax/javacc/DTDSyntax.jj    |    57 +-
 .../xml/text/syntax/javacc/DTDSyntaxConstants.java |     2 +-
 .../text/syntax/javacc/DTDSyntaxTokenManager.java  |     4 +-
 .../xml/text/syntax/javacc/ParseException.java     |     2 +-
 .../modules/xml/text/syntax/javacc/Token.java      |     2 +-
 .../xml/text/syntax/javacc/TokenMgrError.java      |     2 +-
 .../modules/xml/text/syntax/javacc/XMLSyntax.jj    |    57 +-
 .../modules/xml/text/syntax/javacc/package.html    |    39 +
 xml.tools.java/manifest.mf                         |     2 +-
 xml.tools.java/nbproject/project.properties        |    37 +
 xml.tools.java/nbproject/project.xml               |    39 +
 .../xml/tools/java/resources/Bundle.properties     |    37 +
 xml.tools/manifest.mf                              |     2 +-
 .../modules/xml/tools/generator/package.html       |    16 +-
 xml.wsdl.model/catalog.xml                         |    39 +
 xml.wsdl.model/nbproject/project.properties        |     2 +-
 .../extensions/http/validation/Bundle.properties   |    37 +
 .../http/validation/HTTPComponentValidator.java    |    39 +
 .../extensions/mime/validation/Bundle.properties   |    37 +
 .../extensions/soap/validation/Bundle.properties   |    37 +
 .../extensions/soap/validation/MessagePart.java    |    39 +
 .../soap/validation/SOAPComponentValidator.java    |    43 +-
 .../extensions/soap12/validation/Bundle.properties |    37 +
 .../extensions/soap12/validation/MessagePart.java  |    39 +
 .../validation/SOAP12ComponentValidator.java       |    45 +-
 .../wsdl/validator/WSDLInlineSchemaValidator.java  |    39 +
 .../xml/wsdl/validator/WSDLSemanticValidator.java  |    43 +-
 .../visitor/schema/SchemaSemanticsVisitor.java     |    47 +-
 .../modules/xml/wsdl/model/DefinitionsTest.java    |    41 +-
 .../modules/xml/wsdl/model/ImportTest.java         |    41 +-
 .../modules/xml/wsdl/model/NamespaceLocation.java  |    39 +
 .../modules/xml/wsdl/model/TestCatalogModel.java   |    47 +-
 .../org/netbeans/modules/xml/wsdl/model/Util.java  |    43 +-
 .../xml/wsdl/model/WSDLModelFactoryTest.java       |    41 +-
 .../impl/ChildComponentUpdateVisitorTest.java      |    41 +-
 .../xml/wsdl/model/impl/SyncUpdateTest.java        |    39 +
 .../modules/xml/wsdl/model/impl/UndoRedoTest.java  |    39 +
 .../wsdl/model/readwrite/SchemaReadWriteTest.java  |    45 +-
 .../xml/wsdl/model/readwrite/SimpleTest.java       |    39 +
 .../xml/wsdl/model/readwrite/TestReadWrite.java    |    47 +-
 .../xml/wsdl/model/spi/WSDLComponentBaseTest.java  |    41 +-
 .../wsdl/model/visitor/FindWSDLComponentTest.java  |    41 +-
 .../modules/xml/wsdl/validator/MyModelSource.java  |    55 +-
 .../xml/wsdl/validator/ValidationHelper.java       |    49 +-
 .../ValidatorSchemaFactoryRegistryTest.java        |    43 +-
 .../validator/WSDLInlineSchemaValidatorTest.java   |    41 +-
 .../wsdl/validator/WSDLSchemaValidatorTest.java    |    41 +-
 .../wsdl/validator/WSDLSemanticValidatorTest.java  |    41 +-
 .../visitor/WSDLSemanticsVisitorTest.java          |    39 +
 xml.wsdl.model/www/index.html                      |    12 -
 xml.xam/nbproject/org-netbeans-modules-xml-xam.sig |     4 +-
 xml.xam/nbproject/project.properties               |     2 +-
 xml.xdm/nbproject/org-netbeans-modules-xml-xdm.sig |     4 +-
 xml.xdm/nbproject/project.properties               |     2 +-
 .../xml/xdm/visitor/NodeByPositionVisitorTest.java |    25 +-
 xml.xdm/www/index.html                             |    12 -
 xml/bin/gen-icons_xml.sh                           |   106 +-
 xml/manifest.mf                                    |     2 +-
 .../org/netbeans/modules/xml/cookies/package.html  |    39 +
 .../netbeans/modules/xml/resources/XMLWizard.html  |    16 +-
 .../netbeans/modules/xml/resources/emptyDTD.html   |    16 +-
 .../org/netbeans/modules/xml/resources/xhtml.html  |    16 +-
 .../netbeans/modules/xml/resources/xml_entity.html |    16 +-
 .../modules/xml/text/XMLTextRepresentation.java    |   140 +-
 xml/src/org/netbeans/modules/xml/tree/package.html |    16 +-
 xsl/manifest.mf                                    |     3 +-
 xsl/nbproject/project.xml                          |     4 +-
 .../xsl/resources/templates/stylesheet.html        |    16 +-
 .../org/netbeans/modules/xsl/ui/Bundle.properties  |    37 +
 23201 files changed, 923994 insertions(+), 529678 deletions(-)

diff --cc debian/changelog
index 188d01a,0000000..4c1289d
mode 100644,000000..100644
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,418 -1,0 +1,429 @@@
- netbeans (8.2+dfsg1-1) UNRELEASED; urgency=medium
- 
-   * Work in progress
- 
-  -- Markus Koschany <apo at debian.org>  Thu, 08 Dec 2016 00:21:49 +0100
++netbeans (8.2+dfsg1-1) experimental; urgency=medium
++
++  [ Emmanuel Bourg ]
++  * Switch back to libcglib-java.
++
++  [ Markus Koschany ]
++  * New upstream version 8.2+dfsg-1.
++  * Refresh all patches for new release.
++  * Work around a lot of build failures due to missing JDK 9 classes by
++    copying modules from 8.1. See debian/patches for more information.
++  * Switch to compat level 10.
++  * Update linked-jars accordingly.
++  * Use permit JDK 8 builds option consistently in debian/rules.
++  * Tighten dependencies on platform modules to 8.2.
++
++ -- Markus Koschany <apo at debian.org>  Mon, 26 Dec 2016 16:33:40 +0100
 +
 +netbeans (8.1+dfsg3-1) unstable; urgency=medium
 +
 +  * Symlink asm-all.jar to libs.nashorn module.
 +  * Switch from libasm4-java to libasm-java.
 +  * orig-tar.sh: Remove W3C spec files from tarball. (Closes: #823813)
 +  * Clarify license of ClassManager.js and remove PHP testfiles.
 +    (Closes: #823812)
 +  * Declare compliance with Debian Policy 3.9.8.
 +
 + -- Markus Koschany <apo at debian.org>  Thu, 26 May 2016 08:04:23 +0200
 +
 +netbeans (8.1+dfsg2-3) unstable; urgency=medium
 +
 +  * Tighten versioned dependency on default-jdk to >= 2:1.8.
 +
 + -- Markus Koschany <apo at debian.org>  Tue, 08 Mar 2016 18:33:20 +0100
 +
 +netbeans (8.1+dfsg2-2) unstable; urgency=medium
 +
 +  * netbeans: Remove alternative dependency on java7-sdk because
 +    netbeans will not work correctly with OpenJDK 7 anymore since jdk8 builds
 +    were activated by the last upload. In addition OpenJDK 7 is going to be
 +    removed from Debian before the Stretch release.
 +    Thanks to Kevin Carney for the report. (Closes: #816758, #817152)
 +
 + -- Markus Koschany <apo at debian.org>  Tue, 08 Mar 2016 16:38:19 +0100
 +
 +netbeans (8.1+dfsg2-1) unstable; urgency=medium
 +
 +  * Imported Upstream version 8.1+dfsg2.
 +    - Include html5doc.zip because it is free documentation.
 +  * Build-Depend on libhtml5parser-java. This fixes HTML parser exceptions and
 +    makes it possible to edit and work with HTML files. Thanks to Michael
 +    Cordingley for the report. (Closes: #809256)
 +  * Switch to libicu4j-4.4-java.
 +    This prevents a NoClassFound exception when parsing HTML5 documents.
 +  * Delete netbeans-core.browser.webview.patch and merge the changes into
 +    netbeans-cluster-properties.patch.
 +  * debian/copyright: Add license for html5doc.zip.
 +  * Drop netbeans-html.parser-nocopy.patch, obsolete since we
 +    ship html5doc.zip now.
 +  * Vcs-Git: Switch to https.
 +  * Declare compliance with Debian Policy 3.9.7.
 +  * Override Lintian error source-is-missing because those js files are only
 +    used for testing.
 +  * Convert netbeans' icns icon to 128x128 png icon with icns2png and use it
 +    as desktop icon. Thanks to Anton Sudak for the report. (LP: #1545648)
 +  * debian/rules: Permit JDK8 builds.
 +  * Replace netbeans-svnclient.patch with netbeans-svnclientadapter.patch and
 +    fix FTBFS. (Closes: #815073)
 +
 + -- Markus Koschany <apo at debian.org>  Wed, 24 Feb 2016 19:24:16 +0100
 +
 +netbeans (8.1+dfsg1-1) unstable; urgency=medium
 +
 +  * Imported Upstream version 8.1+dfsg1.
 +  * Install netbeans.import and fix failing settings imports from previous
 +    versions. Thanks to Manolinux for the report. (Closes: #808908)
 +    (LP: #1018585)
 +  * netbeans: Replace alternative virtual dependency java7-jdk and java8-jdk
 +    with java7-sdk | java8-sdk. Thanks to Thorsten Glaser for the report.
 +    (Closes: #803153)
 +  * debian/control:
 +    - Switch to libcglib3-java.
 +    - Build-Depend on libasm4-java.
 +    - Build-depend on libjavaewah-java.
 +    - Tighten dependencies on platform packages to >= 8.1.
 +  * debian/rules:
 +    - Build with parallel.
 +  * Update my e-mail address.
 +  * get-orig-source: Remove --no-symlink option. Add --verbose.
 +  * debian/patches:
 +    - Refresh the following patches:
 +      + All netbeans-platform patches.
 +      + netbeans-cluster-properties.patch
 +      + netbeans-platform-empty-binaries-list.patch -> renamed to
 +        netbeans-empty-binaries-list.patch
 +      + Refresh netbeans-o.n.bootstrap.patch
 +      + Refresh antlr-3.5.2.patch
 +      + Refresh netbeans-nocopy.patch
 +      + Refresh db.dataview-setRowFilter-method.patch
 +      + Refresh netbeans-small-ide.patch
 +      + Refresh netbeans-dlight.nativeexecution.patch
 +      + Refresh netbeans-extexecution.impl.patch
 +      + Refresh netbeans-svnclient.patch and update svn versions.
 +      + Refresh netbeans-wildUpperBound.patch
 +      + Refresh netbeans-ide-launcher.patch
 +      + Refresh netbeans-xsl-httpserver.patch
 +      + Refresh netbeans-slf4j.dummy.patch
 +    - Add the following patches:
 +      + javaewah-version.patch to prevent a FTBFS with Debian's version
 +        which is currently not up-to-date.
 +      + netbeans-com.sun.tools.hc.patch
 +      + netbeans-CommandLineParser.patch
 +  * linked-jars:
 +    - Update junit4 version to 4.12.
 +    - Link hamcrest-core.jar to libs.junit4.
 +    - Update version of jsch.jar.
 +    - Update jgit version.
 +    - Update version of jvyamlb.
 +  * Disable core.browser.webview module to prevent a FTBFS with OpenJDK 7.
 +  * debian/watch: Add a comment and a pointer to the download location.
 +  * Update debian/copyright for new release.
 +
 + -- Markus Koschany <apo at debian.org>  Thu, 31 Dec 2015 11:16:23 +0100
 +
 +netbeans (8.0.2+dfsg1-5) unstable; urgency=medium
 +
 +  * orig-tar.sh: Remove embedded jquery.js files.
 +  * Vcs-Browser: Use https.
 +  * Tighten build-dependency on osgi-core and osgi-compendium.
 +  * netbeans: Tighten dependency on libnb-platform18-java.
 +  * netbeans: Add java8-jdk as an alternative dependency.
 +  * Switch to libhttpclient-java. (Closes: #800974)
 +  * Switch to libservlet3.1-java. (Closes: #801041)
 +
 + -- Markus Koschany <apo at gambaru.de>  Wed, 07 Oct 2015 16:53:28 +0200
 +
 +netbeans (8.0.2+dfsg1-4) unstable; urgency=medium
 +
 +  * Drop Css3Parser-antlr.patch because with Antlr 3.5.2 this patch is
 +    obsolete.
 +  * Add antlr-3.5.2.patch and fix FTBFS with Antlr 3.5.2.
 +  * Build-Depend and depend on antlr (>= 3.5.2).
 +  * d/rules: Use find, xargs and touch to adjust file mtimes before zip is run.
 +
 + -- Markus Koschany <apo at gambaru.de>  Thu, 23 Jul 2015 17:36:43 +0200
 +
 +netbeans (8.0.2+dfsg1-3) unstable; urgency=medium
 +
 +  * debian/copyright: Add missing W3C license.
 +  * Symlink Debian's jgit jars to ide/modules directory.
 +  * Symlink SVN and SSH modules to Debian's system jar files.
 +  * debian/pom: Remove openide-* pom files. They are obsolete now.
 +
 + -- Markus Koschany <apo at gambaru.de>  Mon, 29 Jun 2015 15:57:00 +0200
 +
 +netbeans (8.0.2+dfsg1-2) unstable; urgency=medium
 +
 +  * Add reproducible-build.patch.
 +    Use a fixed date for the install_time variable and make the build a bit
 +    more reproducible.
 +  * Export TZ=UTC to force zip to use UTC. Another measure to make the build
 +    reproducible.
 +  * Tighten dependency for platform packages to >= 8.0.2.
 +
 + -- Markus Koschany <apo at gambaru.de>  Sat, 20 Jun 2015 17:05:34 +0200
 +
 +netbeans (8.0.2+dfsg1-1) unstable; urgency=medium
 +
 +  * New upstream release. (Closes: #673606, #713182)
 +    - Fixes GUI Editor is not working. (Closes: #653915, #677125)
 +    - The subversion module does not transmit passwords in svn's commandline
 +      arguments. (Closes: #642143)
 +    - All tutorial links can be opened in different web browsers.
 +      (Closes: #642142)
 +    - The enter key is working as expected again. (Closes: #667736)
 +  * Support building with mingw-w64 instead of mingw32. (Closes: #680468)
 +    Thanks to Stephen Kitt for the report and patch.
 +  * Netbeans 8.0.2 supports the native look and feel by default now.
 +    (Closes: #698154)
 +  * Fix Netbeans' subversion support by adding netbeans-svnclient.patch.
 +    (Closes: #698514, #668015)
 +  * Remove Andres Mejia and Yuli Novozhilova from Uploaders because they are
 +    apparently not active anymore. (Closes: #743562)
 +  * Remove all minified Javascript files from the original tarball and improve
 +    the orig.tar.sh script. (Closes: #737442)
 +  * Fix bashism in nbexec script. (Closes: #772326)
 +  * Replace w3c-dtd-xhtml with w3c-sgml-lib because the former is going to be
 +    removed from Debian. (Closes: #787176)
 +  * Java7 is the default JDK now and Netbeans 8.0.2 will no longer hang when
 +    creating new projects or crash with a NoClassDefFoundError on startup.
 +    (Closes: #729664, #744369, #728689)
 +  * Use compat level 9 and require debhelper >= 9.
 +  * Update debian/copyright for new release.
 +  * Add source/lintian-overrides and override false postives.
 +    + netbeans: license-problem-json-evil
 +    + netbeans: license-problem-php-license
 +    because these errors are only triggered by license.txt files. The real
 +    files were already removed from the tarball.
 +  * Stop building the platform packages and depend on libnb-platform18-java
 +    instead.
 +  * debian/control:
 +    - Remove versioned dependencies because all constraints are satisfied even
 +      in stable.
 +    - Declare compliance with Debian Policy 3.9.6.
 +    - Switch Vcs-Browser fields to cgit.
 +    - netbeans: Depend on default-jdk and remove alternative dependencies on
 +      OpenJDK6 because Netbeans requires Java7 to run.
 +    - Remove obsolete Conflict, Replaces, Provides fields.
 +    - Depend on libcommons-net-java instead of libcommons-net1-java.
 +    - Add and remove the following dependencies:
 +      + libcommons-httpclient-java, libcommons-io-java, libcommons-lang-java,
 +        libjsch-agent-proxy-java, libjsch-java, libsqljet-java,
 +        libws-commons-util-java, libjson-simple-java, libeclipselink-java,
 +        libmysql-java, liblucene3-java,
 +      - libbetter-appframework-java, liblucene2-java, liboro-java
 +  * debian/patches:
 +    - Rebase and update all patches for new release. They are all required to
 +      fix various build failures and runtime errors and to use Debian's system
 +      libraries instead of embedded jar files without source code.
 +      For more information, please refer to the patch headers.
 +    + New patches:
 +      Css3Parser-antlr.patch, db.dataview-setRowFilter-method.patch,
 +      dlight.nativeexecution.patch, netbeans-commons-net.patch,
 +      netbeans-extexecution.impl.patch, netbeans-javacc.patch,
 +      netbeans-libs.jaxb.patch, netbeans-o.apache.tools.ant.module.patch,
 +      netbeans-slf4j.dummy.patch, netbeans-spi.java.hints.patch,
 +      netbeans-svnclient.patch, netbeans-wildUpperBound.patch,
 +      netbeans-xml.jaxb.api.patch, netbeans-xsl-httpserver.patch,
 +      osgi-update.patch
 +    - Removed patches:
 +      netbeans-platform~include-extras.patch, netbeans~debugger.jpda.ui.patch,
 +      netbeans~no-rhino.patch, netbeans~no-test-clean.patch,
 +      netbeans~old-java-modules.patch, netbeans~o.a.tools.ant.patch,
 +      netbeans~old-java.source-module.patch, netbeans~svnclient.patch,
 +      netbeans~xerces.patch, netbeans~xsl.patch
 +  * debian/rules:
 +    - Symlink netbeans.png to hicolors directory.
 +    - Remove obsolete comments and code for building the platform and the
 +      windows binaries.
 +    - Simplify get-orig-source target. Download the current version.
 +  * pom:
 +    - Update pom.files for new release 8.0.2.
 +  * Update netbeans.desktop. Add keywords and comments.
 +  * Add netbeans.menu file and a new netbeans.xpm icon.
 +
 + -- Markus Koschany <apo at gambaru.de>  Fri, 19 Jun 2015 14:16:59 +0200
 +
 +netbeans (7.0.1+dfsg1-5) unstable; urgency=low
 +
 +  * Include junit library definitions.
 +  * Make libnb-platform13-java depend on antlr3. (Closes: #651214)
 +  * Avoid including javadoc twice in libnb-platform13-java-doc.
 +  * Replace dependency libpg-java with libpostgresql-jdbc-java
 +      (Closes: #659397)
 +  * Add symlink to jaxp-1.4.jar (Closes: #653915)
 +
 + -- Andrew Ross <ubuntu at rossfamily.co.uk>  Wed, 15 Feb 2012 20:36:14 +0000
 +
 +netbeans (7.0.1+dfsg1-4) unstable; urgency=low
 +
 +  * Patch core.osgi to use osgi-core 4.3. (Closes: #649750)
 +  * Correct binary package names and install locations.
 +      (Closes: #646856)
 +  * Install AbsoluteLayout.jar in a separate package.
 +      (Closes: #646857)
 +
 + -- Andrew Ross <ubuntu at rossfamily.co.uk>  Thu, 01 Dec 2011 21:59:37 +0000
 +
 +netbeans (7.0.1+dfsg1-3) unstable; urgency=low
 +
 +  * Use libosgi-core-java and libosgi-compendium-java for osgi.
 +  * Use libflute-java instead of libflute-1.3-jfree-java.
 +
 + -- Andrew Ross <ubuntu at rossfamily.co.uk>  Sun, 16 Oct 2011 20:53:51 +0100
 +
 +netbeans (7.0.1+dfsg1-2) unstable; urgency=low
 +
 +  * Handle rename of libcommons-net-java to libcommons-net1-java.
 +  * Netbeans should depend on a JDK.
 +      (Closes: #499870)
 +  * Provide netbeans-ide and netbeans-platform.
 +
 + -- Andrew Ross <ubuntu at rossfamily.co.uk>  Sun, 11 Sep 2011 22:45:45 +0100
 +
 +netbeans (7.0.1+dfsg1-1) unstable; urgency=low
 +
 +  * New upstream release
 +  * Build NetBeans platform from this source too. (Closes: #610927)
 +  * Bump to Standards-Version 3.9.2.
 +  * Added myself to Uploaders.
 +  * Build Windows launcher using mingw.
 +  * Move utilility libraries to their own packages. (Closes: #490433)
 +  * Also close some bugs which were fixed in the 6.9 series which never
 +    entered the Debian archives:
 +    - Use packaged swinglayout.jar. (Closes: #448922)
 +    - Depend on generic Java. (Closes: #499417)
 +    - Package for Debian Main. (Closes: #531952)
 +  * Update Copyright file to cover all files correctly.
 +
 + -- Andrew Ross <ubuntu at rossfamily.co.uk>  Tue, 02 Aug 2011 23:58:58 +0100
 +
 +netbeans (6.9-1) unstable; urgency=low
 +
 +  * New upstream version based off of Ubuntu packages.
 +    (Closes: #543907)
 +    (Closes: #478762)
 +  * Add Debian Java team as Maintainer, Yulia and myself as Uploaders.
 +  * Update packaging to use 3.0 (quilt) source format.
 +  * Update packaging to use dh with javahelper.
 +  * Bump to Standards-Version 3.9.1.
 +  * Refresh all patches.
 +  * Use Java SwingWorker included in standard JDK distribution.
 +  * Migrate to junit4.
 +  * Migrate to libservlet2.5-java.
 +  * Migrate to use Better Swing Application Framework.
 +  * Use standard svnclientadapter from subclipse.
 +  * Migrate to ini4j-0.5.2-SNAPSHOT.
 +
 + -- Andres Mejia <mcitadel at gmail.com>  Sun, 23 Jan 2011 15:42:29 -0500
 +
 +netbeans (6.9-0ubuntu2) maverick; urgency=low
 +
 +  * Bug fix upload:
 +     - correct netbeans-6.9~updatecenters.patch to point to Ubuntu UC
 +
 + -- Yulia Novozhilova <Yulia.Novozhilova at sun.com>  Fri, 20 Aug 2010 17:19:59 +0400
 +
 +netbeans (6.9-0ubuntu1) maverick; urgency=low
 +
 +  * New upstream release (LP: #595000)
 +  * debian/control/Standards-Versions is updated to 3.9.0
 +  * debian/copyright file is updated
 +
 + -- Yulia Novozhilova <Yulia.Novozhilova at sun.com>  Thu, 05 Aug 2010 12:17:51 +0400
 +
 +netbeans (6.8-0ubuntu4) lucid; urgency=low
 +
 +  * Update Center is switched to the Ubuntu specific one (LP: #544459)
 +     - patches/01-updatecenters.patch is updated
 +
 + -- Yulia Novozhilova <Yulia.Novozhilova at sun.com>  Wed, 31 Mar 2010 15:19:29 +0400
 +
 +netbeans (6.8-0ubuntu3) lucid; urgency=low
 +
 +  * debian/patches/l10n.patch is added (LP: #527547)
 +  * debiian/rules is updated to build l10n
 +  * debian/control dependency to default-jdk-doc | sun-java6-doc is added
 +     for libnb-java3-java package (LP: #545563)
 +
 + -- Yulia Novozhilova <Yulia.Novozhilova at sun.com>  Fri, 26 Mar 2010 16:26:52 +0300
 +
 +netbeans (6.8-0ubuntu2) lucid; urgency=low
 +
 +  * Bug fix upload
 +    - debian/patches/14-config.patch added (LP: #315499)
 +
 + -- Yulia Novozhilova <Yulia.Novozhilova at sun.com>  Wed, 17 Feb 2010 15:44:50 +0300
 +
 +netbeans (6.8-0ubuntu1) lucid; urgency=low
 +
 +  * New upstream release (LP: #495478)
 +  * postinstall script is removed (LP: #464939)
 +  * control/Standards-Versions is updated to 3.8.4
 +  * debian/copyright file is updated to point to the correct location
 +
 + -- Yulia Novozhilova <Yulia.Novozhilova at sun.com>  Fri, 12 Feb 2010 20:36:32 +0300
 +
 +netbeans (6.7.1-0ubuntu1) karmic; urgency=low
 +
 +  * New upstream release (LP: #381814)
 +    * Fixed upstream bugs:
 +     -  (LP: #336349)
 +     -  (LP: #354144)
 +     -  (LP: #357579)
 +     -  (LP: #366740)
 +     -  (LP: #401407)
 +  * control/Standards-Versions is updated to 3.8.3
 +  * control/Section is updated to java for *-java
 +
 + -- Yulia Novozhilova <Yulia.Novozhilova at sun.com>  Mon, 13 Jul 2009 19:05:01 +0400
 +
 +netbeans (6.5-0ubuntu2.1) jaunty; urgency=low
 +
 +  * Bug fix upload (LP: #353080)
 +     - Added a critical patch 96-fix-lucene.patch
 +
 + -- Yulia Novozhilova <Yulia.Novozhilova at sun.com>  Mon, 25 May 2009 23:28:08 +0400
 +
 +netbeans (6.5-0ubuntu2) jaunty; urgency=low
 +
 +  * Added bugfix patches from 6.5.1 for NetBeans IDE (LP: #345562)
 +  * 40-ide-launcher.patch is updated (LP: #307103)
 +  * debian/rules: commons-logging jar's version changed from 1.0.4 to 1.1.
 +
 + -- Yulia Novozhilova <Yulia.Novozhilova at sun.com>  Tue, 31 Mar 2009 18:34:02 +0400
 +
 +netbeans (6.5-0ubuntu1) jaunty; urgency=low
 +
 +  * New upstream release. (LP: #251173)
 +    -Added "Conflicts: netbeans-ide" to control (LP: #257307)
 +    -Added watch file and get-orig-source target to rules file
 +
 + -- Yulia Novozhilova <Yulia.Novozhilova at sun.com>  Fri, 26 Sep 2008 18:51:50 +0400
 +
 +netbeans (6.1-0ubuntu1) intrepid; urgency=low
 +
 +  * New upstream release. (LP: #253016)
 +   - Updated Standards-Version to 3.8.0
 +   - Patches updated. (LP: #206324)
 +   - Cleaned up debian/rules
 +   - Updated postinstall script. (LP: #254587)
 +
 + -- Yulia Novozhilova <Yulia.Novozhilova at sun.com>  Tue, 29 Jul 2008 19:43:23 +0400
 +
 +netbeans (6.0.1-0ubuntu2) hardy; urgency=low
 +
 +  * Bug fix upload (LP: #201332)
 +    - Replace GPLv2 text in debian/copyright by reference to
 +      /usr/share/common-licenses/GPL-2
 +    - Update dependency to openjdk6
 +    - Refine package descriptions
 +    - Add IDE Update Center specific to Ubuntu packages
 +
 + -- Marek Slama <marek.slama at sun.com>  Fri, 07 Mar 2008 18:00:00 +0100
 +
 +netbeans (6.0.1-0ubuntu1) hardy; urgency=low
 +
 +  * Initial version. (LP: #187708)
 +
 + -- Marek Slama <marek.slama at sun.com>  Tue, 29 Jan 2008 14:11:22 +0100
diff --cc debian/control
index d360b7b,0000000..34f9339
mode 100644,000000..100644
--- a/debian/control
+++ b/debian/control
@@@ -1,189 -1,0 +1,189 @@@
 +Source: netbeans
 +Section: java
 +Priority: optional
 +Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
 +Uploaders:
 + Andrew Ross <ubuntu at rossfamily.co.uk>,
 + Markus Koschany <apo at debian.org>
 +Build-Depends:
 + ant,
 + ant-optional,
 + antlr3 (>= 3.5.2),
 + antlr4,
 + debhelper (>= 10),
 + default-jdk,
 + icnsutils,
 + javacc,
 + javahelp2,
 + javahelper,
 + junit,
 + junit4,
 + libasm-java (>= 5),
 + libbeansbinding-java,
 + libbindex-java,
 + libbytelist-java,
 + libcglib-java (>= 3.0),
 + libcommons-codec-java,
 + libcommons-compress-java,
 + libcommons-io-java,
 + libcommons-lang-java,
 + libcommons-logging-java,
 + libcommons-net-java,
 + libeclipselink-java,
 + libequinox-osgi-java,
 + libfelix-framework-java,
 + libfelix-main-java,
 + libfreemarker-java,
 + libguava-java,
 + libhamcrest-java,
 + libhtml5parser-java,
 + libhttpclient-java,
 + libicu4j-4.4-java,
 + libini4j-java,
 + libjavaewah-java,
 + libjaxb-api-java,
 + libjaxb-java,
 + libjemmy2-java,
 + libjgit-java,
 + libjna-java,
 + libjna-platform-java,
 + libjnlp-servlet-java,
 + libjpa-2.1-spec-java,
 + libjsch-agent-proxy-java (>= 0.0.8),
 + libjsch-java,
 + libjson-simple-java,
 + libjvyamlb-java,
 + libjzlib-java,
 + liblucene3-java,
 + libmysql-java,
 + libnb-javaparser-java,
 + libopenjfx-java,
 + libosgi-compendium-java (>= 5.0.0),
 + libosgi-core-java (>= 6.0.0),
 + libpostgresql-jdbc-java,
 + libservlet3.1-java,
 + libsimple-validation-java,
 + libsqljet-java,
 + libstringtemplate-java,
 + libsvn-java,
 + libsvnclientadapter-java,
 + libsvnkit-java,
 + libswing-layout-java,
 + libswingx-java,
 + libtrilead-ssh2-java,
 + libws-commons-util-java,
 + libxerces2-java,
 + libxml-commons-resolver1.1-java,
 + maven-repo-helper,
 + testng,
 + w3c-sgml-lib
 +Standards-Version: 3.9.8
 +Homepage: http://netbeans.org/
 +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/netbeans.git
 +Vcs-Git: https://anonscm.debian.org/git/pkg-java/netbeans.git
 +
 +Package: libnb-absolutelayout-java
 +Architecture: all
 +Depends:
 + ${java:Depends},
 + ${misc:Depends}
 +Description: Java LayoutManager to allow placement in absolute positions
 + This library is part of the Netbeans platform and provides an
 + implementation of the java.awt.LayoutManager interface. This
 + implementation allows you to position components by their
 + absolute position.
 +
 +Package: libnb-apisupport3-java
 +Architecture: all
 +Depends:
 + libnb-ide14-java (= ${binary:Version}),
 + libnb-java5-java (= ${binary:Version}),
-  libnb-platform-devel-java (>= 8.1),
-  libnb-platform18-java (>= 8.1),
++ libnb-platform-devel-java (>= 8.2),
++ libnb-platform18-java (>= 8.2),
 + ${java:Depends},
 + ${misc:Depends}
 +Description: Common NetBeans Platform Development Related Libraries for NetBeans
 + The NetBeans Platform is a set of modules, each providing their own
 + APIs and working together or in a standalone mode. This package contains
 + common libraries for development of NetBeans Platform modular extensions.
 +
 +Package: libnb-ide14-java
 +Architecture: all
 +Depends:
 + antlr3 (>= 3.5.2),
 + libbytelist-java,
 + libcommons-codec-java,
 + libcommons-io-java,
 + libcommons-lang-java,
 + libcommons-logging-java,
 + libcommons-net-java,
 + libfreemarker-java,
 + libhtml5parser-java,
 + libhttpclient-java,
 + libicu4j-4.4-java,
 + libini4j-java,
 + libjgit-java,
 + libjsch-agent-proxy-java (>= 0.0.8),
 + libjsch-java,
 + libjvyamlb-java,
 + libjzlib-java,
 + liblucene3-java,
 + libmysql-java,
-  libnb-platform18-java (>= 8.1),
++ libnb-platform18-java (>= 8.2),
 + libpostgresql-jdbc-java,
 + libservlet3.1-java,
 + libsimple-validation-java,
 + libsqljet-java,
 + libsvn-java,
 + libsvnclientadapter-java,
 + libsvnkit-java,
 + libswingx-java,
 + libtrilead-ssh2-java,
 + libws-commons-util-java,
 + libxerces2-java,
 + libxml-commons-resolver1.1-java,
 + ${java:Depends},
 + ${misc:Depends}
 +Description: Common Integrated Development Environment Libraries for NetBeans
 + The NetBeans Platform is a set of modules, each providing their own
 + APIs and working together or in a standalone mode. This package contains
 + independent libraries for use in the NetBeans IDE.
 +
 +Package: libnb-java5-java
 +Architecture: all
 +Depends:
 + ant,
 + ant-optional,
 + junit,
 + junit-doc,
 + junit4-doc,
 + libbeansbinding-java,
 + libcglib-java (>= 3.0),
 + libeclipselink-java,
 + libjson-simple-java,
 + libnb-absolutelayout-java,
 + libnb-ide14-java (= ${binary:Version}),
 + libnb-javaparser-java,
-  libnb-platform18-java (>= 8.1),
++ libnb-platform18-java (>= 8.2),
 + ${java:Depends},
 + ${misc:Depends}
 +Description: Common Java Related Libraries for NetBeans
 + The NetBeans Platform is a set of modules, each providing their own
 + APIs and working together or in a standalone mode. This package contains
 + common libraries for the NetBeans Java IDE.
 +
 +Package: netbeans
 +Architecture: all
 +Depends:
 + default-jdk (>= 2:1.8) | java8-sdk,
 + libnb-apisupport3-java (= ${binary:Version}),
 + libnb-ide14-java (= ${binary:Version}),
 + libnb-java5-java (= ${binary:Version}),
-  libnb-platform18-java (>= 8.1),
++ libnb-platform18-java (>= 8.2),
 + ${java:Depends},
 + ${misc:Depends}
 +Description: Extensible Java IDE
 + Integrated Development Environment for software developers. It supports
 + development of desktop, enterprise, web, and mobile applications. Package
 + includes the Base IDE, Java Development Tools and Plug-in Development Tools.
 + Support for PHP, Ruby, C/C++, Java EE and others can be added.
diff --cc debian/patches/netbeans-ide-launcher.patch
index 78c2d06,0000000..b758dc5
mode 100644,000000..100644
--- a/debian/patches/netbeans-ide-launcher.patch
+++ b/debian/patches/netbeans-ide-launcher.patch
@@@ -1,62 -1,0 +1,62 @@@
 +From: Markus Koschany <apo at debian.org>
 +Date: Thu, 8 Dec 2016 00:04:11 +0100
 +Subject: netbeans-ide-launcher
 +
 +Update the launcher script to use Debian specific paths and start parameters.
 +Disable check for license agreement since we have debian/copyright for that in
 +Debian.
 +
 +Forwarded: not-needed
 +---
 + ide/launcher/netbeans.conf | 3 +--
 + ide/launcher/unix/netbeans | 9 ++++-----
 + 2 files changed, 5 insertions(+), 7 deletions(-)
 +
 +diff --git a/ide/launcher/netbeans.conf b/ide/launcher/netbeans.conf
 +index bfbd50780..1e2d6607f 100644
 +--- a/ide/launcher/netbeans.conf
 ++++ b/ide/launcher/netbeans.conf
 +@@ -43,8 +43,7 @@ netbeans_default_cachedir="${DEFAULT_CACHEDIR_ROOT}/8.2"
 + # Concurrent Mark & Sweep garbage collector.
 + # (see http://wiki.netbeans.org/FaqGCPauses)
 + #
 +-netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true"
 +-
 ++netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dsun.java2d.pmoffscreen=false"
 + # Default location of JDK:
 + # (set by installer or commented out if launcher should decide)
 + #
 +diff --git a/ide/launcher/unix/netbeans b/ide/launcher/unix/netbeans
 +index 458e7ebc6..0af5cee91 100644
 +--- a/ide/launcher/unix/netbeans
 ++++ b/ide/launcher/unix/netbeans
 +@@ -57,7 +57,7 @@ while [ -h "$PRG" ]; do
 +     fi
 + done
 + 
 +-progdir=`dirname "$PRG"`
- +progdir=/usr/share/netbeans/8.1/bin
+++progdir=/usr/share/netbeans/8.2/bin
 + old=`pwd`
 + cd "$progdir"/..
 + basedir=`pwd`
 +@@ -82,9 +82,9 @@ if [ -f "$basedir"/etc/netbeans.conf ] ; then
 + fi
 + 
 + # following should be done just in RPM or Solaris Launcher
 +-# if [ -f /etc/netbeans.conf ] ; then
 +-#     . /etc/netbeans.conf
 +-# fi
 ++if [ -f /etc/netbeans.conf ] ; then
 ++    . /etc/netbeans.conf
 ++fi
 + 
 + export DEFAULT_USERDIR_ROOT
 + 
 +@@ -231,7 +231,6 @@ case "`uname`" in
 +             --branding nb \
 +             --clusters '"$netbeans_clusters"' \
 +             -J-Dnetbeans.importclass=org.netbeans.upgrade.AutoUpgrade \
 +-            -J-Dnetbeans.accept_license_class=org.netbeans.license.AcceptLicense \
 +             ${netbeans_default_options} \
 +             '"$@"'
 +         ;;
diff --cc debian/patches/netbeans-java.completion.patch
index 0000000,0000000..c6eeec4
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.completion.patch
@@@ -1,0 -1,0 +1,1924 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Sun, 25 Dec 2016 22:15:44 +0100
++Subject: netbeans java.completion
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ java.completion/build.xml                          |  39 -----
++ java.completion/nbproject/project.properties       |  39 +----
++ java.completion/nbproject/project.xml              |  41 +----
++ .../netbeans/modules/java/completion/BaseTask.java |  88 +++--------
++ .../modules/java/completion/Bundle.properties      |  37 -----
++ .../java/completion/JavaCompletionTask.java        | 148 +++++-------------
++ .../1.7/OverrideAbstractListAbstract.pass          | 161 --------------------
++ .../1.8/OverrideAbstractListAbstract.pass          | 168 ---------------------
++ ...Exception.pass => OverrideTypedException1.pass} |   0
++ .../1.8/OverrideTypedException2.pass               |   1 +
++ .../JavaCompletionTaskTest/1.8/autoCloseables.pass |   8 -
++ .../1.8/autoCloseablesStartingWithF.pass           |   1 -
++ .../1.8/finalAndAutoCloseables.pass                |   9 --
++ .../completion/JavaCompletionTaskTest/1.8/i.pass   |   1 +
++ ...rModifiersAndTypesWithoutDefaultAndStatic.pass} |  35 ++---
++ .../1.8/javaLangContent.pass                       | 104 +++++++++++++
++ .../JavaCompletionTaskTest/1.8/resourceNames.pass  |   3 -
++ .../1.8/resourcesAndAutoCloseables.pass            |  10 --
++ .../data/OverrideAbstractListAbstract.java         |   9 --
++ .../modules/java/completion/data/SimpleTWR.java    |  15 --
++ .../java/completion/data/SimpleTWRNoRes.java       |  12 --
++ .../java/completion/data/SimpleTWRStart.java       |   9 --
++ .../netbeans/modules/java/completion/data/TWR.java |  14 --
++ .../modules/java/completion/data/TWRNoRes.java     |  12 --
++ .../modules/java/completion/data/TWRStart.java     |   8 -
++ .../java/completion/CompletionTestBase.java        |  16 +-
++ .../JavaCompletionTask15FeaturesTest.java          |   6 +-
++ .../JavaCompletionTask17FeaturesTest.java          | 147 ------------------
++ .../JavaCompletionTask18FeaturesTest.java          |   6 +-
++ .../JavaCompletionTask19FeaturesTest.java          | 111 --------------
++ .../completion/JavaCompletionTaskAdvancedTest.java |   6 +-
++ .../JavaCompletionTaskElementCreatingTest.java     |  11 +-
++ 32 files changed, 193 insertions(+), 1082 deletions(-)
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.7/OverrideAbstractListAbstract.pass
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideAbstractListAbstract.pass
++ rename java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/{OverrideTypedException.pass => OverrideTypedException1.pass} (100%)
++ create mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException2.pass
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseables.pass
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseablesStartingWithF.pass
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/finalAndAutoCloseables.pass
++ create mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/i.pass
++ rename java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/{resourceInit.pass => interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass} (78%)
++ create mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/javaLangContent.pass
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceNames.pass
++ delete mode 100644 java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourcesAndAutoCloseables.pass
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/OverrideAbstractListAbstract.java
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWR.java
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRNoRes.java
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRStart.java
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWR.java
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRNoRes.java
++ delete mode 100644 java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRStart.java
++ delete mode 100644 java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask17FeaturesTest.java
++ delete mode 100644 java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask19FeaturesTest.java
++
++diff --git a/java.completion/build.xml b/java.completion/build.xml
++index 94bba7605..722e92a91 100644
++--- a/java.completion/build.xml
+++++ b/java.completion/build.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project basedir="." default="netbeans" name="java.completion">
++     <description>Builds, tests, and runs the project org.netbeans.modules.java.completion</description>
++     <import file="../nbbuild/templates/projectized.xml"/>
++diff --git a/java.completion/nbproject/project.properties b/java.completion/nbproject/project.properties
++index 2a6700f8b..2b61ea90b 100644
++--- a/java.completion/nbproject/project.properties
+++++ b/java.completion/nbproject/project.properties
++@@ -1,44 +1,7 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License.  When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ is.autoload=true
++ javac.source=1.7
++ javac.compilerargs=-Xlint -Xlint:-serial
++-spec.version.base=1.6.1
+++spec.version.base=1.4.1
++ #test configs
++ 
++ test.config.jet-main.includes=\
++diff --git a/java.completion/nbproject/project.xml b/java.completion/nbproject/project.xml
++index 19376a748..b5af0df4d 100644
++--- a/java.completion/nbproject/project.xml
+++++ b/java.completion/nbproject/project.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project xmlns="http://www.netbeans.org/ns/project/1">
++     <type>org.netbeans.modules.apisupport.project</type>
++     <configuration>
++@@ -67,7 +28,7 @@ Contributor(s):
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>8.15</specification-version>
+++                        <specification-version>8.11</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++diff --git a/java.completion/src/org/netbeans/modules/java/completion/BaseTask.java b/java.completion/src/org/netbeans/modules/java/completion/BaseTask.java
++index d766f9e3a..87709f816 100644
++--- a/java.completion/src/org/netbeans/modules/java/completion/BaseTask.java
+++++ b/java.completion/src/org/netbeans/modules/java/completion/BaseTask.java
++@@ -61,7 +61,6 @@ import com.sun.source.tree.*;
++ import com.sun.source.util.SourcePositions;
++ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreeScanner;
++-import javax.lang.model.element.Name;
++ 
++ import org.netbeans.api.java.lexer.JavaTokenId;
++ import org.netbeans.api.java.source.*;
++@@ -359,44 +358,21 @@ abstract class BaseTask extends UserTask {
++             Tree lambdaBody = ((LambdaExpressionTree) tree).getBody();
++             Scope scope = null;
++             TreePath blockPath = path.getParentPath();
++-            int bodyPos = 0;
++             while (blockPath != null) {
++                 if (blockPath.getLeaf().getKind() == Tree.Kind.BLOCK) {
++                     if (blockPath.getParentPath().getLeaf().getKind() == Tree.Kind.METHOD
++                             || TreeUtilities.CLASS_TREE_KINDS.contains(blockPath.getParentPath().getLeaf().getKind())) {
++                         final int blockPos = (int) sourcePositions.getStartPosition(root, blockPath.getLeaf());
++-                        final String blockText = upToOffset && caretOffset > offset
++-                                ? controller.getText().substring(blockPos, offset) + whitespaceString(caretOffset - offset) + controller.getText().substring(caretOffset, (int) sourcePositions.getEndPosition(root, blockPath.getLeaf()))
++-                                : controller.getText().substring(blockPos, (int) sourcePositions.getEndPosition(root, blockPath.getLeaf()));
+++                        final String blockText = controller.getText().substring(blockPos, (int) sourcePositions.getEndPosition(root, blockPath.getLeaf()));
++                         final SourcePositions[] sp = new SourcePositions[1];
++                         final StatementTree block = (((BlockTree) blockPath.getLeaf()).isStatic() ? tu.parseStaticBlock(blockText, sp) : tu.parseStatement(blockText, sp));
++                         if (block == null) {
++                             return null;
++                         }
++                         sourcePositions = new SourcePositionsImpl(block, sourcePositions, sp[0], blockPos, -1);
+++                        scope = controller.getTrees().getScope(blockPath);
++                         path = tu.getPathElementOfKind(Tree.Kind.LAMBDA_EXPRESSION, tu.pathFor(new TreePath(blockPath.getParentPath(), block), offset, sourcePositions));
++                         lambdaBody = ((LambdaExpressionTree) path.getLeaf()).getBody();
++-                        bodyPos = (int) sourcePositions.getStartPosition(root, lambdaBody);
++-                        if (bodyPos >= offset) {
++-                            TokenSequence<JavaTokenId> ts = controller.getTokenHierarchy().tokenSequence(JavaTokenId.language());
++-                            ts.move(offset);
++-                            while (ts.movePrevious()) {
++-                                switch (ts.token().id()) {
++-                                    case WHITESPACE:
++-                                    case LINE_COMMENT:
++-                                    case BLOCK_COMMENT:
++-                                    case JAVADOC_COMMENT:
++-                                        break;
++-                                    case ARROW:
++-                                        scope = controller.getTrees().getScope(blockPath);
++-                                        scope = tu.reattributeTreeTo(block, scope, lambdaBody);
++-                                        return new Env(offset, prefix, controller, path, sourcePositions, scope);
++-                                    default:
++-                                        return null;
++-                                }
++-                            }
++-                        }
++-                        scope = controller.getTrees().getScope(blockPath);
++                         scope = tu.reattributeTreeTo(block, scope, lambdaBody);
++                         break;
++                     }
++@@ -405,22 +381,22 @@ abstract class BaseTask extends UserTask {
++             }
++             if (scope == null) {
++                 scope = controller.getTrees().getScope(new TreePath(path, lambdaBody));
++-                bodyPos = (int) sourcePositions.getStartPosition(root, lambdaBody);
++-                if (bodyPos >= offset) {
++-                    TokenSequence<JavaTokenId> ts = controller.getTokenHierarchy().tokenSequence(JavaTokenId.language());
++-                    ts.move(offset);
++-                    while (ts.movePrevious()) {
++-                        switch (ts.token().id()) {
++-                            case WHITESPACE:
++-                            case LINE_COMMENT:
++-                            case BLOCK_COMMENT:
++-                            case JAVADOC_COMMENT:
++-                                break;
++-                            case ARROW:
++-                                return new Env(offset, prefix, controller, path, sourcePositions, scope);
++-                            default:
++-                                return null;
++-                        }
+++            }
+++            final int bodyPos = (int) sourcePositions.getStartPosition(root, lambdaBody);
+++            if (bodyPos >= offset) {
+++                TokenSequence<JavaTokenId> ts = controller.getTokenHierarchy().tokenSequence(JavaTokenId.language());
+++                ts.move(offset);
+++                while (ts.movePrevious()) {
+++                    switch (ts.token().id()) {
+++                        case WHITESPACE:
+++                        case LINE_COMMENT:
+++                        case BLOCK_COMMENT:
+++                        case JAVADOC_COMMENT:
+++                            break;
+++                        case ARROW:
+++                            return new Env(offset, prefix, controller, path, sourcePositions, scope);
+++                        default:
+++                            return null;
++                     }
++                 }
++             }
++@@ -560,14 +536,6 @@ abstract class BaseTask extends UserTask {
++         }
++         return null;
++     }
++-    
++-    private static String whitespaceString(int length) {
++-        StringBuilder sb = new StringBuilder();
++-        for (int i = 0; i < length; i++) {
++-            sb.append(' ');
++-        }
++-        return sb.toString();
++-    }
++ 
++     private static class SourcePositionsImpl extends TreeScanner<Void, Tree> implements SourcePositions {
++ 
++@@ -653,14 +621,13 @@ abstract class BaseTask extends UserTask {
++         private final SourcePositions sourcePositions;
++         private Scope scope;
++         private ReferencesCount referencesCount;
++-        private Map<Name, Element> refs = null;
+++        private Collection<? extends Element> refs = null;
++         private boolean afterExtends = false;
++         private boolean insideNew = false;
++         private boolean insideForEachExpression = false;
++         private boolean insideClass = false;
++         private Set<? extends TypeMirror> smartTypes = null;
++         private Set<Element> excludes = null;
++-        private Set<String> kws = new HashSet<>();
++         private boolean addSemicolon = false;
++         private boolean checkAddSemicolon = true;
++         private int assignToVarPos = -2;
++@@ -719,12 +686,9 @@ abstract class BaseTask extends UserTask {
++             return referencesCount;
++         }
++ 
++-        public Map<Name, ? extends Element> getForwardReferences() {
+++        public Collection<? extends Element> getForwardReferences() {
++             if (refs == null) {
++-                refs = new HashMap<>();
++-                for (Element ref : SourceUtils.getForwardReferences(path, offset, sourcePositions, controller.getTrees())) {
++-                    refs.put(ref.getSimpleName(), ref);
++-                }
+++                refs = SourceUtils.getForwardReferences(path, offset, sourcePositions, controller.getTrees());
++             }
++             return refs;
++         }
++@@ -782,16 +746,6 @@ abstract class BaseTask extends UserTask {
++             return excludes;
++         }
++ 
++-        public void addExcludedKW(String kw) {
++-            if (kw != null) {
++-                kws.add(kw);
++-            }
++-        }
++-
++-        public boolean isExcludedKW(String kw) {
++-            return kws.contains(kw);
++-        }
++-
++         public void skipAccessibilityCheck() {
++             this.checkAccessibility = false;
++         }
++diff --git a/java.completion/src/org/netbeans/modules/java/completion/Bundle.properties b/java.completion/src/org/netbeans/modules/java/completion/Bundle.properties
++index efc1f73a2..8b5ad794d 100644
++--- a/java.completion/src/org/netbeans/modules/java/completion/Bundle.properties
+++++ b/java.completion/src/org/netbeans/modules/java/completion/Bundle.properties
++@@ -1,40 +1,3 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License.  When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ OpenIDE-Module-Display-Category=Java
++ OpenIDE-Module-Long-Description=\
++     Code Completion Provider for Java
++diff --git a/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java b/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java
++index c0657a5ba..069f8ae6f 100644
++--- a/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java
+++++ b/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java
++@@ -134,10 +134,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ 
++         T createTypeCastableExecutableItem(CompilationInfo info, ExecutableElement elem, ExecutableType type, TypeMirror castType, int substitutionOffset, ReferencesCount referencesCount, boolean isInherited, boolean isDeprecated, boolean inImport, boolean addSemicolon, boolean smartType, int assignToVarOffset, boolean memberRef);        
++     }
++-    
++-    public static interface LambdaItemFactory<T> extends ItemFactory<T> {
++-        T createLambdaItem(CompilationInfo info, TypeElement elem, DeclaredType type, int substitutionOffset, boolean addSemicolon);
++-    }
++ 
++     public static enum Options {
++ 
++@@ -280,9 +276,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++             case COMPILATION_UNIT:
++                 insideCompilationUnit(env);
++                 break;
++-            case PACKAGE:
++-                insidePackage(env);
++-                break;
++             case IMPORT:
++                 insideImport(env);
++                 break;
++@@ -475,15 +468,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++         }
++     }
++ 
++-    private void insidePackage(Env env) {
++-        int offset = env.getOffset();
++-        PackageTree pt = (PackageTree) env.getPath().getLeaf();
++-        SourcePositions sourcePositions = env.getSourcePositions();
++-        if (offset <= sourcePositions.getStartPosition(env.getRoot(), pt.getPackageName())) {
++-            addPackages(env, null, true);
++-        }
++-    }
++-
++     private void insideImport(Env env) {
++         int offset = env.getOffset();
++         String prefix = env.getPrefix();
++@@ -1255,15 +1239,15 @@ public final class JavaCompletionTask<T> extends BaseTask {
++             }
++         } else if (last.getKind() == Tree.Kind.TRY) {
++             if (((TryTree) last).getFinallyBlock() == null) {
++-                addKeyword(env, CATCH_KEYWORD, null, true);
++-                addKeyword(env, FINALLY_KEYWORD, null, true);
+++                addKeyword(env, CATCH_KEYWORD, null, false);
+++                addKeyword(env, FINALLY_KEYWORD, null, false);
++                 if (((TryTree) last).getCatches().isEmpty() && ((TryTree) last).getResources().isEmpty()) {
++                     return;
++                 }
++             }
++         } else if (last.getKind() == Tree.Kind.IF) {
++             if (((IfTree) last).getElseStatement() == null) {
++-                addKeyword(env, ELSE_KEYWORD, null, true);
+++                addKeyword(env, ELSE_KEYWORD, null, false);
++             }
++         }
++         localResult(env);
++@@ -1815,16 +1799,10 @@ public final class JavaCompletionTask<T> extends BaseTask {
++ 
++     private void insideTry(Env env) throws IOException {
++         CompilationController controller = env.getController();
++-        TokenSequence<JavaTokenId> last = findLastNonWhitespaceToken(env, env.getPath().getLeaf(), env.getOffset());
++-        if (last != null && (last.token().id() == JavaTokenId.LPAREN || last.token().id() == JavaTokenId.SEMICOLON)) {
++-            addKeyword(env, FINAL_KEYWORD, SPACE, false);
++-            if (controller.getSourceVersion().compareTo(SourceVersion.RELEASE_9) >= 0) {
++-                addEffectivelyFinalAutoCloseables(env);
++-            }
++-            TypeElement te = controller.getElements().getTypeElement("java.lang.AutoCloseable"); //NOI18N
++-            if (te != null) {
++-                addTypes(env, EnumSet.of(CLASS, INTERFACE, TYPE_PARAMETER), controller.getTypes().getDeclaredType(te));
++-            }
+++        addKeyword(env, FINAL_KEYWORD, SPACE, false);
+++        TypeElement te = controller.getElements().getTypeElement("java.lang.AutoCloseable"); //NOI18N
+++        if (te != null) {
+++            addTypes(env, EnumSet.of(CLASS, INTERFACE, TYPE_PARAMETER), controller.getTypes().getDeclaredType(te));
++         }
++     }
++ 
++@@ -1838,7 +1816,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++             if (!options.contains(Options.ALL_COMPLETION)) {
++                 TreeUtilities tu = controller.getTreeUtilities();
++                 TreePath tryPath = tu.getPathElementOfKind(Tree.Kind.TRY, path);
++-                Set<TypeMirror> exs = tu.getUncaughtExceptions(tryPath != null ? tryPath : path.getParentPath());
+++                Set<TypeMirror> exs = tu.getUncaughtExceptions(tryPath);
++                 Elements elements = controller.getElements();
++                 for (TypeMirror ex : exs) {
++                     if (ex.getKind() == TypeKind.DECLARED && startsWith(env, ((DeclaredType) ex).asElement().getSimpleName().toString())
++@@ -2434,7 +2412,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++         String prefix = env.getPrefix();
++         Tree et = exPath.getLeaf();
++         Tree parent = exPath.getParentPath().getLeaf();
++-        final CompilationController controller = env.getController();
+++        CompilationController controller = env.getController();
++         int endPos = (int) env.getSourcePositions().getEndPosition(env.getRoot(), et);
++         if (endPos != Diagnostic.NOPOS && endPos < offset) {
++             TokenSequence<JavaTokenId> last = findLastNonWhitespaceToken(env, endPos, offset);
++@@ -2459,15 +2437,14 @@ public final class JavaCompletionTask<T> extends BaseTask {
++         if (parent.getKind() != Tree.Kind.PARENTHESIZED
++                 && (et.getKind() == Tree.Kind.PRIMITIVE_TYPE || et.getKind() == Tree.Kind.ARRAY_TYPE || et.getKind() == Tree.Kind.PARAMETERIZED_TYPE)) {
++             TypeMirror tm = controller.getTrees().getTypeMirror(exPath);
++-            final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++            final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++             Scope scope = env.getScope();
++             final ExecutableElement method = scope.getEnclosingMethod();
++             ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++                 @Override
++                 public boolean accept(Element e, TypeMirror t) {
++-                    return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL)
++-                            || EnumSet.of(LOCAL_VARIABLE, PARAMETER, EXCEPTION_PARAMETER, RESOURCE_VARIABLE).contains(e.getKind()) && controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0 && controller.getElementUtilities().isEffectivelyFinal((VariableElement)e))
++-                            && !illegalForwardRefs.containsKey(e.getSimpleName());
+++                    return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL))
+++                            && !illegalForwardRefs.contains(e);
++                 }
++             };
++             for (String name : Utilities.varNamesSuggestions(tm, varKind, varMods, null, prefix, controller.getTypes(), controller.getElements(), controller.getElementUtilities().getLocalMembersAndVars(scope, acceptor), CodeStyle.getDefault(controller.getDocument()))) {
++@@ -2495,15 +2472,14 @@ public final class JavaCompletionTask<T> extends BaseTask {
++                 case PACKAGE:
++                     if (parent.getKind() != Tree.Kind.PARENTHESIZED
++                             || env.getController().getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0) {
++-                        final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++                        final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++                         Scope scope = env.getScope();
++                         final ExecutableElement method = scope.getEnclosingMethod();
++                         ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++                             @Override
++                             public boolean accept(Element e, TypeMirror t) {
++-                                return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL)
++-                                        || EnumSet.of(LOCAL_VARIABLE, PARAMETER, EXCEPTION_PARAMETER, RESOURCE_VARIABLE).contains(e.getKind()) && controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0 && controller.getElementUtilities().isEffectivelyFinal((VariableElement)e))
++-                                        && !illegalForwardRefs.containsKey(e.getSimpleName());
+++                                return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL))
+++                                        && !illegalForwardRefs.contains(e);
++                             }
++                         };
++                         for (String name : Utilities.varNamesSuggestions(tm, varKind, varMods, null, prefix, controller.getTypes(), controller.getElements(),
++@@ -2527,15 +2503,14 @@ public final class JavaCompletionTask<T> extends BaseTask {
++                     }
++                     TypeElement te = getTypeElement(env, e.getSimpleName().toString());
++                     if (te != null) {
++-                        final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++                        final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++                         Scope scope = env.getScope();
++                         final ExecutableElement method = scope.getEnclosingMethod();
++                         ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++                             @Override
++                             public boolean accept(Element e, TypeMirror t) {
++-                                return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL)
++-                                        || EnumSet.of(LOCAL_VARIABLE, PARAMETER, EXCEPTION_PARAMETER, RESOURCE_VARIABLE).contains(e.getKind()) && controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0 && controller.getElementUtilities().isEffectivelyFinal((VariableElement)e))
++-                                        && !illegalForwardRefs.containsKey(e.getSimpleName());
+++                                return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL))
+++                                        && !illegalForwardRefs.contains(e);
++                             }
++                         };
++                         for (String name : Utilities.varNamesSuggestions(controller.getTypes().getDeclaredType(te), varKind, varMods, null, prefix, controller.getTypes(),
++@@ -2637,15 +2612,14 @@ public final class JavaCompletionTask<T> extends BaseTask {
++             case ENUM:
++             case INTERFACE:
++             case PACKAGE:
++-                final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++                final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++                 Scope scope = env.getScope();
++                 final ExecutableElement method = scope.getEnclosingMethod();
++                 ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++                     @Override
++                     public boolean accept(Element e, TypeMirror t) {
++-                        return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL)
++-                                || EnumSet.of(LOCAL_VARIABLE, PARAMETER, EXCEPTION_PARAMETER, RESOURCE_VARIABLE).contains(e.getKind()) && controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0 && controller.getElementUtilities().isEffectivelyFinal((VariableElement)e))
++-                                && !illegalForwardRefs.containsKey(e.getSimpleName());
+++                        return (method == null || method == e.getEnclosingElement() || e.getModifiers().contains(FINAL))
+++                                && !illegalForwardRefs.contains(e);
++                     }
++                 };
++                 for (String name : Utilities.varNamesSuggestions(tm, varKind, varMods, null, prefix, controller.getTypes(), controller.getElements(), controller.getElementUtilities().getLocalMembersAndVars(scope, acceptor), CodeStyle.getDefault(controller.getDocument()))) {
++@@ -2785,9 +2759,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++                         final TypeElement element = (TypeElement) type.asElement();
++                         if (JAVA_LANG_CLASS.contentEquals(element.getQualifiedName())) {
++                             addTypeDotClassMembers(env, type);
++-                        } else if (controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0
++-                                && elements.isFunctionalInterface(element) && itemFactory instanceof LambdaItemFactory) {
++-                            results.add(((LambdaItemFactory<T>)itemFactory).createLambdaItem(env.getController(), element, type, anchorOffset, env.addSemicolon()));
++                         }
++                         final boolean startsWith = startsWith(env, element.getSimpleName().toString());
++                         final boolean withinScope = withinScope(env, element);
++@@ -2877,42 +2848,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++         }
++     }
++ 
++-    private void addEffectivelyFinalAutoCloseables(final Env env) throws IOException {
++-        final CompilationController controller = env.getController();
++-        final Elements elements = controller.getElements();
++-        final TypeElement te = elements.getTypeElement("java.lang.AutoCloseable"); //NOI18N
++-        if (te != null) {
++-            final Types types = controller.getTypes();
++-            final ElementUtilities eu = controller.getElementUtilities();
++-            final Scope scope = env.getScope();
++-            final Set<? extends TypeMirror> smartTypes = options.contains(Options.ALL_COMPLETION) ? null : getSmartTypes(env);
++-            final TypeElement enclClass = scope.getEnclosingClass();
++-            for (Element e : getLocalMembersAndVars(env)) {
++-                switch (e.getKind()) {
++-                    case EXCEPTION_PARAMETER:
++-                    case LOCAL_VARIABLE:
++-                    case RESOURCE_VARIABLE:
++-                    case PARAMETER:
++-                        if (types.isSubtype(e.asType(), te.asType()) && eu.isEffectivelyFinal((VariableElement) e)) {
++-                            results.add(itemFactory.createVariableItem(env.getController(), (VariableElement) e, e.asType(), anchorOffset, null, env.getScope().getEnclosingClass() != e.getEnclosingElement(), elements.isDeprecated(e), isOfSmartType(env, e.asType(), smartTypes), env.assignToVarPos()));
++-                        }
++-                        break;
++-                    case FIELD:
++-                        if (types.isSubtype(e.asType(), te.asType())) {
++-                            String name = e.getSimpleName().toString();
++-                            if (THIS_KEYWORD.equals(name) || SUPER_KEYWORD.equals(name)) {
++-                                results.add(itemFactory.createKeywordItem(name, null, anchorOffset, isOfSmartType(env, e.asType(), smartTypes)));
++-                            } else {
++-                                TypeMirror tm = asMemberOf(e, enclClass != null ? enclClass.asType() : null, types);
++-                                results.add(itemFactory.createVariableItem(env.getController(), (VariableElement) e, tm, anchorOffset, null, env.getScope().getEnclosingClass() != e.getEnclosingElement(), elements.isDeprecated(e), isOfSmartType(env, tm, smartTypes), env.assignToVarPos()));
++-                            }
++-                        }
++-                        break;
++-                }
++-            }
++-        }
++-    }
++-
++     private Iterable<? extends Element> getLocalMembersAndVars(final Env env) throws IOException {
++         final String prefix = env.getPrefix();
++         final CompilationController controller = env.getController();
++@@ -2924,7 +2859,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++         final TypeElement enclClass = scope.getEnclosingClass();
++         final boolean enclStatic = enclClass != null && enclClass.getModifiers().contains(Modifier.STATIC);
++         final boolean ctxStatic = enclClass != null && (tu.isStaticContext(scope) || (env.getPath().getLeaf().getKind() == Tree.Kind.BLOCK && ((BlockTree) env.getPath().getLeaf()).isStatic()));
++-        final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++        final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++         final ExecutableElement method = scope.getEnclosingMethod() != null && scope.getEnclosingMethod().getEnclosingElement() == enclClass ? scope.getEnclosingMethod() : null;
++         ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++             @Override
++@@ -2944,14 +2879,14 @@ public final class JavaCompletionTask<T> extends BaseTask {
++                                 || (method == null && (e.getEnclosingElement().getKind() == INSTANCE_INIT
++                                 || e.getEnclosingElement().getKind() == STATIC_INIT
++                                 || e.getEnclosingElement().getKind() == METHOD && e.getEnclosingElement().getEnclosingElement().getKind() == FIELD)))
++-                                && (!illegalForwardRefs.containsKey(e.getSimpleName()) || illegalForwardRefs.get(e.getSimpleName()).getEnclosingElement() != e.getEnclosingElement());
+++                                && !illegalForwardRefs.contains(e);
++                     case FIELD:
++                         if (e.getSimpleName().contentEquals(THIS_KEYWORD) || e.getSimpleName().contentEquals(SUPER_KEYWORD)) {
++                             return Utilities.startsWith(e.getSimpleName().toString(), prefix) && !isStatic;
++                         }
++                     case ENUM_CONSTANT:
++                         return startsWith(env, e.getSimpleName().toString())
++-                                && !illegalForwardRefs.containsValue(e)
+++                                && !illegalForwardRefs.contains(e)
++                                 && (!isStatic || e.getModifiers().contains(STATIC))
++                                 && (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e))
++                                 && trees.isAccessible(scope, e, (DeclaredType) t);
++@@ -3336,10 +3271,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++                 case PARAMETER:
++                     String name = e.getSimpleName().toString();
++                     if (THIS_KEYWORD.equals(name) || CLASS_KEYWORD.equals(name) || SUPER_KEYWORD.equals(name)) {
++-                        if (!env.isExcludedKW(name)) {
++-                            results.add(itemFactory.createKeywordItem(name, null, anchorOffset, isOfSmartType(env, e.asType(), smartTypes)));
++-                            env.addExcludedKW(name);
++-                        }
+++                        results.add(itemFactory.createKeywordItem(name, null, anchorOffset, isOfSmartType(env, e.asType(), smartTypes)));
++                     } else {
++                         TypeMirror tm = asMemberOf(e, actualType, types);
++                         if (addCast && itemFactory instanceof TypeCastableItemFactory) {
++@@ -3746,7 +3678,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++     }
++ 
++     private void addMethodArguments(Env env, MethodInvocationTree mit) throws IOException {
++-        final CompilationController controller = env.getController();
+++        CompilationController controller = env.getController();
++         TreePath path = env.getPath();
++         CompilationUnitTree root = env.getRoot();
++         SourcePositions sourcePositions = env.getSourcePositions();
++@@ -3789,7 +3721,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++                     final Trees trees = controller.getTrees();
++                     final TypeElement enclClass = scope.getEnclosingClass();
++                     final boolean isStatic = enclClass != null ? (tu.isStaticContext(scope) || (env.getPath().getLeaf().getKind() == Tree.Kind.BLOCK && ((BlockTree) env.getPath().getLeaf()).isStatic())) : false;
++-                    final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++                    final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++                     final ExecutableElement method = scope.getEnclosingMethod();
++                     ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++                         @Override
++@@ -3799,11 +3731,10 @@ public final class JavaCompletionTask<T> extends BaseTask {
++                                 case RESOURCE_VARIABLE:
++                                 case EXCEPTION_PARAMETER:
++                                 case PARAMETER:
++-                                    return (method == e.getEnclosingElement() || e.getModifiers().contains(FINAL)
++-                                            || controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0 && controller.getElementUtilities().isEffectivelyFinal((VariableElement)e))
++-                                            && (!illegalForwardRefs.containsKey(e.getSimpleName()) || illegalForwardRefs.get(e.getSimpleName()).getEnclosingElement() != e.getEnclosingElement());
+++                                    return (method == e.getEnclosingElement() || e.getModifiers().contains(FINAL))
+++                                            && !illegalForwardRefs.contains(e);
++                                 case FIELD:
++-                                    if (illegalForwardRefs.containsValue(e)) {
+++                                    if (illegalForwardRefs.contains(e)) {
++                                         return false;
++                                     }
++                                     if (e.getSimpleName().contentEquals(THIS_KEYWORD) || e.getSimpleName().contentEquals(SUPER_KEYWORD)) {
++@@ -4453,7 +4384,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++         final TypeElement enclClass = scope.getEnclosingClass();
++         final boolean isStatic = enclClass == null ? false
++                 : (controller.getTreeUtilities().isStaticContext(scope) || (env.getPath().getLeaf().getKind() == Tree.Kind.BLOCK && ((BlockTree) env.getPath().getLeaf()).isStatic()));
++-        final Map<Name, ? extends Element> illegalForwardRefs = env.getForwardReferences();
+++        final Collection<? extends Element> illegalForwardRefs = env.getForwardReferences();
++         final ExecutableElement method = scope.getEnclosingMethod();
++         ElementUtilities.ElementAcceptor acceptor = new ElementUtilities.ElementAcceptor() {
++             @Override
++@@ -4469,15 +4400,14 @@ public final class JavaCompletionTask<T> extends BaseTask {
++                         }
++                     case EXCEPTION_PARAMETER:
++                     case PARAMETER:
++-                        return (method == e.getEnclosingElement() || e.getModifiers().contains(FINAL)
++-                                || controller.getSourceVersion().compareTo(SourceVersion.RELEASE_8) >= 0 && controller.getElementUtilities().isEffectivelyFinal((VariableElement)e))
++-                                && (!illegalForwardRefs.containsKey(e.getSimpleName()) || illegalForwardRefs.get(e.getSimpleName()).getEnclosingElement() != e.getEnclosingElement());
+++                        return (method == e.getEnclosingElement() || e.getModifiers().contains(FINAL))
+++                                && !illegalForwardRefs.contains(e);
++                     case FIELD:
++                         if (e.getSimpleName().contentEquals(THIS_KEYWORD) || e.getSimpleName().contentEquals(SUPER_KEYWORD)) {
++                             return !isStatic;
++                         }
++                     case ENUM_CONSTANT:
++-                        return !illegalForwardRefs.containsValue(e);
+++                        return !illegalForwardRefs.contains(e);
++                 }
++                 return false;
++             }
++@@ -4726,12 +4656,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++                     }
++                     return ret;
++                 case TRY:
++-                    TryTree tt = (TryTree) tree;
++-                    BlockTree tryBlock = tt.getBlock();
++-                    SourcePositions sourcePositions = env.getSourcePositions();
++-                    if (tryBlock != null && sourcePositions.getStartPosition(env.getRoot(), tryBlock) <= offset) {
++-                        return null;
++-                    }
++                     TypeElement te = controller.getElements().getTypeElement("java.lang.AutoCloseable"); //NOI18N
++                     return te != null ? Collections.singleton(controller.getTypes().getDeclaredType(te)) : null;
++                 case IF:
++@@ -4755,7 +4679,7 @@ public final class JavaCompletionTask<T> extends BaseTask {
++                         }
++                         return cond == lastTree ? Collections.<TypeMirror>singleton(controller.getTypes().getPrimitiveType(TypeKind.BOOLEAN)) : null;
++                     }
++-                    sourcePositions = env.getSourcePositions();
+++                    SourcePositions sourcePositions = env.getSourcePositions();
++                     CompilationUnitTree root = env.getRoot();
++                     if (cond != null && sourcePositions.getEndPosition(root, cond) < offset) {
++                         return null;
++@@ -5207,8 +5131,6 @@ public final class JavaCompletionTask<T> extends BaseTask {
++                         }
++                     }
++                     break;
++-                case BLOCK:
++-                    return null;
++             }
++             lastTree = tree;
++             path = path.getParentPath();
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.7/OverrideAbstractListAbstract.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.7/OverrideAbstractListAbstract.pass
++deleted file mode 100644
++index a5caa63cd..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.7/OverrideAbstractListAbstract.pass
+++++ /dev/null
++@@ -1,161 +0,0 @@
++-public boolean add(Object arg0) - override
++-public void add(int arg0, Object arg1) - override
++-public boolean addAll(Collection arg0) - override
++-public boolean addAll(int arg0, Collection arg1) - override
++-public void clear() - override
++-protected native Object clone() - override
++-public boolean contains(Object arg0) - override
++-public boolean containsAll(Collection arg0) - override
++-public boolean equals(Object arg0) - override
++-protected void finalize() - override
++-public abstract Object get(int arg0) - implement
++-public abstract Object get(int arg0) - override
++-public int getModCount() - generate
++-public int hashCode() - override
++-public int indexOf(Object arg0) - override
++-public boolean isEmpty() - override
++-public Iterator iterator() - override
++-public int lastIndexOf(Object arg0) - override
++-public ListIterator listIterator() - override
++-public ListIterator listIterator(int arg0) - override
++-public boolean remove(Object arg0) - override
++-public Object remove(int arg0) - override
++-public boolean removeAll(Collection arg0) - override
++-protected void removeRange(int arg0, int arg1) - override
++-public boolean retainAll(Collection arg0) - override
++-public Object set(int arg0, Object arg1) - override
++-public void setModCount(int modCount) - generate
++-public abstract int size() - implement
++-public abstract int size() - override
++-public List subList(int arg0, int arg1) - override
++-public Object[] toArray() - override
++-public Object[] toArray(Object[] arg0) - override
++-public String toString() - override
++-abstract
++-boolean
++-byte
++-char
++-class
++-double
++-enum
++-final
++-float
++-int
++-interface
++-long
++-native
++-private
++-protected
++-public
++-short
++-static
++-strictfp
++-synchronized
++-transient
++-void
++-volatile
++-AbstractList
++-AbstractMethodError
++-Appendable
++-ArithmeticException
++-ArrayIndexOutOfBoundsException
++-ArrayStoreException
++-AssertionError
++-AutoCloseable
++-Boolean
++-BootstrapMethodError
++-Byte
++-CharSequence
++-Character
++-Class
++-ClassCastException
++-ClassCircularityError
++-ClassFormatError
++-ClassLoader
++-ClassNotFoundException
++-ClassValue
++-CloneNotSupportedException
++-Cloneable
++-Comparable
++-Compiler
++-Deprecated
++-Double
++-Enum
++-EnumConstantNotPresentException
++-Error
++-Exception
++-ExceptionInInitializerError
++-Float
++-IllegalAccessError
++-IllegalAccessException
++-IllegalArgumentException
++-IllegalMonitorStateException
++-IllegalStateException
++-IllegalThreadStateException
++-IncompatibleClassChangeError
++-IndexOutOfBoundsException
++-InheritableThreadLocal
++-InstantiationError
++-InstantiationException
++-Integer
++-InternalError
++-InterruptedException
++-Iterable
++-LinkageError
++-Long
++-Math
++-NegativeArraySizeException
++-NoClassDefFoundError
++-NoSuchFieldError
++-NoSuchFieldException
++-NoSuchMethodError
++-NoSuchMethodException
++-NullPointerException
++-Number
++-NumberFormatException
++-Object
++-OutOfMemoryError
++-Override
++-Package
++-Process
++-ProcessBuilder
++-Readable
++-ReflectiveOperationException
++-Runnable
++-Runtime
++-RuntimeException
++-RuntimePermission
++-SafeVarargs
++-SecurityException
++-SecurityManager
++-Short
++-StackOverflowError
++-StackTraceElement
++-StrictMath
++-String
++-StringBuffer
++-StringBuilder
++-StringIndexOutOfBoundsException
++-SuppressWarnings
++-System
++-Test
++-Thread
++-ThreadDeath
++-ThreadGroup
++-ThreadLocal
++-Throwable
++-TypeNotPresentException
++-UnknownError
++-UnsatisfiedLinkError
++-UnsupportedClassVersionError
++-UnsupportedOperationException
++-VerifyError
++-VirtualMachineError
++-Void
++-com
++-java
++-javax
++-oracle
++-org
++-sun
++-sunw
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideAbstractListAbstract.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideAbstractListAbstract.pass
++deleted file mode 100644
++index 140b300c6..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideAbstractListAbstract.pass
+++++ /dev/null
++@@ -1,168 +0,0 @@
++-public boolean add(Object arg0) - override
++-public void add(int arg0, Object arg1) - override
++-public boolean addAll(Collection arg0) - override
++-public boolean addAll(int arg0, Collection arg1) - override
++-public void clear() - override
++-protected native Object clone() - override
++-public boolean contains(Object arg0) - override
++-public boolean containsAll(Collection arg0) - override
++-public boolean equals(Object arg0) - override
++-protected void finalize() - override
++-public default void forEach(Consumer arg0) - override
++-public abstract Object get(int arg0) - implement
++-public abstract Object get(int arg0) - override
++-public int getModCount() - generate
++-public int hashCode() - override
++-public int indexOf(Object arg0) - override
++-public boolean isEmpty() - override
++-public Iterator iterator() - override
++-public int lastIndexOf(Object arg0) - override
++-public ListIterator listIterator() - override
++-public ListIterator listIterator(int arg0) - override
++-public default Stream parallelStream() - override
++-public boolean remove(Object arg0) - override
++-public Object remove(int arg0) - override
++-public boolean removeAll(Collection arg0) - override
++-public default boolean removeIf(Predicate arg0) - override
++-protected void removeRange(int arg0, int arg1) - override
++-public default void replaceAll(UnaryOperator arg0) - override
++-public boolean retainAll(Collection arg0) - override
++-public Object set(int arg0, Object arg1) - override
++-public void setModCount(int modCount) - generate
++-public abstract int size() - implement
++-public abstract int size() - override
++-public default void sort(Comparator arg0) - override
++-public default Spliterator spliterator() - override
++-public default Stream stream() - override
++-public List subList(int arg0, int arg1) - override
++-public Object[] toArray() - override
++-public Object[] toArray(Object[] arg0) - override
++-public String toString() - override
++-abstract
++-boolean
++-byte
++-char
++-class
++-double
++-enum
++-final
++-float
++-int
++-interface
++-long
++-native
++-private
++-protected
++-public
++-short
++-static
++-strictfp
++-synchronized
++-transient
++-void
++-volatile
++-AbstractList
++-AbstractMethodError
++-Appendable
++-ArithmeticException
++-ArrayIndexOutOfBoundsException
++-ArrayStoreException
++-AssertionError
++-AutoCloseable
++-Boolean
++-BootstrapMethodError
++-Byte
++-CharSequence
++-Character
++-Class
++-ClassCastException
++-ClassCircularityError
++-ClassFormatError
++-ClassLoader
++-ClassNotFoundException
++-ClassValue
++-CloneNotSupportedException
++-Cloneable
++-Comparable
++-Compiler
++-Deprecated
++-Double
++-Enum
++-EnumConstantNotPresentException
++-Error
++-Exception
++-ExceptionInInitializerError
++-Float
++-FunctionalInterface
++-IllegalAccessError
++-IllegalAccessException
++-IllegalArgumentException
++-IllegalMonitorStateException
++-IllegalStateException
++-IllegalThreadStateException
++-IncompatibleClassChangeError
++-IndexOutOfBoundsException
++-InheritableThreadLocal
++-InstantiationError
++-InstantiationException
++-Integer
++-InternalError
++-InterruptedException
++-Iterable
++-LinkageError
++-Long
++-Math
++-NegativeArraySizeException
++-NoClassDefFoundError
++-NoSuchFieldError
++-NoSuchFieldException
++-NoSuchMethodError
++-NoSuchMethodException
++-NullPointerException
++-Number
++-NumberFormatException
++-Object
++-OutOfMemoryError
++-Override
++-Package
++-Process
++-ProcessBuilder
++-Readable
++-ReflectiveOperationException
++-Runnable
++-Runtime
++-RuntimeException
++-RuntimePermission
++-SafeVarargs
++-SecurityException
++-SecurityManager
++-Short
++-StackOverflowError
++-StackTraceElement
++-StrictMath
++-String
++-StringBuffer
++-StringBuilder
++-StringIndexOutOfBoundsException
++-SuppressWarnings
++-System
++-Test
++-Thread
++-ThreadDeath
++-ThreadGroup
++-ThreadLocal
++-Throwable
++-TypeNotPresentException
++-UnknownError
++-UnsatisfiedLinkError
++-UnsupportedClassVersionError
++-UnsupportedOperationException
++-VerifyError
++-VirtualMachineError
++-Void
++-com
++-java
++-javax
++-oracle
++-org
++-sun
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException1.pass
++similarity index 100%
++rename from java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException.pass
++rename to java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException1.pass
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException2.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException2.pass
++new file mode 100644
++index 000000000..4661eac89
++--- /dev/null
+++++ b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/OverrideTypedException2.pass
++@@ -0,0 +1 @@
+++public void test() - override
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseables.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseables.pass
++deleted file mode 100644
++index 6d8c66f74..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseables.pass
+++++ /dev/null
++@@ -1,8 +0,0 @@
++-AutoCloseable
++-FileWriter
++-com
++-java
++-javax
++-oracle
++-org
++-sun
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseablesStartingWithF.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseablesStartingWithF.pass
++deleted file mode 100644
++index a1d6118cd..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/autoCloseablesStartingWithF.pass
+++++ /dev/null
++@@ -1 +0,0 @@
++-FileWriter
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/finalAndAutoCloseables.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/finalAndAutoCloseables.pass
++deleted file mode 100644
++index 9373841fb..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/finalAndAutoCloseables.pass
+++++ /dev/null
++@@ -1,9 +0,0 @@
++-final
++-AutoCloseable
++-FileWriter
++-com
++-java
++-javax
++-oracle
++-org
++-sun
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/i.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/i.pass
++new file mode 100644
++index 000000000..0ddf2bae7
++--- /dev/null
+++++ b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/i.pass
++@@ -0,0 +1 @@
+++i
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceInit.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass
++similarity index 78%
++rename from java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceInit.pass
++rename to java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass
++index be3f58cc0..1f8135d59 100644
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceInit.pass
+++++ b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass
++@@ -1,30 +1,25 @@
++-File f
++-protected native Object clone()
++-public boolean equals(Object arg0)
++-protected void finalize()
++-public final native Class<?> getClass()
++-public native int hashCode()
++-public final native void notify()
++-public final native void notifyAll()
++-public void op(File f)
++-public String toString()
++-public final void wait()
++-public final native void wait(long arg0)
++-public final void wait(long arg0, int arg1)
+++abstract
++ boolean
++ byte
++ char
+++class
++ double
++-false
+++enum
+++final
++ float
++ int
+++interface
++ long
++-new
++-null
+++native
+++private
+++protected
+++public
++ short
++-super
++-this
++-true
+++strictfp
+++synchronized
+++transient
+++void
+++volatile
++ AbstractMethodError
++ Appendable
++ ArithmeticException
++@@ -55,8 +50,6 @@ EnumConstantNotPresentException
++ Error
++ Exception
++ ExceptionInInitializerError
++-File
++-FileWriter
++ Float
++ FunctionalInterface
++ IllegalAccessError
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/javaLangContent.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/javaLangContent.pass
++new file mode 100644
++index 000000000..041833147
++--- /dev/null
+++++ b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/javaLangContent.pass
++@@ -0,0 +1,104 @@
+++AbstractMethodError
+++Appendable
+++ArithmeticException
+++ArrayIndexOutOfBoundsException
+++ArrayStoreException
+++AssertionError
+++AutoCloseable
+++Boolean
+++BootstrapMethodError
+++Byte
+++CharSequence
+++Character
+++Class
+++ClassCastException
+++ClassCircularityError
+++ClassFormatError
+++ClassLoader
+++ClassNotFoundException
+++ClassValue
+++CloneNotSupportedException
+++Cloneable
+++Comparable
+++Compiler
+++Deprecated
+++Double
+++Enum
+++EnumConstantNotPresentException
+++Error
+++Exception
+++ExceptionInInitializerError
+++Float
+++FunctionalInterface
+++IllegalAccessError
+++IllegalAccessException
+++IllegalArgumentException
+++IllegalMonitorStateException
+++IllegalStateException
+++IllegalThreadStateException
+++IncompatibleClassChangeError
+++IndexOutOfBoundsException
+++InheritableThreadLocal
+++InstantiationError
+++InstantiationException
+++Integer
+++InternalError
+++InterruptedException
+++Iterable
+++LinkageError
+++Long
+++Math
+++NegativeArraySizeException
+++NoClassDefFoundError
+++NoSuchFieldError
+++NoSuchFieldException
+++NoSuchMethodError
+++NoSuchMethodException
+++NullPointerException
+++Number
+++NumberFormatException
+++Object
+++OutOfMemoryError
+++Override
+++Package
+++Process
+++ProcessBuilder
+++Readable
+++ReflectiveOperationException
+++Runnable
+++Runtime
+++RuntimeException
+++RuntimePermission
+++SafeVarargs
+++SecurityException
+++SecurityManager
+++Short
+++StackOverflowError
+++StackTraceElement
+++StrictMath
+++String
+++StringBuffer
+++StringBuilder
+++StringIndexOutOfBoundsException
+++SuppressWarnings
+++System
+++Test
+++Thread
+++ThreadDeath
+++ThreadGroup
+++ThreadLocal
+++Throwable
+++TypeNotPresentException
+++UnknownError
+++UnsatisfiedLinkError
+++UnsupportedClassVersionError
+++UnsupportedOperationException
+++VerifyError
+++VirtualMachineError
+++Void
+++com
+++java
+++javax
+++oracle
+++org
+++sun
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceNames.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceNames.pass
++deleted file mode 100644
++index 29fd61aa2..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourceNames.pass
+++++ /dev/null
++@@ -1,3 +0,0 @@
++-fileWriter
++-fw
++-writer
++diff --git a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourcesAndAutoCloseables.pass b/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourcesAndAutoCloseables.pass
++deleted file mode 100644
++index ecd703472..000000000
++--- a/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/1.8/resourcesAndAutoCloseables.pass
+++++ /dev/null
++@@ -1,10 +0,0 @@
++-final
++-AutoCloseable
++-BufferedWriter
++-FileWriter
++-com
++-java
++-javax
++-oracle
++-org
++-sun
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/OverrideAbstractListAbstract.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/OverrideAbstractListAbstract.java
++deleted file mode 100644
++index 5028d5c7c..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/OverrideAbstractListAbstract.java
+++++ /dev/null
++@@ -1,9 +0,0 @@
++-package test;
++-
++-import java.util.AbstractList;
++-
++-public abstract class Test extends AbstractList {
++-    
++-    public Test() {}
++-    
++-}
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWR.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWR.java
++deleted file mode 100644
++index c060de7de..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWR.java
+++++ /dev/null
++@@ -1,15 +0,0 @@
++-package test;
++-
++-import java.io.BufferedWriter;
++-import java.io.FileWriter;
++-import java.io.IOException;
++-
++-public class Test {
++-
++-    public void op(FileWriter fw) {
++-        try (fw; BufferedWriter bw = new BufferedWriter(fw)) {
++-            bw.write("Hello");
++-        } catch (IOException e) {
++-        }
++-    }
++-}
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRNoRes.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRNoRes.java
++deleted file mode 100644
++index c472ed921..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRNoRes.java
+++++ /dev/null
++@@ -1,12 +0,0 @@
++-package test;
++-
++-import java.io.BufferedWriter;
++-import java.io.FileWriter;
++-
++-public class Test {
++-
++-    public void op(FileWriter fw) {
++-        try () {
++-        }
++-    }
++-}
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRStart.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRStart.java
++deleted file mode 100644
++index 40e639522..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SimpleTWRStart.java
+++++ /dev/null
++@@ -1,9 +0,0 @@
++-package test;
++-
++-import java.io.BufferedWriter;
++-import java.io.FileWriter;
++-
++-public class Test {
++-
++-    public void op(FileWriter fw) {
++-        
++\ No newline at end of file
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWR.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWR.java
++deleted file mode 100644
++index 515e4e833..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWR.java
+++++ /dev/null
++@@ -1,14 +0,0 @@
++-package test;
++-
++-import java.io.File;
++-import java.io.FileWriter;
++-
++-public class Test {
++-
++-    public void op(File f) {
++-        try (final FileWriter fw = new FileWriter(f)) {
++-            fw.write("Hello");
++-        } catch (java.io.IOException e) {
++-        }
++-    }
++-}
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRNoRes.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRNoRes.java
++deleted file mode 100644
++index 153e3b943..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRNoRes.java
+++++ /dev/null
++@@ -1,12 +0,0 @@
++-package test;
++-
++-import java.io.File;
++-import java.io.FileWriter;
++-
++-public class Test {
++-
++-    public void op(File f) {
++-        try () {
++-        }
++-    }
++-}
++diff --git a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRStart.java b/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRStart.java
++deleted file mode 100644
++index 8a9fadd4c..000000000
++--- a/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/TWRStart.java
+++++ /dev/null
++@@ -1,8 +0,0 @@
++-package test;
++-
++-import java.io.File;
++-import java.io.FileWriter;
++-
++-public class Test {
++-
++-    public void op(File f) {
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBase.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBase.java
++index 923f8425f..062556e10 100644
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBase.java
+++++ b/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBase.java
++@@ -140,8 +140,8 @@ public class CompletionTestBase extends NbTestCase {
++     
++     @Override
++     protected void setUp() throws Exception {
+++        final ClassPath bootPath = createClassPath(System.getProperty("sun.boot.class.path"));
++         ClassPathProvider cpp = new ClassPathProvider() {
++-            volatile ClassPath bootCache;
++             @Override
++             public ClassPath findClassPath(FileObject file, String type) {
++                 try {
++@@ -152,11 +152,7 @@ public class CompletionTestBase extends NbTestCase {
++                         return ClassPathSupport.createClassPath(new FileObject[0]);
++                     }
++                     if (type.equals(ClassPath.BOOT)) {
++-                        ClassPath cp = bootCache;
++-                        if (cp == null) {
++-                            bootCache = cp = createClassPath(System.getProperty("sun.boot.class.path"));
++-                        }
++-                        return cp;
+++                        return bootPath;
++                     }
++                 } catch (IOException ex) {}
++                 return null;
++@@ -187,7 +183,6 @@ public class CompletionTestBase extends NbTestCase {
++                 tx.commit();
++             }
++         }
++-        final ClassPath bootPath = cpp.findClassPath(FileUtil.toFileObject(getWorkDir()), ClassPath.BOOT);
++         final ClasspathInfo cpInfo = ClasspathInfo.create(bootPath, ClassPathSupport.createClassPath(new URL[0]), sourcePath);
++         assertNotNull(cpInfo);
++         final JavaSource js = JavaSource.create(cpInfo);
++@@ -239,10 +234,6 @@ public class CompletionTestBase extends NbTestCase {
++     }
++     
++     protected void performTest(String source, int caretPos, String textToInsert, String goldenFileName, String sourceLevel) throws Exception {
++-        String version = System.getProperty("java.specification.version");
++-        if (com.sun.tools.javac.code.Source.lookup(version).compareTo(com.sun.tools.javac.code.Source.lookup(sourceLevel)) < 0) {
++-            sourceLevel = com.sun.tools.javac.code.Source.lookup(version).name;
++-        }
++         this.sourceLevel.set(sourceLevel);
++         File testSource = new File(getWorkDir(), "test/Test.java");
++         testSource.getParentFile().mkdirs();
++@@ -279,8 +270,9 @@ public class CompletionTestBase extends NbTestCase {
++             }
++         }
++         
+++        String version = System.getProperty("java.specification.version") + "/";
++         
++-        File goldenFile = new File(getDataDir(), "/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/" + version + "/" + goldenFileName);
+++        File goldenFile = new File(getDataDir(), "/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/" + version + goldenFileName);
++         File diffFile = new File(getWorkDir(), getName() + ".diff");        
++         assertFile(output, goldenFile, diffFile);
++         
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask15FeaturesTest.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask15FeaturesTest.java
++index c0fed9736..43bdc97f4 100644
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask15FeaturesTest.java
+++++ b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask15FeaturesTest.java
++@@ -117,15 +117,15 @@ public class JavaCompletionTask15FeaturesTest extends CompletionTestBase {
++     }
++ 
++     public void testEmptyFileAfterTypingExtendsAndSpaceInFirstTypeParam() throws Exception {
++-        performTest("GenericsStart", 32, "<X extends ", "javaLangContentAndTestClass.pass");
+++        performTest("GenericsStart", 32, "<X extends ", "javaLangContent.pass");
++     }
++     
++     public void testAfterTypingExtendsAndSpaceInFirstTypeParam() throws Exception {
++-        performTest("GenericsNoTypeParams", 32, "<X extends ", "javaLangContentAndTestClass.pass");
+++        performTest("GenericsNoTypeParams", 32, "<X extends ", "javaLangContent.pass");
++     }
++     
++     public void testAfterExtendsAndSpaceInFirstTypeParam() throws Exception {
++-        performTest("Generics", 43, null, "javaLangContentAndTestClass.pass");
+++        performTest("Generics", 43, null, "javaLangContent.pass");
++     }
++ 
++     public void testEmptyFileAfterTypingBoundedFirstTypeParamAndSpace() throws Exception {
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask17FeaturesTest.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask17FeaturesTest.java
++deleted file mode 100644
++index fa7701f53..000000000
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask17FeaturesTest.java
+++++ /dev/null
++@@ -1,147 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * Contributor(s):
++- *
++- * The Original Software is NetBeans. The Initial Developer of the Original
++- * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
++- * Microsystems, Inc. All Rights Reserved.
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- */
++-package org.netbeans.modules.java.completion;
++-
++-import org.netbeans.modules.java.source.parsing.JavacParser;
++-
++-/**
++- *
++- * @author Dusan Balek
++- */
++-public class JavaCompletionTask17FeaturesTest extends CompletionTestBase {
++-
++-    public JavaCompletionTask17FeaturesTest(String testName) {
++-        super(testName);
++-    }
++-
++-    // Java 1.7 try-with-resources tests ---------------------------------------
++-    
++-    public void testEmptyFileBeforeTypingVarResouce() throws Exception {
++-        performTest("TWRStart", 114, "try (", "finalAndAutoCloseables.pass", "1.7");
++-    }
++-
++-    public void testBeforeTypingVarResouce() throws Exception {
++-        performTest("TWRNoRes", 127, null, "finalAndAutoCloseables.pass", "1.7");
++-    }
++-
++-    public void testBeforeVarResouce() throws Exception {
++-        performTest("TWR", 127, null, "finalAndAutoCloseables.pass", "1.7");
++-    }
++-
++-    public void testEmptyFileTypingVarResouce() throws Exception {
++-        performTest("TWRStart", 114, "try (f", "finalKeyword.pass", "1.7");
++-    }
++-
++-    public void testTypingVarResouce() throws Exception {
++-        performTest("TWRNoRes", 127, "f", "finalKeyword.pass", "1.7");
++-    }
++-
++-    public void testOnVarResouce() throws Exception {
++-        performTest("TWR", 128, null, "finalKeyword.pass", "1.7");
++-    }
++-
++-    public void testEmptyFileAfterFinalInResource() throws Exception {
++-        performTest("TWRStart", 114, "try (final ", "autoCloseables.pass", "1.7");
++-    }
++-
++-    public void testTypingAfterFinalInResouce() throws Exception {
++-        performTest("TWRNoRes", 127, "final ", "autoCloseables.pass", "1.7");
++-    }
++-
++-    public void testAfterFinalInResouce() throws Exception {
++-        performTest("TWR", 133, null, "autoCloseables.pass", "1.7");
++-    }
++-
++-    public void testEmptyFileTypingTypeInVarResouce() throws Exception {
++-        performTest("TWRStart", 114, "try (final F", "autoCloseablesStartingWithF.pass", "1.7");
++-    }
++-
++-    public void testTypingTypeInVarResouce() throws Exception {
++-        performTest("TWRNoRes", 127, "final F", "autoCloseablesStartingWithF.pass", "1.7");
++-    }
++-
++-    public void testOnTypeInVarResouce() throws Exception {
++-        performTest("TWR", 134, null, "autoCloseablesStartingWithF.pass", "1.7");
++-    }
++-
++-    public void testEmptyFileBeforeTypingNameInVarResouce() throws Exception {
++-        performTest("TWRStart", 114, "try (final FileWriter ", "resourceNames.pass", "1.7");
++-    }
++-
++-    public void testBeforeTypingNameInVarResouce() throws Exception {
++-        performTest("TWRNoRes", 127, "final FileWriter ", "resourceNames.pass", "1.7");
++-    }
++-
++-    public void testBeforeNameInVarResouce() throws Exception {
++-        performTest("TWR", 144, null, "resourceNames.pass", "1.7");
++-    }
++-
++-    public void testEmptyFileAfterTypingNameInVarResouce() throws Exception {
++-        performTest("TWRStart", 114, "try (final FileWriter fw ", "empty.pass", "1.7");
++-    }
++-
++-    public void testAfterTypingNameInVarResouce() throws Exception {
++-        performTest("TWRNoRes", 127, "final FileWriter fw ", "empty.pass", "1.7");
++-    }
++-
++-    public void testAfterNameInVarResouce() throws Exception {
++-        performTest("TWR", 147, null, "empty.pass", "1.7");
++-    }
++-
++-    public void testEmptyFileBeforeVarResouceInit() throws Exception {
++-        performTest("TWRStart", 114, "try (final FileWriter fw = ", "resourceInit.pass", "1.7");
++-    }
++-
++-    public void testBeforeTypingVarResouceInit() throws Exception {
++-        performTest("TWRNoRes", 127, "final FileWriter fw = ", "resourceInit.pass", "1.7");
++-    }
++-
++-    public void testBeforeVarResouceInit() throws Exception {
++-        performTest("TWR", 149, null, "resourceInit.pass", "1.7");
++-    }
++-
++-    static {
++-        JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
++-    }
++-}
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask18FeaturesTest.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask18FeaturesTest.java
++index f007219f3..d6a44b7d2 100644
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask18FeaturesTest.java
+++++ b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask18FeaturesTest.java
++@@ -94,15 +94,15 @@ public class JavaCompletionTask18FeaturesTest extends CompletionTestBase {
++     }
++ 
++     public void testEmptyFileAfterTypingStaticModifier() throws Exception {
++-        performTest("Empty", 0, "package test;\ninterface Test {\nstatic ", "memberModifiersAndTypesWithoutStatic.pass", "1.8");
+++        performTest("Empty", 0, "package test;\ninterface Test {\nstatic ", "interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass", "1.8");
++     }
++ 
++     public void testAfterTypingStaticModifier() throws Exception {
++-        performTest("SimpleInterfaceNoExtends", 31, "\nstatic ", "memberModifiersAndTypesWithoutStatic.pass", "1.8");
+++        performTest("SimpleInterfaceNoExtends", 31, "\nstatic ", "interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass", "1.8");
++     }
++ 
++     public void testAfterStaticModifier() throws Exception {
++-        performTest("Interface", 102, null, "memberModifiersAndTypesWithoutStatic.pass", "1.8");
+++        performTest("Interface", 102, null, "interfaceMemberModifiersAndTypesWithoutDefaultAndStatic.pass", "1.8");
++     }
++ 
++     public void testEmptyFileTypingDefaultMethodBody() throws Exception {
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask19FeaturesTest.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask19FeaturesTest.java
++deleted file mode 100644
++index f04ed9c61..000000000
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask19FeaturesTest.java
+++++ /dev/null
++@@ -1,111 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * Contributor(s):
++- *
++- * The Original Software is NetBeans. The Initial Developer of the Original
++- * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
++- * Microsystems, Inc. All Rights Reserved.
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- */
++-package org.netbeans.modules.java.completion;
++-
++-import org.netbeans.modules.java.source.parsing.JavacParser;
++-
++-/**
++- *
++- * @author Dusan Balek
++- */
++-public class JavaCompletionTask19FeaturesTest extends CompletionTestBase {
++-
++-    public JavaCompletionTask19FeaturesTest(String testName) {
++-        super(testName);
++-    }
++-
++-    // Java 1.9 try-with-resources tests -------------------------------------------
++-    
++-    public void testEmptyFileBeforeTypingExistingVarResouce() throws Exception {
++-        performTest("SimpleTWRStart", 139, "try (", "resourcesAndAutoCloseables.pass", "1.9");
++-    }
++-
++-    public void testBeforeTypingExistingVarResouce() throws Exception {
++-        performTest("SimpleTWRNoRes", 144, null, "resourcesAndAutoCloseables.pass", "1.9");
++-    }
++-
++-    public void testBeforeExistingVarResouce() throws Exception {
++-        performTest("SimpleTWR", 172, null, "resourcesAndAutoCloseables.pass", "1.9");
++-    }
++-
++-    public void testEmptyFileTypingExistingVarResouce() throws Exception {
++-        performTest("SimpleTWRStart", 139, "try (f", "finalKeyword.pass", "1.9");
++-    }
++-
++-    public void testTypingExistingVarResouce() throws Exception {
++-        performTest("SimpleTWRNoRes", 144, "f", "finalKeyword.pass", "1.9");
++-    }
++-
++-    public void testOnExistingVarResouce() throws Exception {
++-        performTest("SimpleTWR", 173, null, "finalKeyword.pass", "1.9");
++-    }
++-
++-    public void testEmptyFileAfterTypingExistingVarResouce() throws Exception {
++-        performTest("SimpleTWRStart", 139, "try (fw ", "empty.pass", "1.9");
++-    }
++-
++-    public void testAfterTypingExistingVarResouce() throws Exception {
++-        performTest("SimpleTWRNoRes", 144, "fw ", "empty.pass", "1.9");
++-    }
++-
++-    public void testAfterExistingVarResouce() throws Exception {
++-        performTest("SimpleTWR", 174, " ", "empty.pass", "1.9");
++-    }
++-
++-    public void testEmptyFileBeforeTypingNewVarResouce() throws Exception {
++-        performTest("SimpleTWRStart", 139, "try (fw;", "resourcesAndAutoCloseables.pass", "1.9");
++-    }
++-
++-    public void testBeforeTypingNewVarResouce() throws Exception {
++-        performTest("SimpleTWRNoRes", 144, "fw;", "resourcesAndAutoCloseables.pass", "1.9");
++-    }
++-
++-    public void testBeforeNewVarResouce() throws Exception {
++-        performTest("SimpleTWR", 175, null, "resourcesAndAutoCloseables.pass", "1.9");
++-    }
++-
++-    static {
++-        JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
++-    }
++-}
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskAdvancedTest.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskAdvancedTest.java
++index 3944275a6..e042dfb0f 100644
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskAdvancedTest.java
+++++ b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskAdvancedTest.java
++@@ -413,15 +413,15 @@ public class JavaCompletionTaskAdvancedTest extends CompletionTestBase {
++     }
++     
++     public void testEmptyFileAfterTypingForVarTypeAndSpace() throws Exception {
++-        performTest("SimpleMethodBodyStart", 98, "for (int ", "intVarName.pass");
+++        performTest("SimpleMethodBodyStart", 98, "for (int ", "i.pass");
++     }
++     
++     public void testAfterTypingForVarTypeAndSpace() throws Exception {
++-        performTest("SimpleEmptyMethodBody", 98, "for (int ", "intVarName.pass");
+++        performTest("SimpleEmptyMethodBody", 98, "for (int ", "i.pass");
++     }
++     
++     public void testAfterForVarTypeAndSpace() throws Exception {
++-        performTest("For", 107, null, "intVarName.pass");
+++        performTest("For", 107, null, "i.pass");
++     }
++     
++     public void testEmptyFileAfterTypingForVarAndSpace() throws Exception {
++diff --git a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskElementCreatingTest.java b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskElementCreatingTest.java
++index 4371f886d..5cca1f30c 100644
++--- a/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskElementCreatingTest.java
+++++ b/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTaskElementCreatingTest.java
++@@ -62,13 +62,6 @@ public class JavaCompletionTaskElementCreatingTest extends CompletionTestBase {
++         performTest("OverrideAbstractList", 118, "", "OverrideAbstractList.pass");
++     }
++     
++-    /**
++-     * Checks that cc: offers just one size() for override, but offers size() for both implement AND override.
++-     */
++-    public void testOverrideAbstractListAbstract() throws Exception {
++-        performTest("OverrideAbstractListAbstract", 126, "", "OverrideAbstractListAbstract.pass");
++-    }
++-    
++     /** CC should not offer overriding private method from superclass */
++     public void testOverridePrivateMethod() throws Exception {
++         performTest("OverridePrivateMethod", 89, "cl", "OverridePrivateMethod.pass");
++@@ -104,11 +97,11 @@ public class JavaCompletionTaskElementCreatingTest extends CompletionTestBase {
++     }
++     
++     public void testOverrideTypedException1() throws Exception {
++-        performTest("OverrideTypedException", 209, "tes", "OverrideTypedException.pass");
+++        performTest("OverrideTypedException", 209, "tes", "OverrideTypedException1.pass");
++     }
++     
++     public void testOverrideTypedException2() throws Exception {
++-        performTest("OverrideTypedException", 305, "tes", "OverrideTypedException.pass");
+++        performTest("OverrideTypedException", 305, "tes", "OverrideTypedException2.pass");
++     }
++     
++     public void testOverrideInInnerClass() throws Exception {
diff --cc debian/patches/netbeans-java.debug.patch
index 0000000,0000000..e16bc11
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.debug.patch
@@@ -1,0 -1,0 +1,175 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Mon, 26 Dec 2016 01:11:03 +0100
++Subject: netbeans java.debug
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ java.debug/nbproject/project.properties            |  2 +-
++ java.debug/nbproject/project.xml                   | 39 ----------------------
++ .../java/debug/SourceForBinaryQueryImpl.java       | 34 +++++++++----------
++ .../org/netbeans/modules/java/debug/TreeNode.java  | 23 +++++--------
++ 4 files changed, 25 insertions(+), 73 deletions(-)
++
++diff --git a/java.debug/nbproject/project.properties b/java.debug/nbproject/project.properties
++index f6ea2a5ea..b67ca99e7 100644
++--- a/java.debug/nbproject/project.properties
+++++ b/java.debug/nbproject/project.properties
++@@ -40,6 +40,6 @@
++ # Version 2 license, then the option applies only if the new code is
++ # made subject to such option by the copyright holder.
++ javac.source=1.7
++-spec.version.base=1.38.1
+++spec.version.base=1.37.1
++ requires.nb.javac=true
++ 
++diff --git a/java.debug/nbproject/project.xml b/java.debug/nbproject/project.xml
++index 72ba16810..e026fc2cc 100644
++--- a/java.debug/nbproject/project.xml
+++++ b/java.debug/nbproject/project.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2006, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project xmlns="http://www.netbeans.org/ns/project/1">
++     <type>org.netbeans.modules.apisupport.project</type>
++     <configuration>
++diff --git a/java.debug/src/org/netbeans/modules/java/debug/SourceForBinaryQueryImpl.java b/java.debug/src/org/netbeans/modules/java/debug/SourceForBinaryQueryImpl.java
++index a6b9590f6..40890567b 100644
++--- a/java.debug/src/org/netbeans/modules/java/debug/SourceForBinaryQueryImpl.java
+++++ b/java.debug/src/org/netbeans/modules/java/debug/SourceForBinaryQueryImpl.java
++@@ -103,29 +103,27 @@ public class SourceForBinaryQueryImpl implements SourceForBinaryQueryImplementat
++             if (projectFO != null) {
++                 try {
++                     Project project = ProjectManager.getDefault().findProject(projectFO);
++-                    if (project != null) {
++-                        SourceGroup[] sourceGroups = ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA);
++-                        final FileObject[] roots = new FileObject[sourceGroups.length];
++-                        for (int i = 0; i < sourceGroups.length; i++) {
++-                            roots[i] = sourceGroups[i].getRootFolder();
+++                    SourceGroup[] sourceGroups = ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA);
+++                    final FileObject[] roots = new FileObject[sourceGroups.length];
+++                    for (int i = 0; i < sourceGroups.length; i++) {
+++                        roots[i] = sourceGroups[i].getRootFolder();
+++                    }
+++                    Result result = new Result() {
+++                        public FileObject[] getRoots() {
+++                            return roots;
++                         }
++-                        Result result = new Result() {
++-                            public FileObject[] getRoots() {
++-                                return roots;
++-                            }
++ 
++-                            public void addChangeListener(ChangeListener l) {
++-                            }
+++                        public void addChangeListener(ChangeListener l) {
+++                        }
++ 
++-                            public void removeChangeListener(ChangeListener l) {
++-                            }
++-                        };
+++                        public void removeChangeListener(ChangeListener l) {
+++                        }
+++                    };
++ 
++-                        url2Result.put(binaryRoot, new WeakReference<Result>(result));
++-                        result2URL.put(result, binaryRoot);
+++                    url2Result.put(binaryRoot, new WeakReference<Result>(result));
+++                    result2URL.put(result, binaryRoot);
++ 
++-                        return result;
++-                    }
+++                    return result;
++                 } catch (IOException ex) {
++                     Logger.getLogger(SourceForBinaryQueryImpl.class.getName()).log(Level.FINE, null, ex);
++                 } catch (IllegalArgumentException ex) {
++diff --git a/java.debug/src/org/netbeans/modules/java/debug/TreeNode.java b/java.debug/src/org/netbeans/modules/java/debug/TreeNode.java
++index 8cf297637..15020b4bd 100644
++--- a/java.debug/src/org/netbeans/modules/java/debug/TreeNode.java
+++++ b/java.debug/src/org/netbeans/modules/java/debug/TreeNode.java
++@@ -81,7 +81,6 @@ import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.NewArrayTree;
++ import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.PackageTree;
++ import com.sun.source.tree.ParameterizedTypeTree;
++ import com.sun.source.tree.ParenthesizedTree;
++ import com.sun.source.tree.PrimitiveTypeTree;
++@@ -227,10 +226,16 @@ public class TreeNode extends AbstractNode implements OffsetProvider {
++         }
++     }
++         
++-    static final class NodeChilren extends Children.Array {
+++    static final class NodeChilren extends Children.Keys<Node> {
+++        
++         public NodeChilren(List<Node> nodes) {
++-            super(nodes);
+++            setKeys(nodes);
+++        }
+++        
+++        protected Node[] createNodes(Node key) {
+++            return new Node[] {key};
++         }
+++        
++     }
++     
++     private static class FindChildrenTreeVisitor extends CancellableTreePathScanner<Void, List<Node>> {
++@@ -734,18 +739,6 @@ public class TreeNode extends AbstractNode implements OffsetProvider {
++         }
++ 
++         @Override
++-        public Void visitPackage(PackageTree tree, List<Node> d) {
++-            List<Node> below = new ArrayList<Node>();
++-            
++-            addCorrespondingType(below);
++-            addCorrespondingComments(below);
++-            super.visitPackage(tree, below);
++-            
++-            d.add(new TreeNode(info, getCurrentPath(), below));
++-            return null;
++-        }
++-
++-        @Override
++         public Void visitTry(TryTree tree, List<Node> d) {
++             List<Node> below = new ArrayList<Node>();
++             
diff --cc debian/patches/netbeans-java.editor.patch
index 0000000,0000000..3e2cdb0
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.editor.patch
@@@ -1,0 -1,0 +1,1788 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Mon, 26 Dec 2016 00:56:38 +0100
++Subject: netbeans java.editor
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ java.editor/manifest.mf                            |   2 +-
++ java.editor/nbproject/project.properties           |   2 +-
++ java.editor/nbproject/project.xml                  |  10 +-
++ .../modules/editor/java/CamelCaseOperations.java   |  16 +-
++ .../netbeans/modules/editor/java/GoToSupport.java  |  25 +-
++ .../editor/java/JavaCodeTemplateFilter.java        |  22 +-
++ .../modules/editor/java/JavaCompletionItem.java    | 310 ++-------------------
++ .../editor/java/JavaCompletionItemFactory.java     |   8 +-
++ .../java/editor/codegen/GeneratorUtils.java        | 172 +++++++++++-
++ .../codegen/ImplementOverrideMethodGenerator.java  | 154 ++--------
++ .../java/editor/codegen/ui/CheckTreeView.java      |   4 +-
++ .../java/editor/codegen/ui/ElementNode.java        |  16 --
++ .../editor/codegen/ui/ElementSelectorPanel.java    | 115 +-------
++ .../editor/codegen/ui/ImplementOverridePanel.form  |   4 +-
++ .../editor/codegen/ui/ImplementOverridePanel.java  |   2 +-
++ .../modules/java/editor/fold/MessagePattern.java   |  42 +++
++ .../editor/hyperlink/JavaHyperlinkProvider.java    |   2 +-
++ .../java/editor/imports/ClipboardHandler.java      |  45 +--
++ .../java/editor/resources/DefaultAbbrevs.xml       |   2 +-
++ .../editor/resources/DefaultKeyBindings-Mac.xml    |   3 +
++ .../java/editor/resources/DefaultKeyBindings.xml   |   3 +
++ .../java/editor/resources/DefaultMacros.xml        |  39 ---
++ .../java/editor/resources/JavaOptions.settings     |  39 ---
++ .../modules/java/editor/semantic/Bundle.properties |   4 +-
++ .../editor/semantic/GoToMarkOccurrencesAction.java |  17 +-
++ 25 files changed, 325 insertions(+), 733 deletions(-)
++
++diff --git a/java.editor/manifest.mf b/java.editor/manifest.mf
++index a128176ca..bdaaa0690 100644
++--- a/java.editor/manifest.mf
+++++ b/java.editor/manifest.mf
++@@ -1,6 +1,6 @@
++ Manifest-Version: 1.0
++ OpenIDE-Module: org.netbeans.modules.java.editor/1
++-OpenIDE-Module-Implementation-Version: 12
+++OpenIDE-Module-Implementation-Version: 11
++ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/editor/Bundle.properties
++ OpenIDE-Module-Layer: org/netbeans/modules/java/editor/resources/layer.xml
++ AutoUpdate-Show-In-Client: false
++diff --git a/java.editor/nbproject/project.properties b/java.editor/nbproject/project.properties
++index e2048c1c3..c91685497 100644
++--- a/java.editor/nbproject/project.properties
+++++ b/java.editor/nbproject/project.properties
++@@ -42,7 +42,7 @@
++ 
++ javadoc.title=Java Editor
++ 
++-spec.version.base=2.67.1
+++spec.version.base=2.65.1
++ test.qa-functional.cp.extra=${editor.dir}/modules/org-netbeans-modules-editor-fold.jar
++ javac.source=1.7
++ #test.unit.cp.extra=
++diff --git a/java.editor/nbproject/project.xml b/java.editor/nbproject/project.xml
++index 8f5bb221c..27d9604fa 100644
++--- a/java.editor/nbproject/project.xml
+++++ b/java.editor/nbproject/project.xml
++@@ -98,7 +98,7 @@ made subject to such option by the copyright holder.
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>8.15</specification-version>
+++                        <specification-version>8.4</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++@@ -187,7 +187,7 @@ made subject to such option by the copyright holder.
++                     <compile-dependency/>
++                     <run-dependency>
++                         <release-version>1</release-version>
++-                        <specification-version>2.6</specification-version>
+++                        <specification-version>2.0</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++@@ -222,7 +222,7 @@ made subject to such option by the copyright holder.
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>1.6</specification-version>
+++                        <specification-version>1.3</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++@@ -264,7 +264,7 @@ made subject to such option by the copyright holder.
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>0.157</specification-version>
+++                        <specification-version>0.141</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++@@ -272,7 +272,7 @@ made subject to such option by the copyright holder.
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>2.19</specification-version>
+++                        <specification-version>2.5</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++diff --git a/java.editor/src/org/netbeans/modules/editor/java/CamelCaseOperations.java b/java.editor/src/org/netbeans/modules/editor/java/CamelCaseOperations.java
++index c7d3c0624..b9065e8aa 100644
++--- a/java.editor/src/org/netbeans/modules/editor/java/CamelCaseOperations.java
+++++ b/java.editor/src/org/netbeans/modules/editor/java/CamelCaseOperations.java
++@@ -67,10 +67,10 @@ import org.openide.util.NbPreferences;
++  */
++ /* package */ class CamelCaseOperations {
++ 
++-    static int nextCamelCasePosition(CamelCaseInterceptor.MutableContext context) throws BadLocationException {
+++    static int nextCamelCasePosition(JTextComponent textComponent) throws BadLocationException {
++         // get current caret position
++-        final int offset = context.getOffset();
++-        final Document doc = context.getDocument();
+++        final int offset = textComponent.getCaretPosition();
+++        final Document doc = textComponent.getDocument();
++         final int[] retOffset = new int[1];
++         final BadLocationException[] retExc = new BadLocationException[1];
++         doc.render(new Runnable() {
++@@ -133,10 +133,10 @@ import org.openide.util.NbPreferences;
++         return Utilities.getNextWord((BaseDocument)doc, offset);
++     }
++ 
++-    static int previousCamelCasePosition(CamelCaseInterceptor.MutableContext context) throws BadLocationException {
+++    static int previousCamelCasePosition(JTextComponent textComponent) throws BadLocationException {
++         // get current caret position
++-        final int offset = context.getOffset();
++-        final Document doc = context.getDocument();
+++        final int offset = textComponent.getCaretPosition();
+++        final Document doc = textComponent.getDocument();
++         final int[] retOffset = new int[1];
++         final BadLocationException[] retExc = new BadLocationException[1];
++         doc.render(new Runnable() {
++@@ -236,9 +236,9 @@ import org.openide.util.NbPreferences;
++         public void change(MutableContext context) throws BadLocationException {
++             if (isUsingCamelCase()) {
++                 if (context.isBackward()) {
++-                    context.setNextWordOffset(CamelCaseOperations.previousCamelCasePosition(context));
+++                    context.setNextWordOffset(CamelCaseOperations.previousCamelCasePosition(context.getComponent()));
++                 } else {
++-                    context.setNextWordOffset(CamelCaseOperations.nextCamelCasePosition(context));
+++                    context.setNextWordOffset(CamelCaseOperations.nextCamelCasePosition(context.getComponent()));
++                 }
++             }
++         }
++diff --git a/java.editor/src/org/netbeans/modules/editor/java/GoToSupport.java b/java.editor/src/org/netbeans/modules/editor/java/GoToSupport.java
++index 63b69f6a1..b00183057 100644
++--- a/java.editor/src/org/netbeans/modules/editor/java/GoToSupport.java
+++++ b/java.editor/src/org/netbeans/modules/editor/java/GoToSupport.java
++@@ -295,7 +295,7 @@ public class GoToSupport {
++ 
++     public static Context resolveContext(CompilationInfo controller, Document doc, int offset, boolean goToSource, boolean tooltip) {
++         Token<JavaTokenId>[] token = new Token[1];
++-        int[] span = getIdentifierOrLambdaArrowSpan(doc, offset, token);
+++        int[] span = getIdentifierSpan(doc, offset, token);
++ 
++         if (span == null) {
++             return null;
++@@ -323,17 +323,14 @@ public class GoToSupport {
++                 } else if (parentLeaf.getKind() == Kind.IMPORT && ((ImportTree) parentLeaf).isStatic()) {
++                     el = handleStaticImport(controller, (ImportTree) parentLeaf);
++                     insideImportStmt = true;
++-                } else if (parentLeaf.getKind() == Kind.PARAMETERIZED_TYPE
++-                    && parent.getParentPath().getLeaf().getKind() == Kind.NEW_CLASS
++-                    && ((ParameterizedTypeTree) parentLeaf).getType() == path.getLeaf()) {
++-                    if (!isError(controller.getTrees().getElement(parent.getParentPath()))) {
++-                        path = parent.getParentPath();
++-                        classType = controller.getTrees().getTypeMirror(path);
++-                    }
++-                } else if (path.getLeaf().getKind() == Kind.LAMBDA_EXPRESSION) {
++-                    classType = controller.getTrees().getTypeMirror(path);
++-                    if (classType != null && classType.getKind() == TypeKind.DECLARED) {
++-                        el = controller.getElementUtilities().getDescriptorElement((TypeElement)((DeclaredType)classType).asElement());
+++                } else {
+++                    if (   parentLeaf.getKind() == Kind.PARAMETERIZED_TYPE
+++                        && parent.getParentPath().getLeaf().getKind() == Kind.NEW_CLASS
+++                        && ((ParameterizedTypeTree) parentLeaf).getType() == path.getLeaf()) {
+++                        if (!isError(controller.getTrees().getElement(parent.getParentPath()))) {
+++                            path = parent.getParentPath();
+++                            classType = controller.getTrees().getTypeMirror(path);
+++                        }
++                     }
++                 }
++ 
++@@ -505,9 +502,9 @@ public class GoToSupport {
++         return result;
++     }
++     
++-    private static final Set<JavaTokenId> USABLE_TOKEN_IDS = EnumSet.of(JavaTokenId.IDENTIFIER, JavaTokenId.THIS, JavaTokenId.SUPER, JavaTokenId.ARROW);
+++    private static final Set<JavaTokenId> USABLE_TOKEN_IDS = EnumSet.of(JavaTokenId.IDENTIFIER, JavaTokenId.THIS, JavaTokenId.SUPER);
++     
++-    public static int[] getIdentifierOrLambdaArrowSpan(final Document doc, final int offset, final Token<JavaTokenId>[] token) {
+++    public static int[] getIdentifierSpan(final Document doc, final int offset, final Token<JavaTokenId>[] token) {
++         if (getFileObject(doc) == null) {
++             //do nothing if FO is not attached to the document - the goto would not work anyway:
++             return null;
++diff --git a/java.editor/src/org/netbeans/modules/editor/java/JavaCodeTemplateFilter.java b/java.editor/src/org/netbeans/modules/editor/java/JavaCodeTemplateFilter.java
++index 9118670b4..2159105a9 100644
++--- a/java.editor/src/org/netbeans/modules/editor/java/JavaCodeTemplateFilter.java
+++++ b/java.editor/src/org/netbeans/modules/editor/java/JavaCodeTemplateFilter.java
++@@ -111,19 +111,13 @@ public class JavaCodeTemplateFilter implements CodeTemplateFilter {
++                                     CompilationController controller = result != null ? CompilationController.get(result) : null;
++                                     if (controller != null && Phase.PARSED.compareTo(controller.toPhase(Phase.PARSED)) <= 0) {
++                                         TreeUtilities tu = controller.getTreeUtilities();
++-                                        int eo = endOffset;
++-                                        int so = startOffset;
++-                                        if (so >= 0) {
++-                                            so = result.getSnapshot().getEmbeddedOffset(startOffset);
++-                                        }
++                                         if (endOffset >= 0) {
++-                                            eo = result.getSnapshot().getEmbeddedOffset(endOffset);
++                                             TokenSequence<JavaTokenId> ts = SourceUtils.getJavaTokenSequence(controller.getTokenHierarchy(), startOffset);
++                                             int delta = ts.move(startOffset);
++                                             if (delta == 0 || ts.moveNext() && ts.token().id() == JavaTokenId.WHITESPACE) {
++-                                                delta = ts.move(eo);
+++                                                delta = ts.move(endOffset);
++                                                 if (delta == 0 || ts.moveNext() && ts.token().id() == JavaTokenId.WHITESPACE) {
++-                                                    String selectedText = controller.getText().substring(startOffset, eo).trim();
+++                                                    String selectedText = controller.getText().substring(startOffset, endOffset).trim();
++                                                     SourcePositions[] sp = new SourcePositions[1];
++                                                     ExpressionTree expr = selectedText.length() > 0 ? tu.parseExpression(selectedText, sp) : null;
++                                                     if (expr != null && expr.getKind() != Tree.Kind.IDENTIFIER && !Utilities.containErrors(expr) && sp[0].getEndPosition(null, expr) >= selectedText.length()) {
++@@ -132,16 +126,16 @@ public class JavaCodeTemplateFilter implements CodeTemplateFilter {
++                                                 }
++                                             }
++                                         }
++-                                        Tree tree = tu.pathFor(so).getLeaf();
++-                                        if (endOffset >= 0 && so != eo) {
++-                                            if (tu.pathFor(eo).getLeaf() != tree) {
+++                                        Tree tree = tu.pathFor(startOffset).getLeaf();
+++                                        if (endOffset >= 0 && startOffset != endOffset) {
+++                                            if (tu.pathFor(endOffset).getLeaf() != tree) {
++                                                 return;
++                                             }
++                                         }
++                                         treeKindCtx = tree.getKind();
++                                         switch (treeKindCtx) {
++                                             case CASE:
++-                                                if (so < controller.getTrees().getSourcePositions().getEndPosition(controller.getCompilationUnit(), ((CaseTree)tree).getExpression())) {
+++                                                if (startOffset < controller.getTrees().getSourcePositions().getEndPosition(controller.getCompilationUnit(), ((CaseTree)tree).getExpression())) {
++                                                     treeKindCtx = null;
++                                                 }
++                                                 break;
++@@ -151,7 +145,7 @@ public class JavaCodeTemplateFilter implements CodeTemplateFilter {
++                                                 if (startPos <= 0) {
++                                                     startPos = (int)sp.getStartPosition(controller.getCompilationUnit(), tree);
++                                                 }
++-                                                String headerText = controller.getText().substring(startPos, so);
+++                                                String headerText = controller.getText().substring(startPos, startOffset);
++                                                 int idx = headerText.indexOf('{'); //NOI18N
++                                                 if (idx < 0) {
++                                                     treeKindCtx = null;
++@@ -163,7 +157,7 @@ public class JavaCodeTemplateFilter implements CodeTemplateFilter {
++                                             case WHILE_LOOP:
++                                                 sp = controller.getTrees().getSourcePositions();
++                                                 startPos = (int)sp.getStartPosition(controller.getCompilationUnit(), tree);
++-                                                String text = controller.getText().substring(startPos, so);
+++                                                String text = controller.getText().substring(startPos, startOffset);
++                                                 if (!text.trim().endsWith(")")) {
++                                                     treeKindCtx = null;
++                                                 }
++diff --git a/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java b/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java
++index a5841e5ef..ec1e7c6bb 100644
++--- a/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java
+++++ b/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java
++@@ -66,7 +66,6 @@ import javax.lang.model.SourceVersion;
++ import javax.lang.model.element.*;
++ import javax.lang.model.type.*;
++ import javax.lang.model.util.Elements;
++-import javax.lang.model.util.Types;
++ import javax.swing.Action;
++ import javax.swing.ImageIcon;
++ import javax.swing.text.BadLocationException;
++@@ -269,10 +268,6 @@ public abstract class JavaCompletionItem implements CompletionItem {
++         return new InitializeAllConstructorItem(info, isDefault, fields, superConstructor, parent, substitutionOffset);
++     }
++ 
++-    public static JavaCompletionItem createLambdaItem(CompilationInfo info, TypeElement elem, DeclaredType type, int substitutionOffset, boolean addSemicolon) {
++-        return new LambdaCompletionItem(info, elem, type, substitutionOffset, addSemicolon);
++-    }
++-
++     private static CompletionItem createExcludeItem(CharSequence name) {
++         if (name == null) {
++             ExcludeFromCompletionItem item = ExcludeFromCompletionItem.CONFIGURE_ITEM != null ? ExcludeFromCompletionItem.CONFIGURE_ITEM.get() : null;
++@@ -1125,15 +1120,12 @@ public abstract class JavaCompletionItem implements CompletionItem {
++                                         partialMatch = true;
++                                     }
++                                 }
++-                                int o = offset;
++                                 if (template.length() == 0 && (addSimpleName || enclName == null)) {
++                                     ClassItem.super.substituteText(c, offset, length, elem.getSimpleName(), toAdd);
++                                     if (insideNew && (toAdd == null || toAdd.length() == 0)) {
++                                         Completion.get().showCompletion();
++                                     }
++                                 } else {
++-                                    Document d = c.getDocument();
++-                                    Position p = d.createPosition(offset);
++                                     StringBuilder sb = new StringBuilder();
++                                     if (addSimpleName || enclName == null) {
++                                         sb.append(elem.getSimpleName());
++@@ -1164,13 +1156,10 @@ public abstract class JavaCompletionItem implements CompletionItem {
++                                     if (partialMatch) {
++                                         template.append(toAdd);
++                                     }
++-                                    if (p != null) {
++-                                        o = p.getOffset();
++-                                    }
++-                                    ClassItem.super.substituteText(c, o, length, null, null);
+++                                    ClassItem.super.substituteText(c, offset, length, null, null);
++                                 }
++                                 if (autoImportEnclosingType && elem != null) {
++-                                    TreePath tp = controller.getTreeUtilities().pathFor(controller.getSnapshot().getEmbeddedOffset(o));
+++                                    TreePath tp = controller.getTreeUtilities().pathFor(controller.getSnapshot().getEmbeddedOffset(offset));
++                                     AutoImport.resolveImport(controller, tp, elem.getEnclosingElement().asType());
++                                 }
++                             }
++@@ -1643,11 +1632,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++                                     VariableElement ve = getElementHandle().resolve(controller);
++                                     if (ve != null) {
++                                         TreePath tp = controller.getTreeUtilities().pathFor(controller.getSnapshot().getEmbeddedOffset(offset));
++-                                        TypeMirror toImport = ve.getEnclosingElement().asType();
++-                                        if (isInherited) {
++-                                            toImport = typeToImport(controller, tp, toImport);
++-                                        }
++-                                        AutoImport.resolveImport(controller, tp, toImport);
+++                                        AutoImport.resolveImport(controller, tp, ve.getEnclosingElement().asType());
++                                     }
++                                 }
++                             });
++@@ -1983,11 +1968,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++                                     ExecutableElement ee = getElementHandle().resolve(controller);
++                                     if (ee != null) {
++                                         TreePath tp = controller.getTreeUtilities().pathFor(controller.getSnapshot().getEmbeddedOffset(offset));
++-                                        TypeMirror toImport = ee.getEnclosingElement().asType();
++-                                        if (isInherited) {
++-                                            toImport = typeToImport(controller, tp, toImport);
++-                                        }
++-                                        AutoImport.resolveImport(controller, tp, toImport);
+++                                        AutoImport.resolveImport(controller, tp, ee.getEnclosingElement().asType());
++                                     }
++                                 }
++                             });
++@@ -2101,26 +2082,16 @@ public abstract class JavaCompletionItem implements CompletionItem {
++                     public void run(ResultIterator resultIterator) throws Exception {
++                         WorkingCopy copy = WorkingCopy.get(resultIterator.getParserResult());
++                         copy.toPhase(Phase.ELEMENTS_RESOLVED);
+++                        ExecutableElement ee = getElementHandle().resolve(copy);
+++                        if (ee == null) {
+++                            return;
+++                        }
++                         final int embeddedOffset = copy.getSnapshot().getEmbeddedOffset(pos.getOffset());
++                         TreePath tp = copy.getTreeUtilities().pathFor(embeddedOffset);
++                         if (TreeUtilities.CLASS_TREE_KINDS.contains(tp.getLeaf().getKind())) {
++                             if (Utilities.inAnonymousOrLocalClass(tp)) {
++                                 copy.toPhase(Phase.RESOLVED);
++                             }
++-                            ExecutableElement ee = getElementHandle().resolve(copy);
++-                            if (ee == null) {
++-                                Element el = copy.getTrees().getElement(tp);
++-                                if (el != null && el.getKind().isClass() || el.getKind().isInterface()) {
++-                                    for (ExecutableElement e : copy.getElementUtilities().findUnimplementedMethods((TypeElement)el)) {
++-                                        if (getElementHandle().signatureEquals(e)) {
++-                                            ee = e;
++-                                        }
++-                                    }
++-                                }
++-                                if (ee == null) {
++-                                    return;
++-                                }
++-                            }
++                             if (implement) {
++                                 GeneratorUtils.generateAbstractMethodImplementation(copy, tp, ee, embeddedOffset);
++                             } else {
++@@ -2479,7 +2450,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++             if ("this".equals(simpleName) || "super".equals(simpleName)) { //NOI18N
++                 sb.append(';');
++             } else if (isAbstract) {
++-                sb.append(getIndent(c, true, true));                        
+++                sb.append(getIndent(c));                        
++                 sb.append("{\n}"); //NOI18N
++             }
++             return sb;
++@@ -2647,7 +2618,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++                 sb.append(';');
++             }
++             if (isAbstract) {
++-                sb.append(getIndent(c, true, true));                        
+++                sb.append(getIndent(c));                        
++                 sb.append("{\n}"); //NOI18N
++             }
++             return sb;
++@@ -3396,7 +3367,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++                                 if (cancel.get()) {
++                                     return;
++                                 }
++-                                if (CodeStyle.getDefault(doc).preferStaticImports() && !"this".equals(memberName) && !"super".equals(memberName)) {
+++                                if (CodeStyle.getDefault(doc).preferStaticImports()) {
++                                     Element e = getElementHandle().resolve(copy);
++                                     if (e != null) {
++                                         copy.rewrite(copy.getCompilationUnit(), GeneratorUtilities.get(copy).addImports(copy.getCompilationUnit(), Collections.singleton(e)));
++@@ -4038,208 +4009,6 @@ public abstract class JavaCompletionItem implements CompletionItem {
++             return false;
++         }
++     }
++-    
++-    static class LambdaCompletionItem extends JavaCompletionItem {
++-
++-        private static final String METHOD_PUBLIC = "org/netbeans/modules/editor/resources/completion/method_16.png"; //NOI18N
++-        private static final String PARAMETER_NAME_COLOR = Utilities.getHTMLColor(224, 160, 65);
++-        private static ImageIcon icon;
++-
++-        private ElementHandle<ExecutableElement> handle;
++-        private ArrayList<ParamDesc> params;
++-        private boolean addSemicolon;
++-        private String typeName;
++-        private String sortText;
++-        private String leftText;
++-        private String rightText;
++-        
++-        public LambdaCompletionItem(CompilationInfo info, TypeElement elem, DeclaredType type, int substitutionOffset, boolean addSemicolon) {
++-            super(substitutionOffset);
++-            ExecutableElement desc = info.getElementUtilities().getDescriptorElement(elem);
++-            this.handle = ElementHandle.create(desc);
++-            ExecutableType descType = (ExecutableType)info.getTypes().asMemberOf(type, desc);            
++-            this.params = new ArrayList<>();
++-            Iterator<? extends VariableElement> it = desc.getParameters().iterator();            
++-            Iterator<? extends TypeMirror> tIt = descType.getParameterTypes().iterator();
++-            while(it.hasNext() && tIt.hasNext()) {
++-                TypeMirror tm = tIt.next();
++-                if (tm == null) {
++-                    break;
++-                }
++-                this.params.add(new ParamDesc(tm.toString(), Utilities.getTypeName(info, tm, false, desc.isVarArgs() && !tIt.hasNext()).toString(), it.next().getSimpleName().toString()));
++-            }
++-            TypeMirror retType = descType.getReturnType();
++-            this.addSemicolon = addSemicolon && retType.getKind() == TypeKind.VOID;
++-            this.typeName = Utilities.getTypeName(info, retType, false).toString();
++-        }
++-
++-        @Override
++-        public int getSortPriority() {
++-            return 50 - SMART_TYPE;
++-        }
++-
++-        @Override
++-        public CharSequence getSortText() {
++-            if (sortText == null) {
++-                StringBuilder sortParams = new StringBuilder();
++-                sortParams.append('(');
++-                int cnt = 0;
++-                for(Iterator<ParamDesc> it = params.iterator(); it.hasNext();) {
++-                    ParamDesc param = it.next();
++-                    sortParams.append(param.typeName);
++-                    if (it.hasNext()) {
++-                        sortParams.append(',');
++-                    }
++-                    cnt++;
++-                }
++-                sortParams.append(')');
++-                sortText = "#" + ((cnt < 10 ? "0" : "") + cnt) + "#" + sortParams.toString(); //NOI18N
++-            }
++-            return sortText;
++-        }
++-
++-        @Override
++-        protected String getLeftHtmlText() {
++-            if (leftText == null) {
++-                StringBuilder lText = new StringBuilder();
++-                lText.append(LFCustoms.getTextFgColorHTML());
++-                lText.append('(');
++-                for (Iterator<ParamDesc> it = params.iterator(); it.hasNext();) {
++-                    ParamDesc paramDesc = it.next();
++-                    lText.append(escape(paramDesc.typeName));
++-                    lText.append(' ');
++-                    lText.append(PARAMETER_NAME_COLOR);
++-                    lText.append(paramDesc.name);
++-                    lText.append(COLOR_END);
++-                    if (it.hasNext()) {
++-                        lText.append(", "); //NOI18N
++-                    }
++-                }
++-                lText.append(") -> {...}"); //NOI18N
++-                return lText.toString();
++-            }
++-            return leftText;
++-        }
++-
++-        @Override
++-        protected String getRightHtmlText() {
++-            if (rightText == null) {
++-                rightText = escape(typeName);
++-            }
++-            return rightText;
++-        }
++-
++-        @Override
++-        protected ImageIcon getIcon() {
++-            if (icon == null) {
++-                icon = ImageUtilities.loadImageIcon(METHOD_PUBLIC, false);
++-            }
++-            return icon;
++-        }
++-
++-        @Override
++-        public CharSequence getInsertPrefix() {
++-            return ""; //NOI18N
++-        }        
++-
++-        @Override
++-        protected CharSequence getInsertPostfix(JTextComponent c) {
++-            StringBuilder sb = new StringBuilder();
++-            sb.append("()"); //NOI18N
++-            boolean spaceAroundLambdaArrow = CodeStyle.getDefault(c.getDocument()).spaceAroundLambdaArrow();
++-            sb.append(spaceAroundLambdaArrow ? " ->" : "->"); //NOI18N
++-            sb.append(getIndent(c, spaceAroundLambdaArrow, false));                        
++-            sb.append("{\n"); //NOI18N
++-            sb.append(getIndent(c));
++-            sb.append(addSemicolon ? "};" : "}"); //NOI18N
++-            return sb;
++-        }
++-
++-        @Override
++-        protected CharSequence substituteText(final JTextComponent c, final int offset, final int length, final CharSequence text, final CharSequence toAdd) {
++-            BaseDocument doc = (BaseDocument) c.getDocument();
++-            boolean inPlace = offset == c.getCaretPosition();
++-            Position startPos;
++-            Position endPos;
++-            try {
++-                startPos = doc.createPosition(inPlace ? offset : offset + text.length(), Bias.Backward);
++-                endPos = doc.createPosition(offset + length);
++-            } catch (BadLocationException ex) {
++-                return null; // Invalid offset -> do nothing
++-            }
++-            CharSequence cs = super.substituteText(c, startPos.getOffset(), inPlace ? length : length - text.length(), null, toAdd);
++-            StringBuilder sb = new StringBuilder();
++-            if (toAdd != null) {
++-                CharSequence postfix = getInsertPostfix(c);
++-                if (postfix != null) {
++-                    int postfixLen = postfix.length();
++-                    int toAddLen = toAdd.length();
++-                    if (toAddLen >= postfixLen) {
++-                        String toAddText = toAdd.toString();
++-                        try {
++-                            final int off = startPos.getOffset() + toAddText.indexOf('{') + 1;
++-                            ModificationResult mr = ModificationResult.runModificationTask(Collections.singletonList(Source.create(c.getDocument())), new UserTask() {
++-                                @Override
++-                                public void run(ResultIterator resultIterator) throws Exception {
++-                                    WorkingCopy copy = WorkingCopy.get(resultIterator.getParserResult());
++-                                    copy.toPhase(Phase.RESOLVED);
++-                                    final ExecutableElement method = handle.resolve(copy);
++-                                    final int embeddedOffset = copy.getSnapshot().getEmbeddedOffset(off);
++-                                    TreePath path = copy.getTreeUtilities().pathFor(embeddedOffset);
++-                                    while (method != null && path.getLeaf() != path.getCompilationUnit()) {
++-                                        Tree tree = path.getLeaf();
++-                                        if (tree.getKind() == Tree.Kind.LAMBDA_EXPRESSION) {
++-                                            BlockTree body = GeneratorUtilities.get(copy).createDefaultLambdaBody((LambdaExpressionTree)tree, method);
++-                                            copy.rewrite(((LambdaExpressionTree)tree).getBody(), body);
++-                                            break;
++-                                        }
++-                                        path = path.getParentPath();
++-                                    }
++-                                }
++-                            });
++-                            GeneratorUtils.guardedCommit(c, mr);
++-                        } catch (Exception ex) {
++-                            LOGGER.log(Level.FINE, null, ex);
++-                        }
++-                        if (!params.isEmpty()) {
++-                            for (Iterator<ParamDesc> it = params.iterator(); it.hasNext();) {
++-                                ParamDesc paramDesc = it.next();
++-                                sb.append("${"); //NOI18N
++-                                sb.append(paramDesc.name);
++-                                sb.append("}"); //NOI18N
++-                                if (it.hasNext()) {
++-                                    sb.append(", "); //NOI18N
++-                                }
++-                            }
++-                            c.select(startPos.getOffset() + toAddText.indexOf('(') + 1, endPos.getOffset());
++-                            sb.append(c.getSelectedText());
++-                        }
++-                    }
++-                }
++-            }
++-            if (sb.length() == 0) {
++-                return cs;
++-            }
++-            return sb;
++-        }
++-
++-        @Override
++-        public String toString() {
++-            StringBuilder sb = new StringBuilder();
++-            sb.append('('); //NOI18N
++-            for (Iterator<ParamDesc> it = params.iterator(); it.hasNext();) {
++-                ParamDesc paramDesc = it.next();
++-                sb.append(paramDesc.typeName);
++-                sb.append(' ');
++-                sb.append(paramDesc.name);
++-                if (it.hasNext()) {
++-                    sb.append(", "); //NOI18N
++-                }
++-            }
++-            sb.append(") -> {...}"); //NOI18N
++-            return sb.toString();
++-        }
++-    }
++ 
++     @NbBundle.Messages({"exclude_Lbl=Exclude \"{0}\" from completion", "configure_Excludes_Lbl=Configure excludes"}) // NOI18N
++     private static class ExcludeFromCompletionItem implements CompletionItem {
++@@ -4443,15 +4212,15 @@ public abstract class JavaCompletionItem implements CompletionItem {
++         return null;
++     }
++     
++-    private static CharSequence getIndent(JTextComponent c, boolean insertSpace, boolean isClass) {
+++    private static CharSequence getIndent(JTextComponent c) {
++         StringBuilder sb = new StringBuilder();
++         try {
++             Document doc = c.getDocument();
++             CodeStyle cs = CodeStyle.getDefault(doc);
++             int indent = IndentUtils.lineIndent(c.getDocument(), IndentUtils.lineStartOffset(c.getDocument(), c.getCaretPosition()));
++-            switch (isClass? cs.getClassDeclBracePlacement() : cs.getOtherBracePlacement()) {
+++            switch (cs.getClassDeclBracePlacement()) {
++                 case SAME_LINE:
++-                    indent = insertSpace ? 1 : 0;
+++                    indent = 1;
++                     break;
++                 case NEW_LINE:
++                     sb.append('\n'); //NOI18N
++@@ -4477,30 +4246,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++                 sb.append(' '); //NOI18N
++                 col++;
++             }
++-        } catch (BadLocationException ble) {
++-        }
++-        return sb;
++-    }
++-    
++-    private static CharSequence getIndent(JTextComponent c) {
++-        StringBuilder sb = new StringBuilder();
++-        try {
++-            Document doc = c.getDocument();
++-            CodeStyle cs = CodeStyle.getDefault(doc);
++-            int indent = IndentUtils.lineIndent(c.getDocument(), IndentUtils.lineStartOffset(c.getDocument(), c.getCaretPosition()));
++-            int tabSize = cs.getTabSize();
++-            int col = 0;
++-            if (!cs.expandTabToSpaces()) {
++-                while (col + tabSize <= indent) {
++-                    sb.append('\t'); //NOI18N
++-                    col += tabSize;
++-                }
++-            }
++-            while (col < indent) {
++-                sb.append(' '); //NOI18N
++-                col++;
++-            }
++-        } catch (BadLocationException ex) {
+++       } catch (BadLocationException ble) {
++         }
++         return sb;
++     }
++@@ -4521,7 +4267,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++         sb.append("\"} = "); //NOI18N
++         return sb;
++     }
++-    
+++
++     private static String adjustName(String name) {
++         if (name == null) {
++             return null;
++@@ -4566,29 +4312,7 @@ public abstract class JavaCompletionItem implements CompletionItem {
++             return result.toString();
++         }
++     }
++-
++-    private static TypeMirror typeToImport(CompilationInfo info, TreePath tp, TypeMirror origin) {
++-        if (tp.getLeaf().getKind() == Tree.Kind.MEMBER_SELECT) {
++-            MemberSelectTree mst = (MemberSelectTree) tp.getLeaf();
++-            if (mst.getExpression().getKind() == Tree.Kind.IDENTIFIER) {
++-                ClassIndex index = info.getClasspathInfo().getClassIndex();
++-                Types types = info.getTypes();
++-                Trees trees = info.getTrees();
++-                Scope scope = trees.getScope(tp);
++-                for (ElementHandle<TypeElement> teHandle : index.getDeclaredTypes(((IdentifierTree)mst.getExpression()).getName().toString(), ClassIndex.NameKind.SIMPLE_NAME, EnumSet.allOf(ClassIndex.SearchScope.class))) {
++-                    TypeElement te = teHandle.resolve(info);
++-                    if (te != null && trees.isAccessible(scope, te)) {
++-                        TypeMirror toImport = te.asType();
++-                        if (types.isSubtype(toImport, origin)) {
++-                            return toImport;
++-                        }
++-                    }
++-                }
++-            }
++-        }
++-        return origin;
++-    }
++-
+++    
++     static class MemberDesc {
++         private final ElementKind kind;
++         private final String name;
++diff --git a/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItemFactory.java b/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItemFactory.java
++index 933770ec1..13980956d 100644
++--- a/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItemFactory.java
+++++ b/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItemFactory.java
++@@ -69,8 +69,7 @@ import org.openide.filesystems.FileObject;
++  *
++  * @author Dusan Balek
++  */
++-public final class JavaCompletionItemFactory implements JavaCompletionTask.TypeCastableItemFactory<JavaCompletionItem>,
++-        JavaCompletionTask.LambdaItemFactory<JavaCompletionItem> {
+++public final class JavaCompletionItemFactory implements JavaCompletionTask.TypeCastableItemFactory<JavaCompletionItem> {
++ 
++     private final WhiteListQuery.WhiteList whiteList;
++ 
++@@ -192,9 +191,4 @@ public final class JavaCompletionItemFactory implements JavaCompletionTask.TypeC
++     public JavaCompletionItem createInitializeAllConstructorItem(CompilationInfo info, boolean isDefault, Iterable<? extends VariableElement> fields, ExecutableElement superConstructor, TypeElement parent, int substitutionOffset) {
++         return JavaCompletionItem.createInitializeAllConstructorItem(info, isDefault, fields, superConstructor, parent, substitutionOffset);
++     }
++-
++-    @Override
++-    public JavaCompletionItem createLambdaItem(CompilationInfo info, TypeElement elem, DeclaredType type, int substitutionOffset, boolean addSemicolon) {
++-        return JavaCompletionItem.createLambdaItem(info, elem, type, substitutionOffset, addSemicolon);
++-    }
++ }
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/GeneratorUtils.java b/java.editor/src/org/netbeans/modules/java/editor/codegen/GeneratorUtils.java
++index 1e51120b0..6e0cff87c 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/GeneratorUtils.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/GeneratorUtils.java
++@@ -43,10 +43,12 @@
++  */
++ package org.netbeans.modules.java.editor.codegen;
++ 
+++import com.sun.source.tree.BlockTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.VariableTree;
+++import com.sun.source.util.SourcePositions;
++ import com.sun.source.util.TreePath;
++ 
++ import java.beans.PropertyChangeEvent;
++@@ -55,6 +57,7 @@ import java.io.IOException;
++ import java.util.ArrayList;
++ import java.util.Collections;
++ import java.util.Iterator;
+++import java.util.LinkedList;
++ import java.util.List;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++@@ -73,12 +76,15 @@ import javax.swing.text.JTextComponent;
++ 
++ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.java.source.CodeStyle;
+++import org.netbeans.api.java.source.Comment;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.ElementUtilities;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.ModificationResult;
+++import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreeUtilities;
++ import org.netbeans.api.java.source.WorkingCopy;
+++import org.netbeans.editor.GuardedDocument;
++ import org.netbeans.editor.GuardedException;
++ import org.netbeans.editor.Utilities;
++ import org.openide.DialogDescriptor;
++@@ -187,7 +193,7 @@ public class GeneratorUtils {
++             wc.rewrite(clazz, insertClassMembers(wc, clazz, members, offset));
++         }
++     }
++-
+++    
++     public static ClassTree insertClassMembers(WorkingCopy wc, ClassTree clazz, List<? extends Tree> members, int offset) throws IllegalStateException {
++         if (members.isEmpty()) {
++             return clazz;
++@@ -198,7 +204,48 @@ public class GeneratorUtils {
++                 throw new DuplicateMemberException((int) wc.getTrees().getSourcePositions().getStartPosition(wc.getCompilationUnit(), dup));
++             }
++         }
++-        return GeneratorUtilities.get(wc).insertClassMembers(clazz, members, offset);
+++        if (offset < 0 || getCodeStyle(wc).getClassMemberInsertionPoint() != CodeStyle.InsertionPoint.CARET_LOCATION) {
+++            return GeneratorUtilities.get(wc).insertClassMembers(clazz, members);
+++        }
+++        int index = 0;
+++        SourcePositions sp = wc.getTrees().getSourcePositions();
+++        GuardedDocument gdoc = null;
+++        try {
+++            Document doc = wc.getDocument();
+++            if (doc != null && doc instanceof GuardedDocument) {
+++                gdoc = (GuardedDocument)doc;
+++            }
+++        } catch (IOException ioe) {}
+++        Tree lastMember = null;
+++        Tree nextMember = null;
+++        for (Tree tree : clazz.getMembers()) {
+++            if (offset <= sp.getStartPosition(wc.getCompilationUnit(), tree)) {
+++                if (gdoc == null) {
+++                    nextMember = tree;
+++                    break;
+++                }
+++                int pos = (int)(lastMember != null ? sp.getEndPosition(wc.getCompilationUnit(), lastMember) : sp.getStartPosition(wc.getCompilationUnit(), clazz));
+++                pos = gdoc.getGuardedBlockChain().adjustToBlockEnd(pos);
+++                if (pos <= sp.getStartPosition(wc.getCompilationUnit(), tree)) {
+++                    nextMember = tree;
+++                    break;
+++                }
+++            }
+++            index++;
+++            lastMember = tree;
+++        }
+++        if (lastMember != null) {
+++            // do not move the comments tied to last member in guarded block:
+++            moveCommentsAfterOffset(wc, lastMember, members.get(0), offset, gdoc);
+++        }
+++        if (nextMember != null) {
+++            moveCommentsBeforeOffset(wc, nextMember, members.get(members.size() - 1), offset, gdoc);
+++        }
+++        TreeMaker tm = wc.getTreeMaker();
+++        for (int i = members.size() - 1; i >= 0; i--) {
+++            clazz = tm.insertClassMember(clazz, index, members.get(i));
+++        }
+++        return clazz;
++     }
++     
++     public static ClassTree insertClassMember(WorkingCopy wc, ClassTree clazz, Tree member, int offset) throws IllegalStateException {
++@@ -206,6 +253,125 @@ public class GeneratorUtils {
++     }
++     
++     /**
+++     * Reparents comments that follow `from' tree and would be separated from that tree by insertion to `offset' position.
+++     * The comments are removed from the original tree, and attached to the `to' inserted tree.
+++     * @param wc the working copy
+++     * @param from the current owner of the comments
+++     * @param to the generated code
+++     * @param offset the offset where the new code will be inserted
+++     * @param gdoc guarded document instance or {@code null}
+++     * @return 
+++     */
+++    private static void moveCommentsAfterOffset(WorkingCopy wc, Tree from, Tree to, int offset, GuardedDocument gdoc) {
+++        List<Comment> toMove = new LinkedList<>();
+++        int idx = 0;
+++        int firstToRemove = -1;
+++        for (Comment comment : wc.getTreeUtilities().getComments(from, false)) {
+++            if (comment.endPos() <= offset) {
+++                // not affected by insertion
+++                idx++;
+++                continue;
+++            }
+++            if (gdoc != null) {
+++                int epAfterBlock = gdoc.getGuardedBlockChain().adjustToBlockEnd(comment.endPos());
+++                // comment that ends exactly at the GB boundary cannot be really
+++                // reassigned from the previous member.
+++                if (epAfterBlock >= comment.endPos()) {
+++                    // set new offset, after the guarded block
+++                    idx++;
+++                    continue;
+++                }
+++            }
+++            toMove.add(comment);
+++            if (firstToRemove == -1) {
+++                firstToRemove = idx;
+++            }
+++            idx++;
+++        }
+++        if (toMove.isEmpty()) {
+++            return;
+++        }
+++        doMoveComments(wc, from, to, offset, toMove, firstToRemove, idx);
+++    }
+++    
+++    private static void doMoveComments(WorkingCopy wc, Tree from,  Tree to, int offset, List<Comment> comments, int fromIdx, int toIdx) {
+++        if (comments.isEmpty()) {
+++            return;
+++        }
+++        TreeMaker tm = wc.getTreeMaker();
+++        Tree tree = from;
+++        switch (from.getKind()) {
+++            case METHOD:
+++                tree = tm.setLabel(from, ((MethodTree)from).getName());
+++                break;
+++            case VARIABLE:
+++                tree = tm.setLabel(from, ((VariableTree)from).getName());
+++                break;
+++            case BLOCK:
+++                tree = tm.Block(((BlockTree)from).getStatements(), ((BlockTree)from).isStatic());
+++                GeneratorUtilities gu = GeneratorUtilities.get(wc);
+++                gu.copyComments(from, tree, true);
+++                gu.copyComments(from, tree, false);
+++                break;
+++        }
+++        boolean before = (int)wc.getTrees().getSourcePositions().getStartPosition(wc.getCompilationUnit(), from) >= offset;
+++        if (fromIdx >=0 && toIdx >= 0 && toIdx - fromIdx > 0) {
+++            for (int i = toIdx - 1; i >= fromIdx; i--) {
+++                tm.removeComment(tree, i, before);
+++            }
+++        }
+++        wc.rewrite(from, tree);
+++        for (Comment comment : comments) {
+++            tm.addComment(to, comment, comment.pos() <= offset);
+++        }
+++    }
+++    
+++    private static void moveCommentsBeforeOffset(WorkingCopy wc, Tree from, Tree to, int offset, GuardedDocument gdoc) {
+++        List<Comment> toMove = new LinkedList<Comment>();
+++        int idx = 0;
+++        for (Comment comment : wc.getTreeUtilities().getComments(from, true)) {
+++            if (comment.pos() >= offset || comment.endPos() > offset)
+++                break;
+++
+++            if (gdoc != null) {
+++                int epAfterBlock = gdoc.getGuardedBlockChain().adjustToBlockEnd(comment.pos());
+++                // comment that ends exactly at the GB boundary cannot be really
+++                // reassigned from the previous member.
+++                if (epAfterBlock >= comment.endPos()) {
+++                    // set new offset, after the guarded block
+++                    break;
+++                }
+++            }
+++            toMove.add(comment);
+++            idx++;
+++        }
+++        if (toMove.size() > 0) {
+++            doMoveComments(wc, from, to, offset, toMove, 0, idx);
+++        }
+++    }
+++
+++    private static CodeStyle getCodeStyle(CompilationInfo info) {
+++        if (info != null) {
+++            try {
+++                Document doc = info.getDocument();
+++                if (doc != null) {
+++                    CodeStyle cs = (CodeStyle)doc.getProperty(CodeStyle.class);
+++                    return cs != null ? cs : CodeStyle.getDefault(doc);
+++                }
+++            } catch (IOException ioe) {
+++                // ignore
+++            }
+++            
+++            FileObject file = info.getFileObject();
+++            if (file != null) {
+++                return CodeStyle.getDefault(file);
+++            }
+++        }
+++        
+++        return CodeStyle.getDefault((Document)null);
+++    }
+++    
+++    /**
++      * @param info tested file's info
++      * @return true if SourceVersion of source represented by provided info supports Override
++      */
++@@ -261,7 +427,7 @@ public class GeneratorUtils {
++             }
++         }
++     }
++-    
+++
++     private static Tree checkDuplicates(WorkingCopy wc, ClassTree clazz, Tree member) {
++         List<? extends VariableTree> memberParams = null;
++         TreePath tp = null;
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/ImplementOverrideMethodGenerator.java b/java.editor/src/org/netbeans/modules/java/editor/codegen/ImplementOverrideMethodGenerator.java
++index 90995b802..604b19570 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/ImplementOverrideMethodGenerator.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/ImplementOverrideMethodGenerator.java
++@@ -49,31 +49,20 @@ import java.awt.Dialog;
++ import java.beans.PropertyChangeEvent;
++ import java.beans.PropertyChangeListener;
++ import java.io.IOException;
++-import java.lang.reflect.InvocationTargetException;
++ import java.util.ArrayList;
++ import java.util.LinkedHashMap;
++ import java.util.List;
++ import java.util.Map;
++-import java.util.concurrent.ExecutionException;
++-import java.util.concurrent.Future;
++-import java.util.concurrent.RunnableFuture;
++-import java.util.concurrent.TimeUnit;
++-import java.util.concurrent.TimeoutException;
++-import java.util.function.BiFunction;
++-import java.util.function.Function;
++ 
++ import javax.lang.model.SourceVersion;
++ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++-import javax.lang.model.element.Modifier;
++ import javax.lang.model.element.TypeElement;
++-import javax.swing.SwingUtilities;
++ import javax.swing.text.JTextComponent;
++ 
++ import org.netbeans.api.java.source.Task;
++ import org.netbeans.api.java.source.CompilationController;
++-import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.ElementUtilities;
++ import org.netbeans.api.java.source.JavaSource;
++@@ -121,9 +110,21 @@ public class ImplementOverrideMethodGenerator implements CodeGenerator {
++             }
++             ElementUtilities eu = controller.getElementUtilities();
++             if (typeElement.getKind().isClass() || typeElement.getKind().isInterface() && SourceVersion.RELEASE_8.compareTo(controller.getSourceVersion()) <= 0) {
++-                ElementNode.Description root = getImplementDescriptions(controller, typeElement);
++-                if (root != null) {
++-                    ret.add(new ImplementOverrideMethodGenerator(component, ElementHandle.create(typeElement), root, true));
+++                Map<Element, List<ElementNode.Description>> map = new LinkedHashMap<>();
+++                for (ExecutableElement method : eu.findUnimplementedMethods(typeElement)) {
+++                    List<ElementNode.Description> descriptions = map.get(method.getEnclosingElement());
+++                    if (descriptions == null) {
+++                        descriptions = new ArrayList<>();
+++                        map.put(method.getEnclosingElement(), descriptions);
+++                    }
+++                    descriptions.add(ElementNode.Description.create(controller, method, null, true, false));
+++                }
+++                List<ElementNode.Description> implementDescriptions = new ArrayList<>();
+++                for (Map.Entry<Element, List<ElementNode.Description>> entry : map.entrySet()) {
+++                    implementDescriptions.add(ElementNode.Description.create(controller, entry.getKey(), entry.getValue(), false, false));
+++                }
+++                if (!implementDescriptions.isEmpty()) {
+++                    ret.add(new ImplementOverrideMethodGenerator(component, ElementHandle.create(typeElement), ElementNode.Description.create(implementDescriptions), true));
++                 }
++             }
++             if (typeElement.getKind().isClass() || typeElement.getKind().isInterface()) {
++@@ -152,109 +153,6 @@ public class ImplementOverrideMethodGenerator implements CodeGenerator {
++             return ret;
++         }
++     }
++-    
++-    private static final List<ElementHandle<? extends Element>> NOT_READY = new ArrayList<>();
++-
++-    /**
++-     * For testing purposes only
++-     */
++-    static BiFunction<CompilationInfo, TypeElement, List<ElementHandle<? extends Element>>> testOverrideMethodsSelection = null;
++-    
++-    /**
++-     * Returns callback which fills the list of elements to implement. The callback will execute in Swing thread upon query to the {@link Future#get()}.
++-     * @param controller
++-     * @param typeElement
++-     * @return 
++-     */
++-    public static Future< List<ElementHandle<? extends Element>> > selectMethodsToImplement(final CompilationInfo controller, final TypeElement typeElement) {
++-        final ElementNode.Description root = getImplementDescriptions(controller, typeElement);
++-        if (root == null) {
++-            return null;
++-        }
++-        return new RunnableFuture< List<ElementHandle<? extends Element>> >() {
++-            private boolean cancelled;
++-            private  List<ElementHandle<? extends Element>>  result = NOT_READY;
++-            
++-            @Override
++-            public synchronized boolean cancel(boolean mayInterruptIfRunning) {
++-                cancelled = true;
++-                return true;
++-            }
++-
++-            @Override
++-            public synchronized boolean isCancelled() {
++-                return cancelled;
++-            }
++-
++-            @Override
++-            public synchronized boolean isDone() {
++-                return cancelled || result != NOT_READY;
++-            }
++-
++-            @Override
++-            public  List<ElementHandle<? extends Element>>  get() throws InterruptedException, ExecutionException {
++-                boolean ok = true;
++-                synchronized (this) {
++-                    if (isDone()) {
++-                        return result == NOT_READY ? null : result;
++-                    }
++-                }
++-                if (testOverrideMethodsSelection != null || SwingUtilities.isEventDispatchThread()) {
++-                    run();
++-                    return result;
++-                } else {
++-                    try {
++-                        SwingUtilities.invokeAndWait(this);
++-                    } catch (InvocationTargetException ex) {
++-                        ok = false;
++-                    }
++-                }
++-                synchronized (this) {
++-                    if (!ok) {
++-                        cancelled = true;
++-                        return null;
++-                    }
++-                    return result;
++-                }
++-            }
++-            
++-            public void run() {
++-                List<ElementHandle<? extends Element>> tmp;
++-                if (testOverrideMethodsSelection != null) {
++-                    tmp = testOverrideMethodsSelection.apply(controller, typeElement);
++-                } else {
++-                    tmp = displaySelectionDialog(root, true);
++-                }
++-                synchronized (this) {
++-                    this.result = tmp;
++-                }
++-            }
++-
++-            @Override
++-            public  List<ElementHandle<? extends Element>>  get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException {
++-                return get(); // sorry, no timeout
++-            }
++-        };
++-    }
++-    
++-    private static ElementNode.Description getImplementDescriptions(CompilationInfo controller, TypeElement typeElement) {
++-        ElementUtilities eu = controller.getElementUtilities();
++-        Map<Element, List<ElementNode.Description>> map = new LinkedHashMap<>();
++-        for (ExecutableElement method : eu.findUnimplementedMethods(typeElement, true)) {
++-            List<ElementNode.Description> descriptions = map.get(method.getEnclosingElement());
++-            if (descriptions == null) {
++-                descriptions = new ArrayList<>();
++-                map.put(method.getEnclosingElement(), descriptions);
++-            }
++-            boolean mustImplement = !method.getModifiers().contains(Modifier.DEFAULT);
++-            descriptions.add(ElementNode.Description.create(controller, method, null, true, mustImplement));
++-        }
++-        List<ElementNode.Description> implementDescriptions = new ArrayList<>();
++-        for (Map.Entry<Element, List<ElementNode.Description>> entry : map.entrySet()) {
++-            implementDescriptions.add(ElementNode.Description.create(controller, entry.getKey(), entry.getValue(), false, false));
++-        }
++-        return  implementDescriptions.isEmpty() ? null : ElementNode.Description.create(implementDescriptions);
++-    }
++ 
++     private final JTextComponent component;
++     private final ElementHandle<TypeElement> handle;
++@@ -273,9 +171,11 @@ public class ImplementOverrideMethodGenerator implements CodeGenerator {
++     public String getDisplayName() {
++         return org.openide.util.NbBundle.getMessage(ImplementOverrideMethodGenerator.class, isImplement ? "LBL_implement_method" : "LBL_override_method"); //NOI18N
++     }
++-    
++-    private static List<ElementHandle<? extends Element>> displaySelectionDialog(ElementNode.Description root, boolean isImplement) {
++-        final ImplementOverridePanel panel = new ImplementOverridePanel(root, isImplement);
+++
+++    @Override
+++    public void invoke() {
+++        final ImplementOverridePanel panel = new ImplementOverridePanel(description, isImplement);
+++        final int caretOffset = component.getCaretPosition();
++         final DialogDescriptor dialogDescriptor = GeneratorUtils.createDialogDescriptor(panel, 
++                 NbBundle.getMessage(ConstructorGenerator.class, isImplement ?  "LBL_generate_implement" : "LBL_generate_override")); //NOI18N
++         panel.addPropertyChangeListener(new PropertyChangeListener() {
++@@ -287,17 +187,7 @@ public class ImplementOverrideMethodGenerator implements CodeGenerator {
++         });
++         Dialog dialog = DialogDisplayer.getDefault().createDialog(dialogDescriptor);
++         dialog.setVisible(true);
++-        if (dialogDescriptor.getValue() != dialogDescriptor.getDefaultValue()) {
++-            return null;
++-        }
++-        return panel.getSelectedMethods();
++-    }
++-
++-    @Override
++-    public void invoke() {
++-        final int caretOffset = component.getCaretPosition();
++-        final List<ElementHandle<? extends Element>> methodList = displaySelectionDialog(description, isImplement);
++-        if (methodList != null) {
+++        if (dialogDescriptor.getValue() == dialogDescriptor.getDefaultValue()) {
++             JavaSource js = JavaSource.forDocument(component.getDocument());
++             if (js != null) {
++                 try {
++@@ -313,7 +203,7 @@ public class ImplementOverrideMethodGenerator implements CodeGenerator {
++                                 org.netbeans.editor.Utilities.setStatusBoldText(component, message);
++                             } else {
++                                 ArrayList<ExecutableElement> methodElements = new ArrayList<>();
++-                                for (ElementHandle<? extends Element> elementHandle : methodList) {
+++                                for (ElementHandle<? extends Element> elementHandle : panel.getSelectedMethods()) {
++                                     ExecutableElement methodElement = (ExecutableElement)elementHandle.resolve(copy);
++                                     if (methodElement != null) {
++                                         methodElements.add(methodElement);
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/CheckTreeView.java b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/CheckTreeView.java
++index c27f96a4a..ca9731412 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/CheckTreeView.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/CheckTreeView.java
++@@ -195,10 +195,8 @@ public class CheckTreeView extends BeanTreeView  {
++                     return true;
++                 } else {
++                     boolean newState = !description.isSelected();
++-                    toggleChildren( description.getSubs(), newState );
++-                    // first toggle children, then itself. If children were not expanded,
++-                    // the self-toggle will fire appropriate events and controls will be reevaluated.
++                     description.setSelected(newState);
+++                    toggleChildren( description.getSubs(), newState );
++                 }
++             }
++             
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementNode.java b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementNode.java
++index 93dd8ebed..1c23046d5 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementNode.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementNode.java
++@@ -241,22 +241,6 @@ public class ElementNode extends AbstractNode {
++             return false;
++         }
++         
++-        public boolean hasSelection(boolean includeSelf) {
++-            if (includeSelf && isSelected()) {
++-                return true;
++-            }
++-            List<Description> descs = getSubs();
++-            if (descs == null) {
++-                return false;
++-            }
++-            for (Description d : descs) {
++-                if (d.hasSelection(true)) {
++-                    return true;
++-                }
++-            }
++-            return false;
++-        }
++-        
++         public boolean isSelected() {
++             return isSelected;
++         }
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementSelectorPanel.java b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementSelectorPanel.java
++index c97a1c287..ea128b73a 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementSelectorPanel.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ElementSelectorPanel.java
++@@ -45,24 +45,14 @@
++ package org.netbeans.modules.java.editor.codegen.ui;
++ 
++ import java.awt.BorderLayout;
++-import java.awt.FlowLayout;
++-import java.awt.event.ActionEvent;
++-import java.awt.event.ActionListener;
++ import java.beans.PropertyVetoException;
++-import java.util.ArrayDeque;
++ import java.util.ArrayList;
++-import java.util.Arrays;
++-import java.util.Deque;
++ import java.util.List;
++ import javax.lang.model.element.Element;
++-import javax.swing.JButton;
++ import javax.swing.JPanel;
++ import org.netbeans.api.java.source.ElementHandle;
++-import org.openide.awt.Mnemonics;
++ import org.openide.explorer.ExplorerManager;
++ import org.openide.nodes.Node;
++-import org.openide.util.Exceptions;
++-import org.openide.util.NbBundle;
++ 
++ /**
++  *
++@@ -73,16 +63,8 @@ public class ElementSelectorPanel extends JPanel implements ExplorerManager.Prov
++     private ExplorerManager manager = new ExplorerManager();
++     private CheckTreeView elementView;
++     
++-    @NbBundle.Messages({
++-        "BTN_SelectAll=Select &All",
++-        "BTN_SelectNone=Select &None",
++-    })
++     /** Creates new form ElementSelectorPanel */
++     public ElementSelectorPanel(ElementNode.Description elementDescription, boolean singleSelection ) {        
++-        this(elementDescription, singleSelection, false);
++-    }
++-    
++-    public ElementSelectorPanel(ElementNode.Description elementDescription, boolean singleSelection, boolean enableButtons ) {      
++         setLayout(new BorderLayout());
++         elementView = new CheckTreeView();
++         elementView.setRootVisible(false);
++@@ -91,77 +73,13 @@ public class ElementSelectorPanel extends JPanel implements ExplorerManager.Prov
++         //make sure that the first element is pre-selected
++         Node root = manager.getRootContext();
++         Node[] children = root.getChildren().getNodes();
++-        if( null != children && children.length > 0 && !elementDescription.hasSelection(true)) {
++-            try {
+++        if( null != children && children.length > 0 ) {
+++            try         {
++                 manager.setSelectedNodes(new org.openide.nodes.Node[]{children[0]});
++             } catch (PropertyVetoException ex) {
++                 //ignore
++             }
++         }
++-        if (!singleSelection && hasMultipleSelectables(elementDescription)) {
++-            final JButton selectAll = new JButton();
++-            final JButton selectNone = new JButton();
++-            Mnemonics.setLocalizedText(selectAll, Bundle.BTN_SelectAll());
++-            Mnemonics.setLocalizedText(selectNone, Bundle.BTN_SelectNone());
++-            JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
++-            buttonPanel.add(selectAll);
++-            buttonPanel.add(selectNone);
++-
++-            add(buttonPanel, BorderLayout.SOUTH);
++-            
++-            ActionListener al = new ActionListener() {
++-                @Override
++-                public void actionPerformed(ActionEvent e) {
++-                    selectAllNodes(e.getSource() == selectAll);
++-                }
++-            };
++-            selectAll.addActionListener(al);
++-            selectNone.addActionListener(al);
++-        }
++-    }
++-    
++-    private boolean hasMultipleSelectables(ElementNode.Description elementDescription) {
++-        Deque<ElementNode.Description> toProcess = new ArrayDeque<>();
++-        if (elementDescription != null) {
++-            toProcess.add(elementDescription);
++-        }
++-        boolean selectableFound = false;
++-        while (!toProcess.isEmpty()) {
++-            ElementNode.Description d = toProcess.poll();
++-            List<ElementNode.Description> subs = d.getSubs();
++-            if (subs == null) {
++-                if (d.isSelectable()) {
++-                    if (selectableFound) {
++-                        return true;
++-                    }
++-                    selectableFound = true;
++-                }
++-            } else {            
++-                toProcess.addAll(subs);
++-            }
++-        }
++-        return false;
++-    }
++-    
++-    private void selectAllNodes(boolean select) {
++-        boolean oldScroll = elementView.getScrollsOnExpand();
++-        elementView.setScrollsOnExpand( false );
++-        Node root = getExplorerManager().getRootContext();
++-        Deque<Node> toProcess = new ArrayDeque<>(Arrays.asList(root.getChildren().getNodes(true)));
++-        while (!toProcess.isEmpty()) {
++-            Node n = toProcess.poll();
++-            ElementNode.Description desc = getDescription(n);
++-            if (desc == null) {
++-                continue;
++-            }
++-            if (desc.hasSelectableSubs()) {
++-                elementView.expandNode(n);
++-                toProcess.addAll(Arrays.asList(n.getChildren().getNodes(true)));
++-            } else if (desc.isSelectable()) {
++-                desc.setSelected(select);
++-            }
++-        }
++-        elementView.setScrollsOnExpand( oldScroll );
++     }
++     
++     public List<ElementHandle<? extends Element>> getTreeSelectedElements() {
++@@ -202,10 +120,6 @@ public class ElementSelectorPanel extends JPanel implements ExplorerManager.Prov
++         
++     }
++     
++-    private static ElementNode.Description getDescription(Node n) {
++-        return  n.getLookup().lookup(ElementNode.Description.class);
++-    }
++-    
++     public void doInitialExpansion( int howMuch ) {
++         
++         Node root = getExplorerManager().getRootContext();
++@@ -222,7 +136,9 @@ public class ElementSelectorPanel extends JPanel implements ExplorerManager.Prov
++         elementView.setScrollsOnExpand( false );
++         
++         for( int i = 0; subNodes != null && i < (howMuch == - 1 || howMuch > subNodes.length ? subNodes.length : howMuch ) ; i++ ) {                    
++-             elementView.expandNode(subNodes[i]);
+++            // elementView.expandNode2(subNodes[i]);
+++            row ++;
+++            elementView.expandRow(row);
++             Node[] ssn = subNodes[i].getChildren().getNodes( true );
++             row += ssn.length;
++             if ( toSelect == null ) {                
++@@ -231,27 +147,6 @@ public class ElementSelectorPanel extends JPanel implements ExplorerManager.Prov
++                 }                    
++             }
++         }
++-        Node toSelect2 = null;
++-        // extend the expansion to all initially selected nodes
++-        Deque<Node> toProcess = new ArrayDeque<>(Arrays.asList(subNodes));
++-        while (!toProcess.isEmpty()) {
++-            Node n = toProcess.poll();
++-            ElementNode.Description desc = getDescription(n);
++-            if (desc == null) {
++-                continue;
++-            }
++-            if (desc.isSelected() && toSelect2 == null) {
++-                // respect initial selection, if some is done
++-                toSelect2 = n;
++-            }
++-            if (desc.hasSelection(false)) {
++-                elementView.expandNode(n);
++-                toProcess.addAll(Arrays.asList(n.getChildren().getNodes(true)));
++-            }
++-        }
++-        if (toSelect2 != null) {
++-            toSelect = toSelect2;
++-        }
++         
++         elementView.setScrollsOnExpand( oldScroll );
++         
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.form b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.form
++index 03b686933..c68a39149 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.form
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.form
++@@ -1,9 +1,7 @@
++ <?xml version="1.0" encoding="UTF-8" ?>
++ 
++-<Form version="1.4" maxVersion="1.4" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+++<Form version="1.2" maxVersion="1.2" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
++   <AuxValues>
++-    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
++-    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
++     <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
++     <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
++     <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.java b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.java
++index 4843ad06a..1ebb467e3 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/codegen/ui/ImplementOverridePanel.java
++@@ -64,7 +64,7 @@ public class ImplementOverridePanel extends JPanel {
++     /** Creates new form ConstructorPanel */
++     public ImplementOverridePanel(ElementNode.Description description, boolean isImplement) {
++         initComponents();
++-        elementSelector = new ElementSelectorPanel(description, false, true);
+++        elementSelector = new ElementSelectorPanel(description, false);
++         elementSelector.getExplorerManager().addPropertyChangeListener(new PropertyChangeListener() {
++             @Override
++             public void propertyChange(PropertyChangeEvent evt) {
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/fold/MessagePattern.java b/java.editor/src/org/netbeans/modules/java/editor/fold/MessagePattern.java
++index 74caaf2f2..28c2cd7f4 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/fold/MessagePattern.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/fold/MessagePattern.java
++@@ -36,6 +36,48 @@
++  * made subject to such option by the copyright holder.
++  *
++  * Contributor(s):
+++ *
+++ * Portions Copyrighted 2014 Sun Microsystems, Inc.
+++ *//*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2014 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License.  When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2014 Sun Microsystems, Inc.
++  */
++ 
++ package org.netbeans.modules.java.editor.fold;
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/hyperlink/JavaHyperlinkProvider.java b/java.editor/src/org/netbeans/modules/java/editor/hyperlink/JavaHyperlinkProvider.java
++index 8802e430b..34ac9631c 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/hyperlink/JavaHyperlinkProvider.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/hyperlink/JavaHyperlinkProvider.java
++@@ -77,7 +77,7 @@ public final class JavaHyperlinkProvider implements HyperlinkProviderExt {
++     }
++ 
++     public int[] getHyperlinkSpan(Document doc, int offset, HyperlinkType type) {
++-        return GoToSupport.getIdentifierOrLambdaArrowSpan(doc, offset, null);
+++        return GoToSupport.getIdentifierSpan(doc, offset, null);
++     }
++ 
++     public void performClickAction(Document doc, int offset, HyperlinkType type) {
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/imports/ClipboardHandler.java b/java.editor/src/org/netbeans/modules/java/editor/imports/ClipboardHandler.java
++index 0c3387a45..f47b8597c 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/imports/ClipboardHandler.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/imports/ClipboardHandler.java
++@@ -37,7 +37,6 @@
++  */
++ package org.netbeans.modules.java.editor.imports;
++ 
++-import com.sun.source.tree.AssignmentTree;
++ import com.sun.source.tree.CompilationUnitTree;
++ import com.sun.source.tree.ExpressionTree;
++ import com.sun.source.tree.IdentifierTree;
++@@ -98,7 +97,6 @@ import com.sun.source.tree.CaseTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.ImportTree;
++ import com.sun.source.tree.MethodTree;
++-import java.awt.Component;
++ import java.util.Set;
++ import org.netbeans.api.editor.EditorActionRegistration;
++ import org.netbeans.api.editor.EditorActionRegistrations;
++@@ -507,29 +505,8 @@ public class ClipboardHandler {
++                                         return super.visitVariable(node, p);
++                                     }
++                                 }
++-                                
++-                                boolean ignoreSynthetic;
++-                                
++                                 @Override public Void scan(Tree tree, Void p) {
++-                                    if (tree == null) {
++-                                        return null;
++-                                    }
++-                                    if (parameter.getTreeUtilities().isSynthetic(new TreePath(getCurrentPath(), tree)) && !ignoreSynthetic) {
++-                                        // exception: annotation 'value' field assignment may be synthetic, but the assignment expression may be not:
++-                                        if (tree.getKind() == Tree.Kind.ASSIGNMENT && getCurrentPath().getLeaf().getKind() == Tree.Kind.ANNOTATION) {
++-                                            AssignmentTree at = (AssignmentTree)tree;
++-                                            if (at.getVariable()!=  null && at.getVariable().getKind() == Tree.Kind.IDENTIFIER) {
++-                                                if (((IdentifierTree)at.getVariable()).getName().contentEquals("value")) { // NOI18N
++-                                                    // not 100% OK, there may be synthetic constructs down the tree.
++-                                                    ignoreSynthetic = true;
++-                                                    super.scan(tree, p);
++-                                                    ignoreSynthetic = false;
++-                                                    return null;
++-                                                }
++-                                            }
++-                                        }
++-                                        return null;
++-                                    }
+++                                    if (tree == null || parameter.getTreeUtilities().isSynthetic(new TreePath(getCurrentPath(), tree))) return null;
++                                     return super.scan(tree, p);
++                                 }
++                             }.scan(parameter.getCompilationUnit(), null);
++@@ -573,14 +550,12 @@ public class ClipboardHandler {
++         }
++ 
++         @Override
++-        public boolean importData(JComponent comp, Transferable t) {
++-            return delegate.importData(comp, t);
+++        public boolean importData(TransferSupport support) {
+++            return delegate.importData(support);
++         }
++ 
++         @Override
++-        public boolean importData(TransferSupport support) {
++-            Transferable t = support.getTransferable();
++-            Component comp = support.getComponent();
+++        public boolean importData(JComponent comp, Transferable t) {
++             if (t.isDataFlavorSupported(IMPORT_FLAVOR) && comp instanceof JTextComponent && !insideToken((JTextComponent)comp, JavaTokenId.STRING_LITERAL, JavaTokenId.BLOCK_COMMENT, JavaTokenId.JAVADOC_COMMENT, JavaTokenId.LINE_COMMENT)) {
++                 boolean result = false;
++ 
++@@ -588,7 +563,7 @@ public class ClipboardHandler {
++                     final JTextComponent tc = (JTextComponent) comp;
++                     final int caret = tc.getSelectionStart();
++ 
++-                    if (result = delegatedImportData(support)) {
+++                    if (result = delegatedImportData(comp, t)) {
++                         final ImportsWrapper imports = (ImportsWrapper) t.getTransferData(IMPORT_FLAVOR);
++                         final FileObject file = NbEditorUtilities.getFileObject(tc.getDocument());
++                         final Document doc = tc.getDocument();
++@@ -635,13 +610,11 @@ public class ClipboardHandler {
++                 return result;
++             }
++ 
++-            return delegatedImportData(support);
+++            return delegatedImportData(comp, t);
++         }
++         
++-        private boolean delegatedImportData(final TransferSupport support) {
++-            JComponent comp = (JComponent) support.getComponent();
++-            if (comp instanceof JTextComponent && !support.isDataFlavorSupported(COPY_FROM_STRING_FLAVOR) && insideToken((JTextComponent) comp, JavaTokenId.STRING_LITERAL)) {
++-                final Transferable t = support.getTransferable();
+++        private boolean delegatedImportData(final JComponent comp, final Transferable t) {
+++            if (comp instanceof JTextComponent && !t.isDataFlavorSupported(COPY_FROM_STRING_FLAVOR) && insideToken((JTextComponent) comp, JavaTokenId.STRING_LITERAL)) {
++                 return delegate.importData(comp, new Transferable() {
++                     @Override
++                     public DataFlavor[] getTransferDataFlavors() {
++@@ -681,7 +654,7 @@ public class ClipboardHandler {
++                     }
++                 });
++             }
++-            return delegate.importData(support);
+++            return delegate.importData(comp, t);
++         }
++         
++         private boolean insideToken(final JTextComponent jtc, final JavaTokenId first, final JavaTokenId... rest) {
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultAbbrevs.xml b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultAbbrevs.xml
++index 2bcf989d1..792287c78 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultAbbrevs.xml
+++++ b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultAbbrevs.xml
++@@ -176,7 +176,7 @@ ${selection}${cursor}
++     </codetemplate>
++     <codetemplate abbreviation="fore" contexts="BLOCK,CASE,LABELED_STATEMENT,DO_WHILE_LOOP,ENHANCED_FOR_LOOP,FOR_LOOP,IF,WHILE_LOOP,LAMBDA_EXPRESSION">
++         <code>
++-<![CDATA[for (${TYPE iterableElementType default="Object" editable=false} ${ELEM newVarName default="elem" ordering=2} : ${ITER iterable default="col" ordering=1}) {
+++<![CDATA[for (${TYPE iterableElementType default="Object" editable=false} ${ELEM newVarName default="elem"} : ${ITER iterable default="col"}) {
++ ${selection}${cursor}
++ }
++ ]]>
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings-Mac.xml b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings-Mac.xml
++index a05d5f38d..fcfed2755 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings-Mac.xml
+++++ b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings-Mac.xml
++@@ -59,4 +59,7 @@ made subject to such option by the copyright holder.
++     <bind key="DOS-DOWN" actionName="select-element-previous"/>
++     <bind actionName="complete-line" key="D-SEMICOLON"/>
++     <bind actionName="complete-line-newline" key="DS-SEMICOLON"/>
+++
+++    <bind actionName="java-next-marked-occurrence" key="A-DOWN"/>
+++    <bind actionName="java-prev-marked-occurrence" key="A-UP"/>
++ </bindings>
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings.xml b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings.xml
++index 82b753ebb..46953e56d 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings.xml
+++++ b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings.xml
++@@ -64,4 +64,7 @@ made subject to such option by the copyright holder.
++     <bind actionName="select-element-previous" key="OS-COMMA"/>
++     <bind actionName="complete-line" key="D-SEMICOLON"/>
++     <bind actionName="complete-line-newline" key="DS-SEMICOLON"/>
+++    
+++    <bind actionName="java-next-marked-occurrence" key="O-DOWN"/>
+++    <bind actionName="java-prev-marked-occurrence" key="O-UP"/>
++ </bindings>
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultMacros.xml b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultMacros.xml
++index b69a9a75b..e9c93ae80 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultMacros.xml
+++++ b/java.editor/src/org/netbeans/modules/java/editor/resources/DefaultMacros.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2005, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <!DOCTYPE editor-macros PUBLIC "-//NetBeans//DTD Editor Macros settings 1.1//EN" "http://www.netbeans.org/dtds/EditorMacros-1_1.dtd">
++ <editor-macros>
++     <macro name="debug-var">
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/resources/JavaOptions.settings b/java.editor/src/org/netbeans/modules/java/editor/resources/JavaOptions.settings
++index 40b190b9e..2a34725f5 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/resources/JavaOptions.settings
+++++ b/java.editor/src/org/netbeans/modules/java/editor/resources/JavaOptions.settings
++@@ -1,43 +1,4 @@
++ <?xml version="1.0"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2005, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <!DOCTYPE settings PUBLIC "-//NetBeans//DTD Session settings 1.0//EN" "http://www.netbeans.org/dtds/sessionsettings-1_0.dtd">
++ <settings version="1.0">
++     <module name="org.netbeans.modules.java.editor/1"/>
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/semantic/Bundle.properties b/java.editor/src/org/netbeans/modules/java/editor/semantic/Bundle.properties
++index 515cc6ba1..160ca5822 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/semantic/Bundle.properties
+++++ b/java.editor/src/org/netbeans/modules/java/editor/semantic/Bundle.properties
++@@ -57,7 +57,7 @@ LBL_UnusedEnum=Enum {0} is not used
++ 
++ LBL_ES_TOOLTIP=Mark Occurrences
++ 
++-next-marked-occurrence=Navigate to Next Occurrence
++-prev-marked-occurrence=Navigate to Previous Occurrence
+++java-next-marked-occurrence=Navigate to Next Occurrence
+++java-prev-marked-occurrence=Navigate to Previous Occurrence
++ java-no-marked-occurrence=There is no occurrence to navigate to.
++ 
++diff --git a/java.editor/src/org/netbeans/modules/java/editor/semantic/GoToMarkOccurrencesAction.java b/java.editor/src/org/netbeans/modules/java/editor/semantic/GoToMarkOccurrencesAction.java
++index ff663dc4d..294b49023 100644
++--- a/java.editor/src/org/netbeans/modules/java/editor/semantic/GoToMarkOccurrencesAction.java
+++++ b/java.editor/src/org/netbeans/modules/java/editor/semantic/GoToMarkOccurrencesAction.java
++@@ -40,6 +40,17 @@
++  * The Original Software is NetBeans. The Initial Developer of the Original
++  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2008 Sun
++  * Microsystems, Inc. All Rights Reserved.
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
++  */
++ 
++ package org.netbeans.modules.java.editor.semantic;
++@@ -47,7 +58,6 @@ package org.netbeans.modules.java.editor.semantic;
++ import java.awt.event.ActionEvent;
++ import javax.swing.text.Document;
++ import javax.swing.text.JTextComponent;
++-import org.netbeans.api.editor.EditorActionNames;
++ import org.netbeans.editor.BaseAction;
++ import org.netbeans.lib.editor.util.swing.DocumentUtilities;
++ import org.netbeans.spi.editor.highlighting.HighlightsSequence;
++@@ -61,9 +71,8 @@ import org.openide.util.NbBundle;
++  */
++ public class GoToMarkOccurrencesAction extends BaseAction {
++ 
++-    private static final String prevActionName = EditorActionNames.gotoPrevOccurrence;
++-    private static final String nextActionName = EditorActionNames.gotoNextOccurrence;
++-    
+++    private static final String prevActionName = "java-prev-marked-occurrence"; // NOI18N
+++    private static final String nextActionName = "java-next-marked-occurrence"; // NOI18N
++     static final String markedOccurence = "marked-occurrence"; // NOI18N
++ 
++     private final boolean next;
diff --cc debian/patches/netbeans-java.hints.patch
index 0000000,0000000..c2b5962
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.hints.patch
@@@ -1,0 -1,0 +1,14634 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Mon, 26 Dec 2016 01:25:09 +0100
++Subject: netbeans java.hints
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ java.hints/nbproject/project.properties            |   6 +-
++ java.hints/nbproject/project.xml                   |  23 +-
++ .../modules/java/hints/ArithmeticUtilities.java    |  18 +-
++ .../modules/java/hints/AssignResultToVariable.java |  57 +-
++ .../java/hints/ConvertAnonymousToInner.java        |   2 +-
++ .../java/hints/ExportNonAccessibleElement.java     |   2 +-
++ .../modules/java/hints/InitializerCanBeStatic.java |  13 -
++ .../java/hints/LeakingThisInConstructor.java       |  25 -
++ .../modules/java/hints/OrganizeImports.java        |  21 +-
++ .../hints/OverridableMethodCallInConstructor.java  |   3 +-
++ .../modules/java/hints/PrintStackTrace.java        |  13 +-
++ .../modules/java/hints/SerialVersionUID.java       |  20 +-
++ .../modules/java/hints/SideEffectVisitor.java      |  10 +-
++ .../modules/java/hints/StandardJavacWarnings.java  |   5 +-
++ .../netbeans/modules/java/hints/StaticImport.java  |  24 +-
++ .../modules/java/hints/StringBuilderAppend.java    |  67 +-
++ .../org/netbeans/modules/java/hints/SystemOut.java |  16 +-
++ .../modules/java/hints/ThreadDumpStack.java        |  13 +-
++ .../modules/java/hints/WrongPackageSuggestion.java |  16 +-
++ .../java/hints/bugs/ArrayStringConversions.java    |  28 +
++ .../modules/java/hints/bugs/BroadCatchBlock.java   |   4 +-
++ .../modules/java/hints/bugs/Bundle.properties      |   4 +-
++ .../modules/java/hints/bugs/CloneAndCloneable.java |  15 -
++ .../netbeans/modules/java/hints/bugs/NPECheck.java |  13 +-
++ .../modules/java/hints/bugs/SuspiciousToArray.java |   2 +-
++ .../java/hints/bugs/ThrowableNotThrown.java        |  10 +-
++ .../modules/java/hints/bugs/TryCatchFinally.java   | 145 +--
++ .../modules/java/hints/bugs/Unbalanced.java        |   9 +-
++ .../java/hints/control/RemoveUnnecessary.java      | 266 +-----
++ .../modules/java/hints/errors/AddCast.java         |   2 +-
++ .../java/hints/errors/ChangeMethodReturnType.java  |   2 +-
++ .../modules/java/hints/errors/ChangeType.java      |   6 +-
++ .../modules/java/hints/errors/CreateElement.java   |  79 +-
++ .../java/hints/errors/ErrorFixesFakeHint.java      |   9 -
++ .../modules/java/hints/errors/ExtraCatch.java      |  35 +-
++ .../hints/errors/ImplementAllAbstractMethods.java  | 671 ++++++--------
++ .../modules/java/hints/errors/ImportClass.java     |  51 +-
++ .../java/hints/errors/ImportClassCustomizer.java   |   2 +-
++ .../java/hints/errors/MissingReturnStatement.java  |   6 +-
++ .../hints/errors/OrigSurroundWithTryCatchFix.java  |  29 +-
++ .../OverrideErrorMessage.java                      |   6 +-
++ .../modules/java/hints/errors/TypeErroneous.java   |   4 +-
++ .../modules/java/hints/errors/Utilities.java       | 974 +--------------------
++ .../java/hints/friendapi/SourceChangeUtils.java    |  68 --
++ .../infrastructure/EmbeddedHintsCollector.java     | 167 ----
++ .../hints/infrastructure/ErrorHintsProvider.java   | 143 +--
++ .../modules/java/hints/introduce/Bundle.properties |   2 -
++ .../modules/java/hints/introduce/ErrorLabel.java   | 141 +++
++ .../java/hints/introduce/FieldValidator.java       | 179 ----
++ .../modules/java/hints/introduce/Flow.java         |   5 +-
++ .../java/hints/introduce/InstanceRefFinder.java    |   7 +-
++ .../java/hints/introduce/IntroduceConstantFix.java |  13 +-
++ .../IntroduceExpressionBasedMethodFix.java         |  41 +-
++ .../java/hints/introduce/IntroduceFieldFix.java    |  56 +-
++ .../java/hints/introduce/IntroduceFieldPanel.form  |  42 +-
++ .../java/hints/introduce/IntroduceFieldPanel.java  | 170 +---
++ .../java/hints/introduce/IntroduceHint.java        |  99 ++-
++ .../java/hints/introduce/IntroduceMethodFix.java   | 110 ++-
++ .../java/hints/introduce/IntroduceMethodPanel.form |  37 +-
++ .../java/hints/introduce/IntroduceMethodPanel.java | 212 ++---
++ .../java/hints/introduce/IntroduceVariableFix.java |  54 +-
++ .../java/hints/introduce/MemberSearchResult.java   | 126 ---
++ .../java/hints/introduce/MemberValidator.java      |  69 --
++ .../java/hints/introduce/MethodValidator.java      | 253 ------
++ .../java/hints/introduce/NameChangeSupport.java    | 200 -----
++ .../java/hints/introduce/ReferenceTransformer.java | 148 ----
++ .../java/hints/introduce/TargetDescription.java    |  29 +-
++ .../jackpot/hintsimpl/LoggerStringConcat.java      |  56 +-
++ .../modules/java/hints/jdk/AddUnderscores.java     |   5 +-
++ .../modules/java/hints/jdk/Bundle.properties       |   1 -
++ .../modules/java/hints/jdk/ConvertToARM.java       | 275 ++----
++ .../java/hints/jdk/ConvertToDiamondBulkHint.java   |   6 +-
++ .../modules/java/hints/jdk/ConvertToLambda.java    |  46 +-
++ .../java/hints/jdk/ConvertToLambdaConverter.java   |  96 +-
++ .../jdk/ConvertToLambdaPreconditionChecker.java    | 116 +--
++ .../java/hints/jdk/ConvertToStringSwitch.java      |  74 +-
++ .../modules/java/hints/jdk/IteratorToFor.java      |  15 +-
++ .../modules/java/hints/jdk/JoinCatches.java        | 100 +--
++ .../modules/java/hints/jdk/UnnecessaryBoxing.java  |  88 +-
++ .../java/hints/jdk/UnnecessaryUnboxing.java        |  52 +-
++ .../modules/java/hints/jdk/UseSpecificCatch.java   | 122 +--
++ .../jdk/mapreduce/ForLoopToFunctionalHint.java     |  10 +-
++ .../hints/jdk/mapreduce/PreconditionsChecker.java  |  25 +-
++ .../hints/jdk/mapreduce/ProspectiveOperation.java  |  14 +-
++ .../java/hints/jdk/mapreduce/Refactorer.java       |  59 +-
++ .../java/hints/jdk/mapreduce/TreeUtilities.java    |   6 +-
++ .../java/hints/perf/StringBuffer2Builder.java      |   7 +-
++ .../java/hints/resources/default.properties        |  37 -
++ .../java/hints/resources/enabled.properties        |  37 -
++ .../netbeans/modules/java/hints/resources/ide.css  |  63 +-
++ .../modules/java/hints/resources/jdk5.properties   |  37 -
++ .../modules/java/hints/resources/jdk7.properties   |  37 -
++ .../modules/java/hints/resources/jdk8.properties   |  37 -
++ .../modules/java/hints/resources/layer.xml         |   4 +-
++ .../java/hints/suggestions/ConstantNameHint.java   |   7 +-
++ .../java/hints/suggestions/ConvertIfToSwitch.java  |  30 -
++ .../hints/suggestions/ExpandEnhancedForLoop.java   |  18 +-
++ .../hints/suggestions/ExpectedTypeResolver.java    |  12 +-
++ .../java/hints/suggestions/IfToSwitchSupport.java  | 103 +--
++ .../modules/java/hints/suggestions/Ifs.java        |  20 +-
++ .../modules/java/hints/suggestions/Lambda.java     | 165 +---
++ .../java/hints/suggestions/TooStrongCast.java      |  67 +-
++ .../modules/java/hints/threading/Bundle.properties |   2 +
++ .../modules/java/hints/threading/Tiny.java         |  26 +
++ .../java/hints/threading/UnlockOutsideFinally.java | 226 -----
++ .../modules/java/hints/ui/ClassNameList.java       |  16 +-
++ .../testImplementAbstractMethodsHint1-hints.pass   |   3 +-
++ .../testImplementAbstractMethodsHint1.pass         |  20 +-
++ .../testImplementAbstractMethodsHint11-hints.pass  |   2 +-
++ .../testImplementAbstractMethodsHint2-hints.pass   |   2 +-
++ .../testImplementAbstractMethodsHint2.pass         |   1 -
++ .../testImplementAbstractMethodsHint3-hints.pass   |   2 +-
++ .../testImplementAbstractMethodsHint3.pass         |   3 +-
++ .../testImplementAbstractMethodsHint4-hints.pass   |   3 +-
++ .../testImplementAbstractMethodsHint4.pass         |   3 +-
++ .../testImplementAbstractMethodsHint5-hints.pass   |   3 +-
++ .../testImplementAbstractMethodsHint5.pass         |   3 +-
++ .../testImplementAbstractMethodsHint6-hints.pass   |   2 +-
++ .../testImplementAbstractMethodsHint6.pass         |   2 +-
++ .../testImplementAbstractMethodsHint7-hints.pass   |   3 +-
++ .../testImplementAbstractMethodsHint7.pass         |   4 -
++ .../testImplementAbstractMethodsHint8-hints.pass   |   3 +-
++ .../testImplementAbstractMethodsHint8.pass         |   2 -
++ .../testImplementDefaultMethods1-hints.pass        |   2 -
++ .../testImplementDefaultMethods1.pass              |  17 -
++ .../testImplementDefaultMethods2-hints.pass        |   2 -
++ .../testImplementDefaultMethods2.pass              |  21 -
++ .../testImplementEnumMethods-hints.pass            |   1 -
++ .../ErrorHintsTest/testImplementEnumMethods.pass   |  29 -
++ .../testMakeClassAbstract1-hints.pass              |   2 +-
++ .../testMakeClassAbstract2-hints.pass              |   2 +-
++ .../testMakeClassAbstract3-hints.pass              |   2 +-
++ .../testNonAbstractClass85806-hints.pass           |   2 +-
++ .../ErrorHintsProviderTest/testShortErrors7.pass   |   6 +-
++ .../test/java/hints/ImplementDefaultMethods1.java  |   9 -
++ .../test/java/hints/ImplementDefaultMethods2.java  |   9 -
++ .../test/java/hints/ImplementEnumMethods.java      |  14 -
++ .../editor/codegen/ImplementGeneratorAccessor.java |  59 --
++ .../java/hints/ArithmeticUtilitiesTest.java        |  34 +-
++ .../java/hints/AssignResultToVariableTest.java     |  21 -
++ .../modules/java/hints/IllegalInstanceOfTest.java  |  18 -
++ .../modules/java/hints/SerialVersionUIDTest.java   |  15 +-
++ .../modules/java/hints/StaticImportTest.java       |  21 +-
++ .../java/hints/StringBuilderAppendTest.java        |   8 +-
++ .../java/hints/bugs/BroadCatchBlockTest.java       |   2 +-
++ .../java/hints/bugs/MalformedFormatStringTest.java |   2 +-
++ .../modules/java/hints/bugs/NPECheckTest.java      |  13 +-
++ .../java/hints/bugs/ThrowableNotThrownTest.java    |  34 -
++ .../java/hints/errors/Bundle_test.properties       |   8 -
++ .../modules/java/hints/errors/ErrorHintsTest.java  | 127 +--
++ .../errors/ImplementAllAbstractMethodsTest.java    |  28 +-
++ .../hints/errors/MissingReturnStatementTest.java   |  20 +-
++ .../hints/errors/RemoveInvalidModifierTest.java    |   4 +-
++ .../modules/java/hints/errors/UtilitiesTest.java   | 310 +------
++ .../java/hints/errors/empty-class-template.xml     |   2 +-
++ .../java/hints/errors/only-imports-layer.xml       |   2 +-
++ .../java/hints/infrastructure/HintsTestBase.java   |   8 +-
++ .../java/hints/introduce/IntroduceHintTest.java    |   6 +-
++ .../jackpot/hintsimpl/LoggerStringConcatTest.java  |   2 +-
++ .../modules/java/hints/jdk/Bundle_test.properties  |   5 -
++ .../modules/java/hints/jdk/ConvertToARMTest.java   | 282 ------
++ .../hints/jdk/ConvertToDiamondBulkHintTest.java    |  20 +-
++ .../java/hints/jdk/ConvertToLambdaTest.java        | 129 +--
++ .../java/hints/jdk/ConvertToStringSwitchTest.java  |   9 +-
++ .../java/hints/jdk/UseSpecificCatchTest.java       |  82 --
++ .../jdk/mapreduce/ForLoopToFunctionalHintTest.java |  28 +-
++ .../java/hints/suggestions/Bundle_test.properties  |   3 -
++ .../hints/suggestions/ConvertIfToSwitchTest.java   | 162 ----
++ .../suggestions/ExpandEnhancedForLoopTest.java     |   9 +-
++ .../modules/java/hints/suggestions/LambdaTest.java | 213 -----
++ 170 files changed, 1732 insertions(+), 7347 deletions(-)
++ rename java.hints/src/org/netbeans/modules/java/hints/{friendapi => errors}/OverrideErrorMessage.java (94%)
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/friendapi/SourceChangeUtils.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/infrastructure/EmbeddedHintsCollector.java
++ create mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/ErrorLabel.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/FieldValidator.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/MemberSearchResult.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/MemberValidator.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/MethodValidator.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/NameChangeSupport.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/introduce/ReferenceTransformer.java
++ delete mode 100644 java.hints/src/org/netbeans/modules/java/hints/threading/UnlockOutsideFinally.java
++ delete mode 100644 java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1-hints.pass
++ delete mode 100644 java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1.pass
++ delete mode 100644 java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2-hints.pass
++ delete mode 100644 java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2.pass
++ delete mode 100644 java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods-hints.pass
++ delete mode 100644 java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods.pass
++ delete mode 100644 java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods1.java
++ delete mode 100644 java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods2.java
++ delete mode 100644 java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementEnumMethods.java
++ delete mode 100644 java.hints/test/unit/src/org/netbeans/modules/java/editor/codegen/ImplementGeneratorAccessor.java
++ delete mode 100644 java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitchTest.java
++
++diff --git a/java.hints/nbproject/project.properties b/java.hints/nbproject/project.properties
++index 566fe57a6..c4bb767c4 100644
++--- a/java.hints/nbproject/project.properties
+++++ b/java.hints/nbproject/project.properties
++@@ -40,9 +40,9 @@
++ # Version 2 license, then the option applies only if the new code is
++ # made subject to such option by the copyright holder.
++ 
++-spec.version.base=1.82.1
+++spec.version.base=1.80.1
++ 
++-javac.source=1.8
+++javac.source=1.7
++ 
++ nbroot=../..
++ jbrowse.external=${nbroot}/retouche
++@@ -101,5 +101,3 @@ test.config.commit.includes=\
++     org/netbeans/modules/java/hints/bugs/CollectionRemoveTest.class
++ 
++ test.runner=junit
++-
++-test-unit-sys-prop.hints-tools.jar.location=${tools.jar}
++diff --git a/java.hints/nbproject/project.xml b/java.hints/nbproject/project.xml
++index 42f1894d3..4e438b70d 100644
++--- a/java.hints/nbproject/project.xml
+++++ b/java.hints/nbproject/project.xml
++@@ -98,7 +98,7 @@ made subject to such option by the copyright holder.
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>8.15</specification-version>
+++                        <specification-version>8.0</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++@@ -107,7 +107,7 @@ made subject to such option by the copyright holder.
++                     <compile-dependency/>
++                     <run-dependency>
++                         <release-version>1</release-version>
++-                        <implementation-version/>
+++                        <specification-version>0.26</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++@@ -442,9 +442,7 @@ made subject to such option by the copyright holder.
++                     <code-name-base>org.openide.loaders</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++-                    <run-dependency>
++-                        <specification-version>7.61</specification-version>
++-                    </run-dependency>
+++                    <run-dependency><specification-version>7.61</specification-version></run-dependency>
++                 </dependency>
++                 <dependency>
++                     <code-name-base>org.openide.modules</code-name-base>
++@@ -471,7 +469,7 @@ made subject to such option by the copyright holder.
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++-                    <code-name-base>org.openide.util</code-name-base>
+++                    <code-name-base>org.openide.util.ui</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++@@ -479,19 +477,19 @@ made subject to such option by the copyright holder.
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++-                    <code-name-base>org.openide.util.lookup</code-name-base>
+++                    <code-name-base>org.openide.util</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>8.0</specification-version>
+++                        <specification-version>9.3</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++-                    <code-name-base>org.openide.util.ui</code-name-base>
+++                    <code-name-base>org.openide.util.lookup</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>9.3</specification-version>
+++                        <specification-version>8.0</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++@@ -604,10 +602,7 @@ made subject to such option by the copyright holder.
++                     </test-dependency>
++                 </test-type>
++             </test-dependencies>
++-            <friend-packages>
++-                <friend>org.netbeans.modules.jshell.support</friend>
++-                <package>org.netbeans.modules.java.hints.friendapi</package>
++-            </friend-packages>
+++            <public-packages/>
++         </data>
++     </configuration>
++ </project>
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/ArithmeticUtilities.java b/java.hints/src/org/netbeans/modules/java/hints/ArithmeticUtilities.java
++index 84407762d..6f5750b88 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/ArithmeticUtilities.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/ArithmeticUtilities.java
++@@ -51,7 +51,6 @@ import com.sun.source.tree.LiteralTree;
++ import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.NewArrayTree;
++ import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.TypeCastTree;
++ import com.sun.source.tree.UnaryTree;
++@@ -461,18 +460,9 @@ public class ArithmeticUtilities {
++                     obj = UNKNOWN;
++                 }
++             }
++-            EVAL: if (obj == null) {
+++            if (obj == null) {
++                 TreePath varPath = info.getTrees().getPath(el);
++                 if (varPath != null && varPath.getLeaf().getKind() == Tree.Kind.VARIABLE) {
++-                    // #262309: if variable is errnoeously referenced from its own initializer, we must not recurse.
++-                    for (Tree t : path) {
++-                        if (t == varPath.getLeaf()) {
++-                            break EVAL;
++-                        }
++-                        if (StatementTree.class.isAssignableFrom(t.getKind().asInterface())) {
++-                            break;
++-                        }
++-                    }
++                     VariableTree vt = (VariableTree)varPath.getLeaf();
++                     if (vt.getInitializer() != null) {
++                         VisitorImpl recurse = new VisitorImpl(info, true, enhanceProcessing);
++@@ -965,8 +955,6 @@ public class ArithmeticUtilities {
++         if (!convertTo.getKind().isPrimitive()) {
++             if (Utilities.isPrimitiveWrapperType(convertTo)) {
++                 convertTo = info.getTypes().unboxedType(convertTo);
++-            } else if (isNull(val)) { 
++-                return val;
++             } else {
++ // possibly a String ?
++                 if (val instanceof String && convertTo.getKind() == TypeKind.DECLARED) {
++@@ -975,8 +963,8 @@ public class ArithmeticUtilities {
++                         return val;
++                     }
++                 }
++-                return null;
++-            }
+++            return null;
+++        }
++         }
++         switch (convertTo.getKind()) {
++             case BOOLEAN:
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/AssignResultToVariable.java b/java.hints/src/org/netbeans/modules/java/hints/AssignResultToVariable.java
++index 126790327..7b5bf6951 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/AssignResultToVariable.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/AssignResultToVariable.java
++@@ -45,7 +45,6 @@ package org.netbeans.modules.java.hints;
++ 
++ import com.sun.source.tree.BlockTree;
++ import com.sun.source.tree.CompilationUnitTree;
++-import com.sun.source.tree.ErroneousTree;
++ import com.sun.source.tree.ExpressionStatementTree;
++ import com.sun.source.tree.ExpressionTree;
++ import com.sun.source.tree.MethodInvocationTree;
++@@ -75,19 +74,21 @@ import javax.swing.SwingUtilities;
++ import javax.swing.text.BadLocationException;
++ import javax.swing.text.Document;
++ import javax.swing.text.Position;
+++import javax.swing.text.Position.Bias;
++ import org.netbeans.api.java.lexer.JavaTokenId;
++ import org.netbeans.api.java.source.Task;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.JavaSource.Phase;
++ import org.netbeans.api.java.source.ModificationResult;
+++import org.netbeans.api.java.source.ModificationResult.Difference;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreePathHandle;
++-import org.netbeans.api.java.source.TypeMirrorHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
++ import org.netbeans.api.java.source.support.CaretAwareJavaSourceTaskFactory;
++ import org.netbeans.api.lexer.TokenSequence;
++ import org.netbeans.lib.editor.util.swing.DocumentUtilities;
+++import org.netbeans.modules.editor.NbEditorUtilities;
++ import org.netbeans.modules.java.editor.rename.InstantRenamePerformer;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.modules.java.hints.spi.AbstractHint;
++@@ -99,6 +100,7 @@ import org.openide.cookies.EditorCookie;
++ import org.openide.filesystems.FileObject;
++ import org.openide.loaders.DataObject;
++ import org.openide.loaders.DataObjectNotFoundException;
+++import org.openide.text.NbDocument;
++ import org.openide.util.Exceptions;
++ import org.openide.util.NbBundle;
++ 
++@@ -120,8 +122,6 @@ public class AssignResultToVariable extends AbstractHint {
++         try {
++             int offset = CaretAwareJavaSourceTaskFactory.getLastPosition(info.getFileObject());
++             boolean verifyOffset = true;
++-            boolean error = false;
++-            
++             if (treePath.getLeaf().getKind() == Kind.BLOCK) {
++                 StatementTree found = findStatementForgiving(info, (BlockTree) treePath.getLeaf(), offset);
++ 
++@@ -130,18 +130,12 @@ public class AssignResultToVariable extends AbstractHint {
++ 
++                 ExpressionStatementTree est = (ExpressionStatementTree) found;
++                 Kind innerKind = est.getExpression().getKind();
++-                if (innerKind == Kind.ERRONEOUS) {
++-                    ErroneousTree err = (ErroneousTree)est.getExpression();
++-                    if (err.getErrorTrees().isEmpty()) {
++-                        return null;
++-                    }
++-                    treePath = new TreePath(new TreePath(treePath, found), err.getErrorTrees().get(0));
++-                    error = true;
++-                } else if (innerKind == Kind.METHOD_INVOCATION || innerKind == Kind.NEW_CLASS) {
++-                    treePath = new TreePath(new TreePath(treePath, found), est.getExpression());
++-                } else {
+++
+++                if (innerKind != Kind.METHOD_INVOCATION && innerKind != Kind.NEW_CLASS) {
++                     return null;
++                 }
+++
+++                treePath = new TreePath(new TreePath(treePath, found), est.getExpression());
++                 verifyOffset = false;
++             }
++             
++@@ -155,7 +149,7 @@ public class AssignResultToVariable extends AbstractHint {
++                 exprTree = ((MethodInvocationTree)tree).getMethodSelect();
++             } else if (kind == Kind.NEW_CLASS) {
++                 exprTree = tree;
++-            } 
+++            }
++ 
++             long start = info.getTrees().getSourcePositions().getStartPosition(info.getCompilationUnit(), exprTree);
++             long end   = info.getTrees().getSourcePositions().getEndPosition(info.getCompilationUnit(), exprTree);
++@@ -177,22 +171,18 @@ public class AssignResultToVariable extends AbstractHint {
++             
++             Element elem = info.getTrees().getElement(treePath);
++             
++-            if (!error && (elem == null || (elem.getKind() != ElementKind.METHOD && elem.getKind() != ElementKind.CONSTRUCTOR))) {
+++            if (elem == null || (elem.getKind() != ElementKind.METHOD && elem.getKind() != ElementKind.CONSTRUCTOR)) {
++                 return null;
++             }
++-            TypeMirror base = info.getTrees().getTypeMirror(treePath);
++-            TypeMirror type = Utilities.resolveTypeForDeclaration(
++-                    info, base
++-            );
+++            
+++            TypeMirror type = info.getTrees().getTypeMirror(treePath);
++             
++             // could use Utilities.isValidType, but NOT_ACCEPTABLE_TYPE_KINDS does the check as well
++             if (type == null || NOT_ACCEPTABLE_TYPE_KINDS.contains(type.getKind())) {
++                 return null;
++             }
++             
++-            List<Fix> fixes = Collections.<Fix>singletonList(new FixImpl(
++-                    info.getFileObject(), info.getDocument(), TreePathHandle.create(treePath, info),
++-                    TypeMirrorHandle.create(type)));
+++            List<Fix> fixes = Collections.<Fix>singletonList(new FixImpl(info.getFileObject(), info.getDocument(), TreePathHandle.create(treePath, info)));
++             String description = NbBundle.getMessage(AssignResultToVariable.class, "HINT_AssignResultToVariable");
++             
++             return Collections.singletonList(ErrorDescriptionFactory.createErrorDescription(getSeverity().toEditorSeverity(), description, fixes, info.getFileObject(), offset, offset));
++@@ -329,13 +319,11 @@ public class AssignResultToVariable extends AbstractHint {
++         private Document doc;
++         private TreePathHandle tph;
++         private Position pos;
++-        private TypeMirrorHandle typeHandle;
++         
++-        public FixImpl(FileObject file, Document doc, TreePathHandle tph, TypeMirrorHandle typeHandle) {
+++        public FixImpl(FileObject file, Document doc, TreePathHandle tph) {
++             this.file = file;
++             this.doc = doc;
++             this.tph = tph;
++-            this.typeHandle = typeHandle;
++         }
++ 
++         public String getText() {
++@@ -374,25 +362,23 @@ public class AssignResultToVariable extends AbstractHint {
++                             return ;
++                         }
++                         
++-                        TypeMirror type = typeHandle.resolve(copy);
++-                        if (type == null || NOT_ACCEPTABLE_TYPE_KINDS.contains(type.getKind())) {
++-                            return;
+++                        TypeMirror type = copy.getTrees().getTypeMirror(tp);
+++                        Element el = copy.getTrees().getElement(tp);
+++                        
+++                        if (el == null || type == null || NOT_ACCEPTABLE_TYPE_KINDS.contains(type.getKind())) {
+++                            return ;
++                         }
+++
++                         Tree t = tp.getLeaf();
++                         boolean isAnonymous = false; //handle anonymous classes #138223
++                         ExpressionTree identifier = null;
++                         if (t instanceof NewClassTree) {
++-                            Element el = copy.getTrees().getElement(tp);
++-
++-                            if (el == null) {
++-                                return ;
++-                            }
++                             NewClassTree nct = ((NewClassTree)t);
++                             isAnonymous = nct.getClassBody() != null || el.getKind().isInterface() || el.getModifiers().contains(Modifier.ABSTRACT);
++                             identifier = nct.getIdentifier();
++                         }
++ 
++-                        type = Utilities.resolveTypeForDeclaration(copy, type);
+++                        type = Utilities.resolveCapturedType(copy, type);
++                         
++                         TreeMaker make = copy.getTreeMaker();
++                         
++@@ -405,7 +391,6 @@ public class AssignResultToVariable extends AbstractHint {
++                         copy.tag(varType, VAR_TYPE_TAG);
++                         
++                         copy.rewrite(tp.getParentPath().getLeaf(), var);
++-
++                     }
++                 });
++ 
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/ConvertAnonymousToInner.java b/java.hints/src/org/netbeans/modules/java/hints/ConvertAnonymousToInner.java
++index 8d9d162be..422f7c977 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/ConvertAnonymousToInner.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/ConvertAnonymousToInner.java
++@@ -415,7 +415,7 @@ public class ConvertAnonymousToInner extends AbstractHint {
++         Element currentElement = copy.getTrees().getElement(newClassToConvert);
++ 	boolean errorConstructor = currentElement == null || currentElement.asType() == null || currentElement.asType().getKind() == TypeKind.ERROR;
++         boolean isEnclosedByStaticElem = false;
++-        while (currentElement != null && currentElement.getEnclosingElement() != null) {
+++        while (currentElement != null && currentElement.getEnclosingElement() != null && currentElement.getKind() != ElementKind.METHOD) {
++             if (currentElement.getModifiers().contains(Modifier.STATIC)) {
++                 isEnclosedByStaticElem = true; //enclosing method is static
++                 break;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/ExportNonAccessibleElement.java b/java.hints/src/org/netbeans/modules/java/hints/ExportNonAccessibleElement.java
++index fbc5a648c..9f666ba51 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/ExportNonAccessibleElement.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/ExportNonAccessibleElement.java
++@@ -96,7 +96,7 @@ implements ElementVisitor<Boolean,Void>, TypeVisitor<Boolean,Void> {
++     
++     /** Creates a new instance of AddOverrideAnnotation */
++     public ExportNonAccessibleElement() {
++-        super( true, true, AbstractHint.HintSeverity.WARNING, "NonPublicExported" );
+++        super( true, true, AbstractHint.HintSeverity.WARNING );
++     }
++     
++     public Set<Kind> getTreeKinds() {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/InitializerCanBeStatic.java b/java.hints/src/org/netbeans/modules/java/hints/InitializerCanBeStatic.java
++index 3add986ff..83d8d624e 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/InitializerCanBeStatic.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/InitializerCanBeStatic.java
++@@ -45,10 +45,7 @@ import com.sun.source.tree.BlockTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.util.TreePath;
++-import javax.lang.model.element.Element;
++ import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.NestingKind;
++-import javax.lang.model.element.TypeElement;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreePathHandle;
++@@ -92,16 +89,6 @@ public class InitializerCanBeStatic {
++         if (!(l instanceof ClassTree)) {
++             return null;
++         }
++-        Element el = ctx.getInfo().getTrees().getElement(parentPath);
++-        if (el == null || !el.getKind().isClass()) {
++-            return null;
++-        }
++-        TypeElement tel = (TypeElement)el;
++-        // do not suggest for anonymous classes, local classes or members which are not static.
++-        if (tel.getNestingKind() != NestingKind.TOP_LEVEL && 
++-            (tel.getNestingKind() != NestingKind.MEMBER || !tel.getModifiers().contains(Modifier.STATIC))) {
++-            return null;
++-        }
++         InstanceRefFinder finder = new InstanceRefFinder(ctx.getInfo(), path);
++         finder.process();
++         if (finder.containsInstanceReferences() || finder.containsReferencesToSuper()) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/LeakingThisInConstructor.java b/java.hints/src/org/netbeans/modules/java/hints/LeakingThisInConstructor.java
++index a49a45ef2..755ab3fa0 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/LeakingThisInConstructor.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/LeakingThisInConstructor.java
++@@ -43,18 +43,13 @@
++ package org.netbeans.modules.java.hints;
++ 
++ import com.sun.source.tree.IdentifierTree;
++-import com.sun.source.tree.MemberSelectTree;
++-import com.sun.source.tree.ParenthesizedTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.Tree.Kind;
++ import com.sun.source.util.TreePath;
++ import java.util.Map;
++ import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++-import org.netbeans.modules.java.hints.introduce.Flow;
++-import org.netbeans.modules.java.hints.introduce.Flow.FlowResult;
++ import org.netbeans.spi.java.hints.Hint;
++ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.netbeans.spi.java.hints.TriggerTreeKind;
++@@ -71,7 +66,6 @@ import org.openide.util.NbBundle;
++ @Hint(displayName = "#DN_org.netbeans.modules.java.hints.LeakingThisInConstructor", description = "#DESC_org.netbeans.modules.java.hints.LeakingThisInConstructor", category="initialization", suppressWarnings={"LeakingThisInConstructor", "", "ThisEscapedInObjectConstruction"}, options=Options.QUERY)
++ public class LeakingThisInConstructor {
++     private static final String THIS_KEYWORD = "this"; // NOI18N
++-    private static final String SUPER_KEYWORD = "super"; // NOI18N
++     public LeakingThisInConstructor() {
++     }
++ 
++@@ -109,25 +103,6 @@ public class LeakingThisInConstructor {
++         if (!Utilities.isInConstructor(ctx)) {
++             return null;
++         }
++-        TreePath storePath = variables.get("$v");
++-        Tree t = storePath.getLeaf();
++-        if (t.getKind() == Tree.Kind.MEMBER_SELECT) {
++-            t = ((MemberSelectTree)t).getExpression();
++-            while (t != null && t.getKind() == Tree.Kind.PARENTHESIZED) {
++-                t = ((ParenthesizedTree)t).getExpression();
++-            }
++-            if (t == null) {
++-                return null;
++-            } else if (t.getKind() == Tree.Kind.IDENTIFIER) {
++-                IdentifierTree it = (IdentifierTree)t;
++-                if (it.getName().contentEquals(THIS_KEYWORD) ||
++-                    it.getName().contentEquals(SUPER_KEYWORD)) {
++-                    return null;
++-                }
++-            }
++-        } else {
++-            return null;
++-        }
++         return ErrorDescriptionFactory.forName(ctx, ctx.getPath(),
++                 NbBundle.getMessage(
++                     LeakingThisInConstructor.class,
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/OrganizeImports.java b/java.hints/src/org/netbeans/modules/java/hints/OrganizeImports.java
++index 88a3e6121..4324ce699 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/OrganizeImports.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/OrganizeImports.java
++@@ -68,7 +68,6 @@ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreePathScanner;
++ import com.sun.source.util.Trees;
++ import com.sun.tools.javac.code.Scope;
++-import com.sun.tools.javac.code.Symbol;
++ import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
++ import com.sun.tools.javac.util.Name;
++ 
++@@ -310,20 +309,20 @@ public class OrganizeImports {
++             }
++ 
++             private Element global(Element element, Set<Element> stars) {
++-                for (Symbol sym : ((JCCompilationUnit)cut).namedImportScope.getSymbolsByName((Name)element.getSimpleName())) {
++-                    if (element == sym || element.asType().getKind() == TypeKind.ERROR && element.getKind() == sym.getKind())
++-                        return sym;
+++                for (Scope.Entry e = ((JCCompilationUnit)cut).namedImportScope.lookup((Name)element.getSimpleName()); e.scope != null; e = e.next()) {
+++                    if (element == e.sym || element.asType().getKind() == TypeKind.ERROR && element.getKind() == e.sym.getKind())
+++                        return e.sym;
++                 }
++-                for (Symbol sym : ((JCCompilationUnit)cut).packge.members().getSymbolsByName((Name)element.getSimpleName())) {
++-                    if (element == sym || element.asType().getKind() == TypeKind.ERROR && element.getKind() == sym.getKind())
++-                        return sym;
+++                for (Scope.Entry e = ((JCCompilationUnit)cut).packge.members().lookup((Name)element.getSimpleName()); e.scope != null; e = e.next()) {
+++                    if (element == e.sym || element.asType().getKind() == TypeKind.ERROR && element.getKind() == e.sym.getKind())
+++                        return e.sym;
++                 }
++-                for (Symbol sym : ((JCCompilationUnit)cut).starImportScope.getSymbolsByName((Name)element.getSimpleName())) {
++-                    if (element == sym || element.asType().getKind() == TypeKind.ERROR && element.getKind() == sym.getKind()) {
+++                for (Scope.Entry e = ((JCCompilationUnit)cut).starImportScope.lookup((Name)element.getSimpleName()); e.scope != null; e = e.next()) {
+++                    if (element == e.sym || element.asType().getKind() == TypeKind.ERROR && element.getKind() == e.sym.getKind()) {
++                         if (stars != null) {
++-                            stars.add(sym.owner);
+++                            stars.add(e.sym.owner);
++                         }
++-                        return sym;
+++                        return e.sym;
++                     }
++                 }
++                 return null;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/OverridableMethodCallInConstructor.java b/java.hints/src/org/netbeans/modules/java/hints/OverridableMethodCallInConstructor.java
++index 35506d062..2f2409ca0 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/OverridableMethodCallInConstructor.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/OverridableMethodCallInConstructor.java
++@@ -111,8 +111,7 @@ public class OverridableMethodCallInConstructor {
++         if (!info.getTypes().isSubtype(classEl.asType(), classElement.asType())) {
++             return null;
++         }
++-        // classEl exts classElemenet - either classElement == classEl, or classElement cannot be final anyway
++-        if (classEl.getModifiers().contains(Modifier.FINAL)) {
+++        if (classElement.getModifiers().contains(Modifier.FINAL)) {
++             return null;
++         }
++ 
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/PrintStackTrace.java b/java.hints/src/org/netbeans/modules/java/hints/PrintStackTrace.java
++index 75f96e078..517fbb450 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/PrintStackTrace.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/PrintStackTrace.java
++@@ -52,7 +52,6 @@ import java.util.List;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.java.hints.ConstraintVariableType;
++ import org.netbeans.spi.java.hints.Hint;
++ import org.netbeans.spi.java.hints.TriggerPattern;
++@@ -110,7 +109,17 @@ TreePathHandle.create (treePath, compilationInfo)
++         protected void performRewrite(TransformationContext ctx) {
++             WorkingCopy wc = ctx.getWorkingCopy();
++             TreePath tp = ctx.getPath();
++-            Utilities.removeStatement(wc, tp.getParentPath ());
+++            Tree expressionStatementTree = tp.getParentPath ().getLeaf ();
+++            Tree parent2 = tp.getParentPath ().getParentPath ().getLeaf ();
+++            if (!(parent2 instanceof BlockTree)) return;
+++            BlockTree blockTree = (BlockTree) parent2;
+++            List<? extends StatementTree> statements = blockTree.getStatements ();
+++            List<StatementTree> newStatements = new ArrayList<StatementTree> ();
+++            for (StatementTree statement : statements)
+++                if (statement != expressionStatementTree)
+++                    newStatements.add (statement);
+++            BlockTree newBlockTree = wc.getTreeMaker ().Block (newStatements, blockTree.isStatic());
+++            wc.rewrite (blockTree, newBlockTree);
++         }
++     } // End of FixImpl class
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/SerialVersionUID.java b/java.hints/src/org/netbeans/modules/java/hints/SerialVersionUID.java
++index 809f32e86..4fdd405fc 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/SerialVersionUID.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/SerialVersionUID.java
++@@ -1,7 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++  *
++  * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++  * Other names may be trademarks of their respective owners.
++@@ -23,19 +23,6 @@
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++  * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++  */
++ package org.netbeans.modules.java.hints;
++ 
++@@ -59,7 +46,7 @@ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.TreeUtilities;
++-import org.netbeans.modules.java.hints.friendapi.OverrideErrorMessage;
+++import org.netbeans.modules.java.hints.errors.OverrideErrorMessage;
++ import org.netbeans.modules.java.hints.spi.ErrorRule;
++ import org.netbeans.modules.java.hints.spi.ErrorRule.Data;
++ import org.netbeans.modules.java.hints.spi.support.FixFactory;
++@@ -70,7 +57,6 @@ import org.openide.util.NbBundle;
++ import static javax.lang.model.element.Modifier.FINAL;
++ import static javax.lang.model.element.Modifier.PRIVATE;
++ import static javax.lang.model.element.Modifier.STATIC;
++-import javax.tools.Diagnostic;
++ 
++ /**
++  * @author Michal Hlavac
++@@ -99,7 +85,7 @@ public class SerialVersionUID implements ErrorRule<Void>, OverrideErrorMessage<V
++     }
++ 
++     @Override
++-    public String createMessage(CompilationInfo info, Diagnostic d, int offset, TreePath treePath, Data data) {
+++    public String createMessage(CompilationInfo info, String diagnosticKey, int offset, TreePath treePath, Data data) {
++         if (treePath == null || !TreeUtilities.CLASS_TREE_KINDS.contains(treePath.getLeaf().getKind())) {
++             return null;
++         }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/SideEffectVisitor.java b/java.hints/src/org/netbeans/modules/java/hints/SideEffectVisitor.java
++index 474e4bf62..45c436598 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/SideEffectVisitor.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/SideEffectVisitor.java
++@@ -44,6 +44,8 @@ package org.netbeans.modules.java.hints;
++ import com.sun.source.tree.AssignmentTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.CompoundAssignmentTree;
+++import com.sun.source.tree.LambdaExpressionTree;
+++import com.sun.source.tree.LambdaExpressionTree.BodyKind;
++ import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.NewClassTree;
++@@ -59,6 +61,7 @@ import javax.lang.model.element.ExecutableElement;
++ import javax.lang.model.element.Name;
++ import javax.lang.model.element.TypeElement;
++ import org.netbeans.api.java.source.CompilationInfo;
+++import org.netbeans.modules.java.hints.StopProcessing;
++ 
++ /**
++  * If not in method or a lambda, it detects all assignments/compound assignments
++@@ -162,12 +165,7 @@ public class SideEffectVisitor extends TreePathScanner {
++ 
++     @Override
++     public Object visitNewClass(NewClassTree node, Object p) {
++-        Element e = ci.getTrees().getElement(getCurrentPath());
++-        if (e == null) {
++-            return super.visitNewClass(node, p);
++-        } else {
++-            e = e.getEnclosingElement();
++-        }
+++        Element e = ci.getTrees().getElement(getCurrentPath()).getEnclosingElement();
++         if (e != null && e.getKind().isClass()) {
++             Object r = scan(node.getEnclosingExpression(), p);
++             r = scanAndReduce(node.getIdentifier(), p, r);
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/StandardJavacWarnings.java b/java.hints/src/org/netbeans/modules/java/hints/StandardJavacWarnings.java
++index 3ee2f3d80..d352c7fc6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/StandardJavacWarnings.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/StandardJavacWarnings.java
++@@ -69,7 +69,7 @@ public class StandardJavacWarnings extends AbstractHint {
++     private final Kind kind;
++     
++     private StandardJavacWarnings(Kind kind) {
++-        super( kind.defaultOn(), true, HintSeverity.WARNING, kind.suppressWarnings );
+++        super( kind.defaultOn(), false, HintSeverity.WARNING, kind.suppressWarnings );
++         this.kind = kind;        
++     }
++ 
++@@ -217,7 +217,8 @@ public class StandardJavacWarnings extends AbstractHint {
++                 }
++             }
++             
++-            sb.append("-XDfind=diamond,lambda ");
+++            sb.append("-XDidentifyLambdaCandidate=true ");
+++            sb.append("-XDfindDiamond ");
++ 
++             if (sb.length() > 0 && sb.charAt(sb.length() - 1) == ' ') {
++                 sb.deleteCharAt(sb.length() - 1);
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/StaticImport.java b/java.hints/src/org/netbeans/modules/java/hints/StaticImport.java
++index f87976372..b676d5d51 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/StaticImport.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/StaticImport.java
++@@ -1,7 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 1997, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++  *
++  * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++  * Other names may be trademarks of their respective owners.
++@@ -24,20 +24,10 @@
++  * your own identifying information:
++  * "Portions Copyrighted [year] [name of copyright owner]"
++  *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
+++ * Contributor(s):
++  *
++- */
++-/*
++- * Contributor(s): markiewb
+++ * Portions Copyrighted 2009 Sun Microsystems, Inc.
+++ * Portions Copyrighted 2014 markiewb
++  */
++ package org.netbeans.modules.java.hints;
++ 
++@@ -100,13 +90,15 @@ import org.netbeans.spi.java.hints.TriggerTreeKind;
++  * @see <a href="http://www.netbeans.org/issues/show_bug.cgi?id=89258">RFE 89258</a>
++  * @see <a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/static-import.html>Static Imports</a>
++  */
++- at Hint(category="rules15", displayName="#DN_StaticImport", description="#DSC_StaticImport", severity=Severity.HINT, enabled=false, suppressWarnings={"", "StaticImport"},
++-        minSourceVersion = "5")
+++ at Hint(category="rules15", displayName="#DN_StaticImport", description="#DSC_StaticImport", severity=Severity.HINT, enabled=false, suppressWarnings={"", "StaticImport"})
++ public class StaticImport {
++ 
++     @TriggerTreeKind(Kind.MEMBER_SELECT)
++     public static List<ErrorDescription> run(HintContext ctx) {
++         CompilationInfo info = ctx.getInfo();
+++        if (!supportsStaticImports(info)) {
+++            return null;
+++        }
++         TreePath treePath = ctx.getPath();
++ 
++         Element e = info.getTrees().getElement(treePath);
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/StringBuilderAppend.java b/java.hints/src/org/netbeans/modules/java/hints/StringBuilderAppend.java
++index 67c4fd529..8213c7f92 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/StringBuilderAppend.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/StringBuilderAppend.java
++@@ -43,11 +43,9 @@
++ package org.netbeans.modules.java.hints;
++ 
++ import com.sun.source.tree.ExpressionTree;
++-import com.sun.source.tree.LiteralTree;
++ import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.ParenthesizedTree;
++-import com.sun.source.tree.Tree;
++ import com.sun.source.tree.Tree.Kind;
++ import com.sun.source.util.TreePath;
++ import java.util.Collections;
++@@ -113,34 +111,6 @@ public class StringBuilderAppend {
++         public String getText() {
++             return NbBundle.getMessage(StringBuilderAppend.class, "FIX_StringBuilderAppend");
++         }
++-        
++-        private ExpressionTree merge(TreeMaker make, ExpressionTree arg1, ExpressionTree arg2) {
++-            if (arg1 == null) {
++-                return arg2;
++-            } else if (arg2 == null) {
++-                return arg1;
++-            } else if (arg1 == arg2) {
++-                return arg1;
++-            }
++-            return make.Binary(Kind.PLUS, arg1, arg2);
++-        } 
++-        
++-        private ExpressionTree merge(TreeMaker make, ExpressionTree arg, ExpressionTree singleLeaf, 
++-                StringBuilder literal, ExpressionTree l) {
++-            ExpressionTree n;
++-            if (singleLeaf != null) {
++-                n = singleLeaf;
++-                literal.delete(0, literal.length());
++-                n = merge(make, n, l);
++-            } else if (literal.length() > 0) {
++-                n = make.Literal(literal.toString());
++-                literal.delete(0, literal.length());
++-                n = merge(make, n, l);
++-            } else {
++-                n = l;
++-            }
++-            return merge(make, arg, n);
++-        }
++ 
++         @Override
++         protected void performRewrite(TransformationContext ctx) {
++@@ -151,35 +121,18 @@ public class StringBuilderAppend {
++             List<List<TreePath>> sorted = Utilities.splitStringConcatenationToElements(copy, new TreePath(tp, param));
++             ExpressionTree site = ((MemberSelectTree) mit.getMethodSelect()).getExpression();
++             TreeMaker make = copy.getTreeMaker();
++-            
+++
++             for (List<TreePath> cluster : sorted) {
++-                StringBuilder literal = new StringBuilder();
++-                ExpressionTree singleLeaf = null;
++-                ExpressionTree arg = null;
++-                
++-                if (cluster.size() == 1 && 
++-                    !Utilities.isConstantString(copy, cluster.get(0), true)) {
++-                    arg = (ExpressionTree)cluster.get(0).getLeaf();
++-                } else {
++-                    for (TreePath p : cluster) {
++-                        ExpressionTree l = (ExpressionTree)p.getLeaf();
++-                        if (Utilities.isStringOrCharLiteral(l)) {
++-                            if (literal.length() == 0) {
++-                                singleLeaf = l;
++-                            } else {
++-                                singleLeaf = null;
++-                            }
++-                            literal.append(
++-                                ((LiteralTree)l).getValue().toString()
++-                            );
++-                        } else {
++-                            ExpressionTree n;
++-                            arg = merge(make, arg, singleLeaf, literal, l);
++-                            singleLeaf = null;
++-                        }
++-                    }
+++                ExpressionTree arg = (ExpressionTree) cluster.remove(0).getLeaf();
+++
+++                while (!cluster.isEmpty()) {
+++                    arg = make.Binary(Kind.PLUS, arg, (ExpressionTree) cluster.remove(0).getLeaf());
++                 }
++-                arg = merge(make, arg, singleLeaf, literal, null);
+++
+++                while (arg.getKind() == Kind.PARENTHESIZED) {
+++                    arg = ((ParenthesizedTree) arg).getExpression();
+++                }
+++
++                 site = make.MethodInvocation(Collections.<ExpressionTree>emptyList(), make.MemberSelect(site, "append"), Collections.singletonList(arg));
++             }
++ 
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/SystemOut.java b/java.hints/src/org/netbeans/modules/java/hints/SystemOut.java
++index 16ab2f034..fa56ea01d 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/SystemOut.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/SystemOut.java
++@@ -51,7 +51,6 @@ import java.util.List;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.java.hints.Hint;
++ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.netbeans.spi.java.hints.TriggerPatterns;
++@@ -112,7 +111,20 @@ TreePathHandle.create (treePath, compilationInfo)
++         protected void performRewrite(TransformationContext ctx) {
++             WorkingCopy wc = ctx.getWorkingCopy();
++             TreePath statementPath = ctx.getPath();
++-            Utilities.removeStatement(wc, statementPath);
+++            TreePath blockPath = statementPath.getParentPath ();
+++            while (!(blockPath.getLeaf () instanceof BlockTree)) {
+++                statementPath = blockPath;
+++                blockPath = blockPath.getParentPath ();
+++                if (blockPath == null) return;
+++            }
+++            BlockTree blockTree = (BlockTree) blockPath.getLeaf ();
+++            List<? extends StatementTree> statements = blockTree.getStatements ();
+++            List<StatementTree> newStatements = new ArrayList<StatementTree> ();
+++            for (StatementTree statement : statements)
+++                if (statement != statementPath.getLeaf ())
+++                    newStatements.add (statement);
+++            BlockTree newBlockTree = wc.getTreeMaker ().Block (newStatements, blockTree.isStatic());
+++            wc.rewrite (blockTree, newBlockTree);
++         }
++     } // End of FixImpl class
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/ThreadDumpStack.java b/java.hints/src/org/netbeans/modules/java/hints/ThreadDumpStack.java
++index 0bf3d6b5d..bf28010da 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/ThreadDumpStack.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/ThreadDumpStack.java
++@@ -52,7 +52,6 @@ import java.util.List;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.java.hints.Hint;
++ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.netbeans.spi.java.hints.HintContext;
++@@ -116,7 +115,17 @@ TreePathHandle.create (treePath, compilationInfo)
++         protected void performRewrite(TransformationContext ctx) {
++             WorkingCopy wc = ctx.getWorkingCopy();
++             TreePath tp = ctx.getPath();
++-            Utilities.removeStatement(wc, tp.getParentPath ());
+++            Tree expressionStatementTree = tp.getParentPath ().getLeaf ();
+++            Tree parent2 = tp.getParentPath ().getParentPath ().getLeaf ();
+++            if (!(parent2 instanceof BlockTree)) return;
+++            BlockTree blockTree = (BlockTree) parent2;
+++            List<? extends StatementTree> statements = blockTree.getStatements ();
+++            List<StatementTree> newStatements = new ArrayList<StatementTree> ();
+++            for (StatementTree statement : statements)
+++                if (statement != expressionStatementTree)
+++                    newStatements.add (statement);
+++            BlockTree newBlockTree = wc.getTreeMaker ().Block (newStatements, blockTree.isStatic());
+++            wc.rewrite (blockTree, newBlockTree);
++         }
++     } // End of FixImpl class
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/WrongPackageSuggestion.java b/java.hints/src/org/netbeans/modules/java/hints/WrongPackageSuggestion.java
++index 3af5bf103..56882ca2c 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/WrongPackageSuggestion.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/WrongPackageSuggestion.java
++@@ -55,7 +55,6 @@ import java.io.File;
++ import java.io.IOException;
++ import java.util.Arrays;
++ import java.util.Collections;
++-import java.util.EnumSet;
++ import java.util.List;
++ import java.util.Set;
++ import java.util.logging.Level;
++@@ -96,24 +95,15 @@ public class WrongPackageSuggestion extends AbstractHint {
++     }
++     
++     public Set<Kind> getTreeKinds() {
++-        return EnumSet.of(Kind.COMPILATION_UNIT, Kind.PACKAGE);
+++        return Collections.singleton(Kind.COMPILATION_UNIT);
++     }
++ 
++     public List<ErrorDescription> run(CompilationInfo info, TreePath treePath) {
++         Tree t = treePath.getLeaf();
++         
++-        CompilationUnitTree tree = null;
++-        switch (t.getKind()) {
++-            case COMPILATION_UNIT:
++-                tree = (CompilationUnitTree)t;
++-                break;
++-            case PACKAGE:
++-                tree = treePath.getCompilationUnit();
++-                break;
++-            default:
++-                return null;
++-        }
+++        assert t.getKind() == Kind.COMPILATION_UNIT;
++         
+++        CompilationUnitTree tree = (CompilationUnitTree) t;
++         StringBuffer packageNameBuffer = new StringBuffer();
++         boolean hasPackageClause = tree.getPackageName() != null;
++         
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/ArrayStringConversions.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/ArrayStringConversions.java
++index b78882dc3..b5c15a8d3 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/ArrayStringConversions.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/ArrayStringConversions.java
++@@ -301,6 +301,13 @@ public class ArrayStringConversions {
++                 value="$s.print($v)",
++                 constraints = {
++                     @ConstraintVariableType(type = "java.io.PrintStream", variable = "$s"),
+++                    @ConstraintVariableType(type = "char[]", variable = "$v")
+++                }
+++        ),
+++        @TriggerPattern(
+++                value="$s.print($v)",
+++                constraints = {
+++                    @ConstraintVariableType(type = "java.io.PrintStream", variable = "$s"),
++                     @ConstraintVariableType(type = "float[]", variable = "$v")
++                 }
++         ),
++@@ -363,6 +370,13 @@ public class ArrayStringConversions {
++                 value="$s.println($v)",
++                 constraints = {
++                     @ConstraintVariableType(type = "java.io.PrintStream", variable = "$s"),
+++                    @ConstraintVariableType(type = "char[]", variable = "$v")
+++                }
+++        ),
+++        @TriggerPattern(
+++                value="$s.println($v)",
+++                constraints = {
+++                    @ConstraintVariableType(type = "java.io.PrintStream", variable = "$s"),
++                     @ConstraintVariableType(type = "float[]", variable = "$v")
++                 }
++         ),
++@@ -751,6 +765,13 @@ public class ArrayStringConversions {
++                 value="$s.print($v)",
++                 constraints = {
++                     @ConstraintVariableType(type = "java.io.PrintWriter", variable = "$s"),
+++                    @ConstraintVariableType(type = "char[]", variable = "$v")
+++                }
+++        ),
+++        @TriggerPattern(
+++                value="$s.print($v)",
+++                constraints = {
+++                    @ConstraintVariableType(type = "java.io.PrintWriter", variable = "$s"),
++                     @ConstraintVariableType(type = "float[]", variable = "$v")
++                 }
++         ),
++@@ -813,6 +834,13 @@ public class ArrayStringConversions {
++                 value="$s.println($v)",
++                 constraints = {
++                     @ConstraintVariableType(type = "java.io.PrintWriter", variable = "$s"),
+++                    @ConstraintVariableType(type = "char[]", variable = "$v")
+++                }
+++        ),
+++        @TriggerPattern(
+++                value="$s.println($v)",
+++                constraints = {
+++                    @ConstraintVariableType(type = "java.io.PrintWriter", variable = "$s"),
++                     @ConstraintVariableType(type = "float[]", variable = "$v")
++                 }
++         ),
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlock.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlock.java
++index fa1dff543..b4948b18d 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlock.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlock.java
++@@ -408,12 +408,12 @@ public class BroadCatchBlock {
++                         } else {
++                             fixes = new Fix[] {
++                                 new UseSpecificCatch.FixImpl(info, getCurrentPath(), handles).toEditorFix(),
++-                                new UseSpecificCatch.SplitExceptionInCatches(info, getCurrentPath(), handles, null).toEditorFix()
+++                                new UseSpecificCatch.SplitExceptionInCatches(info, getCurrentPath(), handles).toEditorFix()
++                             };
++                         }
++                     } else {
++                         fixes = new Fix[] {
++-                            new UseSpecificCatch.SplitExceptionInCatches(info, getCurrentPath(), handles, null).toEditorFix()
+++                            new UseSpecificCatch.SplitExceptionInCatches(info, getCurrentPath(), handles).toEditorFix()
++                         };
++                     }
++                 }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/Bundle.properties b/java.hints/src/org/netbeans/modules/java/hints/bugs/Bundle.properties
++index d86594531..b478e55d0 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/Bundle.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/Bundle.properties
++@@ -150,9 +150,7 @@ DESC_TryCatchFinally_finallyDiscardsException=Reports usage of <b>return</b> sta
++ DN_TryCatchFinally_finallyThrowsException='throw' inside 'finally' block
++ DESC_TryCatchFinally_finallyThrowsException=Throwing an exception inside <b>finally</b> block will hide the original exception thrown from \
++     the associated <b>try</b> or <b>catch</b> blocks from enclosing exception handlers. Note that the exception can be still inspected \
++-    using <b>Throwable.getSuppressedException()</b>, although it cannot be directly caught by a <b>catch</b> block.<p/>\
++-    If "<i>Report rethrow of caught exceptions</i>" is disabled, the hint will not report statements, which just rethrow the very exception \
++-    instances received by an enclosing catch handler.
+++    using <b>Throwable.getSuppressedException()</b>, although it cannot be directly caught by a <b>catch</b> block.
++ 
++ DN_CloneAndCloneable_cloneWithoutSuperClone=clone() does not call super.clone()
++ DESC_CloneAndCloneable_cloneWithoutSuperClone=Cloned instances should be allocated using <b>super.clone()</b> so fields are \
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/CloneAndCloneable.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/CloneAndCloneable.java
++index 494de087f..97f980b33 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/CloneAndCloneable.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/CloneAndCloneable.java
++@@ -174,21 +174,6 @@ public class CloneAndCloneable {
++                 return null;
++             }
++         }
++-        // check if the overriden clone method declares CNSE - if not, the body code may not throw
++-        // the exception and adding throws clause would break the code:
++-        ExecutableElement ee = info.getElementUtilities().getOverriddenMethod(cloneMethod);
++-        boolean superThrows = ee == null;
++-        if (ee != null) {
++-            for (TypeMirror m : ee.getThrownTypes()) {
++-                if (info.getTypes().isSameType(cnse, m)) {
++-                    superThrows = true;
++-                    break;
++-                }
++-            }
++-        }
++-        if (!superThrows) {
++-            return null;
++-        }
++         
++         return ErrorDescriptionFactory.forName(ctx, ctx.getPath(), 
++                 TEXT_CloneWithoutCloneNotSupported(), 
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/NPECheck.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/NPECheck.java
++index 58a0b654d..2a21dbb2b 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/NPECheck.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/NPECheck.java
++@@ -1,11 +1,8 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
+++ * 
+++ * Copyright 1997-2012 Sun Microsystems, Inc. All rights reserved.
+++ * 
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++  * Development and Distribution License("CDDL") (collectively, the
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/SuspiciousToArray.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/SuspiciousToArray.java
++index 95f6329c9..831b80ccb 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/SuspiciousToArray.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/SuspiciousToArray.java
++@@ -249,7 +249,7 @@ public class SuspiciousToArray {
++                 copy.rewrite(nat.getType(), mk.Type(compType));
++                 return;
++             }
++-            List<ExpressionTree> l = new ArrayList<ExpressionTree>(nat.getDimensions().subList(
+++            List<ExpressionTree> l = new ArrayList<>(nat.getDimensions().subList(
++                     0, Math.min(newDim + 1, nat.getDimensions().size())));
++             Tree replacement = mk.NewArray(mk.Type(compType), l, null);
++             GeneratorUtilities.get(copy).copyComments(nat, replacement, true);
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrown.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrown.java
++index 1e6d33c69..6c060feb6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrown.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrown.java
++@@ -50,7 +50,6 @@ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
++ import java.util.Collection;
++-import java.util.EnumSet;
++ import java.util.HashSet;
++ import java.util.Set;
++ import java.util.concurrent.atomic.AtomicBoolean;
++@@ -113,13 +112,6 @@ public class ThrowableNotThrown {
++         return null;
++     }
++     
++-    private static final EnumSet<ElementKind> LOCAL_VARIABLES = EnumSet.of(
++-            ElementKind.LOCAL_VARIABLE,
++-            ElementKind.PARAMETER,
++-            ElementKind.RESOURCE_VARIABLE,
++-            ElementKind.EXCEPTION_PARAMETER
++-    );
++-    
++     private static TreePath findEnclosingMethodPath(TreePath path) {
++         TreePath enclosingMethodPath = path;
++         TreePath nextPath = enclosingMethodPath.getParentPath();
++@@ -326,7 +318,7 @@ public class ThrowableNotThrown {
++                         Element el = info.getTrees().getElement(new TreePath(excPath, var));
++                         if (el == null || el.getKind() == ElementKind.FIELD) {
++                             return true;
++-                        } else if (LOCAL_VARIABLES.contains(el.getKind())) {
+++                        } else if (el.getKind() == ElementKind.LOCAL_VARIABLE) {
++                             varAssignments.add(as.getExpression());
++                         }
++                         process = true;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/TryCatchFinally.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/TryCatchFinally.java
++index 563ec3509..df1833449 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/TryCatchFinally.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/TryCatchFinally.java
++@@ -52,22 +52,14 @@ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.TryTree;
++ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreePathScanner;
++-import java.util.ArrayDeque;
++ import java.util.ArrayList;
++ import java.util.Collection;
++ import java.util.HashSet;
++-import java.util.Iterator;
++ import java.util.List;
++-import java.util.Map;
++-import java.util.Queue;
++ import java.util.Set;
++ import java.util.Stack;
++-import java.util.concurrent.atomic.AtomicBoolean;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++-import javax.lang.model.element.Modifier;
++ import javax.lang.model.type.TypeMirror;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++@@ -78,11 +70,6 @@ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.openide.util.NbBundle;
++ 
++ import static org.netbeans.modules.java.hints.bugs.Bundle.*;
++-import org.netbeans.modules.java.hints.introduce.Flow;
++-import org.netbeans.modules.java.hints.introduce.Flow.Cancel;
++-import org.netbeans.modules.java.hints.introduce.Flow.FlowResult;
++-import org.netbeans.spi.java.hints.BooleanOption;
++-import org.netbeans.spi.java.hints.UseOptions;
++ 
++ /**
++  * Contains hints for try-catch-finally blocks.
++@@ -92,116 +79,31 @@ import org.netbeans.spi.java.hints.UseOptions;
++ @NbBundle.Messages({
++     "# {0} - the rogue statement",
++     "TEXT_returnBreakContinueInFinallyBlock=The ''{0}'' statement in the ''finally'' block discards unhandled exceptions",
++-    "TEXT_throwsInFinallyBlock=The 'throw' statement in 'finally' block may hide the original exception",
++-    "OPT_ReportFinallyRethrow=Report rethrow of caught exceptions"
+++    "TEXT_throwsInFinallyBlock=The 'throw' statement in 'finally' block may hide the original exception"
++ })
++ public class TryCatchFinally {
++     private static final Logger LOG = Logger.getLogger(TryCatchFinally.class.getName());
++     
++-    public static final boolean DEF_REPORT_RETHROW = true;
++-    @BooleanOption(
++-            displayName = "#OPT_ReportFinallyRethrow", 
++-            defaultValue = DEF_REPORT_RETHROW,
++-            tooltip = ""
++-    )
++-    public static final String OPT_REPORT_RETHROW = "reportFinallyRethrow"; // NOI18N
++-    
++     @Hint(category = "bugs",
++           displayName = "#DN_TryCatchFinally_finallyThrowsException", // NOI18N
++           description = "#DESC_TryCatchFinally_finallyThrowsException", // NOI18N
++           suppressWarnings={"ThrowFromFinallyBlock"}, 
++           options= Hint.Options.QUERY
++     )
++-    @UseOptions(OPT_REPORT_RETHROW)
++     @TriggerPattern("try { $smts$; } catch $catches$ finally { $handler$; }") // NOI18N
++     public static List<ErrorDescription> finallyThrowsException(HintContext ctx) {
++-        List<TreePath>  trees = new ArrayList<TreePath>(3);
+++        List<Tree>  trees = new ArrayList<Tree>(3);
++         ExitsFromBranches efab = new ExitsFromBranches(ctx.getInfo(), true);
++         Collection<? extends TreePath> paths = ctx.getMultiVariables().get("$handler$"); // NOI18N
++-        CompilationInfo info = ctx.getInfo();
+++        
++         for (TreePath tp : paths) {
++             efab.scan(tp, trees);
++         }
++         if (trees.isEmpty()) {
++             return null;
++         }
++-        
++-        TreePath parent = ctx.getPath().getParentPath();
++-        TreePath selected = ctx.getPath();
++-        Set<Tree> catchVars = new HashSet<>();
++-        // finds the outermost enclosing catch
++-        while (parent != null) {
++-            Tree.Kind k = parent.getLeaf().getKind();
++-            if (k == Tree.Kind.METHOD || k == Tree.Kind.CLASS || k == Tree.Kind.INTERFACE || k == Tree.Kind.ENUM) {
++-                break;
++-            } else if (k == Tree.Kind.CATCH) {
++-                selected = parent;
++-                catchVars.add(
++-                        ((CatchTree)parent.getLeaf()).getParameter()
++-                );
++-                break;
++-            }
++-            parent = parent.getParentPath();
++-        }
++-        
++-        boolean checkRethrow = ctx.getPreferences().getBoolean(OPT_REPORT_RETHROW, DEF_REPORT_RETHROW);
++         List<ErrorDescription> errs = new ArrayList<ErrorDescription>(trees.size());
++-        
++-        if (!checkRethrow) {
++-            FlowResult assignments = Flow.assignmentsForUse(ctx.getInfo(), selected, ctx::isCanceled);
++-            if (assignments == null || ctx.isCanceled()) {
++-                return null;
++-            }
++-            T: for (Iterator<TreePath> it = trees.iterator(); it.hasNext(); ) {
++-                TreePath p = it.next();
++-                Tree stmt = p.getLeaf();
++-                if (stmt.getKind() != Tree.Kind.THROW) {
++-                    it.remove();
++-                    continue;
++-                }
++-                ThrowTree tt = (ThrowTree)stmt;
++-                TreePath tp = new TreePath(p, tt.getExpression());
++-
++-                Queue<TreePath> q = new ArrayDeque<>();
++-                q.offer(tp);
++-
++-                boolean rethrow = true;
++-
++-                Map<Tree, Iterable<?extends TreePath>> ass2Use = assignments.getAssignmentsForUse();
++-                while (rethrow && !q.isEmpty()) {
++-                    tp = q.poll();
++-                    Element el = info.getTrees().getElement(tp);
++-                    if (el == null) {
++-                        rethrow = false;
++-                        break;
++-                    }
++-                    if (el.getKind() == ElementKind.EXCEPTION_PARAMETER) {
++-                        if (el.getModifiers().contains(Modifier.FINAL)) {
++-                            // OK
++-                            continue;
++-                        }
++-                    }
++-                    Iterable<? extends TreePath> vals = ass2Use.get(tp.getLeaf());
++-                    if (vals == null) {
++-                        rethrow = false;
++-                        break;
++-                    }
++-                    for (TreePath valuePath : vals) {
++-                        if (!catchVars.contains(valuePath.getLeaf())) {
++-                            q.offer(valuePath);
++-                        }
++-                    }
++-                }
++-                if (rethrow) {
++-                    it.remove();
++-                }
++-            }
++-        }
++-        if (ctx.isCanceled()) {
++-            return null;
++-        }
++-        for (TreePath p : trees) {
++-            Tree stmt = p.getLeaf();
+++        for (Tree stmt : trees) {
++             errs.add(ErrorDescriptionFactory.forTree(ctx, stmt, TEXT_throwsInFinallyBlock()));
++         }
++         return errs;
++@@ -215,7 +117,7 @@ public class TryCatchFinally {
++     )
++     @TriggerPattern("try { $smts$; } catch $catches$ finally { $handler$; }") // NOI18N
++     public static List<ErrorDescription> finallyDiscardsException(HintContext ctx) {
++-        List<TreePath>  trees = new ArrayList<TreePath>(3);
+++        List<Tree>  trees = new ArrayList<Tree>(3);
++         ExitsFromBranches efab = new ExitsFromBranches(ctx.getInfo());
++         Collection<? extends TreePath> paths = ctx.getMultiVariables().get("$handler$"); // NOI18N
++         
++@@ -226,8 +128,7 @@ public class TryCatchFinally {
++             return null;
++         }
++         List<ErrorDescription> errs = new ArrayList<ErrorDescription>(trees.size());
++-        for (TreePath p : trees) {
++-            Tree stmt = p.getLeaf();
+++        for (Tree stmt : trees) {
++             final String stmtName;
++             switch (stmt.getKind()) {
++                 case CONTINUE:
++@@ -249,7 +150,7 @@ public class TryCatchFinally {
++         return errs;
++     }
++     
++-    private static final class ExitsFromBranches extends TreePathScanner<Void, Collection<TreePath>> {
+++    private static final class ExitsFromBranches extends TreePathScanner<Void, Collection<Tree>> {
++         private final  boolean analyzeThrows;
++         private final CompilationInfo info;
++         private final Set<Tree> seenTrees = new HashSet<Tree>();
++@@ -266,13 +167,7 @@ public class TryCatchFinally {
++         }
++ 
++         @Override
++-        public Void scan(TreePath path, Collection<TreePath> p) {
++-            seenTrees.add(path.getLeaf());
++-            return super.scan(path, p);
++-        }
++-
++-        @Override
++-        public Void scan(Tree tree, Collection<TreePath> trees) {
+++        public Void scan(Tree tree, Collection<Tree> trees) {
++             seenTrees.add(tree);
++             return super.scan(tree, trees);
++         }
++@@ -283,44 +178,44 @@ public class TryCatchFinally {
++          * it must be also added to seenTrees.s
++          */
++         @Override
++-        public Void visitLabeledStatement(LabeledStatementTree node, Collection<TreePath> p) {
+++        public Void visitLabeledStatement(LabeledStatementTree node, Collection<Tree> p) {
++             seenTrees.add(node);
++             return super.visitLabeledStatement(node, p);
++         }
++         
++         @Override
++-        public Void visitIf(IfTree node, Collection<TreePath> trees) {
+++        public Void visitIf(IfTree node, Collection<Tree> trees) {
++             scan(node.getThenStatement(), trees);
++             scan(node.getElseStatement(), trees);
++             return null;
++         }
++ 
++         @Override
++-        public Void visitReturn(ReturnTree node, Collection<TreePath> trees) {
+++        public Void visitReturn(ReturnTree node, Collection<Tree> trees) {
++             if (!analyzeThrows) {
++-                trees.add(getCurrentPath());
+++                trees.add(node);
++             }
++             return null;
++         }
++ 
++         @Override
++-        public Void visitBreak(BreakTree node, Collection<TreePath> trees) {
+++        public Void visitBreak(BreakTree node, Collection<Tree> trees) {
++             if (!analyzeThrows && !seenTrees.contains(info.getTreeUtilities().getBreakContinueTarget(getCurrentPath()))) {
++-                trees.add(getCurrentPath());
+++                trees.add(node);
++             }
++             return null;
++         }
++ 
++         @Override
++-        public Void visitContinue(ContinueTree node, Collection<TreePath> trees) {
+++        public Void visitContinue(ContinueTree node, Collection<Tree> trees) {
++             if (!analyzeThrows && !seenTrees.contains(info.getTreeUtilities().getBreakContinueTarget(getCurrentPath()))) {
++-                trees.add(getCurrentPath());
+++                trees.add(node);
++             }
++             return null;
++         }
++ 
++         @Override
++-        public Void visitTry(TryTree node, Collection<TreePath> trees) {
+++        public Void visitTry(TryTree node, Collection<Tree> trees) {
++             Set<TypeMirror> caught = new HashSet<TypeMirror>();
++ 
++             for (CatchTree ct : node.getCatches()) {
++@@ -335,15 +230,15 @@ public class TryCatchFinally {
++             
++             try {
++                 scan(node.getBlock(), trees);
+++                scan(node.getFinallyBlock(), trees);
++             } finally {
++                 caughtExceptions.pop();
++             }
++-            scan(node.getFinallyBlock(), trees);
++             return null;
++         }
++ 
++         @Override
++-        public Void visitThrow(ThrowTree node, Collection<TreePath> trees) {
+++        public Void visitThrow(ThrowTree node, Collection<Tree> trees) {
++             if (!analyzeThrows) {
++                 return null;
++             }
++@@ -361,7 +256,7 @@ public class TryCatchFinally {
++ 
++             super.visitThrow(node, trees);
++             if (!isCaught) {
++-                trees.add(getCurrentPath());
+++                trees.add(node);
++             }
++             return null;
++         }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/bugs/Unbalanced.java b/java.hints/src/org/netbeans/modules/java/hints/bugs/Unbalanced.java
++index d6865b8dd..8f9260fb8 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/bugs/Unbalanced.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/bugs/Unbalanced.java
++@@ -152,7 +152,6 @@ public class Unbalanced {
++             
++             if (tp.getParentPath().getLeaf().getKind() == Kind.ARRAY_ACCESS) {
++                 State accessType = State.READ;
++-                State secondAccess = null;
++                 Tree access = tp.getParentPath().getLeaf();
++                 Tree assign = tp.getParentPath().getParentPath().getLeaf();
++                 
++@@ -167,18 +166,16 @@ public class Unbalanced {
++                     case PLUS_ASSIGNMENT: case REMAINDER_ASSIGNMENT: case RIGHT_SHIFT_ASSIGNMENT:
++                     case UNSIGNED_RIGHT_SHIFT_ASSIGNMENT: case XOR_ASSIGNMENT:
++                         if (((CompoundAssignmentTree) assign).getVariable() == access) {
++-                            secondAccess = State.WRITE;
+++                            accessType = State.WRITE;
++                         }
++                         break;
++                     case POSTFIX_DECREMENT: case POSTFIX_INCREMENT: case PREFIX_DECREMENT:
++                     case PREFIX_INCREMENT:
++-                        secondAccess = State.WRITE;
+++                        accessType = State.WRITE;
++                         break;
++                 }
+++                
++                 record(ctx.getInfo(), var, accessType);
++-                if (secondAccess != null) {
++-                    record(ctx.getInfo(), var, secondAccess);
++-                }
++             } else {
++                 record(ctx.getInfo(), var, State.WRITE, State.READ);
++             }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/control/RemoveUnnecessary.java b/java.hints/src/org/netbeans/modules/java/hints/control/RemoveUnnecessary.java
++index fce60d5e6..e74608661 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/control/RemoveUnnecessary.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/control/RemoveUnnecessary.java
++@@ -37,33 +37,15 @@
++  */
++ package org.netbeans.modules.java.hints.control;
++ 
++-import com.sun.source.tree.AssignmentTree;
++-import com.sun.source.tree.BinaryTree;
++ import com.sun.source.tree.BlockTree;
++ import com.sun.source.tree.CaseTree;
++-import com.sun.source.tree.CompoundAssignmentTree;
++-import com.sun.source.tree.ConditionalExpressionTree;
++-import com.sun.source.tree.ExpressionTree;
++-import com.sun.source.tree.IdentifierTree;
++-import com.sun.source.tree.InstanceOfTree;
++-import com.sun.source.tree.LambdaExpressionTree;
++-import com.sun.source.tree.LiteralTree;
++-import com.sun.source.tree.MemberReferenceTree;
++-import com.sun.source.tree.MemberSelectTree;
++-import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.MethodTree;
++-import com.sun.source.tree.NewArrayTree;
++-import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.ReturnTree;
++ import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.SwitchTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.Tree.Kind;
++ import com.sun.source.tree.TryTree;
++-import com.sun.source.tree.TypeCastTree;
++-import com.sun.source.tree.UnaryTree;
++ import com.sun.source.util.TreePath;
++-import com.sun.source.util.TreePathScanner;
++ import java.util.ArrayList;
++ import java.util.EnumSet;
++ import java.util.List;
++@@ -72,18 +54,13 @@ import javax.lang.model.type.DeclaredType;
++ import javax.lang.model.type.ExecutableType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++-import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreeUtilities;
++-import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.netbeans.spi.java.hints.HintContext;
++ import org.netbeans.spi.java.hints.Hint;
++ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
++-import org.netbeans.spi.java.hints.JavaFix;
++ import org.netbeans.spi.java.hints.JavaFixUtilities;
++ import org.openide.util.NbBundle;
++ import org.openide.util.NbBundle.Messages;
++@@ -115,16 +92,16 @@ public class RemoveUnnecessary {
++     @Hint(id="org.netbeans.modules.java.hints.RemoveUnnecessaryReturn", displayName = "#DN_org.netbeans.modules.java.hints.RemoveUnnecessaryReturn", description = "#DESC_org.netbeans.modules.java.hints.RemoveUnnecessaryReturn", category="general", suppressWarnings="UnnecessaryReturnStatement")
++     @TriggerPattern("return $val$;")
++     public static ErrorDescription unnecessaryReturn(HintContext ctx) {
++-        return unnecessaryReturnContinue(ctx, null, "UnnecessaryReturnStatement", true);
+++        return unnecessaryReturnContinue(ctx, null, "UnnecessaryReturnStatement");
++     }
++     
++     @Hint(displayName="#DN_RemoveUnnecessaryContinue", description="#DESC_RemoveUnnecessaryContinue", category="general", suppressWarnings="UnnecessaryContinue")
++     @TriggerPattern("continue $val$;")
++     public static ErrorDescription unnecessaryContinue(HintContext ctx) {
++-        return unnecessaryReturnContinue(ctx, ctx.getInfo().getTreeUtilities().getBreakContinueTarget(ctx.getPath()), "UnnecessaryContinueStatement", false);
+++        return unnecessaryReturnContinue(ctx, ctx.getInfo().getTreeUtilities().getBreakContinueTarget(ctx.getPath()), "UnnecessaryContinueStatement");
++     }
++     
++-    private static ErrorDescription unnecessaryReturnContinue(HintContext ctx, StatementTree targetLoop, String key, boolean isReturn) {
+++    private static ErrorDescription unnecessaryReturnContinue(HintContext ctx, StatementTree targetLoop, String key) {
++         TreePath tp = ctx.getPath();
++ 
++         OUTER: while (tp != null && !TreeUtilities.CLASS_TREE_KINDS.contains(tp.getLeaf().getKind())) {
++@@ -223,248 +200,13 @@ public class RemoveUnnecessary {
++                 return null;
++             }
++         }
++-        Fix toExpression = null;
++-        
++-        if (isReturn) {
++-            ExpressionToStatement scanner = new ExpressionToStatement(null, ctx.getInfo());
++-            scanner.scan(ctx.getPath(), null);
++-            if (!scanner.remove) {
++-                toExpression = new MakeExpressionStatement(ctx.getInfo(), ctx.getPath()).toEditorFix();
++-            }
++-        }
++ 
++         String displayName = NbBundle.getMessage(RemoveUnnecessary.class, "ERR_" + key);
++         String fixDisplayName = NbBundle.getMessage(RemoveUnnecessary.class, "FIX_" + key);
++         
++-        return ErrorDescriptionFactory.forTree(ctx, ctx.getPath(), displayName, 
++-                JavaFixUtilities.removeFromParent(ctx, fixDisplayName, ctx.getPath()), toExpression);
+++        return ErrorDescriptionFactory.forTree(ctx, ctx.getPath(), displayName, JavaFixUtilities.removeFromParent(ctx, fixDisplayName, ctx.getPath()));
++     }
++ 
++-    @NbBundle.Messages({
++-        "FIX_MakeExpressionStatement=Retain expression as statement"
++-    })
++-    private static class MakeExpressionStatement extends JavaFix {
++-        public MakeExpressionStatement(CompilationInfo info, TreePath tp) {
++-            super(info, tp);
++-        }
++-
++-        @Override
++-        protected String getText() {
++-            return Bundle.FIX_MakeExpressionStatement();
++-        }
++-
++-        @Override
++-        protected void performRewrite(TransformationContext ctx) throws Exception {
++-            TreePath retPath = ctx.getPath();
++-            if (retPath.getLeaf().getKind() != Tree.Kind.RETURN) {
++-                return;
++-            }
++-            ReturnTree rtt = (ReturnTree)retPath.getLeaf();
++-            if (rtt.getExpression() == null) {
++-                return;
++-            }
++-            WorkingCopy wc = ctx.getWorkingCopy();
++-            ExpressionToStatement st = new ExpressionToStatement(wc.getTreeMaker(), wc);
++-            st.scan(new TreePath(retPath, rtt.getExpression()), null);
++-            if (st.remove || st.statements.isEmpty()) {
++-                // error, but I don't have an utility to properly remove the statement
++-                // from its parent now.
++-                return;
++-            }
++-            Utilities.replaceStatement(wc, retPath, st.statements);
++-        }
++-    }
++-    
++-    /**
++-     * Transforms expression tree into series of statements.
++-     * 
++-     */
++-    static class ExpressionToStatement extends TreePathScanner {
++-        private boolean remove = true;
++-        private List<StatementTree>    statements = new ArrayList<>(); 
++-        private final TreeMaker mk;
++-        private final CompilationInfo cinfo;
++-
++-        public ExpressionToStatement(TreeMaker mk, CompilationInfo cinfo) {
++-            this.mk = mk;
++-            this.cinfo = cinfo;
++-        }
++-        
++-        private Object addExpressionStatement(ExpressionTree node, Object p) {
++-            if (mk != null) {
++-                statements.add(mk.ExpressionStatement(node));
++-            }
++-            remove = false;
++-            return null;
++-        }
++-        
++-        @Override
++-        public Object visitLiteral(LiteralTree node, Object p) {
++-            return null;
++-        }
++-
++-        @Override
++-        public Object visitIdentifier(IdentifierTree node, Object p) {
++-            return null;
++-        }
++-
++-        @Override
++-        public Object visitMemberReference(MemberReferenceTree node, Object p) {
++-            return null;
++-        }
++-
++-        @Override
++-        public Object visitMemberSelect(MemberSelectTree node, Object p) {
++-            return null;
++-        }
++-
++-        @Override
++-        public Object visitInstanceOf(InstanceOfTree node, Object p) {
++-            return null;
++-        }
++-
++-        @Override
++-        public Object visitLambdaExpression(LambdaExpressionTree node, Object p) {
++-            return null;
++-        }
++-
++-        @Override
++-        public Object visitNewArray(NewArrayTree node, Object p) {
++-            return null;
++-        }
++-
++-        @Override
++-        public Object visitTypeCast(TypeCastTree node, Object p) {
++-            return scan(node.getExpression(), p);
++-        }
++-        
++-        public Object transformLogAndOr(BinaryTree node, Object p) {
++-            List<StatementTree> saveStats = this.statements;
++-            boolean saveRemove = this.remove;
++-            this.remove = true;
++-            this.statements = new ArrayList<>();
++-            scan(node.getRightOperand(), p);
++-            
++-            if (remove) {
++-                // the if statement would be empty; attempt to transform the
++-                // left operand if it has at least something. Omit the left operand
++-                // at all.
++-                this.statements = saveStats;
++-                scan(node.getLeftOperand(), p);
++-                if (remove) {
++-                    this.remove &= saveRemove;
++-                    return null;
++-                }
++-                this.remove &= saveRemove;
++-            } else {
++-                List<StatementTree> elseStats = this.statements;
++-                this.statements = saveStats;
++-                remove = false;
++-                if (mk != null) {
++-                    ExpressionTree condition;
++-                    if (node.getKind() == Tree.Kind.CONDITIONAL_AND) {
++-                        condition = node.getLeftOperand();
++-                    } else {
++-                        condition = Utilities.negate(mk, node.getLeftOperand(), node);
++-                    }
++-                    statements.add(
++-                            mk.If(condition, 
++-                                  elseStats.size() == 1 ?
++-                                          elseStats.get(0) :
++-                                          mk.Block(elseStats, false),
++-                                  null
++-                            )
++-                    );
++-                }
++-            }
++-            return null;
++-        }
++-
++-        @Override
++-        public Object visitBinary(BinaryTree node, Object p) {
++-            switch (node.getKind()) {
++-                case CONDITIONAL_AND:
++-                case CONDITIONAL_OR:
++-                    return transformLogAndOr(node, p);
++-            }
++-            scan(node.getLeftOperand(), p);
++-            scan(node.getRightOperand(), p);
++-            return null;
++-        }
++-
++-        @Override
++-        public Object visitUnary(UnaryTree node, Object p) {
++-            scan(node.getExpression(), p);
++-            return null;
++-        }
++-
++-        @Override
++-        public Object visitAssignment(AssignmentTree node, Object p) {
++-            return addExpressionStatement(node, p);
++-        }
++-
++-        @Override
++-        public Object visitCompoundAssignment(CompoundAssignmentTree node, Object p) {
++-            return addExpressionStatement(node, p);
++-        }
++-
++-        @Override
++-        public Object visitNewClass(NewClassTree node, Object p) {
++-            return addExpressionStatement(node, p);
++-        }
++-
++-        @Override
++-        public Object visitMethodInvocation(MethodInvocationTree node, Object p) {
++-            return addExpressionStatement(node, p);
++-        }
++-
++-        /**
++-         * Conditional expression can be turned into an if-statement
++-         */
++-        @Override
++-        public Object visitConditionalExpression(ConditionalExpressionTree node, Object p) {
++-            List<StatementTree> saveStat = this.statements;
++-            boolean saveRemove = this.remove;
++-            statements = new ArrayList<>();
++-            
++-            scan(node.getTrueExpression(), p);
++-            
++-            List<StatementTree> trueStat = statements;
++-            statements = new ArrayList<>();
++-            
++-            scan(node.getFalseExpression(), p);
++-            List<StatementTree> falseStat = statements;
++-            
++-            this.statements = saveStat;
++-            this.remove = saveRemove && remove;
++-            
++-            if (trueStat.isEmpty()) {
++-                if (falseStat.isEmpty()) {
++-                    return null;
++-                }
++-                statements.add(mk.If(
++-                        mk.Unary(Tree.Kind.LOGICAL_COMPLEMENT, node.getCondition()),
++-                        falseStat.size() == 1 ? 
++-                                falseStat.get(0) :
++-                                mk.Block(falseStat, false),
++-                        null
++-                ));
++-            } else {
++-                statements.add(mk.If(node.getCondition(),
++-                        trueStat.size() == 1 ? 
++-                                trueStat.get(0) :
++-                                mk.Block(trueStat, false),
++-                        falseStat.isEmpty() ? null :
++-                            falseStat.size() == 1 ? 
++-                                    falseStat.get(0) :
++-                                    mk.Block(falseStat, false)
++-                                
++-                ));
++-            }
++-            return null;
++-        }
++-    }
++-    
++     @Hint(id="unnecessaryContinueLabel", displayName="#DN_RemoveUnnecessaryContinueLabel", description="#DESC_RemoveUnnecessaryContinueLabel", category="general", suppressWarnings="UnnecessaryLabelOnContinueStatement")
++     @TriggerPattern("continue $val;")
++     public static ErrorDescription unnecessaryContinueLabel(HintContext ctx) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/AddCast.java b/java.hints/src/org/netbeans/modules/java/hints/errors/AddCast.java
++index 4e4786905..3771ff4d2 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/AddCast.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/AddCast.java
++@@ -215,7 +215,7 @@ public final class AddCast implements ErrorRule<Void> {
++                                     /*#85346: cast hint should not be proposed for error types:*/
++                                     && foundTM.getKind() != TypeKind.ERROR
++                                     && expectedType.getKind() != TypeKind.ERROR) {
++-                                targetType.add(org.netbeans.modules.java.hints.errors.Utilities.resolveTypeForDeclaration(info, expectedType));
+++                                targetType.add(org.netbeans.modules.java.hints.errors.Utilities.resolveCapturedType(info, expectedType));
++                                 typeTree[0] = expectedTree;
++                                 expression[0] = found;
++                                 leaf[0] = scope;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeMethodReturnType.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeMethodReturnType.java
++index 508641d1e..24a5bdefb 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeMethodReturnType.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeMethodReturnType.java
++@@ -125,7 +125,7 @@ public class ChangeMethodReturnType implements ErrorRule<Void> {
++ 
++         if (targetType == null || targetType.getKind() == /*XXX:*/TypeKind.ERROR || targetType.getKind() == TypeKind.NONE || targetType.getKind() == TypeKind.NULL) return null;
++ 
++-        return Utilities.resolveTypeForDeclaration(info, targetType);
+++        return Utilities.resolveCapturedType(info, targetType);
++     }
++ 
++     @Override
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeType.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeType.java
++index 2424e0253..defde454a 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeType.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ChangeType.java
++@@ -140,7 +140,11 @@ public final class ChangeType implements ErrorRule<Void> {
++             }
++ 
++             if (expected != null && resolved != null) {
++-                resolved = org.netbeans.modules.java.hints.errors.Utilities.resolveTypeForDeclaration(info, resolved);
+++                if (resolved.getKind() == TypeKind.ERROR) {
+++                    resolved = info.getTrees().getOriginalType((ErrorType) resolved);
+++                }
+++
+++                resolved = org.netbeans.modules.java.hints.errors.Utilities.resolveCapturedType(info, resolved);
++ 
++                 if (resolved == null || resolved.getKind() == TypeKind.VOID || resolved.getKind() == TypeKind.NONE ||resolved.getKind() == TypeKind.EXECUTABLE || resolved.getKind() == TypeKind.NULL) {
++                 } else if (resolved.getKind() != TypeKind.ERROR &&
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/CreateElement.java b/java.hints/src/org/netbeans/modules/java/hints/errors/CreateElement.java
++index 2a0958f58..382d1243f 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/CreateElement.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/CreateElement.java
++@@ -54,10 +54,8 @@ import com.sun.source.tree.NewClassTree;
++ import com.sun.source.tree.ParameterizedTypeTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.Tree.Kind;
++-import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
++ import java.io.IOException;
++-import java.net.URL;
++ import java.util.ArrayList;
++ import java.util.Arrays;
++ import java.util.Collections;
++@@ -82,7 +80,6 @@ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.type.TypeVariable;
++ import org.netbeans.api.java.project.JavaProjectConstants;
++-import org.netbeans.api.java.queries.UnitTestForSourceQuery;
++ import org.netbeans.api.java.source.ClasspathInfo.PathKind;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.ElementHandle;
++@@ -92,7 +89,6 @@ import org.netbeans.api.project.FileOwnerQuery;
++ import org.netbeans.api.project.Project;
++ import org.netbeans.api.project.SourceGroup;
++ import org.netbeans.api.project.SourceGroupModifier;
++-import org.netbeans.api.project.Sources;
++ import org.netbeans.modules.java.hints.errors.CreateClassFix.CreateInnerClassFix;
++ import org.netbeans.modules.java.hints.errors.CreateClassFix.CreateOuterClassFix;
++ import org.netbeans.modules.java.hints.infrastructure.ErrorHintsProvider;
++@@ -107,7 +103,6 @@ import static org.netbeans.modules.java.hints.errors.CreateElementUtilities.*;
++ import org.netbeans.modules.java.hints.errors.ErrorFixesFakeHint.FixKind;
++ import org.netbeans.modules.java.hints.errors.Utilities.MethodArguments;
++ import org.openide.filesystems.FileUtil;
++-import org.openide.filesystems.URLMapper;
++ import org.openide.util.Pair;
++ 
++ /**
++@@ -185,7 +180,6 @@ public final class CreateElement implements ErrorRule<Void> {
++         TreePath parent = null;
++         TreePath firstClass = null;
++         TreePath firstMethod = null;
++-        TreePath firstVar = null;
++         TreePath firstInitializer = null;
++         TreePath methodInvocation = null;
++         TreePath newClass = null;
++@@ -213,21 +207,11 @@ public final class CreateElement implements ErrorRule<Void> {
++             if (   leafKind == Kind.BLOCK && TreeUtilities.CLASS_TREE_KINDS.contains(path.getParentPath().getLeaf().getKind())
++                 && firstMethod == null && firstClass == null)
++                 firstInitializer = path;
++-            
++-            if (leafKind == Kind.ANNOTATION) {
++-                // discard any methods, since there cannot be method calls in anno values
++-                methodInvocation = null;
++-                lookupMethodInvocation = false;
++-            }
++ 
++             if (lookupMethodInvocation && leafKind == Kind.METHOD_INVOCATION) {
++                 methodInvocation = path;
++             }
++ 
++-            if (leafKind == Kind.VARIABLE) {
++-                firstVar = path;
++-            }
++-            
++             if (lookupNCT && leafKind == Kind.NEW_CLASS) {
++                 newClass = path;
++             }
++@@ -309,12 +293,14 @@ public final class CreateElement implements ErrorRule<Void> {
++                     if (((MethodTree)firstMethod.getLeaf()).getModifiers().getFlags().contains(Modifier.STATIC)) {
++                         modifiers.add(Modifier.STATIC);
++                     }
++-                } else if (firstInitializer != null) {
++-                    if (((BlockTree) firstInitializer.getLeaf()).isStatic()) {
++-                        modifiers.add(Modifier.STATIC);
+++                } else {
+++                    if (firstInitializer != null) {
+++                        if (((BlockTree) firstInitializer.getLeaf()).isStatic()) {
+++                            modifiers.add(Modifier.STATIC);
+++                        }
+++                    } else {
+++                        //TODO: otherwise.
++                     }
++-                } else if (firstVar != null && ((VariableTree)firstVar.getLeaf()).getModifiers().getFlags().contains(Modifier.STATIC)) {
++-                    modifiers.add(Modifier.STATIC);
++                 }
++             }
++         }
++@@ -366,9 +352,6 @@ public final class CreateElement implements ErrorRule<Void> {
++         List<TypeMirror> types = (List<TypeMirror>)resolveType(fixTypes, info, parent, errorPath.getLeaf(), offset, superType, numTypeParameters);
++         ElementKind classType = getClassType(fixTypes);
++         
++-        if (!ErrorFixesFakeHint.enabled(info.getFileObject(), FixKind.CREATE_LOCAL_VARIABLE)) {
++-            fixTypes.remove(ElementKind.LOCAL_VARIABLE);
++-        }
++         final TypeMirror type;
++         
++         if (types != null && !types.isEmpty()) {
++@@ -376,7 +359,7 @@ public final class CreateElement implements ErrorRule<Void> {
++             int i = 0;
++             for (Iterator<TypeMirror> it = types.iterator(); it.hasNext(); ) {
++                 final TypeMirror t = it.next();
++-                final TypeMirror resolved = Utilities.resolveTypeForDeclaration(info, t);
+++                final TypeMirror resolved = Utilities.resolveCapturedType(info, t);
++                 if (resolved != t) {
++                     if (resolvedTypes == null) {
++                         resolvedTypes = new ArrayList(types);
++@@ -422,7 +405,7 @@ public final class CreateElement implements ErrorRule<Void> {
++                 } else {
++ 		    List<Fix> currentResult = new LinkedList<Fix>();
++ 
++-		    currentResult.addAll(prepareCreateOuterClassFix(info, newClass, source, EnumSet.of(Modifier.PUBLIC), simpleName, nct.getArguments(), type, ElementKind.CLASS, numTypeArguments));
+++		    currentResult.addAll(prepareCreateOuterClassFix(info, newClass, source, EnumSet.noneOf(Modifier.class), simpleName, nct.getArguments(), type, ElementKind.CLASS, numTypeArguments));
++                     if (!baseType || outermostTypeElement != source)
++ 		        currentResult.addAll(prepareCreateInnerClassFix(info, newClass, outermostTypeElement, EnumSet.of(outermostTypeElement != null && outermostTypeElement.getKind().isInterface() ? Modifier.PUBLIC : Modifier.PRIVATE, Modifier.STATIC), simpleName, nct.getArguments(), type, ElementKind.CLASS, numTypeArguments));
++ 		    
++@@ -492,7 +475,7 @@ public final class CreateElement implements ErrorRule<Void> {
++                                 modifiers.add(Modifier.FINAL);
++                             }
++                         }
++-                        if (ErrorFixesFakeHint.enabled(info.getFileObject(), ErrorFixesFakeHint.FixKind.CREATE_FINAL_FIELD_CTOR)) {
+++                        if (ErrorFixesFakeHint.enabled(ErrorFixesFakeHint.FixKind.CREATE_FINAL_FIELD_CTOR)) {
++                             result.add(new CreateFieldFix(info, simpleName, modifiers, (TypeElement) target, type, targetFile));
++                         }
++                     }
++@@ -520,7 +503,7 @@ public final class CreateElement implements ErrorRule<Void> {
++     private static List<Fix> prepareCreateMethodFix(CompilationInfo info, TreePath invocation, Set<Modifier> modifiers, TypeElement target, String simpleName, List<? extends ExpressionTree> arguments, List<? extends TypeMirror> returnTypes) {
++         //return type:
++         //XXX: should reasonably consider all the found type candidates, not only the one:
++-        TypeMirror returnType = returnTypes != null ? Utilities.resolveTypeForDeclaration(info, returnTypes.get(0)) : null;
+++        TypeMirror returnType = returnTypes != null ? Utilities.resolveCapturedType(info, returnTypes.get(0)) : null;
++ 
++         //currently, we cannot handle error types, TYPEVARs and WILDCARDs:
++         if (returnType != null && Utilities.containsErrorsRecursively(returnType)) {
++@@ -568,44 +551,20 @@ public final class CreateElement implements ErrorRule<Void> {
++         if (null == p) {
++             return Collections.emptyMap();
++         }
++-        
++-        Sources src = p.getLookup().lookup(Sources.class);
++-        SourceGroup[] sGroups = src.getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA);
++-        
++-        SourceGroup sourceGroup = null;
++-        
++-        Set<FileObject> testRoots = new HashSet<>();
++-        SourceGroup linkedSources = null;
++-        
++-        for (SourceGroup sg : sGroups) {
++-            URL[] urls = UnitTestForSourceQuery.findUnitTests(sg.getRootFolder());
++-            for (URL u : urls) {
++-                FileObject r = URLMapper.findFileObject(u);
++-                if (r != null) {
++-                    if (testRoots.add(r)) {
++-                        if (FileUtil.isParentOf(r, fileObject)) {
++-                            isInTestSources = true;
++-                            linkedSources = sg;
++-                        }
++-                    }
++-                }
++-            }
++-            if (FileUtil.isParentOf(sg.getRootFolder(), fileObject)) {
++-                sourceGroup = sg;
++-            }
++-        }
++-        
+++
+++        SourceGroup sourceGroup = SourceGroupModifier.createSourceGroup(p, JavaProjectConstants.SOURCES_TYPE_JAVA, JavaProjectConstants.SOURCES_HINT_MAIN);
+++        SourceGroup testSourceGroup = SourceGroupModifier.createSourceGroup(p, JavaProjectConstants.SOURCES_TYPE_JAVA, JavaProjectConstants.SOURCES_HINT_TEST);
++ 
++         Map<SourceGroup, Integer> list = new HashMap<>();
++         if (isInTestSources) {
++             //in test sources (f.e. src/test/java) -> return main sources and test sources
++-            if (null != linkedSources) {
++-                list.put(linkedSources, PRIO_MAINSOURCEGROUP);
+++            if (null != sourceGroup) {
+++                list.put(sourceGroup, PRIO_MAINSOURCEGROUP);
++             }
++ 
++-            if (null != sourceGroup) {
+++            if (null != testSourceGroup) {
++                 //test source group has a higher prio -> before main source group
++-                list.put(sourceGroup, PRIO_TESTSOURCEGROUP);
+++                list.put(testSourceGroup, PRIO_TESTSOURCEGROUP);
++             }
++ 
++         } else {
++@@ -616,7 +575,7 @@ public final class CreateElement implements ErrorRule<Void> {
++         }
++         return list;
++     }
++-    
+++
++     private static Boolean isInTestSources(FileObject fileObject) {
++         Project p = FileOwnerQuery.getOwner(fileObject);
++         if (null == p) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ErrorFixesFakeHint.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ErrorFixesFakeHint.java
++index c842c839c..966b48849 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ErrorFixesFakeHint.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ErrorFixesFakeHint.java
++@@ -148,15 +148,6 @@ public class ErrorFixesFakeHint extends AbstractHint {
++         return getHint(kind).isEnabled();
++     }
++     
++-    public static boolean enabled(FileObject forFile, FixKind fixKind) {
++-        Preferences prefs = getPreferences(forFile, fixKind);
++-        if (prefs == null) {
++-            return enabled(fixKind);
++-        }
++-        String s = prefs.get("enabled", null);
++-        return s == null  ? enabled(fixKind) : Boolean.parseBoolean(s);
++-    }
++-    
++     public static Preferences getPreferences(FileObject forFile, FixKind fixKind) {
++         return HintsSettings.getSettingsFor(forFile).getHintPreferences(HintMetadata.Builder.create(getHint(fixKind).getId()).build());
++     }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ExtraCatch.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ExtraCatch.java
++index 3bad40af9..e0fae410d 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ExtraCatch.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ExtraCatch.java
++@@ -162,12 +162,39 @@ public class ExtraCatch implements ErrorRule<Void> {
++             TreeMaker make = ctx.getWorkingCopy().getTreeMaker();
++             
++             if (parent.getResources().isEmpty() && parent.getCatches().size() == 1) {
++-                List<StatementTree> repl = new ArrayList<>();
++-                repl.addAll(parent.getBlock().getStatements());
+++                Tree parentParent = ctx.getPath().getParentPath().getParentPath().getLeaf();
+++                List<StatementTree> statements;
+++                BlockTree parentBlock = null;
+++                CaseTree parentCase = null;
+++                
+++                switch (parentParent.getKind()) {
+++                    case BLOCK: {
+++                        parentBlock = (BlockTree) parentParent;
+++                        statements = new ArrayList<>(parentBlock.getStatements());
+++                        break;
+++                    }
+++                    case CASE: {
+++                        parentCase = (CaseTree) parentParent;
+++                        statements = new ArrayList<>(parentCase.getStatements());
+++                        break;
+++                    }
+++                    default:
+++                        throw new IllegalStateException();
+++                }
+++                int at = statements.indexOf(parent);
+++                statements.addAll(at, parent.getBlock().getStatements());
++                 if (parent.getFinallyBlock() != null) {
++-                        repl.addAll(parent.getFinallyBlock().getStatements());
+++                    statements.addAll(at + parent.getBlock().getStatements().size(), parent.getFinallyBlock().getStatements());
+++                }
+++                statements.remove(parent);
+++                Tree stat;
+++                
+++                if (parentParent.getKind() == Tree.Kind.BLOCK) {
+++                    stat = make.Block(statements, parentBlock.isStatic());
+++                } else {
+++                    stat = make.Case(parentCase.getExpression(), statements);
++                 }
++-                Utilities.replaceStatement(ctx.getWorkingCopy(), ctx.getPath().getParentPath(), repl);
+++                ctx.getWorkingCopy().rewrite(parentParent, stat);
++             } else {
++                 ctx.getWorkingCopy().rewrite(parent, make.removeTryCatch(parent, toRemove));
++             }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethods.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethods.java
++index 5336efd3c..b3368a49b 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethods.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethods.java
++@@ -43,7 +43,6 @@
++  */
++ package org.netbeans.modules.java.hints.errors;
++ 
++-import org.netbeans.modules.java.hints.friendapi.OverrideErrorMessage;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.CompilationUnitTree;
++ import com.sun.source.tree.MethodTree;
++@@ -58,42 +57,37 @@ import com.sun.source.util.TreePathScanner;
++ import java.io.IOException;
++ import java.util.ArrayList;
++ import java.util.Arrays;
++-import java.util.HashMap;
+++import java.util.Collections;
++ import java.util.HashSet;
++ import java.util.List;
++-import java.util.ListIterator;
++ import java.util.Map;
++ import java.util.Set;
++-import java.util.concurrent.Future;
++ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++ import javax.lang.model.element.Modifier;
++ import javax.lang.model.element.TypeElement;
+++import javax.lang.model.element.VariableElement;
++ import javax.lang.model.type.DeclaredType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.util.ElementFilter;
+++import javax.swing.SwingUtilities;
++ import javax.swing.text.BadLocationException;
++ import javax.tools.Diagnostic;
++-import org.netbeans.api.java.source.CompilationController;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.ElementUtilities;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.JavaSource.Phase;
++-import org.netbeans.api.java.source.ModificationResult;
++ import org.netbeans.api.java.source.Task;
++-import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.TreeUtilities;
++ import org.netbeans.api.java.source.WorkingCopy;
++ import org.netbeans.editor.GuardedException;
++-import org.netbeans.modules.java.editor.codegen.ImplementOverrideMethodGenerator;
+++import org.netbeans.modules.java.editor.codegen.GeneratorUtils;
++ import org.netbeans.modules.java.hints.spi.ErrorRule;
++ import org.netbeans.spi.editor.hints.ChangeInfo;
++ import org.netbeans.spi.editor.hints.Fix;
++-import org.netbeans.spi.java.hints.JavaFix;
++ import org.openide.awt.StatusDisplayer;
++ import org.openide.util.Exceptions;
++ import org.openide.util.NbBundle;
++@@ -102,7 +96,7 @@ import org.openide.util.NbBundle;
++  *
++  * @author Jan Lahoda
++  */
++-public final class ImplementAllAbstractMethods implements ErrorRule<Object>, OverrideErrorMessage<Object> {
+++public final class ImplementAllAbstractMethods implements ErrorRule<Boolean>, OverrideErrorMessage<Boolean> {
++ 
++     private static final String PREMATURE_EOF_CODE = "compiler.err.premature.eof"; // NOI18N
++     
++@@ -117,154 +111,71 @@ public final class ImplementAllAbstractMethods implements ErrorRule<Object>, Ove
++                 "compiler.err.abstract.cant.be.instantiated", // NOI18N
++                 "compiler.err.enum.constant.does.not.override.abstract")); // NOI18N
++     }
++-    
++-    /**
++-     * Returns the Element which is incomplete, or, for anonymous classes, 
++-     * returns the extended TypeElement (which is also incomplete). This is because
++-     * an Element is not available for the incomplete class.
++-     */
++-    private static TypeElement findTypeElement(CompilationInfo info, TreePath path) {
++-        Element e = info.getTrees().getElement(path);
++-        if (e == null) {
++-            return null;
++-        } else if (e.getKind().isClass() || e.getKind().isInterface()) {
++-            return (TypeElement)e;
++-        }
++-        TypeMirror tm = info.getTrees().getTypeMirror(path);
++-        if (tm == null || tm.getKind() != TypeKind.DECLARED) {
++-            if (path.getLeaf().getKind() == Tree.Kind.NEW_CLASS) {
++-                tm = info.getTrees().getTypeMirror(new TreePath(path, ((NewClassTree)path.getLeaf()).getIdentifier()));
++-            }
++-        }
++-        if (tm != null && tm.getKind() == TypeKind.DECLARED) {
++-            return (TypeElement)((DeclaredType)tm).asElement();
++-        } else {
++-            return null;
++-        }
++-    }
++ 
++     @NbBundle.Messages({
++         "ERR_CannotOverrideAbstractMethods=Inherited abstract methods are not accessible and could not be implemented"
++     })
++     @Override
++-    public String createMessage(CompilationInfo info, Diagnostic diag, int offset, TreePath treePath, Data<Object> data) {
+++    public String createMessage(CompilationInfo info, String diagnosticKey, int offset, TreePath treePath, Data<Boolean> data) {
++         TreePath path = deepTreePath(info, offset);
++-        Element e = findTypeElement(info, path);
+++        Element e = info.getTrees().getElement(path);
+++        if (e == null || !e.getKind().isClass()) {
+++            TypeMirror tm = info.getTrees().getTypeMirror(path);
+++            if (tm == null || tm.getKind() != TypeKind.DECLARED) {
+++                if (path.getLeaf().getKind() == Tree.Kind.NEW_CLASS) {
+++                    tm = info.getTrees().getTypeMirror(new TreePath(path, ((NewClassTree)path.getLeaf()).getIdentifier()));
+++                }
+++            }
+++            if (tm != null && tm.getKind() == TypeKind.DECLARED) {
+++                e = ((DeclaredType)tm).asElement();
+++            } else {
+++                return null;
+++            }
+++        }
++         if (e == null) {
++             return null;
++         }
++-        Map<Tree, Object> d = (Map)data.getData();
++-        if (d == null) {
++-            data.setData(d = new HashMap<>());
++-        }
++-        List<? extends ExecutableElement> lee = info.getElementUtilities().findUnimplementedMethods((TypeElement)e, true);
+++        List<? extends ExecutableElement> lee = info.getElementUtilities().findUnimplementedMethods((TypeElement)e);
++         Scope s = info.getTrees().getScope(path);
++-        boolean hasDefault = false;
++         for (ExecutableElement ee : lee) {
++             if (!info.getTrees().isAccessible(s, ee, (DeclaredType)e.asType())) {
++-                // mark the diagnostic as processed; run() will not bother with analysis of the issue.
++-                d.put(path.getLeaf(), true);
+++                data.setData(true);
++                 return Bundle.ERR_CannotOverrideAbstractMethods();
++                 
++             }
++-            if (ee.getModifiers().contains(Modifier.DEFAULT)) {
++-                hasDefault = true;
++-            }
++-        }
++-        if (hasDefault) {
++-            d.put(path.getLeaf(), Boolean.FALSE);
++         }
++         return null;
++     }
++     
++-    public List<Fix> run(final CompilationInfo info, String diagnosticKey, final int offset, TreePath treePath, Data<Object> data) {
++-        TreePath path = deepTreePath(info, offset);
++-        if (path == null) {
++-            return null;
++-        }
++-
++-        Map<Tree, Object> holder = data == null ? null : (Map)data.getData();
++-        Object saved = null;
++-        if (holder != null) {
++-            saved = holder.get(path.getLeaf());
++-        }
++-        if (Boolean.TRUE == saved) {
+++    public List<Fix> run(final CompilationInfo info, String diagnosticKey, final int offset, TreePath treePath, Data<Boolean> data) {
+++        final List<Fix> result = new ArrayList<Fix>();
+++        if (data != null && Boolean.TRUE == data.getData()) {
++             return null;
++         }
++-        Element e = info.getTrees().getElement(path);
++-        final Tree leaf = path.getLeaf();
++-        boolean isUsableElement = e != null && (e.getKind().isClass() || e.getKind().isInterface());
++-        boolean containsDefaultMethod = saved == Boolean.FALSE;
++-
++-        boolean completingAnonymous = e != null && e.getKind() == ElementKind.CONSTRUCTOR && 
++-                leaf.getKind() == Tree.Kind.NEW_CLASS;
++-        TypeElement tel = findTypeElement(info, path);
++-        
++-        List<Fix> fixes = new ArrayList<>();
++-        if (TreeUtilities.CLASS_TREE_KINDS.contains(leaf.getKind())) {
++-            CompilationUnitTree cut = info.getCompilationUnit();
++-            // do not offer for class declarations without body
++-            long start = info.getTrees().getSourcePositions().getStartPosition(cut, leaf);
++-            long end = info.getTrees().getSourcePositions().getEndPosition(cut, leaf);
++-            for (Diagnostic d : info.getDiagnostics()) {
++-                long position = d.getPosition();
++-                if (d.getCode().equals(PREMATURE_EOF_CODE) && position > start && position < end) {
++-                    return null;
++-                }
+++        analyze(offset, info, new Performer() {
+++            @Override
+++            public void fixAllAbstractMethods(TreePath pathToModify, Tree toModify) {
+++                result.add(new FixImpl(info.getJavaSource(), offset, null));
++             }
++-        }
++-        
++-        if (completingAnonymous) {
++-            //if the parent of path.getLeaf is an error, the situation probably is like:
++-            //new Runnable {}
++-            //(missing '()' for constructor)
++-            //do not propose the hint in this case:
++-            final boolean[] parentError = new boolean[] {false};
++-            new TreePathScanner() {
++-                @Override
++-                public Object visitNewClass(NewClassTree nct, Object o) {
++-                    if (leaf == nct) {
++-                        parentError[0] = getCurrentPath().getParentPath().getLeaf().getKind() == Kind.ERRONEOUS;
++-                    }
++-                    return super.visitNewClass(nct, o);
+++            @Override
+++            public void makeClassAbstract(TreePath pathToModify, String className) {
+++                Tree toModify = pathToModify.getLeaf();
+++                Element el = info.getTrees().getElement(pathToModify);
+++                if (el == null) {
+++                    return;
++                 }
++-            }.scan(path.getParentPath(), null);
++-            if (parentError[0]) {
++-                // ignore
++-                return null;
++-            }
++-            fixes.add(new ImplementAbstractMethodsFix(info, path, tel, containsDefaultMethod));
++-        }
++-        boolean someAbstract = false;
++-        X: if (isUsableElement) {
++-            for (ExecutableElement ee : ElementFilter.methodsIn(e.getEnclosedElements())) {
++-                if (ee.getModifiers().contains(Modifier.ABSTRACT)) {
++-                    // make class abstract. In case of enums, suggest to implement the
++-                    // abstract methods on all enum values.
++-                    if (e.getKind() == ElementKind.ENUM) {
++-                        // cannot make enum abstract, but can generate abstract methods skeleton
++-                        // to all enum members
++-                        fixes.add(new ImplementOnEnumValues2(info,  tel, containsDefaultMethod));
++-                        // avoid other possible fixes:
++-                        break X;
++-                    } else if (e.getKind().isClass()) {
++-                        someAbstract = true;
++-                        break;
++-                    }
+++                if (el.getKind() == ElementKind.ENUM) {
+++                    result.add(new ImplementOnEnumValues(info.getJavaSource(), offset));
+++                } else {
+++                    result.add(new FixImpl(info.getJavaSource(), offset, className));
++                 }
++             }
++-            // offer to fix all abstract methods
++-            if (!someAbstract) {
++-                fixes.add(new ImplementAbstractMethodsFix(info, path, tel, containsDefaultMethod));
++-            }
++-            if (e.getKind() == ElementKind.CLASS && e.getSimpleName() != null && !e.getSimpleName().contentEquals("")) {
++-                fixes.add(new MakeAbstractFix(info, path, e.getSimpleName().toString()).toEditorFix());
+++            public void inaccessibleMethod(ExecutableElement ee) {
+++                
++             }
++-        } 
++-        if (e != null && e.getKind() == ElementKind.ENUM_CONSTANT) {
++-            fixes.add(new ImplementAbstractMethodsFix(info, path, tel, containsDefaultMethod));
++-        }
++-        return fixes;
+++        });
+++        
+++        return result;
++     }
++     
++     public void cancel() {
++@@ -283,304 +194,199 @@ public final class ImplementAllAbstractMethods implements ErrorRule<Object>, Ove
++         return NbBundle.getMessage(ImplementAllAbstractMethods.class, "DSC_Impl_Abstract_Methods"); // NOI18N
++     }
++     
+++    private static interface Performer {
+++
+++        public void fixAllAbstractMethods(TreePath pathToModify, Tree toModify);
+++        public void makeClassAbstract(TreePath toModify, String className);
+++//        public void inaccessibleMethod(ExecutableElement ee);
+++
+++    }
+++
++     private static TreePath deepTreePath(CompilationInfo info, int offset) {
++         TreePath basic = info.getTreeUtilities().pathFor(offset);
++         TreePath plusOne = info.getTreeUtilities().pathFor(offset + 1);
++         
++-        TreePath parent = plusOne.getParentPath();
++-        if (parent == null) {
++-            return basic;
++-        }
++-        if (plusOne.getLeaf().getKind() == Kind.NEW_CLASS &&
++-            parent.getLeaf().getKind() == Kind.EXPRESSION_STATEMENT) {
++-            parent = parent.getParentPath();
++-            if (parent == null) {
++-                return basic;
++-            }
++-        }
++-        if (parent.getLeaf() == basic.getLeaf()) {
+++        if (plusOne.getParentPath() != null && plusOne.getParentPath().getLeaf() == basic.getLeaf()) {
++             return plusOne;
++         }
+++        
++         return basic;
++     }
++     
++-    static abstract class ImplementFixBase implements Fix, Task<WorkingCopy>, DebugFix {
++-        protected final JavaSource      source;
++-        protected final TreePathHandle  handle;
++-        protected final ElementHandle<TypeElement>  implementType;
++-        protected final boolean         displayUI;
++-        
++-        protected TreePath  path;
++-        private  boolean   commit;
++-        protected WorkingCopy copy;
+++    private static void analyze(int offset, CompilationInfo info, Performer performer) {
+++        analyze(deepTreePath(info, offset), info, performer);
+++    }
+++    
+++    private static void analyze(TreePath path, CompilationInfo info, Performer performer) {
+++        Element e = info.getTrees().getElement(path);
+++        boolean isUsableElement = e != null && (e.getKind().isClass() || e.getKind().isInterface());
+++        final Tree leaf = path.getLeaf();
++         
++-        private   int round;
++-        private List<ElementHandle<? extends Element>> elementsToImplement;
++-
++-        protected ImplementFixBase(CompilationInfo info, TreePath p, TypeElement el, boolean displayUI) {
++-            this.source = info.getJavaSource();
++-            this.handle = TreePathHandle.create(p, info);
++-            this.implementType = ElementHandle.create(el);
++-            this.displayUI = displayUI;
++-        }
++-
++-        protected ImplementFixBase(CompilationInfo info, TypeElement el, boolean displayUI) {
++-            this.source = info.getJavaSource();
++-            this.handle = TreePathHandle.create(el, info);
++-            this.implementType = ElementHandle.create(el);
++-            this.displayUI = displayUI;
++-        }
+++        if (isUsableElement) {
+++            //#85806: do not propose implement all abstract methods when the current class contains abstract methods:
+++            for (ExecutableElement ee : ElementFilter.methodsIn(e.getEnclosedElements())) {
+++                if (ee.getModifiers().contains(Modifier.ABSTRACT)) {
+++                    performer.makeClassAbstract(path, e.getSimpleName().toString());
+++                    return;
+++                }
+++            }
++ 
++-        @Override
++-        public ChangeInfo implement() throws Exception {
++-            if (displayUI) {
++-                final Future[] selector = { null };
++-                source.runUserActionTask(new Task<CompilationController>() {
++-                    @Override
++-                    public void run(CompilationController ctrl) throws Exception {
++-                        TypeElement tel = implementType.resolve(ctrl);
++-                        selector[0] = ImplementOverrideMethodGenerator.selectMethodsToImplement(ctrl, tel);
++-                    }
++-                }, true);
++-                if (selector[0] != null) {
++-                    Future< List<ElementHandle<? extends Element>> > f = (Future< List<ElementHandle<? extends Element>> > )selector[0];
++-                    elementsToImplement = f.get();
++-                    if (elementsToImplement == null) {
++-                        // cancelled.
++-                        return null;
+++            if (TreeUtilities.CLASS_TREE_KINDS.contains(leaf.getKind())) {
+++                CompilationUnitTree cut = info.getCompilationUnit();
+++                // do not offer for class declarations without body
+++                long start = info.getTrees().getSourcePositions().getStartPosition(cut, leaf);
+++                long end = info.getTrees().getSourcePositions().getEndPosition(cut, leaf);
+++                for (Diagnostic d : info.getDiagnostics()) {
+++                    long position = d.getPosition();
+++                    if (d.getCode().equals(PREMATURE_EOF_CODE) && position > start && position < end) {
+++                        return;
++                     }
++                 }
++             }
++-            // first round, generate curly braces after each member which does
++-            // not have any
++-            ModificationResult res = source.runModificationTask(this);
++-            if (!commit) {
++-                return null;
++-            }
++             
++-            commit = false;
++-            round++;
++-            res = source.runModificationTask(this);
++-            if (commit) {
++-                res.commit();
++-            }
++-            return null;
++-        }
++-        
++-        protected abstract boolean executeRound(Element el, int round) throws Exception;
++-
++-        @Override
++-        public void run(WorkingCopy parameter) throws Exception {
++-            this.copy = parameter;
++-            parameter.toPhase(Phase.RESOLVED);
++-            path = handle.resolve(parameter);
++-            if (path == null) {
++-                return;
++-            }
++-
++-            Element el = implementType.resolve(copy);
++-            if (el == null) {
++-                return;
++-            }
++-            commit = executeRound(el, round);
++-        }
++-        
++-        protected boolean generateClassBody(TreePath p) throws Exception {
++-            Element e = copy.getTrees().getElement(p);
++-            boolean isUsableElement = e != null && (e.getKind().isClass() || e.getKind().isInterface());
++-            if (isUsableElement) {
++-                return true;
++-            }
++-            if (e.getKind() == ElementKind.ENUM_CONSTANT) {
++-                VariableTree var = (VariableTree) p.getLeaf();
++-                if (var.getInitializer() != null && var.getInitializer().getKind() == Kind.NEW_CLASS) {
++-                    NewClassTree nct = (NewClassTree) var.getInitializer();
++-                    if (nct.getClassBody() != null) {
++-                        return true;
+++            performer.fixAllAbstractMethods(path, leaf);
+++            
+++            if (e.getKind() == ElementKind.CLASS && e.getSimpleName() != null && !e.getSimpleName().contentEquals(""))
+++                performer.makeClassAbstract(path, e.getSimpleName().toString());
+++        } else if (leaf.getKind() == Kind.NEW_CLASS) {
+++            //if the parent of path.getLeaf is an error, the situation probably is like:
+++            //new Runnable {}
+++            //(missing '()' for constructor)
+++            //do not propose the hint in this case:
+++            final boolean[] parentError = new boolean[] {false};
+++            new TreePathScanner() {
+++                @Override
+++                public Object visitNewClass(NewClassTree nct, Object o) {
+++                    if (leaf == nct) {
+++                        parentError[0] = getCurrentPath().getParentPath().getLeaf().getKind() == Kind.ERRONEOUS;
++                     }
+++                    return super.visitNewClass(nct, o);
++                 }
+++            }.scan(path.getParentPath(), null);
+++            if (!parentError[0]) {
+++                performer.fixAllAbstractMethods(path, leaf);
++             }
++-            return !generateClassBody2(copy, p);
++-        }
++-        
++-        protected boolean generateImplementation(Element el, TreePath p) {
++-            Tree leaf = p.getLeaf();
++-            
++-            Element e = copy.getTrees().getElement(p);
++-            if (e != null && e.getKind() == ElementKind.ENUM_CONSTANT) {
++-                VariableTree var = (VariableTree) leaf;
++-                if (var.getInitializer() != null && var.getInitializer().getKind() == Kind.NEW_CLASS) {
++-                    NewClassTree nct = (NewClassTree) var.getInitializer();
++-                    assert nct.getClassBody() != null;
++-                    TreePath enumInit = new TreePath(p, nct);
++-                    TreePath toModify = new TreePath(enumInit, nct.getClassBody());
++-                    generateAllAbstractMethodImplementations(copy, toModify, elementsToImplement);
++-                    return true;
+++        } else if (e != null && e.getKind() == ElementKind.ENUM_CONSTANT && leaf.getKind() == Kind.VARIABLE) {
+++            VariableTree var = (VariableTree) leaf;
+++            if (var.getInitializer() != null && var.getInitializer().getKind() == Kind.NEW_CLASS) {
+++                NewClassTree nct = (NewClassTree) var.getInitializer();
+++                TreePath toModify = new TreePath(path, var.getInitializer());
+++                if (nct.getClassBody() != null) {
+++                    performer.fixAllAbstractMethods(new TreePath(toModify, nct.getClassBody()), nct.getClassBody());
++                 } else {
++-                    return false;
+++                    performer.fixAllAbstractMethods(toModify, leaf);
++                 }
++             }
++-            if (el.getKind().isClass() || el.getKind().isInterface()) {
++-                generateAllAbstractMethodImplementations(copy, p, elementsToImplement);
++-                return true;
++-            }
++-            return false;
++         }
++     }
++-
+++    
++     /**
++-     * Fix which implements the [missing] abstract methods on all enum's values. It does so
++-     * in two phases: during the first, each of the enum values, which does not (yet) specify
++-     * class body, gets curly braces. The source is then reparsed to get fresh trees.
++-     * After that, method generation is applied on all enum values.
+++     * Implements the abstract methods on each declared value of an enum, if not alredy implemented. The enum may not
+++     * derive from any superclass, nor enum so anything abstract (or derived/not implemneted) in the enum type 
+++     * must be implemented by individual values.
++      */
++     @NbBundle.Messages({
++-        "LBL_FIX_Impl_Methods_Enum_Values2=Implement abstract methods on all enum values"
+++        "LBL_FIX_Impl_Methods_Enum_Values=Implement abstract methods on all enum values"
++     })
++-    static final class ImplementOnEnumValues2 extends ImplementFixBase {
+++    static final class ImplementOnEnumValues implements Fix {
+++        private final JavaSource js;
+++        private final int offset;
++ 
++-        public ImplementOnEnumValues2(CompilationInfo info, TypeElement e, boolean prompt) {
++-            super(info, e, prompt);
+++        public ImplementOnEnumValues(JavaSource js, int offset) {
+++            this.js = js;
+++            this.offset = offset;
++         }
++ 
++         @Override
++         public String getText() {
++-            return Bundle.LBL_FIX_Impl_Methods_Enum_Values2();
+++            return Bundle.LBL_FIX_Impl_Methods_Enum_Values();
++         }
++         
++         @Override
++-        protected boolean executeRound(Element el, int round) throws Exception {
++-            if (el.getKind() != ElementKind.ENUM) {
++-                return false;
++-            }
++-            ClassTree ct = (ClassTree)path.getLeaf();
++-            for (ListIterator<? extends Tree> it = ct.getMembers().listIterator(ct.getMembers().size()); it.hasPrevious(); ) {
++-                Tree t = it.previous();
++-                
++-                if (t.getKind() != Tree.Kind.VARIABLE) {
++-                    continue;
++-                }
++-                TreePath p = new TreePath(path, t);
++-                Element e = copy.getTrees().getElement(p);
++-                if (e == null || e.getKind() != ElementKind.ENUM_CONSTANT) {
++-                    continue;
++-                }
+++        public ChangeInfo implement() throws IOException {
+++            final boolean[] repeat = new boolean[] { false };
+++            final int[] offsetArr = {offset};
+++            js.runModificationTask(new Task<WorkingCopy>() {
++ 
++-                switch (round) {
++-                    case 0:
++-                        if (!generateClassBody(p)) {
++-                            return false;
++-                        }
++-                        break;
++-                    case 1:
++-                        if (!generateImplementation(el, p)) {
++-                            return false;
+++                public void run(final WorkingCopy copy) throws IOException {
+++                    copy.toPhase(Phase.RESOLVED);
+++
+++                    TreePath enumPath = deepTreePath(copy, offset);
+++                    if (enumPath.getLeaf().getKind() != Tree.Kind.ENUM) {
+++                        return;
+++                    }
+++                    Element el = copy.getTrees().getElement(enumPath);
+++                    if (el == null) {
+++                        // TODO: report to user
+++                        return;
+++                    }
+++                    ArrayList<? extends Element> al = new ArrayList(el.getEnclosedElements());
+++                    Collections.reverse(al);
+++                    for (VariableElement e : ElementFilter.fieldsIn(al)) {
+++                        if (e.getKind() != ElementKind.ENUM_CONSTANT) {
+++                            continue;
++                         }
++-                        break;
++-                    default:
++-                        throw new IllegalStateException();
+++                        analyze(copy.getTrees().getPath(e), copy, new Performer() {
+++
+++                            @Override
+++                            public void fixAllAbstractMethods(TreePath pathToModify, Tree toModify) {
+++                                fixClassOrVariable(copy, pathToModify, toModify, offsetArr, repeat);
+++                            }
+++
+++                            @Override
+++                            public void makeClassAbstract(TreePath toModify, String className) {
+++                                // no op
+++                            }
+++
+++                        });
+++                    }
++                 }
+++            }).commit();
+++            if (!repeat[0]) {
+++                return null;
++             }
++-            return true;
++-        }
++-        
++-        @Override
++-        public String toDebugString() {
++-             return "IOEV";
++-        }
++-    }
++-    
++-    private static boolean generateClassBody2(WorkingCopy copy, TreePath p) throws Exception {
++-        int insertOffset = (int) copy.getTrees().getSourcePositions().getEndPosition(copy.getCompilationUnit(), p.getLeaf());
++-        if (insertOffset == -1) {
++-            return false;
++-        }
++-        try {
++-            copy.getDocument().insertString(insertOffset, " {}", null);
++-        } catch (GuardedException ex) {
++-            String message = NbBundle.getMessage(ImplementAllAbstractMethods.class, "ERR_CannotApplyGuarded");
++-            StatusDisplayer.getDefault().setStatusText(message);
++-            return true;
++-        } catch (BadLocationException | IOException ex) {
++-            Exceptions.printStackTrace(ex);
++-            return true;
++-        }
++-        return false;
++-    }
++-
++-    /**
++-     * Makes the class abstract. If the class is final, the final modifier is removed.
++-     */
++-    private static class MakeAbstractFix extends JavaFix implements DebugFix {
++-        private final String makeClassAbstractName;
+++            // second pass, actually implement all the methods
+++            js.runModificationTask(new Task<WorkingCopy>() {
++ 
++-        public MakeAbstractFix(CompilationInfo info, TreePath tp, String makeClassAbstractName) {
++-            super(info, tp);
++-            this.makeClassAbstractName = makeClassAbstractName;
++-        }
+++                public void run(final WorkingCopy copy) throws IOException {
+++                    copy.toPhase(Phase.RESOLVED);
++ 
++-        @Override
++-        protected String getText() {
++-            return NbBundle.getMessage(ImplementAllAbstractMethods.class, "LBL_FIX_Make_Class_Abstract", makeClassAbstractName); // MOI18N 
++-        }
+++                    TreePath enumPath = deepTreePath(copy, offset);
+++                    if (enumPath.getLeaf().getKind() != Tree.Kind.ENUM) {
+++                        return;
+++                    }
+++                    Element el = copy.getTrees().getElement(enumPath);
+++                    if (el == null) {
+++                        // TODO: report to user
+++                        return;
+++                    }
+++                    for (VariableElement e : ElementFilter.fieldsIn(el.getEnclosedElements())) {
+++                        if (e.getKind() != ElementKind.ENUM_CONSTANT) {
+++                            continue;
+++                        }
+++                        analyze(copy.getTrees().getPath(e), copy, new Performer() {
++ 
++-        @Override
++-        protected void performRewrite(TransformationContext ctx) throws Exception {
++-            WorkingCopy wc = ctx.getWorkingCopy();
++-            Tree.Kind k = ctx.getPath().getLeaf().getKind();
++-            if (!TreeUtilities.CLASS_TREE_KINDS.contains(k)) {
++-                // TODO: report
++-                return;
++-            }
++-            ClassTree ct = (ClassTree)ctx.getPath().getLeaf();
++-            ModifiersTree mt = ct.getModifiers();
++-            Set<Modifier> mods = new HashSet<>(mt.getFlags());
++-            mods.remove(Modifier.FINAL);
++-            mods.add(Modifier.ABSTRACT);
++-            ModifiersTree newMt = wc.getTreeMaker().Modifiers(mods, mt.getAnnotations());
++-            wc.rewrite(mt, newMt);
++-        }
+++                            @Override
+++                            public void fixAllAbstractMethods(TreePath pathToModify, Tree toModify) {
+++                                fixClassOrVariable(copy, pathToModify, toModify, offsetArr, repeat);
+++                            }
++ 
++-        @Override
++-        public String toDebugString() {
++-            return "MA:" + makeClassAbstractName;
++-        }
++-    }
++-    
++-    private static class ImplementAbstractMethodsFix extends ImplementFixBase {
++-        public ImplementAbstractMethodsFix(CompilationInfo info, TreePath path, TypeElement clazz, boolean prompt) {
++-            super(info, path, clazz, prompt);
++-        }
++-        
++-        @Override
++-        public String getText() {
++-            return NbBundle.getMessage(ImplementAbstractMethodsFix.class, "LBL_FIX_Impl_Abstract_Methods"); // MOI18N 
++-        }
+++                            @Override
+++                            public void makeClassAbstract(TreePath toModify, String className) {
+++                                // no op
+++                            }
++ 
++-        @Override
++-        protected boolean executeRound(Element el, int round) throws Exception {
++-            switch (round) {
++-                case 0:
++-                    return generateClassBody(path);
++-                case 1: {
++-                    TreePath p = path;
++-                    if (path.getLeaf().getKind() == Kind.NEW_CLASS) {
++-                        p = new TreePath(path, ((NewClassTree)path.getLeaf()).getClassBody());
+++                        });
++                     }
++-                    return generateImplementation(el, p);
++                 }
++-            }
++-            return false;
++-        }
++-        @Override
++-        public String toDebugString() {
++-            return "IAAM";
+++            }).commit();
+++            return null;
++         }
++     }
++     
++     // copy from GeneratorUtils, need to change the processing a little.
++     public static Map<? extends ExecutableElement, ? extends ExecutableElement> generateAllAbstractMethodImplementations(
++-            WorkingCopy wc, TreePath path, List<ElementHandle<? extends Element>> toImplementHandles) {
+++            WorkingCopy wc, TreePath path) {
++         assert TreeUtilities.CLASS_TREE_KINDS.contains(path.getLeaf().getKind());
++         TypeElement te = (TypeElement)wc.getTrees().getElement(path);
++         if (te == null) {
++@@ -590,19 +396,7 @@ public final class ImplementAllAbstractMethods implements ErrorRule<Object>, Ove
++         ClassTree clazz = (ClassTree)path.getLeaf();
++         GeneratorUtilities gu = GeneratorUtilities.get(wc);
++         ElementUtilities elemUtils = wc.getElementUtilities();
++-        List<? extends ExecutableElement> toImplement;
++-        if (toImplementHandles != null) {
++-            List<ExecutableElement> els = new ArrayList<>();
++-            for (ElementHandle<? extends Element> h : toImplementHandles) {
++-                Element e = h.resolve(wc);
++-                if (e.getKind() == ElementKind.METHOD) {
++-                    els.add((ExecutableElement)e);
++-                }
++-            }
++-            toImplement = els;
++-        } else {
++-            toImplement = elemUtils.findUnimplementedMethods(te);
++-        }
+++        List<? extends ExecutableElement> toImplement = elemUtils.findUnimplementedMethods(te);
++         ret = Utilities.findConflictingMethods(wc, te, toImplement);
++         if (ret.size() < toImplement.size()) {
++             toImplement.removeAll(ret.keySet());
++@@ -623,7 +417,94 @@ public final class ImplementAllAbstractMethods implements ErrorRule<Object>, Ove
++         StatusDisplayer.getDefault().setStatusText(msg, StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT);
++         return ret;
++     }
++-    interface DebugFix {
++-        public String toDebugString();
+++
+++    private static void fixClassOrVariable(WorkingCopy copy, TreePath pathToModify, Tree toModify,
+++            int[] offset, boolean[] repeat) {
+++        if (TreeUtilities.CLASS_TREE_KINDS.contains(toModify.getKind())) {
+++            generateAllAbstractMethodImplementations(copy, pathToModify);
+++            return;
+++        } else if (!(toModify.getKind() == Kind.NEW_CLASS || toModify.getKind() == Kind.VARIABLE)) {
+++            return;
+++        }
+++        int insertOffset = (int) copy.getTrees().getSourcePositions().getEndPosition(copy.getCompilationUnit(), toModify);
+++        if (insertOffset != (-1)) {
+++            try {
+++                copy.getDocument().insertString(insertOffset, " {}", null);
+++                offset[0] = insertOffset + 1;
+++                repeat[0] = true;
+++            } catch (GuardedException e) {
+++                SwingUtilities.invokeLater(new Runnable() {
+++                    public void run() {
+++                        String message = NbBundle.getMessage(ImplementAllAbstractMethods.class, "ERR_CannotApplyGuarded");
+++                        StatusDisplayer.getDefault().setStatusText(message);
+++                    }
+++                });
+++            } catch (BadLocationException e) {
+++                Exceptions.printStackTrace(e);
+++            } catch (IOException e) {
+++                Exceptions.printStackTrace(e);
+++            }
+++        }
+++    }
+++
+++    static final class FixImpl implements Fix {
+++
+++        private JavaSource js;
+++        private int offset;
+++        private String makeClassAbstractName;
+++        
+++        public FixImpl(JavaSource js, int offset, String makeClassAbstractName) {
+++            this.js   = js;
+++            this.offset = offset;
+++            this.makeClassAbstractName = makeClassAbstractName;
+++        }
+++        
+++        public String getText() {
+++            return makeClassAbstractName == null ? 
+++                NbBundle.getMessage(ImplementAllAbstractMethods.class, "LBL_FIX_Impl_Abstract_Methods") : // MOI18N 
+++                NbBundle.getMessage(ImplementAllAbstractMethods.class, "LBL_FIX_Make_Class_Abstract", makeClassAbstractName); // MOI18N 
+++        }
+++
+++        public ChangeInfo implement() throws IOException {
+++            final boolean[] repeat = new boolean[] {true};
+++
+++            while (repeat[0]) {
+++                repeat[0] = false;
+++                js.runModificationTask(new Task<WorkingCopy>() {
+++
+++                    public void run(final WorkingCopy copy) throws IOException {
+++                        copy.toPhase(Phase.RESOLVED);
+++                        final int[] offsetArr = new int[] { offset };
+++                        analyze(offset, copy, new Performer() {
+++                            public void fixAllAbstractMethods(TreePath pathToModify, Tree toModify) {
+++                                if (makeClassAbstractName != null) return;
+++                                fixClassOrVariable(copy, pathToModify, toModify, offsetArr, repeat);
+++                            }
+++                            public void makeClassAbstract(TreePath pathToModify, String className) {
+++                                Tree toModify = pathToModify.getLeaf();
+++                                if (makeClassAbstractName == null) return;
+++                                //the toModify has to be a class tree:
+++                                if (TreeUtilities.CLASS_TREE_KINDS.contains(toModify.getKind())) {
+++                                    ClassTree clazz = (ClassTree) toModify;
+++                                    ModifiersTree modifiers = clazz.getModifiers();
+++                                    Set<Modifier> newModifiersSet = new HashSet<Modifier>(modifiers.getFlags());
+++
+++                                    newModifiersSet.add(Modifier.ABSTRACT);
+++
+++                                    copy.rewrite(modifiers, copy.getTreeMaker().Modifiers(newModifiersSet, modifiers.getAnnotations()));
+++                                }
+++                            }
+++                        });
+++                        offset = offsetArr[0];
+++                    }
+++                }).commit();
+++            }
+++            return null;
+++        }
+++
+++        String toDebugString() {
+++            return makeClassAbstractName == null ? "IAAM" : "MA:" + makeClassAbstractName;
+++        }
+++
++     }
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClass.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClass.java
++index 762c2adb1..569d9489d 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClass.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClass.java
++@@ -18,7 +18,7 @@
++  * Notice in each file and include the License file at
++  * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file thatfake
+++ * by Oracle in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++@@ -56,6 +56,7 @@ import java.util.ArrayList;
++ import java.util.Arrays;
++ import java.util.Collection;
++ import java.util.Collections;
+++import java.util.HashMap;
++ import java.util.HashSet;
++ import java.util.List;
++ import java.util.Map;
++@@ -64,14 +65,15 @@ import java.util.logging.Level;
++ import java.util.logging.Logger;
++ import java.util.prefs.Preferences;
++ import javax.lang.model.element.Element;
+++import javax.lang.model.element.ElementKind;
++ import javax.swing.text.Document;
++ import org.netbeans.api.annotations.common.NullAllowed;
++ import org.netbeans.api.editor.mimelookup.MimeLookup;
++ import org.netbeans.api.editor.mimelookup.MimePath;
++-import org.netbeans.api.java.lexer.JavaTokenId;
++ import org.netbeans.api.java.source.CodeStyle;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.ElementHandle;
+++import org.netbeans.api.java.source.ElementUtilities;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.JavaSource.Phase;
++@@ -80,8 +82,6 @@ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
++ import org.netbeans.api.java.source.support.ReferencesCount;
++ import org.netbeans.api.lexer.Token;
++-import org.netbeans.api.lexer.TokenHierarchy;
++-import org.netbeans.api.lexer.TokenSequence;
++ import org.netbeans.modules.editor.NbEditorUtilities;
++ import org.netbeans.modules.editor.java.Utilities;
++ import org.netbeans.modules.java.editor.imports.ComputeImports;
++@@ -103,6 +103,7 @@ import org.openide.util.Exceptions;
++ import org.openide.util.Lookup;
++ import org.openide.util.NbBundle;
++ import org.openide.util.NbBundle.Messages;
+++import org.openide.util.Pair;
++ import org.openide.util.RequestProcessor;
++ 
++ 
++@@ -110,7 +111,7 @@ import org.openide.util.RequestProcessor;
++  *
++  * @author Jan Lahoda
++  */
++-public final class ImportClass implements ErrorRule<Void>{
+++public final class ImportClass implements ErrorRule<Void> {
++     
++     static RequestProcessor WORKER = new RequestProcessor("ImportClassEnabler", 1);
++     
++@@ -125,22 +126,14 @@ public final class ImportClass implements ErrorRule<Void>{
++                 "compiler.err.cant.resolve.location.args",
++                 "compiler.err.doesnt.exist",
++                 "compiler.err.not.stmt", 
++-                "compiler.err.not.def.public.cant.access",
++-                "compiler.err.expected"
++-        ));
+++                "compiler.err.not.def.public.cant.access"));
++     }
++-
+++    
++     @Override
++     public List<Fix> run(final CompilationInfo info, String diagnosticKey, final int offset, TreePath treePath, Data<Void> data) {
++         resume();
++-        int errorPosition = offset;
++-        boolean expectedErr = "compiler.err.expected".equals(diagnosticKey);
++-        if (!expectedErr) {
++-            errorPosition++; //TODO: +1 required to work OK, rethink
++-        } 
++-        if (!ErrorFixesFakeHint.enabled(info.getFileObject(), ErrorFixesFakeHint.FixKind.IMPORT_CLASS)) {
++-            return Collections.<Fix>emptyList();
++-        }
+++        int errorPosition = offset + 1; //TODO: +1 required to work OK, rethink
+++        
++         if (errorPosition == (-1)) {
++             ErrorHintsProvider.LOG.log(Level.FINE, "ImportClassEnabler.create errorPosition=-1"); //NOI18N
++             
++@@ -153,27 +146,6 @@ public final class ImportClass implements ErrorRule<Void>{
++         
++         try {
++             ident = ErrorHintsProvider.findUnresolvedElementToken(info, offset);
++-            // handle error 'expected identifier' after UnresolvedIdentifier.|
++-            if (ident == null && expectedErr) {
++-                TokenHierarchy<?> th = info.getTokenHierarchy();
++-                TokenSequence<JavaTokenId> ts = th.tokenSequence(JavaTokenId.language());
++-                if (ts != null) {
++-                    ts.move(offset);
++-                    if (ts.movePrevious()) {
++-                        Token<JavaTokenId> check = ts.token();
++-                        if (check.id() == JavaTokenId.DOT) {
++-                            // backward skip all whitespaces
++-                            boolean hasToken = false;
++-                            while ((hasToken = ts.movePrevious()) && ts.token().id() == JavaTokenId.WHITESPACE)
++-                                ;
++-                            if (hasToken && ts.token().id() == JavaTokenId.IDENTIFIER) {
++-                                ident = ts.token();
++-                            }
++-                        }
++-                    }
++-                    
++-                }
++-            }
++         } catch (IOException e) {
++             Exceptions.printStackTrace(e);
++         }
++@@ -266,9 +238,6 @@ public final class ImportClass implements ErrorRule<Void>{
++                 if (!uniq.add(fqn)) {
++                     continue;
++                 }
++-                if (org.netbeans.modules.java.completion.Utilities.isExcluded(fqn)) {
++-                    continue;
++-                }
++                 StringBuilder sort = new StringBuilder();
++                 
++                 sort.append("0001#");
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClassCustomizer.java b/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClassCustomizer.java
++index cbc2c858b..0717ff712 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClassCustomizer.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/ImportClassCustomizer.java
++@@ -96,7 +96,7 @@ public class ImportClassCustomizer extends javax.swing.JPanel {
++     }// </editor-fold>//GEN-END:initComponents
++ 
++     private void organizeImportsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_organizeImportsActionPerformed
++-        ErrorFixesFakeHint.setOrganizeAfterImportClass(prefs, organizeImports.isSelected());
+++        ErrorFixesFakeHint.setCreateFinalFieldsForCtor(prefs, organizeImports.isSelected());
++     }//GEN-LAST:event_organizeImportsActionPerformed
++ 
++ 
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/MissingReturnStatement.java b/java.hints/src/org/netbeans/modules/java/hints/errors/MissingReturnStatement.java
++index 158352e4f..c70861a5c 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/MissingReturnStatement.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/MissingReturnStatement.java
++@@ -102,11 +102,7 @@ public class MissingReturnStatement implements ErrorRule<Void> {
++     @Override
++     public List<Fix> run(CompilationInfo compilationInfo, String diagnosticKey, int offset, TreePath treePath, Data<Void> data) {
++         TreePath method = null;
++-        if (diagnosticKey != null && diagnosticKey.contains("/compiler.misc.incompatible.ret.type.in.lambda/")) { // NOI18N
++-            // PENDING: when issue #258201 is implemented, use the new method instead of this HACK
++-            offset++;
++-        }
++-        TreePath tp = compilationInfo.getTreeUtilities().pathFor(offset);
+++        TreePath tp = compilationInfo.getTreeUtilities().pathFor(offset + 1);
++ 
++         while (tp != null && !TreeUtilities.CLASS_TREE_KINDS.contains(tp.getLeaf().getKind())) {
++             Kind kind = tp.getLeaf().getKind();
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/OrigSurroundWithTryCatchFix.java b/java.hints/src/org/netbeans/modules/java/hints/errors/OrigSurroundWithTryCatchFix.java
++index eecb2c1f0..bc3226136 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/OrigSurroundWithTryCatchFix.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/OrigSurroundWithTryCatchFix.java
++@@ -53,7 +53,6 @@ import com.sun.source.tree.TryTree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreePathScanner;
++-import java.util.Arrays;
++ import java.util.Collections;
++ import java.util.LinkedList;
++ import java.util.List;
++@@ -143,7 +142,33 @@ class OrigSurroundWithTryCatchFix implements Fix {
++                                 declaration = Utilities.copyComments(parameter, vt, declaration, true);
++                                 assignment = Utilities.copyComments(parameter, vt, assignment, false);
++                                 TryTree tryTree = make.Try(make.Block(Collections.singletonList(assignment), false), MagicSurroundWithTryCatchFix.createCatches(parameter, make, thandles, p), null);
++-                                Utilities.replaceStatement(parameter, p, Arrays.asList(declaration, tryTree));
+++                                List<StatementTree> nueStatements = new LinkedList<StatementTree>();
+++
+++                                if (block.getLeaf().getKind() == Kind.BLOCK) {
+++                                    BlockTree bt = (BlockTree) block.getLeaf();
+++                                    int index = bt.getStatements().indexOf(leaf);
+++
+++                                    assert index != (-1);
+++
+++                                    nueStatements.addAll(bt.getStatements().subList(0, index));
+++                                    nueStatements.add(declaration);
+++                                    nueStatements.add(tryTree);
+++                                    nueStatements.addAll(bt.getStatements().subList(index + 1, bt.getStatements().size()));
+++
+++                                    parameter.rewrite(bt, make.Block(nueStatements, bt.isStatic()));
+++                                } else {
+++                                    CaseTree ct = (CaseTree) block.getLeaf();
+++                                    int index = ct.getStatements().indexOf(leaf);
+++
+++                                    assert index != (-1);
+++
+++                                    nueStatements.addAll(ct.getStatements().subList(0, index));
+++                                    nueStatements.add(declaration);
+++                                    nueStatements.add(tryTree);
+++                                    nueStatements.addAll(ct.getStatements().subList(index + 1, ct.getStatements().size()));
+++
+++                                    parameter.rewrite(ct, make.Case(ct.getExpression(), nueStatements));
+++                                }
++                                 return ;
++                             }
++                         }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/friendapi/OverrideErrorMessage.java b/java.hints/src/org/netbeans/modules/java/hints/errors/OverrideErrorMessage.java
++similarity index 94%
++rename from java.hints/src/org/netbeans/modules/java/hints/friendapi/OverrideErrorMessage.java
++rename to java.hints/src/org/netbeans/modules/java/hints/errors/OverrideErrorMessage.java
++index 3bed53717..650350094 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/friendapi/OverrideErrorMessage.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/OverrideErrorMessage.java
++@@ -39,10 +39,9 @@
++  *
++  * Portions Copyrighted 2013 Sun Microsystems, Inc.
++  */
++-package org.netbeans.modules.java.hints.friendapi;
+++package org.netbeans.modules.java.hints.errors;
++ 
++ import com.sun.source.util.TreePath;
++-import javax.tools.Diagnostic;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.modules.java.hints.spi.ErrorRule;
++ 
++@@ -54,7 +53,6 @@ import org.netbeans.modules.java.hints.spi.ErrorRule;
++  * message.
++  * <p/>
++  * Note that the customized message does not propagate into the task list; the task list will show the original javac message.
++- * @since 1.82
++  */
++ public interface OverrideErrorMessage<T> extends ErrorRule<T> {
++     /**
++@@ -68,5 +66,5 @@ public interface OverrideErrorMessage<T> extends ErrorRule<T> {
++      * @param treePath path to the error, if available
++      * @return an override message to be displayed instead of the standard one or {@code null} to use the standard one.
++      */
++-    public String createMessage(CompilationInfo info, Diagnostic d, int offset, TreePath treePath, Data<T> data);
+++    public String createMessage(CompilationInfo info, String diagnosticKey, int offset, TreePath treePath, Data<T> data);
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/TypeErroneous.java b/java.hints/src/org/netbeans/modules/java/hints/errors/TypeErroneous.java
++index 7f024b8bf..878af7461 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/TypeErroneous.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/TypeErroneous.java
++@@ -41,7 +41,6 @@
++  */
++ package org.netbeans.modules.java.hints.errors;
++ 
++-import org.netbeans.modules.java.hints.friendapi.OverrideErrorMessage;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.util.TreePath;
++ import java.util.ArrayList;
++@@ -56,7 +55,6 @@ import javax.lang.model.type.ExecutableType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.util.SimpleTypeVisitor8;
++-import javax.tools.Diagnostic;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.openide.util.NbBundle;
++@@ -95,7 +93,7 @@ final class TypeErroneous implements OverrideErrorMessage<Void> {
++             "ERR_Unreachable_Type_3=Referenced method uses types which are not available: {0} and {1} other"
++     })
++     @Override
++-    public String createMessage(CompilationInfo info, Diagnostic d, int offset, TreePath treePath, Data<Void> data) {
+++    public String createMessage(CompilationInfo info, String diagnosticKey, int offset, TreePath treePath, Data<Void> data) {
++         Tree t = treePath.getLeaf();
++         if (t.getKind() != Tree.Kind.MEMBER_SELECT) {
++             return null;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/errors/Utilities.java b/java.hints/src/org/netbeans/modules/java/hints/errors/Utilities.java
++index f37742ffc..ebdd96416 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/errors/Utilities.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/errors/Utilities.java
++@@ -71,11 +71,9 @@ import com.sun.source.tree.CompoundAssignmentTree;
++ import com.sun.source.tree.ConditionalExpressionTree;
++ import com.sun.source.tree.DoWhileLoopTree;
++ import com.sun.source.tree.EnhancedForLoopTree;
++-import com.sun.source.tree.ExpressionStatementTree;
++ import com.sun.source.tree.ExpressionTree;
++ import com.sun.source.tree.ForLoopTree;
++ import com.sun.source.tree.IdentifierTree;
++-import com.sun.source.tree.LambdaExpressionTree;
++ import com.sun.source.tree.LiteralTree;
++ import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.MethodInvocationTree;
++@@ -121,6 +119,7 @@ import javax.lang.model.element.VariableElement;
++ import javax.lang.model.type.ArrayType;
++ import javax.lang.model.type.DeclaredType;
++ import javax.lang.model.type.ExecutableType;
+++import javax.lang.model.type.IntersectionType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.type.TypeVariable;
++@@ -146,14 +145,13 @@ import org.openide.DialogDisplayer;
++ import org.openide.NotifyDescriptor;
++ import org.openide.filesystems.FileObject;
++ import org.openide.text.NbDocument;
+++import org.openide.text.PositionRef;
++ import org.openide.util.Exceptions;
++ 
++ import static com.sun.source.tree.Tree.Kind.*;
++-import com.sun.source.tree.UnaryTree;
++ import com.sun.tools.javac.api.JavacScope;
++ import com.sun.tools.javac.api.JavacTaskImpl;
++ import com.sun.tools.javac.code.Type;
++-import com.sun.tools.javac.comp.ArgumentAttr;
++ import com.sun.tools.javac.comp.Attr;
++ import com.sun.tools.javac.comp.AttrContext;
++ import com.sun.tools.javac.comp.Enter;
++@@ -162,17 +160,13 @@ import com.sun.tools.javac.tree.JCTree;
++ import com.sun.tools.javac.util.JCDiagnostic;
++ import com.sun.tools.javac.util.Log;
++ import java.net.URI;
++-import java.util.concurrent.Callable;
++-import javax.lang.model.type.ErrorType;
++ import javax.lang.model.type.UnionType;
++ import javax.tools.Diagnostic;
++ import javax.tools.JavaFileObject;
++ import javax.tools.SimpleJavaFileObject;
++ import org.netbeans.api.java.source.CodeStyle;
++ import org.netbeans.api.java.source.CodeStyleUtils;
++-import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.modules.java.source.JavaSourceAccessor;
++-import org.netbeans.spi.java.hints.JavaFixUtilities;
++ import org.openide.util.Pair;
++ 
++ /**
++@@ -315,6 +309,27 @@ public class Utilities {
++         return makeNameUnique(info, s, name, null, null);
++     }
++ 
+++    private static String guessLiteralName(String str) {
+++        if(str.isEmpty())
+++            return null;
+++        
+++        StringBuilder sb = new StringBuilder();
+++
+++        for (int i = 0; i < str.length(); i++) {
+++            char ch = str.charAt(i);
+++            if(ch == ' ') {
+++                sb.append('_');
+++            } else if (sb.length() == 0 ? Character.isJavaIdentifierStart(ch) : Character.isJavaIdentifierPart(ch))
+++                sb.append(ch);
+++            if (sb.length() > 40)
+++                break;
+++        }
+++        if (sb.length() == 0)
+++            return null;
+++        else
+++            return sb.toString();
+++    }
+++    
++     public static String toConstantName(String camelCaseName) {
++         StringBuilder result = new StringBuilder();
++         char[] chars = camelCaseName.toCharArray();
++@@ -391,7 +406,7 @@ public class Utilities {
++         if (designedType == null) {
++             return null;
++         }
++-        return resolveTypeForDeclaration(info, designedType);
+++        return resolveCapturedType(info, designedType);
++     }
++ 
++     public static String getName(TypeMirror tm) {
++@@ -538,27 +553,10 @@ public class Utilities {
++         }
++     }
++     
++-    public static TypeMirror resolveTypeForDeclaration(CompilationInfo info, TypeMirror tm) {
++-        // TODO: should I convert the anonymous types to something more referenceable ?
++-        TypeMirror captureResolved = resolveCapturedType(info, tm);
++-        if (captureResolved == null) {
++-            return null;
++-        }
++-        TypeMirror m = info.getTypeUtilities().getDenotableType(tm);
++-        if (isValidType(m) || !isValidType(captureResolved)) {
++-            return m;
++-        } else {
++-            return captureResolved;
++-        }
++-    }
++-    
++     public static TypeMirror resolveCapturedType(CompilationInfo info, TypeMirror tm) {
++         if (tm == null) {
++             return tm;
++         }
++-        if (tm.getKind() == TypeKind.ERROR) {
++-            tm = info.getTrees().getOriginalType((ErrorType) tm);
++-        }
++         TypeMirror type = resolveCapturedTypeInt(info, tm);
++         if (type == null) {
++             return tm;
++@@ -702,13 +700,8 @@ public class Utilities {
++ 
++         while (!todo.isEmpty()) {
++             TreePath tp = todo.remove(0);
++-            Tree l = tp.getLeaf();
++-            while (l.getKind() == Kind.PARENTHESIZED) {
++-                tp = new TreePath(tp, ((ParenthesizedTree)l).getExpression());
++-                l = tp.getLeaf();
++-            }
++ 
++-            if (l.getKind() != Kind.PLUS) {
+++            if (tp.getLeaf().getKind() != Kind.PLUS) {
++                 result.add(tp);
++                 continue;
++             }
++@@ -862,9 +855,6 @@ public class Utilities {
++         operator2DN.put(NOT_EQUAL_TO, "!=");
++     }
++ 
++-    @NbBundle.Messages({
++-        "DisplayName_Unknown=<missing>"
++-    })
++     private static class HintDisplayNameVisitor extends TreeScanner<String, Void> {
++ 
++         private CompilationInfo info;
++@@ -919,9 +909,6 @@ public class Utilities {
++         }
++ 
++         private String simpleName(Tree t) {
++-            if (t == null) {
++-                return Bundle.DisplayName_Unknown();
++-            }
++             if (t.getKind() == Kind.IDENTIFIER) {
++                 return ((IdentifierTree) t).getName().toString();
++             }
++@@ -982,10 +969,6 @@ public class Utilities {
++      */
++     @SuppressWarnings({"AssignmentToMethodParameter", "NestedAssignment"})
++     public static TreePath findOwningExecutable(HintContext ctx, TreePath from, boolean lambdaOrInitializer) {
++-        return findOwningExecutable(from, lambdaOrInitializer);
++-    }
++-    
++-    public static TreePath findOwningExecutable(TreePath from, boolean lambdaOrInitializer) {
++         Tree.Kind k = null;
++         
++         OUTER: while (from != null && !(TreeUtilities.CLASS_TREE_KINDS.contains(k = from.getLeaf().getKind()))) {
++@@ -1050,14 +1033,6 @@ public class Utilities {
++         }
++         return null;
++     }
++-    
++-    public static boolean isInConstructor(TreePath path) {
++-        TreePath method = findOwningExecutable(path, false);
++-        if (method == null || method.getLeaf().getKind() != Tree.Kind.METHOD) {
++-            return false;
++-        }
++-        return ((MethodTree)method.getLeaf()).getName().contentEquals("<init>"); // NOI18N
++-    }
++ 
++     public static boolean isInConstructor(HintContext ctx) {
++         TreePath method = findOwningExecutable(ctx, ctx.getPath(), false);
++@@ -1116,7 +1091,7 @@ public class Utilities {
++                 return null;
++             }
++             
++-            tm = resolveTypeForDeclaration(info, tm);
+++            tm = resolveCapturedType(info, tm);
++ 
++             if (!verifyTypeVarAccessible(method, tm, usedLocalTypeVariables, target)) return null;
++ 
++@@ -1249,22 +1224,12 @@ public class Utilities {
++         return efab.scan(from, null) == Boolean.TRUE;
++     }
++ 
++-    /**
++-     * Determines whether the execution definitely escapes from the root of the search.
++-     * Execution escapes, if the control could be transferred outside of the inspected area. Definitely escapes means
++-     * that possible all code paths escape from the area: both if branches, all switch branches etc.
++-     * <p/>
++-     * Inidvidual visit() operations must return true, if they escape outside, false or null otherwise. Nodes are added to
++-     * {@link #seenTrees} before processing, so if a break/continue targets such a node, such jump is not considered an exit.
++-     * Jumps can register the target Tree in {@link #targetTrees} which causes false to be returned from that tree's inspection.
++-     */
++     private static final class ExitsFromAllBranches extends TreePathScanner<Boolean, Void> {
++ 
++         private CompilationInfo info;
++         private final Set<Tree> seenTrees = new HashSet<Tree>();
++-        private final Stack<Pair<Set<TypeMirror>, Tree>> caughtExceptions = new Stack<>();
++-        private final Set<Tree> targetTrees = new HashSet<>();
++-        
+++        private final Stack<Set<TypeMirror>> caughtExceptions = new Stack<Set<TypeMirror>>();
+++
++         public ExitsFromAllBranches(CompilationInfo info) {
++             this.info = info;
++         }
++@@ -1272,36 +1237,15 @@ public class Utilities {
++         @Override
++         public Boolean scan(TreePath path, Void p) {
++             seenTrees.add(path.getLeaf());
++-            Boolean ret = super.scan(path, p);
++-            boolean pending = !targetTrees.isEmpty();
++-            targetTrees.remove(path.getLeaf());
++-            return pending ? Boolean.FALSE : ret;
+++            return super.scan(path, p);
++         }
++ 
++         @Override
++         public Boolean scan(Tree tree, Void p) {
++-            // if a jump to an outer statement is seen, do not bother with further processing.
++-            if (!targetTrees.isEmpty()) {
++-                return false;
++-            }
++             seenTrees.add(tree);
++-            Boolean ret = super.scan(tree, p);
++-            boolean pending = !targetTrees.isEmpty();
++-            targetTrees.remove(tree);
++-            return pending ? null : ret;
+++            return super.scan(tree, p);
++         }
++ 
++-        /*
++-        @Override
++-        public Boolean reduce(Boolean r1, Boolean r2) {
++-            if ((r1 == Boolean.FALSE) || (r2 == Boolean.FALSE)) {
++-                return false;
++-            } else {
++-                // use the later statement
++-                return r2;
++-            }
++-        }
++-*/
++         /**
++          * Hardcoded check for System.exit(), Runtime.exit and Runtime.halt which also terminates the processing. 
++          * TODO: some configuration (project-level ?) could add also different exit methods.
++@@ -1316,79 +1260,10 @@ public class Utilities {
++         }
++ 
++         @Override
++-        public Boolean visitArrayType(ArrayTypeTree node, Void p) {
++-            return super.visitArrayType(node, p); //To change body of generated methods, choose Tools | Templates.
++-        }
++-
++-        @Override
++-        public Boolean visitDoWhileLoop(DoWhileLoopTree node, Void p) {
++-            return scan(node.getStatement(), p);
++-        }
++-
++-        /**
++-         * Loops with a condition at the start may skip the body at all, so
++-         */
++-        @Override
++-        public Boolean visitEnhancedForLoop(EnhancedForLoopTree node, Void p) {
++-            return null;
++-        }
++-
++-        @Override
++-        public Boolean visitForLoop(ForLoopTree node, Void p) {
++-            return null;
++-        }
++-
++-        @Override
++-        public Boolean visitWhileLoop(WhileLoopTree node, Void p) {
++-            return null;
++-        }
++-        
++-        @Override
++         public Boolean visitIf(IfTree node, Void p) {
++             return scan(node.getThenStatement(), null) == Boolean.TRUE && scan(node.getElseStatement(), null) == Boolean.TRUE;
++         }
++-        
++-        @Override
++-        public Boolean visitSwitch(SwitchTree node, Void p) {
++-            boolean lastCaseExit = false;
++-            boolean defaultSeen = false;
++-            Set<Element> enumValues = null;
++-            
++-            if (node.getExpression() != null) {
++-                TypeMirror exprType = info.getTrees().getTypeMirror(new TreePath(getCurrentPath(), node.getExpression()));
++-                if (isValidType(exprType) && exprType.getKind() == TypeKind.DECLARED) {
++-                    Element el = ((DeclaredType)exprType).asElement();
++-                    enumValues = new HashSet<>();
++-                    for (Element f : el.getEnclosedElements()) {
++-                        if (f.getKind() == ElementKind.ENUM_CONSTANT) {
++-                            enumValues.add(f);
++-                        }
++-                    }
++-                }
++-            }
++-            for (CaseTree ct : node.getCases()) {
++-                Boolean res = scan(ct, null);
++-                if (res == Boolean.FALSE) {
++-                    return res;
++-                }
++-                lastCaseExit = res == Boolean.TRUE;
++-                if (ct.getExpression() == null) {
++-                    defaultSeen = true;
++-                } else if (enumValues != null ) {
++-                    TreePath casePath = new TreePath(getCurrentPath(), ct);
++-                    Element v = info.getTrees().getElement(new TreePath(
++-                            casePath, ct.getExpression()));
++-                    if (v != null) {
++-                        enumValues.remove(v);
++-                    }
++-                }
++-            }
++-            if (enumValues != null && enumValues.isEmpty()) {
++-                defaultSeen = true;
++-            }
++-            return lastCaseExit == Boolean.TRUE && defaultSeen;
++-        }
++-        
+++
++         @Override
++         public Boolean visitReturn(ReturnTree node, Void p) {
++             return true;
++@@ -1396,17 +1271,12 @@ public class Utilities {
++ 
++         @Override
++         public Boolean visitBreak(BreakTree node, Void p) {
++-            Tree target = info.getTreeUtilities().getBreakContinueTarget(getCurrentPath());
++-            boolean known = seenTrees.contains(target);
++-            if (known) {
++-                targetTrees.add(target);
++-            }
++-            return !known;
+++            return !seenTrees.contains(info.getTreeUtilities().getBreakContinueTarget(getCurrentPath()));
++         }
++ 
++         @Override
++         public Boolean visitContinue(ContinueTree node, Void p) {
++-            return visitBreak(null, p);
+++            return !seenTrees.contains(info.getTreeUtilities().getBreakContinueTarget(getCurrentPath()));
++         }
++ 
++         @Override
++@@ -1426,7 +1296,7 @@ public class Utilities {
++                 }
++             }
++ 
++-            caughtExceptions.push(Pair.of(caught, node));
+++            caughtExceptions.push(caught);
++             
++             try {
++                 return scan(node.getBlock(), p) == Boolean.TRUE || scan(node.getFinallyBlock(), p) == Boolean.TRUE;
++@@ -1440,12 +1310,10 @@ public class Utilities {
++             TypeMirror type = info.getTrees().getTypeMirror(new TreePath(getCurrentPath(), node.getExpression()));
++             boolean isCaught = false;
++ 
++-            OUTER: for (Pair<Set<TypeMirror>, Tree> pair : caughtExceptions) {
++-                Set<TypeMirror> caught = pair.first();
+++            OUTER: for (Set<TypeMirror> caught : caughtExceptions) {
++                 for (TypeMirror c : caught) {
++                     if (info.getTypes().isSubtype(type, c)) {
++                         isCaught = true;
++-                        targetTrees.add(pair.second());
++                         break OUTER;
++                     }
++                 }
++@@ -1866,8 +1734,6 @@ public class Utilities {
++                 }
++             }            
++         };
++-        ArgumentAttr argumentAttr = ArgumentAttr.instance(jti.getContext());
++-        ArgumentAttr.LocalCacheContext cacheContext = argumentAttr.withLocalCacheContext();
++         try {
++             enter.shadowTypeEnvs(true);
++             Attr attr = Attr.instance(jti.getContext());
++@@ -1877,7 +1743,6 @@ public class Utilities {
++             }
++             return attr.attribStat((JCTree) tree,env);
++         } finally {
++-            cacheContext.leave();
++             log.useSource(prev);
++             log.popDiagnosticHandler(discardHandler);
++             enter.shadowTypeEnvs(false);
++@@ -1996,14 +1861,14 @@ public class Utilities {
++                 exp = previousPath;
++                 break;
++             }
++-            if (isStatement(t)) {
+++            if (StatementTree.class.isAssignableFrom(c)) {
++                 statement = true;
++                 break;
++             }
++         } while (exp.getParentPath()!= null);
++         TreePath stPath = exp;
++         if (!statement) {
++-            while (stPath != null && !(isStatement(stPath.getLeaf()))) {
+++            while (stPath != null && !(stPath.getLeaf() instanceof StatementTree)) {
++                 stPath = stPath.getParentPath();
++             }
++         }
++@@ -2178,29 +2043,10 @@ public class Utilities {
++      * @return detected conflicts.
++      */
++     public static Map<? extends ExecutableElement, ? extends ExecutableElement>  findConflictingMethods(CompilationInfo info, TypeElement clazz, Iterable<? extends ExecutableElement> methods) {
++-        return findConflictingMethods(info, clazz, false, methods);
++-    }
++-    
++-    /**
++-     * Finds conflicting declarations of methods. Unlike {@link #findConflictingMethods(org.netbeans.api.java.source.CompilationInfo, javax.lang.model.element.TypeElement, java.lang.Iterable)},
++-     * it also considers visible methods inherited from supertypes, if `inherited' parameter is true.
++-     * 
++-     * @param info context
++-     * @param clazz class to inspect
++-     * @param inherited if true, inspects also inherited methods
++-     * @param methods methods to check
++-     * @return list of conflicting methods
++-     */
++-    public static Map<? extends ExecutableElement, ? extends ExecutableElement>  findConflictingMethods(CompilationInfo info, TypeElement clazz, boolean inherited, Iterable<? extends ExecutableElement> methods) {
++         final Map<Name, Collection<ExecutableElement>> currentByName = new HashMap<>();
++         Map<ExecutableElement, ExecutableElement> ret = new HashMap<>();
++-        Iterable<? extends Element> col;
++-        if (inherited) {
++-            col = info.getElementUtilities().getMembers(clazz.asType(), null);
++-        } else {
++-            col = clazz.getEnclosedElements();
++-        }
++-        for (Element e : col) {
+++        
+++        for (Element e : clazz.getEnclosedElements()) {
++             if (e.getKind() != ElementKind.METHOD) {
++                 continue;
++             }
++@@ -2251,747 +2097,5 @@ public class Utilities {
++         }
++         return ret;
++     }
++-    
++-    private static boolean isSuperCtorInvocation(Tree t) {
++-        if (t.getKind() == Tree.Kind.EXPRESSION_STATEMENT) {
++-            t = ((ExpressionStatementTree)t).getExpression();
++-        }
++-        if (t.getKind() != Tree.Kind.METHOD_INVOCATION) {
++-            return false;
++-        }
++-        MethodInvocationTree mit = (MethodInvocationTree)t;
++-        if (mit.getMethodSelect() == null || 
++-            mit.getMethodSelect().getKind() != Tree.Kind.IDENTIFIER) {
++-            return false;
++-        }
++-        return ((IdentifierTree)mit.getMethodSelect()).getName().contentEquals("super");
++-    }
++-    
++-    public static final int INSERT_POS_CHILD = 0;
++-    public static final int INSERT_POS_THEN = 0;
++-    public static final int INSERT_POS_ELSE = 1;
++-    public static final int INSERT_POS_UPDATE = 2;
++-    public static final int INSERT_POS_INIT = 1;
++-    public static final int INSERT_POS_RESOURCES = 1;
++-
++ 
++-    /**
++-     * Inserts a statement using an anchor. Only inserts to an existing tree is supported, this method variant should not be used
++-     * to create tree branches which do not exist yet (i.e. insert into else part of `if', which does not exist yet).
++-     * Statements are inserted immediately before, or after the given anchor. Anchor identifies a statement; if the anchor leaf Tree
++-     * is not a statement, the methods uses the closest parent StatementTree as an anchor.
++-     * <p/>
++-     * Things which are handled automatically:
++-     * <ul>
++-     * <li>change to Block from single statement for if/cycle children
++-     * <li>change from expression lambda to statement lambda
++-     * <li>insertion into block, case or control statement structure
++-     * <li>insertion into for init or update parts
++-     * </ul>
++-     * 
++-     * @param wc working copy for creating Trees
++-     * @param anchor anchor to insert before/after
++-     * @param before code to insert before
++-     * @param after code to insert after
++-     * @return parent of the inserted code.
++-     */
++-    public static Tree insertStatement(WorkingCopy wc, TreePath anchor, List<? extends StatementTree> before, List<? extends StatementTree> after) {
++-        anchor = findStatementOrExpression(anchor);
++-        return insertStatement(wc, anchor.getParentPath(), anchor.getLeaf(), before, after, 0);
++-    }
++-    
++-    /**
++-     * Inserts a statement inside a block or before/after an anchor.
++-     * To insert a statement into an empty block, specify the parentBlock, no anchor. Statements
++-     * will be inserted at the start of the block. If no anchor is provided, `before' statements
++-     * are inserted at the start of parentBlock, afterStatements at the end of it.
++-     * <p/>
++-     * Some controls flow statements have multiple parts where statements may be inserted. If
++-     * no anchor is specified (which points exactly on the proper part), the `position' specifies
++-     * where the new statements should be inserted.
++-     * <ul>
++-     * <li>for(<b>INSERT_POS_INIT</b>; ... ; <b>INSERT_POS_UPDATE</b>) <b>INSERT_POS_CHILD</b>
++-     * <li>if (...) <b>INSERT_POS_THEN</b> else <b>INSERT_POS_ELSE</b>
++-     * </ul>
++-     * <p/>
++-     * If the parentBlock (or parent of the anchor) is not a block, but a single child statement of a control flow tree, it
++-     * will be replaced by a proper BlockTree.
++-     * <p/>
++-     * Note that the return value is somewhat fuzzy. The parent of the inserted statments will be returned, but
++-     * the parent may be a control flow tree (i.e. for if update statement is changed) or it can be a surrounding BlockTree
++-     * (i.e. body block of `for' or `try' statement)
++-     * <p/>
++-     * When inserting statements <b>at the start of constructors</b> the method checks whether the inserted code contains a super call.
++-     * If it does not, it will actually insert the stament <i>after super() constructor call</i>. This allows generic code that inserts
++-     * statements at start of (any) block to handle constructors gracefully without special cases. 
++-     * 
++-     * @param wc factory for Trees
++-     * @param parentBlock parent tree, may be {@code null} if anchor is specified
++-     * @param anchor anchor before/after which the statements are inserted, may be {@code null}
++-     * @param after statements to insert after the anchor or at the end of block
++-     * @param before statemtents to isnert before the anchor or at the start of block
++-     * @param position for control flow commands, specifies the part where new statements should be inserted
++-     * @return parent of the inserted statements
++-     */
++-    public static Tree insertStatement(WorkingCopy wc, TreePath parentBlock,
++-            Tree anchor, List<? extends StatementTree> before, List<? extends StatementTree> after, int position) {
++-        if (parentBlock == null) {
++-            throw new IllegalArgumentException("One of parent/anchor must be specified");
++-        }
++-         List<StatementTree> list = new ArrayList<>();
++-        Tree parent = wc.resolveRewriteTarget(parentBlock.getLeaf());
++-        TreePath parentPath = parent == parentBlock ? parentBlock : new TreePath(parentBlock.getParentPath(), parent);
++-        TreeMaker mk = wc.getTreeMaker();
++-        Tree child = null;
++-        List<? extends StatementTree> forInit = null;
++-        List<? extends ExpressionStatementTree> forUpdate = null;
++-        boolean superInvocationPresent = false;
++-        boolean convertExpressionLambda = false;
++-        
++-        switch (parent.getKind()) {
++-            case LAMBDA_EXPRESSION: {
++-                LambdaExpressionTree let = (LambdaExpressionTree)parent;
++-                // since it is a parent, it must be a expression lambda
++-                child = let.getBody();
++-                convertExpressionLambda = let.getBodyKind() == LambdaExpressionTree.BodyKind.EXPRESSION;
++-                break;
++-            }
++-            case TRY:
++-                child = ((TryTree)parent).getFinallyBlock();
++-                break;
++-            case IF:
++-                child = position != INSERT_POS_ELSE ? 
++-                        ((IfTree)parent).getThenStatement() :
++-                        ((IfTree)parent).getElseStatement();
++-                break;
++-            case DO_WHILE_LOOP:
++-                child = ((DoWhileLoopTree)parent).getStatement();
++-                break;
++-            case WHILE_LOOP:
++-                child = ((WhileLoopTree)parent).getStatement();
++-                break;
++-            case CASE:
++-                // special case for now;
++-                list.addAll(((CaseTree)parent).getStatements());
++-                break;
++-            case FOR_LOOP:
++-                forInit = ((ForLoopTree)parent).getInitializer();
++-                forUpdate = ((ForLoopTree)parent).getUpdate();
++-                switch (position) {
++-                    case INSERT_POS_INIT:
++-                        list.addAll(forInit);
++-                        break;
++-                    case INSERT_POS_UPDATE:
++-                        list.addAll(forUpdate);
++-                        break;
++-                    default:
++-                        child = ((ForLoopTree)parent).getStatement();
++-                }
++-                break;
++-            case ENHANCED_FOR_LOOP:
++-                child = ((ForLoopTree)parent).getStatement();
++-                break;
++-            case BLOCK: {
++-                // possible special case: if the block's parent is a constructor, the statements
++-                // may start with a super constructor call:
++-                List<? extends StatementTree> stats = getRealStatements(wc, parentPath);
++-                if (parentBlock.getParentPath().getLeaf().getKind() == Tree.Kind.METHOD &&
++-                    ((MethodTree)parentBlock.getParentPath().getLeaf()).getName().contentEquals("<init>")) {
++-                    superInvocationPresent = !stats.isEmpty() && isSuperCtorInvocation(stats.get(0));
++-                }
++-                list.addAll(stats);
++-                break;
++-            }
++-            default:
++-                throw new IllegalArgumentException("Unsupported parent kind: " + parentBlock.getLeaf().getKind());
++-        }
++-        Tree result = null;
++-        if (child == null) {
++-            int indexAt = 0;
++-            List<StatementTree> newList = new ArrayList<>(list.size());
++-            if (anchor != null) {
++-                indexAt = list.indexOf(anchor);
++-                if (indexAt == -1) {
++-                    throw new IllegalArgumentException("Anchor not proper child of its parent");
++-                }
++-            } else if (superInvocationPresent && before != null) {
++-                if (indexAt == 0 && !isSuperCtorInvocation(before.get(0))) {
++-                    indexAt = 1;
++-                }
++-            }
++-            
++-            // if no anchor is defined, either nothing, or ctor invocation will be inserted
++-            newList.addAll(list.subList(0, indexAt));
++-            if (before != null) {
++-                newList.addAll(before);
++-            }
++-            if (anchor != null) {
++-                newList.add((StatementTree)anchor);
++-            } else {
++-                newList.addAll(list.subList(indexAt, list.size()));
++-            }
++-            if (after != null) {
++-                newList.addAll(after);
++-            }
++-            if (anchor != null) {
++-                newList.addAll(list.subList(indexAt + 1, list.size()));
++-            }
++-            Tree newChild = newList.size() == 1 ? 
++-                    newList.get(0) :
++-                    mk.Block(newList, false);
++-            switch (parent.getKind()) {
++-                case TRY:
++-                    switch (position) {
++-                        case INSERT_POS_RESOURCES:
++-                            wc.rewrite(parent,
++-                                result = mk.Try(
++-                                    newList,
++-                                    ((TryTree)parent).getBlock(),
++-                                    ((TryTree)parent).getCatches(),
++-                                    ((TryTree)parent).getFinallyBlock()
++-                            ));
++-                            break;
++-                        default:
++-                            result = mk.Try(
++-                                    ((TryTree)parent).getResources(),
++-                                    ((TryTree)parent).getBlock(),
++-                                    ((TryTree)parent).getCatches(),
++-                                    mk.Block(newList, false)
++-                            );
++-                            wc.rewrite(parent, result);
++-                            break;
++-                    }
++-                    break;
++-                case IF:
++-                    switch (position) {
++-                        case INSERT_POS_ELSE:
++-                            wc.rewrite(parent, 
++-                                result = mk.If(
++-                                    ((IfTree)parent).getCondition(),
++-                                    ((IfTree)parent).getThenStatement(),
++-                                    (StatementTree)newChild
++-                                )
++-                            );
++-                            break;
++-                        default:
++-                            wc.rewrite(parent, 
++-                                result = mk.If(
++-                                    ((IfTree)parent).getCondition(),
++-                                    (StatementTree)newChild,
++-                                    ((IfTree)parent).getElseStatement()
++-                                )
++-                            );
++-                            break;
++-                    }
++-                    break;
++-                case CASE:
++-                    wc.rewrite(parent, 
++-                        result = mk.Case(((CaseTree)parent).getExpression(), newList)
++-                    );
++-                    break;
++-                case FOR_LOOP:
++-                    switch (position) {
++-                        case INSERT_POS_INIT:
++-                            wc.rewrite(
++-                                parent,
++-                                result = mk.ForLoop(
++-                                    newList, 
++-                                    ((ForLoopTree)parent).getCondition(),
++-                                    forUpdate,
++-                                    ((ForLoopTree)parent).getStatement()
++-                            ));
++-                            break;
++-
++-                        case INSERT_POS_UPDATE:
++-                            wc.rewrite(parent,
++-                                result = mk.ForLoop(
++-                                    forInit,
++-                                    ((ForLoopTree)parent).getCondition(),
++-                                    (List<? extends ExpressionStatementTree>)(List)newList,
++-                                    ((ForLoopTree)parent).getStatement()
++-                            ));
++-                            break;
++-
++-                        default:
++-                            throw new IllegalArgumentException();
++-                    }
++-                    break;
++-                case BLOCK:
++-                    wc.rewrite(parent,
++-                        mk.Block(
++-                            newList, ((BlockTree)parent).isStatic()));
++-                    break;
++-                default:
++-                    throw new IllegalArgumentException();
++-            }
++-        } else if (child.getKind() == Tree.Kind.BLOCK) {
++-            list = (List)getRealStatements(wc, new TreePath(parentPath, child));
++-            int indexAt = 0;
++-            List<StatementTree> newList = new ArrayList<>(list.size());
++-            if (anchor != null) {
++-                indexAt = list.indexOf(anchor);
++-                if (indexAt == -1) {
++-                    throw new IllegalArgumentException("Anchor not proper child of its parent");
++-                }
++-            }
++-            newList.addAll(list.subList(0, indexAt));
++-            if (before != null) {
++-                newList.addAll(before);
++-            }
++-            if (anchor != null) {
++-                newList.add((StatementTree)anchor);
++-            } else {
++-                newList.addAll(list);
++-            }
++-            if (after != null) {
++-                newList.addAll(after);
++-            }
++-            Tree newChild = mk.Block(newList, false);
++-            wc.rewrite(child, newChild);
++-        } else {
++-            Tree toRewrite = child;
++-            List<StatementTree> newList = new ArrayList<>();
++-            if (before != null) {
++-                newList.addAll(before);
++-            }
++-            // special cases for expression Lambdas, which become statement ones:
++-            Tree ch = child;
++-            if (convertExpressionLambda) {
++-                LambdaExpressionTree let = (LambdaExpressionTree)parent;
++-                TypeMirror oldType = wc.getTrees().getTypeMirror(new TreePath(parentBlock, let.getBody()));
++-                // replace former expression with expression statement or return
++-                if (!isStatement(child)) {
++-                    if (oldType != null && oldType.getKind() != TypeKind.VOID) {
++-                        newList.add(
++-                            mk.asReplacementOf(
++-                                    mk.Return((ExpressionTree)let.getBody()), child
++-                        ));
++-                    } else {
++-                        newList.add(
++-                            mk.ExpressionStatement((ExpressionTree)let.getBody())
++-                        );
++-                    }
++-                }
++-            } else {
++-                newList.add((StatementTree)wc.resolveRewriteTarget(ch));
++-            }
++-            if (after != null) {
++-                newList.addAll(after);
++-            }
++-            result = mk.Block(newList, false);
++-            // special cases for expression Lambdas, which become statement ones:
++-            if (convertExpressionLambda) {
++-                LambdaExpressionTree let = (LambdaExpressionTree)parent;
++-                toRewrite = mk.LambdaExpression(
++-                    let.getParameters(),
++-                    result
++-                );
++-            }
++-            wc.rewrite(toRewrite, result);
++-        }
++-        return result;
++-    }
++-    
++-    /**
++-     * Removes the statement. If the statement is the only child statement of
++-     * an if, while, do-while - replaces the statement with an empty block.
++-     * 
++-     * @param wc working copy for creating trees
++-     * @param toRemove path to the statement to be removed
++-     */
++-    public static Tree removeStatement(WorkingCopy wc, TreePath toRemove) {
++-        return removeStatements (wc, toRemove, null);
++-    }
++-    
++-    /**
++-     * Finds the entire statement up the tree. For code nested in blocks or control
++-     * flow statements, find the statement (i.e ExpressionStatement for an ExpressionTree).
++-     * For initializers and update statements, find that init/update statement nested in for cycle.
++-     * For expression lambdas, returns the outermost expression.
++-     * <p/>
++-     * Returns {@code null} if it cannot find enclosing statement.
++-     * 
++-     * @param path where to start
++-     * @return the nearest statement or entire expression
++-     */
++-    public static TreePath findStatementOrExpression(TreePath path) {
++-        while (!isStatement(path.getLeaf())) {
++-            Tree l = path.getLeaf();
++-            TreePath next = path.getParentPath();
++-            if (next == null) {
++-                return null;
++-            }
++-            Tree t = next.getLeaf();
++-            if (TreeUtilities.CLASS_TREE_KINDS.contains(t.getKind())) {
++-                return null;
++-            }
++-            if (t.getKind() == Tree.Kind.LAMBDA_EXPRESSION) {
++-                break;
++-            }
++-            path = next;
++-        }
++-        return path;
++-    }
++-    
++-    public static Tree removeStatements(WorkingCopy wc, TreePath toRemove, Tree removeEnd) {
++-        toRemove = findStatementOrExpression(toRemove);
++-        TreePath parent = toRemove.getParentPath();
++-        switch (parent.getLeaf().getKind()) {
++-            case EXPRESSION_STATEMENT:
++-                return removeStatement(wc, parent);
++-
++-            // removing last statement from lambda may introduce an error
++-            // -- missing return statement.
++-            case LAMBDA_EXPRESSION:
++-            case WHILE_LOOP:
++-            case DO_WHILE_LOOP:
++-            case FOR_LOOP:
++-            case ENHANCED_FOR_LOOP:
++-            case IF:
++-                // since direct child was removed, we need to add an empty statement.
++-                // but since semicolon itself would be nearly invisible, I add an empty block
++-                // instead.
++-                return replaceStatement(wc, toRemove, 
++-                        Collections.singletonList(
++-                                wc.getTreeMaker().Block(Collections.emptyList(), false)
++-                        ));
++-                
++-            case BLOCK: {
++-                BlockTree bt = (BlockTree)parent.getLeaf();
++-                List<? extends StatementTree> stats = getRealStatements(wc, parent);
++-                int index = stats.indexOf(toRemove.getLeaf());
++-                if (index == -1) {
++-                    throw new IllegalArgumentException("Not proper child of the parent path");
++-                }
++-                int indexTo = index;
++-                if (removeEnd != null) {
++-                    indexTo = stats.indexOf(indexTo);
++-                    if (indexTo == -1) {
++-                        throw new IllegalArgumentException("Not proper child of the parent path");    
++-                    }
++-                }
++-                List<StatementTree> sts = new ArrayList<>(stats.size() -1);
++-                if (index > 0) {
++-                    sts.addAll(stats.subList(0, index));
++-                }
++-                sts.addAll(stats.subList(indexTo + 1, stats.size()));
++-                
++-                BlockTree nb = wc.getTreeMaker().Block(sts, bt.isStatic());
++-                
++-                // TODO: special case for lambda expressions; if the block is a single return statement,
++-                // the parent lambda may be rewritten to an expression lambda
++-                wc.rewrite(parent.getLeaf(), nb);
++-                return nb;
++-            }
++-        }
++-        throw new IllegalArgumentException("Unknown parent type");
++-    }
++-    
++-    private static List<? extends StatementTree> getRealStatements(CompilationInfo info, TreePath path) {
++-        assert path.getLeaf().getKind() == Tree.Kind.BLOCK;
++-        BlockTree bt = (BlockTree)path.getLeaf();
++-        List<? extends StatementTree> stats = bt.getStatements();
++-        if (stats.isEmpty()) {
++-            return stats;
++-        }
++-        List<StatementTree> newStats = null;
++-        for (int i = 0; i < stats.size(); i++) {
++-            StatementTree t = stats.get(i);
++-            TreePath stPath = new TreePath(path, t);
++-            if (info.getTreeUtilities().isSynthetic(stPath)) {
++-                newStats = new ArrayList<>(stats.size());
++-            } else {
++-                newStats = new ArrayList<>(stats.size());
++-                newStats.addAll(stats.subList(i, stats.size()));
++-                break;
++-            }
++-        }
++-        return newStats == null ? stats : newStats;
++-    }
++-
++-    /**
++-     * Replaces statement for one or more statements. If the replaced statement
++-     * is a direct child of if, while etc, an intermediate BlockTree is created.
++-     * If the replacement contains VariableTrees, the caller must ensure they do not conflict with
++-     * existing declarations in scope.
++-     * 
++-     * @param wc working copy
++-     * @param tp path to replace
++-     * @param stats new statements to appear at the position
++-     * @return the parent of the replaced statement.
++-     */
++-    public static Tree replaceStatement(WorkingCopy wc, 
++-            TreePath tp, List<? extends StatementTree> stats) {
++-        if (!isStatement(tp.getLeaf())) {
++-            throw new IllegalArgumentException();
++-        }
++-        if (stats == null || stats.isEmpty()) {
++-            return removeStatement(wc, tp);
++-        }
++-        return replaceStatements(wc, tp, null, stats);
++-    }
++-    
++-    private static boolean isStatement(Tree t) {
++-        return StatementTree.class.isAssignableFrom(t.getKind().asInterface());
++-    }
++-    
++-    public static Tree replaceStatements(WorkingCopy wc, 
++-            TreePath tp, Tree last, List<? extends StatementTree> stats) {
++-        tp = findStatementOrExpression(tp);
++-        if (tp == null) {
++-            throw new IllegalArgumentException();
++-        }
++-        if (stats == null || stats.isEmpty()) {
++-            return removeStatements(wc, tp, last);
++-        }
++-
++-        TreeMaker make = wc.getTreeMaker();
++-        List<? extends Tree> statements;
++-        Tree parent = tp.getParentPath().getLeaf();
++-        
++-        boolean trueBranch = false;
++-        
++-        switch (parent.getKind()) {
++-            case LAMBDA_EXPRESSION:
++-                // special case: if replacing with a single replacement
++-                if (stats.size() == 1) {
++-                    LambdaExpressionTree let = (LambdaExpressionTree)parent;
++-                    StatementTree st = stats.get(0);
++-                    if (st.getKind() == Tree.Kind.RETURN) {
++-                        Tree x = ((ReturnTree)st).getExpression();
++-                        if (let.getBodyKind() == LambdaExpressionTree.BodyKind.EXPRESSION) {
++-                            wc.rewrite(let.getBody(), x);
++-                            return let;
++-                        } else {
++-                            Tree t = make.LambdaExpression(let.getParameters(), x);
++-                            wc.rewrite(let, t);
++-                            return let;
++-                        }
++-                    }
++-                    // normal statement
++-                    if (let.getBodyKind() == LambdaExpressionTree.BodyKind.EXPRESSION) {
++-                        Tree t = make.LambdaExpression(let.getParameters(), 
++-                                make.Block(stats, false));
++-                        wc.rewrite(let, t);
++-                        return let;
++-                    } else {
++-                        Tree t = make.Block(stats, false);
++-                        wc.rewrite(let.getBody(), t);
++-                        return let;
++-                    }
++-                }
++-                
++-                // this must be an expression lambda
++-                statements = Collections.singletonList(
++-                    ((LambdaExpressionTree)parent).getBody()
++-                );
++-                break;
++-            case IF:
++-                trueBranch = ((IfTree)parent).getThenStatement() == tp.getLeaf();
++-                statements = Collections.singletonList(
++-                    trueBranch ?
++-                        ((IfTree)parent).getThenStatement() :
++-                        ((IfTree)parent).getElseStatement()
++-                );
++-                break;
++-                
++-            case WHILE_LOOP:
++-                statements = Collections.singletonList(
++-                    ((WhileLoopTree)parent).getStatement()
++-                );
++-                break;
++-            case DO_WHILE_LOOP:
++-                statements = Collections.singletonList(
++-                    ((DoWhileLoopTree)parent).getStatement()
++-                );
++-                break;
++-            case FOR_LOOP:
++-                statements = Collections.singletonList(
++-                    ((ForLoopTree)parent).getStatement()
++-                );
++-                break;
++-            case ENHANCED_FOR_LOOP:
++-                statements = Collections.singletonList(
++-                    ((EnhancedForLoopTree)parent).getStatement()
++-                );
++-                break;
++-            case BLOCK: statements = getRealStatements(wc, tp.getParentPath()); break;
++-            case CASE: statements = ((CaseTree) parent).getStatements(); break;
++-            case METHOD:  {
++-                // replacing entire body of the method
++-                BlockTree methodBody;
++-                if (stats.size() == 1 && stats.get(0).getKind() == Tree.Kind.BLOCK) {
++-                    methodBody = (BlockTree)stats.get(0);
++-                } else {
++-                    methodBody = wc.getTreeMaker().Block(stats, false);
++-                }
++-                wc.rewrite(((MethodTree)parent).getBody(), methodBody);
++-                return methodBody;
++-            }
++-            default: throw new IllegalStateException(parent.getKind().name());
++-        }
++-        
++-        Tree var = (Tree) tp.getLeaf();
++-        int current = statements.indexOf(tp.getLeaf());
++-        int upTo = current;
++-        if (last != null) {
++-            upTo = statements.indexOf(last);
++-            if (upTo == -1) {
++-                throw new IllegalArgumentException();
++-            }
++-        }
++-        List<StatementTree> newStatements = new ArrayList<>();
++-
++-        newStatements.addAll((List)statements.subList(0, current));
++-        newStatements.add(
++-            make.asReplacementOf(stats.get(0), var)
++-        );
++-        newStatements.addAll(stats.subList(1, stats.size()));
++-        newStatements.addAll((List)statements.subList(upTo + 1, statements.size()));
++-
++-        StatementTree blockOrStat;
++-        
++-        Tree toRewrite = parent;
++-        if (newStatements.size() == 1) {
++-            Tree t = newStatements.get(0);
++-            if (t.getKind() == Tree.Kind.VARIABLE) {
++-                blockOrStat = make.Block((List)newStatements, false);
++-            } else {
++-                blockOrStat = (StatementTree)t;
++-            }
++-        } else {
++-            blockOrStat = make.Block((List)newStatements, false);
++-        }
++-        
++-        Tree target = blockOrStat;
++-        switch (parent.getKind()) {
++-            case LAMBDA_EXPRESSION: {
++-                LambdaExpressionTree let = (LambdaExpressionTree)parent;
++-                if (let.getBodyKind() == LambdaExpressionTree.BodyKind.EXPRESSION) {
++-                    target = make.LambdaExpression(let.getParameters(), blockOrStat);
++-                } else {
++-                    toRewrite = let.getBody();
++-                }
++-                break;
++-            }
++-            case IF:
++-                target = make.If(
++-                        ((IfTree)parent).getCondition(),
++-                        trueBranch ? blockOrStat : ((IfTree)parent).getThenStatement(),
++-                        !trueBranch ? blockOrStat : ((IfTree)parent).getElseStatement()
++-                    );
++-                break;
++-            case WHILE_LOOP:
++-                target = make.WhileLoop(
++-                        ((WhileLoopTree)parent).getCondition(),
++-                        blockOrStat
++-                );
++-                break;
++-            case DO_WHILE_LOOP:
++-                target = make.DoWhileLoop(
++-                        ((DoWhileLoopTree)parent).getCondition(),
++-                        blockOrStat
++-                );
++-                break;
++-            case FOR_LOOP:
++-                target = make.ForLoop(
++-                        ((ForLoopTree)parent).getInitializer(),
++-                        ((ForLoopTree)parent).getCondition(),
++-                        ((ForLoopTree)parent).getUpdate(),
++-                        blockOrStat
++-                );
++-                break;
++-            case ENHANCED_FOR_LOOP:
++-                target = make.EnhancedForLoop(
++-                        ((EnhancedForLoopTree)parent).getVariable(),
++-                        ((EnhancedForLoopTree)parent).getExpression(),
++-                        blockOrStat
++-                );
++-                break;
++-            case BLOCK: target = 
++-                    make.Block(newStatements, ((BlockTree) parent).isStatic()); break;
++-            case CASE: target = 
++-                    make.Case(((CaseTree) parent).getExpression(), newStatements); break;
++-            default: throw new IllegalStateException(parent.getKind().name());
++-        }
++-        StatementTree ret  = (StatementTree)make.asReplacementOf(target, toRewrite);
++-        wc.rewrite(toRewrite, ret);
++-        return ret;
++-    }
++-
++-    /**
++-     * Negates an expression, returns negated Tree. The `original` should be a direct child 
++-     * of `parent' or parent must be {@code null}. With a non-null parent, surrounding parenthesis
++-     * will be added if the language syntax requires it.
++-     * 
++-     * @param make factory for Trees, obtain from WorkingCopy
++-     * @param original the tree to be negated
++-     * @param parent the parent of the negated tree.
++-     * @return negated expression, possibly parenthesized
++-     */
++-    public static ExpressionTree negate(TreeMaker make, ExpressionTree original, Tree parent) {
++-        ExpressionTree newTree;
++-        switch (original.getKind()) {
++-            case PARENTHESIZED:
++-                ExpressionTree expr = ((ParenthesizedTree) original).getExpression();
++-                newTree = negate(make, expr, original);
++-                break;
++-            case LOGICAL_COMPLEMENT:
++-                newTree = ((UnaryTree) original).getExpression();
++-                while (newTree.getKind() == Kind.PARENTHESIZED && !JavaFixUtilities.requiresParenthesis(((ParenthesizedTree) newTree).getExpression(), original, parent)) {
++-                    newTree = ((ParenthesizedTree) newTree).getExpression();
++-                }
++-                break;
++-            case NOT_EQUAL_TO:
++-                newTree = negateBinaryOperator(make, original, Kind.EQUAL_TO, false);
++-                break;
++-            case EQUAL_TO:
++-                newTree = negateBinaryOperator(make, original, Kind.NOT_EQUAL_TO, false);
++-                break;
++-            case BOOLEAN_LITERAL:
++-                newTree = make.Literal(!(Boolean) ((LiteralTree) original).getValue());
++-                break;
++-            case CONDITIONAL_AND:
++-                newTree = negateBinaryOperator(make, original, Kind.CONDITIONAL_OR, true);
++-                break;
++-            case CONDITIONAL_OR:
++-                newTree = negateBinaryOperator(make, original, Kind.CONDITIONAL_AND, true);
++-                break;
++-            case LESS_THAN:
++-                newTree = negateBinaryOperator(make, original, Kind.GREATER_THAN_EQUAL, false);
++-                break;
++-            case LESS_THAN_EQUAL:
++-                newTree = negateBinaryOperator(make, original, Kind.GREATER_THAN, false);
++-                break;
++-            case GREATER_THAN:
++-                newTree = negateBinaryOperator(make, original, Kind.LESS_THAN_EQUAL, false);
++-                break;
++-            case GREATER_THAN_EQUAL:
++-                newTree = negateBinaryOperator(make, original, Kind.LESS_THAN, false);
++-                break;
++-            default:
++-                newTree = make.Unary(Kind.LOGICAL_COMPLEMENT, original);
++-                if (JavaFixUtilities.requiresParenthesis(original, original, newTree)) {
++-                    newTree = make.Unary(Kind.LOGICAL_COMPLEMENT, make.Parenthesized(original));
++-                }
++-                break;
++-        }
++-
++-        if (JavaFixUtilities.requiresParenthesis(newTree, original, parent)) {
++-            newTree = make.Parenthesized(newTree);
++-        }
++-
++-        return newTree;
++-    }
++-
++-    private static ExpressionTree negateBinaryOperator(TreeMaker make, Tree original, Kind newKind, boolean negateOperands) {
++-        BinaryTree bt = (BinaryTree) original;
++-        ExpressionTree left = bt.getLeftOperand();
++-        ExpressionTree right = bt.getRightOperand();
++-        if (negateOperands) {
++-            left = negate(make, left, original);
++-            right = negate(make, right, original);
++-        }
++-        return make.Binary(newKind, left, right);
++-    }
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/friendapi/SourceChangeUtils.java b/java.hints/src/org/netbeans/modules/java/hints/friendapi/SourceChangeUtils.java
++deleted file mode 100644
++index 0e5478c0e..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/friendapi/SourceChangeUtils.java
+++++ /dev/null
++@@ -1,68 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.friendapi;
++-
++-import java.util.Set;
++-import javax.lang.model.element.Element;
++-import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.modules.java.hints.OrganizeImports;
++-
++-/**
++- * Provides access to selected functions for friend modules. Not an official API - 
++- * may be changed without further notice.
++- * @author sdedic
++- * @since 1.82
++- */
++-public class SourceChangeUtils {
++-    /**
++-     * Organizes imports. Adds imports according to parameters, reorganizes imports
++-     * to use stars accoridng to coding style. If 'cleanImports' is true, 
++-     * 
++-     * @param copy
++-     * @param addImports imports to add
++-     * @param cleanImports if true, attempts to cleanup star imports
++-     * @throws IllegalStateException 
++-     */
++-    public static void doOrganizeImports(WorkingCopy copy, Set<Element> addImports, boolean cleanImports) throws IllegalStateException {
++-        OrganizeImports.doOrganizeImports(copy, addImports, cleanImports);
++-    }
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/infrastructure/EmbeddedHintsCollector.java b/java.hints/src/org/netbeans/modules/java/hints/infrastructure/EmbeddedHintsCollector.java
++deleted file mode 100644
++index e573d6955..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/infrastructure/EmbeddedHintsCollector.java
+++++ /dev/null
++@@ -1,167 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.infrastructure;
++-
++-import java.util.ArrayList;
++-import java.util.Collection;
++-import java.util.Collections;
++-import java.util.List;
++-import java.util.Map;
++-import java.util.WeakHashMap;
++-import org.netbeans.api.editor.mimelookup.MimeRegistration;
++-import org.netbeans.api.java.source.JavaParserResultTask;
++-import org.netbeans.api.java.source.JavaSource;
++-import org.netbeans.api.java.source.JavaSource.Phase;
++-import org.netbeans.modules.parsing.api.Snapshot;
++-import org.netbeans.modules.parsing.spi.IndexingAwareParserResultTask;
++-import org.netbeans.modules.parsing.spi.Parser;
++-import org.netbeans.modules.parsing.spi.Scheduler;
++-import org.netbeans.modules.parsing.spi.SchedulerEvent;
++-import org.netbeans.modules.parsing.spi.SchedulerTask;
++-import org.netbeans.modules.parsing.spi.TaskFactory;
++-import org.netbeans.modules.parsing.spi.TaskIndexingMode;
++-import org.netbeans.spi.editor.hints.ErrorDescription;
++-import org.netbeans.spi.editor.hints.HintsController;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-
++-public class EmbeddedHintsCollector extends JavaParserResultTask<Parser.Result> {
++-    private static final Map<Snapshot, List<ErrorDescription>> hints = new WeakHashMap();
++-    
++-    public static void setAnnotations(Snapshot snap, List<ErrorDescription> descs) {
++-        if (snap.getMimePath().size() == 1) {
++-            HintsController.setErrors(snap.getSource().getDocument(false), "java-hints", descs);
++-            return;
++-        }
++-        
++-        synchronized (hints) {
++-            hints.put(snap, descs);
++-        }
++-    }
++-    
++-    private boolean javaFound;
++-    
++-    private volatile boolean cancelled;
++-    
++-    public EmbeddedHintsCollector() {
++-        super(Phase.PARSED, TaskIndexingMode.DISALLOWED_DURING_SCAN);
++-    }
++-    
++-    private List<ErrorDescription>  allHints;
++-    
++-    private void collectResult(Snapshot snap) {
++-        List<ErrorDescription> partial = hints.get(snap);
++-        if (allHints == null) {
++-            allHints = new ArrayList<>();
++-        }
++-        if (partial != null) {
++-            allHints.addAll(partial);
++-        }
++-    }
++-
++-    @Override
++-    public void run(Parser.Result result, SchedulerEvent event) {
++-        cancelled = false;
++-        final Snapshot mySnapshot = result.getSnapshot();
++-        if (mySnapshot.getMimePath().size() > 1) {
++-            // I do not want the inner mimetype
++-            return;
++-        }
++-        if (mySnapshot.getMimeType().equals("text/x-java")) {
++-            // ignore toplevel java
++-            return;
++-        }
++-        try {
++-            synchronized (hints) {
++-                for (Snapshot snap : hints.keySet()) {
++-                    if (snap.getSource().equals(mySnapshot.getSource())) {
++-                        collectResult(snap);
++-                    }
++-                }
++-            }
++-            if (cancelled) {
++-                return;
++-            }
++-            if (allHints != null) {
++-                HintsController.setErrors(result.getSnapshot().getSource().getDocument(false), "java-hints", allHints);
++-            }
++-        } finally {
++-            synchronized (hints) {
++-                hints.clear();
++-                allHints = null;
++-            }
++-        }
++-    }
++-
++-    @Override
++-    public int getPriority() {
++-        return 10000;
++-    }
++-
++-    @Override
++-    public Class<? extends Scheduler> getSchedulerClass() {
++-        return Scheduler.CURSOR_SENSITIVE_TASK_SCHEDULER;
++-    }
++-
++-    @Override
++-    public void cancel() {
++-        cancelled = true;
++-    }
++-    
++-    
++-    @MimeRegistration(service = TaskFactory.class, mimeType = "")
++-    public static class Factory extends TaskFactory {
++-
++-        @Override
++-        public Collection<? extends SchedulerTask> create(Snapshot snapshot) {
++-            if (snapshot.getMimePath().size() > 1) {
++-                // I do not want the inner mimetype
++-                return Collections.emptyList();
++-            }
++-            return Collections.singleton(new EmbeddedHintsCollector());
++-        }
++-        
++-    }
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProvider.java b/java.hints/src/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProvider.java
++index 1aca20950..8cb7ec43e 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProvider.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProvider.java
++@@ -63,6 +63,7 @@ import java.util.Set;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++ import javax.lang.model.element.Element;
+++import javax.lang.model.element.PackageElement;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.swing.text.BadLocationException;
++@@ -71,7 +72,6 @@ import javax.swing.text.Position;
++ import javax.swing.text.Position.Bias;
++ import javax.swing.text.StyledDocument;
++ import javax.tools.Diagnostic;
++-import org.netbeans.api.editor.document.EditorDocumentUtils;
++ import org.netbeans.api.java.lexer.JavaTokenId;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.JavaParserResultTask;
++@@ -82,7 +82,7 @@ import org.netbeans.api.lexer.TokenSequence;
++ import org.netbeans.lib.editor.util.swing.DocumentUtilities;
++ import org.netbeans.modules.editor.NbEditorDocument;
++ import org.netbeans.modules.editor.java.Utilities;
++-import org.netbeans.modules.java.hints.friendapi.OverrideErrorMessage;
+++import org.netbeans.modules.java.hints.errors.OverrideErrorMessage;
++ import org.netbeans.modules.java.hints.jdk.ConvertToDiamondBulkHint;
++ import org.netbeans.modules.java.hints.jdk.ConvertToLambda;
++ import org.netbeans.modules.java.hints.legacy.spi.RulesManager;
++@@ -95,11 +95,11 @@ import org.netbeans.modules.parsing.spi.SchedulerEvent;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++ import org.netbeans.spi.editor.hints.ErrorDescriptionFactory;
++ import org.netbeans.spi.editor.hints.Fix;
+++import org.netbeans.spi.editor.hints.HintsController;
++ import org.netbeans.spi.editor.hints.LazyFixList;
++ import org.netbeans.spi.editor.hints.Severity;
++ import org.openide.ErrorManager;
++ import org.openide.cookies.LineCookie;
++-import org.openide.filesystems.FileObject;
++ import org.openide.loaders.DataObject;
++ import org.openide.text.Line;
++ import org.openide.text.NbDocument;
++@@ -141,11 +141,6 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++     ErrorDescription processRule(CompilationInfo info, Integer forPosition, Diagnostic d, String code, Map<String, List<ErrorRule>> code2Rules,
++             Map<Class, Data> data, Document doc, boolean processDefault) throws IOException {
++         List<ErrorRule> rules = code2Rules.get(code);
++-        List<ErrorRule> allRules = rules == null ? new ArrayList<ErrorRule>() : new ArrayList<>(rules);
++-        List<ErrorRule> catchAllRules = code2Rules.get("*");
++-        if (catchAllRules != null) {
++-            allRules.addAll(catchAllRules);
++-        }
++ 
++         if (ERR.isLoggable(ErrorManager.INFORMATIONAL)) {
++             ERR.log(ErrorManager.INFORMATIONAL, "code= " + code);
++@@ -155,36 +150,29 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++         LazyFixList ehm;
++         String desc = d.getMessage(null);
++ 
++-        int pos = (int) getPrefferedPosition(info, d);
++-        TreePath path = info.getTreeUtilities().pathFor(pos + 1);
++-        Data ruleData = new Data();
++-        
++-        int messageRuleCount = 0;
++-        for (ErrorRule r : allRules) {
++-            if (!(r instanceof OverrideErrorMessage)) {
++-                continue;
++-            }
++-            OverrideErrorMessage rcm = (OverrideErrorMessage) r;
++-            Data rd = data.get(rcm.getClass());
++-            if (rd == null) {
++-                rd = ruleData;
++-            }
++-            String msg = rcm.createMessage(info, d, pos, path, rd);
++-            if (msg != null) {
++-                if (msg.isEmpty()) {
++-                    // ignore the error
++-                    return null;
+++        if (rules != null) {
+++            int pos = (int) getPrefferedPosition(info, d);
+++            TreePath path = info.getTreeUtilities().pathFor(pos + 1);
+++            Data ruleData = new Data();
+++            for (ErrorRule r : rules) {
+++                if (!(r instanceof OverrideErrorMessage)) {
+++                    continue;
+++                }
+++                OverrideErrorMessage rcm = (OverrideErrorMessage) r;
+++                String msg = rcm.createMessage(info, d.getCode(), pos, path, ruleData);
+++                if (msg != null) {
+++                    if (msg.isEmpty()) {
+++                        // ignore the error
+++                        return null;
+++                    }
+++                    desc = msg;
+++                    if (ruleData.getData() != null) {
+++                        data.put(rcm.getClass(), ruleData);
+++                    }
+++                    break;
++                 }
++-                desc = msg;
++-                break;
++-            }
++-            if (rd.getData() != null) {
++-                data.put(rcm.getClass(), rd);
++-                ruleData = new Data();
++             }
++-        }
++-        if (messageRuleCount < allRules.size()) {
++-            ehm = new CreatorBasedLazyFixList(info.getFileObject(), code, pos, allRules, data);
+++            ehm = new CreatorBasedLazyFixList(info.getFileObject(), code, pos, rules, data);
++         } else if (processDefault) {
++             ehm = ErrorDescriptionFactory.lazyListForFixes(Collections.<Fix>emptyList());
++         } else {
++@@ -200,7 +188,7 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++             return null;
++         }
++ 
++-        if (range == null || range[0] == null || range[1] == null) {
+++        if (range[0] == null || range[1] == null) {
++             return null;
++         }
++ 
++@@ -497,33 +485,15 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++         }
++         
++         private void findText() {
++-            final int lineNumber = NbDocument.findLineNumber(sdoc, info.getSnapshot().getOriginalOffset(startOffset));
+++            LineCookie lc = dobj.getCookie(LineCookie.class);
+++            int lineNumber = NbDocument.findLineNumber(sdoc, info.getSnapshot().getOriginalOffset(startOffset));
++             lineOffset = NbDocument.findLineOffset(sdoc, lineNumber);
++ 
++             if (rangePrepared) {
++                 return;
++             }
++-            if (dobj == null) {
++-                sdoc.render(new Runnable() {
++-                    public void run() {
++-                        javax.swing.text.Element root = NbDocument.findLineRootElement(sdoc);
++-                        if (root.getElementCount() <= lineNumber) {
++-                            text = null;
++-                        } else{
++-                            try {
++-                                javax.swing.text.Element line = root.getElement(lineNumber);
++-                                text = sdoc.getText(line.getStartOffset(), line.getEndOffset() - line.getStartOffset());
++-                            } catch (BadLocationException ex) {
++-                                text = null;
++-                            }
++-                        }
++-                    }
++-                });
++-            } else {
++-                LineCookie lc = dobj.getCookie(LineCookie.class);
++-                Line line = lc.getLineSet().getCurrent(lineNumber);
++-                text = line.getText();
++-            }
+++            Line line = lc.getLineSet().getCurrent(lineNumber);
+++            text = line.getText();
++ 
++             if (text == null) {
++                 //#116560, (according to the javadoc, means the document is closed):
++@@ -591,22 +561,18 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++     
++     private Position[] getLine(CompilationInfo info, Diagnostic d, final Document doc, int startOffset, int endOffset) throws IOException {
++         StyledDocument sdoc = (StyledDocument) doc;
++-        FileObject f = EditorDocumentUtils.getFileObject(doc);
++-        if (f == null)
+++        DataObject dObj = (DataObject)doc.getProperty(doc.StreamDescriptionProperty );
+++        if (dObj == null)
++             return new Position[] {null, null};
++-        
++-        Object rawProp = doc.getProperty(doc.StreamDescriptionProperty );
++-        DataObject dObj = rawProp instanceof DataObject ? (DataObject)rawProp : null;
++-        
++         int originalStartOffset = info.getSnapshot().getOriginalOffset(startOffset);
++-        int soff = startOffset;
+++        
++         boolean rangePrepared = false;
++ 
++         if (INVALID_METHOD_INVOCATION.contains(d.getCode())) {
++-            int[] span = translatePositions(info, handlePossibleMethodInvocation(info, d, doc, soff, endOffset));
+++            int[] span = translatePositions(info, handlePossibleMethodInvocation(info, d, doc, startOffset, endOffset));
++             
++             if (span != null) {
++-                soff = span[0];
+++                startOffset = span[0];
++                 endOffset = span[1];
++                 rangePrepared = true;
++             }
++@@ -616,7 +582,7 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++             int[] span = translatePositions(info, findUnresolvedElementSpan(info, (int) getPrefferedPosition(info, d)));
++             
++             if (span != null) {
++-                soff = span[0];
+++                startOffset = span[0];
++                 endOffset   = span[1];
++                 rangePrepared = true;
++             }
++@@ -653,7 +619,7 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++                     int[] span = translatePositions(info, new int[] {ts.offset(), ts.offset() + t.length()});
++                     
++                     if (span != null) {
++-                        soff = span[0];
+++                        startOffset = span[0];
++                         endOffset   = span[1];
++                         rangePrepared = true;
++                     }
++@@ -661,14 +627,7 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++             }
++         }
++         
++-        // check that the start offset and end offset map into the document
++-        if (!rangePrepared && (info.getSnapshot().getOriginalOffset(startOffset) == -1 ||
++-            info.getSnapshot().getOriginalOffset(endOffset) == -1)) {
++-            // ignore
++-            return null;
++-        }
++-        
++-        PosExtractor ex = new PosExtractor(info, sdoc, soff, endOffset, dObj, rangePrepared);
+++        PosExtractor ex = new PosExtractor(info, sdoc, startOffset, endOffset, dObj, rangePrepared);
++         // getText also fetches lineOffset
++         final String text = ex.getText();
++         final int lineOffset = ex.lineOffset;
++@@ -681,19 +640,19 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++             int originalEndOffset = info.getSnapshot().getOriginalOffset(endOffset);
++ 
++             if (originalEndOffset <= lineOffset + text.length() && originalStartOffset != (-1) && originalEndOffset != (-1)) {
++-                soff = originalStartOffset;
+++                startOffset = originalStartOffset;
++                 endOffset = originalEndOffset;
++                 rangePrepared = true;
++             }
++         }
++         
++         if (!rangePrepared && USE_PROVIDED_SPAN.contains(d.getCode())) {
++-            soff = originalStartOffset;
+++            startOffset = originalStartOffset;
++             endOffset = info.getSnapshot().getOriginalOffset(endOffset);
++             rangePrepared = true;
++         }
++         
++-        if (!rangePrepared || endOffset < soff) {
+++        if (!rangePrepared || endOffset < startOffset) {
++             int column = 0;
++             int length = text.length();
++ 
++@@ -704,26 +663,18 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++                 length--;
++ 
++             if(length == 0) //whitespace only
++-                soff = lineOffset;
+++                startOffset = lineOffset;
++             else
++-                soff = lineOffset + column;
+++                startOffset = lineOffset + column;
++ 
++             endOffset = lineOffset + length;
++         }
++         
++         if (ERR.isLoggable(ErrorManager.INFORMATIONAL)) {
++-            ERR.log(ErrorManager.INFORMATIONAL, "startOffset = " + soff );
+++            ERR.log(ErrorManager.INFORMATIONAL, "startOffset = " + startOffset );
++             ERR.log(ErrorManager.INFORMATIONAL, "endOffset = " + endOffset );
++         }
++-        if (soff < 0) {
++-            LOG.log(Level.WARNING, "Incorrect offsets computed, add report to https://netbeans.org/bugzilla/show_bug.cgi?id=242191");
++-            LOG.log(Level.WARNING, "Diagnostic: {0}, code: {1} ", new Object[] { d, d.getCode() });
++-            LOG.log(Level.WARNING, "Start: {0}, End: {1}, Soff: {2}, RangePrepared: {3}", new Object[] { startOffset, endOffset, soff, rangePrepared });
++-            LOG.log(Level.WARNING, "Source text:\n--------------------------------------------------------\n" 
++-                    + info.getSnapshot().getText() + 
++-                    "\n--------------------------------------------------------");
++-        }
++-        return ex.getResult(soff, endOffset);
+++        return ex.getResult(startOffset, endOffset);
++     }
++     
++     private boolean cancel;
++@@ -767,7 +718,8 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++ 
++             if (errors == null) //meaning: cancelled
++                 return ;
++-            EmbeddedHintsCollector.setAnnotations(result.getSnapshot(), errors);
+++
+++            HintsController.setErrors(doc, ErrorHintsProvider.class.getName(), errors);
++ 
++             ErrorPositionRefresherHelper.setVersion(doc, errors);
++             
++@@ -824,7 +776,7 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++             if (el == null || el.asType().getKind() == TypeKind.ERROR) {
++                 return d.getStartPosition() - 1;
++             }
++-            /*
+++            
++             if (el.asType().getKind() == TypeKind.PACKAGE) {
++                 //check if the package does actually exist:
++                 String s = ((PackageElement) el).getQualifiedName().toString();
++@@ -833,7 +785,6 @@ public final class ErrorHintsProvider extends JavaParserResultTask {
++                     return d.getStartPosition() - 1;
++                 }
++             }
++-                    */
++             
++             return d.getStartPosition();
++         }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/Bundle.properties b/java.hints/src/org/netbeans/modules/java/hints/introduce/Bundle.properties
++index acdd27a87..c29633efd 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/Bundle.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/Bundle.properties
++@@ -134,5 +134,3 @@ MSG_DuplicateMethodPiece=Replace this duplicate with invocation of the original
++ LBL_PickExpression=Pick expression
++ ERR_No_Valid_Expressions_Found=No valid expressions found
++ IntroduceMethodPanel.jLabel1.text=&Target Class:
++-IntroduceMethodPanel.checkRefactorExisting.text=Point existing references to original method
++-IntroduceFieldPanel.checkRefactorExisting.text=Point existing references to original field
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/ErrorLabel.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/ErrorLabel.java
++new file mode 100644
++index 000000000..a81498dda
++--- /dev/null
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/ErrorLabel.java
++@@ -0,0 +1,141 @@
+++/*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License.  When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * Contributor(s):
+++ *
+++ * The Original Software is NetBeans. The Initial Developer of the Original
+++ * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
+++ * Microsystems, Inc. All Rights Reserved.
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ */
+++package org.netbeans.modules.java.hints.introduce;
+++
+++import javax.swing.Icon;
+++import javax.swing.ImageIcon;
+++import javax.swing.JLabel;
+++import javax.swing.event.DocumentEvent;
+++import javax.swing.event.DocumentListener;
+++import javax.swing.text.BadLocationException;
+++import javax.swing.text.Document;
+++import org.openide.util.ImageUtilities;
+++import org.openide.util.Utilities;
+++
+++/**
+++ * A special label that displays an error message if the text in the document it is
+++ * tracking is not valid.
+++ * 
+++ * @author S. Aubrecht
+++ */
+++class ErrorLabel extends JLabel {
+++    
+++    /**
+++     * Property that is fired when the valid/invalid status of the tracked text document changes.
+++     */
+++    public static final String PROP_IS_VALID = "isValid";
+++    
+++    private Document document;
+++    private Validator validator;
+++    private boolean isValid = true;
+++    
+++    /** Creates a new instance of InputErrorDisplayer 
+++     * @param doc Document to track for editing changes, e.g. from a JTextField
+++     * @param validator The logic that decides whether the text is valid or not.
+++     */
+++    public ErrorLabel( Document doc, Validator validator ) {
+++        setText( null );
+++        setIcon( null );
+++        
+++        assert null != doc;
+++        assert null != validator;
+++        
+++        this.document = doc;
+++        this.validator = validator;
+++        revalidateText();
+++        
+++        doc.addDocumentListener( new DocumentListener() {
+++            public void insertUpdate(DocumentEvent arg0) {
+++                revalidateText();
+++            }
+++
+++            public void removeUpdate(DocumentEvent arg0) {
+++                revalidateText();
+++            }
+++
+++            public void changedUpdate(DocumentEvent arg0) {
+++                revalidateText();
+++            }
+++        });
+++    }
+++    
+++    /**
+++     * @return True if the text in the tracked document is valid.
+++     */
+++    public boolean isInputTextValid() {
+++        return isValid;
+++    }
+++    
+++    protected void revalidateText() {
+++        boolean oldStatus = isValid;
+++        String errMessage = null;
+++        try     {
+++            errMessage = validator.validate( document.getText( 0, document.getLength() ) );
+++        } catch (BadLocationException ex) {
+++            //ignore
+++            return;
+++        }
+++        isValid = errMessage == null;
+++        setText( errMessage );
+++        setIcon( null == errMessage || "".equals(errMessage)? null : getErrorIcon() );
+++            
+++        firePropertyChange( PROP_IS_VALID, oldStatus, isValid);
+++    }
+++    
+++    protected Icon getErrorIcon() {
+++        return ImageUtilities.loadImageIcon("org/netbeans/modules/java/editor/resources/error-glyph.gif", false);
+++    }
+++    
+++    /**
+++     * Validates the given text.
+++     */
+++    public static interface Validator {
+++        /**
+++         * Check the given text and return error message if the text is not valid or null if there are no errors.
+++         * @param text Text to be checked for errors.
+++         * @return Error message to be displayed to the user or null if there no errors in the document.
+++         */
+++        public String validate( String text );
+++    }
+++}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/FieldValidator.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/FieldValidator.java
++deleted file mode 100644
++index da3a60c80..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/FieldValidator.java
+++++ /dev/null
++@@ -1,179 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.introduce;
++-
++-import com.sun.source.tree.Scope;
++-import com.sun.source.util.TreePath;
++-import java.io.IOException;
++-import java.util.Map;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++-import javax.lang.model.element.TypeElement;
++-import javax.lang.model.type.DeclaredType;
++-import javax.lang.model.type.TypeMirror;
++-import org.netbeans.api.java.source.CompilationController;
++-import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.ElementUtilities.ElementAcceptor;
++-import org.netbeans.api.java.source.JavaSource;
++-import org.netbeans.api.java.source.Task;
++-import org.netbeans.api.java.source.TreePathHandle;
++-import org.netbeans.api.java.source.TypeMirrorHandle;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-final class FieldValidator implements MemberValidator {
++-    private final JavaSource            theSource;
++-    private final TypeMirrorHandle      fieldTypeHandle;
++-    
++-    private String             name;
++-    private ElementHandle<Element>  target;
++-    private MemberSearchResult lastResult;
++-
++-    public FieldValidator(JavaSource theSource, TypeMirrorHandle fieldTypeHandle) {
++-        this.theSource = theSource;
++-        this.fieldTypeHandle = fieldTypeHandle;
++-    }
++-    
++-    MemberSearchResult getLastResult() {
++-        return lastResult;
++-    }
++-    
++-    @Override
++-    public synchronized MemberSearchResult validateName(TreePathHandle target, String n) {
++-        if ((target == target || target.equals(target)) && n.equals(name)) {
++-            return lastResult;
++-        }
++-        SearchImpl impl = new SearchImpl(target, n);
++-        try {
++-            theSource.runUserActionTask(impl, true);
++-        } catch (IOException ex) {
++-           return null;
++-        }
++-        
++-        return lastResult;
++-    }
++-    
++-    private class SearchImpl implements Task<CompilationController>, ElementAcceptor {
++-        private final TreePathHandle targetHandle;
++-        private final String name;
++-        
++-        private CompilationInfo cinfo;
++-        private Element target;
++-        private Scope initialScope;
++-
++-        public SearchImpl(TreePathHandle targetHandle, String name) {
++-            this.targetHandle = targetHandle;
++-            this.name = name;
++-        }
++-        
++-        @Override
++-        public void run(CompilationController parameter) throws Exception {
++-            parameter.toPhase(JavaSource.Phase.RESOLVED);
++-            this.cinfo = parameter;
++-            if (targetHandle == null) {
++-                return;
++-            }
++-            TreePath targetPath = targetHandle.resolve(cinfo);
++-            if (target == null) {
++-                return;
++-            }
++-            initialScope = cinfo.getTrees().getScope(targetPath);
++-
++-            Map<? extends Element, Scope> visibleVariables = 
++-                    cinfo.getElementUtilities().findElementsAndOrigins(initialScope, this);
++-
++-            for (Element e : visibleVariables.keySet()) {
++-                if (e.getKind() == ElementKind.FIELD ||
++-                    e.getKind() == ElementKind.ENUM_CONSTANT) {
++-                    Scope def = visibleVariables.get(e);
++-                    TypeElement owner = def.getEnclosingClass();
++-                    if (owner == null) {
++-                        // static import
++-                        lastResult = new MemberSearchResult(ElementHandle.create(e),
++-                            ElementHandle.create((TypeElement)e.getEnclosingElement()));
++-                    } else if (owner == e.getEnclosingElement()) {
++-                        lastResult = new MemberSearchResult(ElementHandle.create(e),
++-                            ElementHandle.create(owner));
++-                    } else {
++-                        // special case - hiding superclass field
++-                        lastResult = new MemberSearchResult(ElementHandle.create(e),
++-                            ElementHandle.create(owner), null);
++-                    }
++-                } else {
++-                    // some locals, report a conflict since the hidden local
++-                    // cannot be dereferenced 
++-                    lastResult = new MemberSearchResult(ElementHandle.create(e));
++-                    return;
++-                }
++-            }
++-        }
++-
++-        @Override
++-        public boolean accept(Element e, TypeMirror type) {
++-            boolean checkAccessible = false;
++-            switch (e.getKind()) {
++-                case ENUM_CONSTANT:
++-                case FIELD:
++-                    checkAccessible = true;
++-                    break;
++-                case PARAMETER:
++-                case LOCAL_VARIABLE:
++-                case EXCEPTION_PARAMETER:
++-                case TYPE_PARAMETER:
++-                case RESOURCE_VARIABLE:
++-                    break;
++-                default:
++-                    return false;
++-            }
++-            if (!e.getSimpleName().contentEquals(name)) {
++-                return false;
++-            }
++-            return !checkAccessible ||
++-                   type == null ||
++-                   cinfo.getTrees().isAccessible(initialScope, e, (DeclaredType)type);
++-        }
++-    }
++-    
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/Flow.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/Flow.java
++index 2665fd539..66f39cffd 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/Flow.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/Flow.java
++@@ -1670,10 +1670,7 @@ public class Flow {
++         }
++ 
++         public Boolean visitCatch(CatchTree node, ConstructorData p) {
++-            inParameters = true;
++-            scan(node.getParameter(), p);
++-            inParameters = false;
++-            scan(node.getBlock(), p);
+++            super.visitCatch(node, p);
++             return null;
++         }
++ 
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/InstanceRefFinder.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/InstanceRefFinder.java
++index 47485068a..a1aed374b 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/InstanceRefFinder.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/InstanceRefFinder.java
++@@ -43,8 +43,10 @@ package org.netbeans.modules.java.hints.introduce;
++ 
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.IdentifierTree;
+++import com.sun.source.tree.LambdaExpressionTree;
++ import com.sun.source.tree.MemberReferenceTree;
++ import com.sun.source.tree.MemberSelectTree;
+++import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.NewClassTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.util.TreePath;
++@@ -57,6 +59,7 @@ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.Modifier;
++ import javax.lang.model.element.NestingKind;
++ import javax.lang.model.element.TypeElement;
+++import javax.lang.model.element.VariableElement;
++ import javax.lang.model.type.DeclaredType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++@@ -242,8 +245,8 @@ public class InstanceRefFinder extends TreePathScanner {
++         }
++         switch (pt.getNestingKind()) {
++             case ANONYMOUS:
++-                // the anonymous class itself may not need an enclosing instance, if its
++-                // contents do not reference anything from the instance.
+++                // anonymous class can be moved, but they contain an implicit instance of this
+++                addRequiredInstance(findEnclosingType(pt));
++                 break;
++                 
++             case LOCAL:
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceConstantFix.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceConstantFix.java
++index 4ef12a8e6..b131fb01e 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceConstantFix.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceConstantFix.java
++@@ -53,7 +53,6 @@ import javax.lang.model.type.TypeKind;
++ import javax.swing.JButton;
++ import org.netbeans.api.java.source.CodeStyle;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.TreeUtilities;
++@@ -90,7 +89,7 @@ public class IntroduceConstantFix extends IntroduceFieldFix {
++     public String getText() {
++         return NbBundle.getMessage(IntroduceConstantFix.class, "FIX_IntroduceConstant");
++     }
++-    
+++
++     /**
++      * Creates an 'introduce constant' fix.
++      *
++@@ -122,11 +121,7 @@ public class IntroduceConstantFix extends IntroduceFieldFix {
++             varName = Utilities.makeNameUnique(info, info.getTrees().getScope(constantTarget), proposed, cs.getStaticFieldNamePrefix(), cs.getStaticFieldNameSuffix());
++         }
++         ClassTree clazz = (ClassTree)constantTarget.getLeaf();
++-        Element el = info.getTrees().getElement(constantTarget);
++-        if (el == null || !(el.getKind().isClass() || el.getKind().isInterface())) {
++-            return null;
++-        }
++-        IntroduceConstantFix fix = new IntroduceConstantFix(h, info.getJavaSource(), varName, numDuplicates, offset, TreePathHandle.create(constantTarget, info));
+++        IntroduceConstantFix fix = new IntroduceConstantFix(h, info.getJavaSource(), varName, numDuplicates, offset);
++         fix.setTargetIsInterface(clazz.getKind() == Tree.Kind.INTERFACE);
++         return fix;
++     }
++@@ -157,8 +152,8 @@ public class IntroduceConstantFix extends IntroduceFieldFix {
++         }
++     }
++ 
++-    public IntroduceConstantFix(TreePathHandle handle, JavaSource js, String guessedName, int numDuplicates, int offset, TreePathHandle target) {
++-        super(handle, js, guessedName, numDuplicates, null, true, true, offset, true, target);
+++    public IntroduceConstantFix(TreePathHandle handle, JavaSource js, String guessedName, int numDuplicates, int offset) {
+++        super(handle, js, guessedName, numDuplicates, null, true, true, offset, true);
++     }
++ 
++     @Override
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceExpressionBasedMethodFix.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceExpressionBasedMethodFix.java
++index f6a895447..2845f0777 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceExpressionBasedMethodFix.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceExpressionBasedMethodFix.java
++@@ -43,6 +43,8 @@ package org.netbeans.modules.java.hints.introduce;
++ 
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.ExpressionTree;
+++import com.sun.source.tree.IdentifierTree;
+++import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.Scope;
++@@ -51,13 +53,15 @@ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.TypeParameterTree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
+++import com.sun.source.util.TreePathScanner;
++ import java.util.ArrayList;
++-import java.util.Collection;
++ import java.util.Collections;
++ import java.util.EnumSet;
+++import java.util.HashSet;
++ import java.util.Iterator;
++ import java.util.LinkedList;
++ import java.util.List;
+++import java.util.Map;
++ import java.util.Set;
++ import java.util.concurrent.atomic.AtomicBoolean;
++ import javax.lang.model.element.Element;
++@@ -65,6 +69,7 @@ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.Modifier;
++ import javax.lang.model.element.TypeElement;
++ import javax.lang.model.element.VariableElement;
+++import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.swing.JButton;
++ import javax.swing.text.Document;
++@@ -84,7 +89,6 @@ import org.netbeans.spi.editor.hints.ChangeInfo;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.openide.DialogDescriptor;
++ import org.openide.DialogDisplayer;
++-import org.openide.NotificationLineSupport;
++ import org.openide.NotifyDescriptor;
++ import org.openide.util.NbBundle;
++ import org.openide.util.Union2;
++@@ -123,11 +127,7 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++                 if (el != null) {
++                     boolean isIface = el.getKind().isInterface();
++                     if (el.getKind().isClass() || isIface) {
++-                        TargetDescription td = TargetDescription.create(info, (TypeElement) el, 
++-                                acceptableParent, duplicatesAcceptable, isIface);
++-                        if (td.type != null && td.type.resolve(info) != null) {
++-                            targets.add(td);
++-                        }
+++                        targets.add(TargetDescription.create(info, (TypeElement) el, duplicatesAcceptable, isIface));
++                         allInterfaces &= isIface;
++                     }
++                 }
++@@ -165,25 +165,23 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++                 return null;
++             }
++             allInterfaces = el.getKind().isInterface();
++-            targets.add(TargetDescription.create(info, (TypeElement) el, clazz, true, el.getKind().isInterface()));
+++            targets.add(TargetDescription.create(info, (TypeElement) el, true, el.getKind().isInterface()));
++         }
++         allIfaces.set(allInterfaces);
++         return targets;
++     }
++     
++-    private final TypeMirrorHandle     returnType;
++     private final List<TreePathHandle> parameters;
++     private final Set<TypeMirrorHandle> thrownTypes;
++     private final List<TreePathHandle> typeVars;
++-    private final Collection<TargetDescription> targets;
+++    private final Map<TargetDescription, Set<String>> targets;
++ 
++-    public IntroduceExpressionBasedMethodFix(JavaSource js, TreePathHandle expression, List<TreePathHandle> parameters, TypeMirrorHandle returnType, Set<TypeMirrorHandle> thrownTypes, int duplicatesCount, List<TreePathHandle> typeVars, int offset, Collection<TargetDescription> targets) {
+++    public IntroduceExpressionBasedMethodFix(JavaSource js, TreePathHandle expression, List<TreePathHandle> parameters, Set<TypeMirrorHandle> thrownTypes, int duplicatesCount, List<TreePathHandle> typeVars, int offset, Map<TargetDescription, Set<String>> targets) {
++         super(js, expression, duplicatesCount, offset);
++         this.parameters = parameters;
++         this.thrownTypes = thrownTypes;
++         this.typeVars = typeVars;
++         this.targets = targets;
++-        this.returnType = returnType;
++     }
++ 
++     public String getText() {
++@@ -199,13 +197,9 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++         JButton btnOk = new JButton(NbBundle.getMessage(IntroduceHint.class, "LBL_Ok"));
++         JButton btnCancel = new JButton(NbBundle.getMessage(IntroduceHint.class, "LBL_Cancel"));
++         IntroduceMethodPanel panel = new IntroduceMethodPanel("", duplicatesCount, targets, targetIsInterface); //NOI18N
+++        panel.setOkButton(btnOk);
++         String caption = NbBundle.getMessage(IntroduceHint.class, "CAP_IntroduceMethod");
++         DialogDescriptor dd = new DialogDescriptor(panel, caption, true, new Object[]{btnOk, btnCancel}, btnOk, DialogDescriptor.DEFAULT_ALIGN, null, null);
++-        NotificationLineSupport notifier = dd.createNotificationLineSupport();
++-        MethodValidator val = new MethodValidator(js, parameters, returnType);
++-        panel.setNotifier(notifier);
++-        panel.setValidator(val);
++-        panel.setOkButton(btnOk);
++         if (DialogDisplayer.getDefault().notify(dd) != btnOk) {
++             return null; //cancel
++         }
++@@ -213,8 +207,6 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++         final Set<Modifier> access = panel.getAccess();
++         final boolean replaceOther = panel.getReplaceOther();
++         final TargetDescription target = panel.getSelectedTarget();
++-        final MemberSearchResult searchResult = val.getResult();
++-        final boolean redoReferences = panel.isRefactorExisting();
++         js.runModificationTask(new Task<WorkingCopy>() {
++             public void run(WorkingCopy copy) throws Exception {
++                 copy.toPhase(JavaSource.Phase.RESOLVED);
++@@ -231,7 +223,7 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++                 if (expression == null || returnType == null) {
++                     return; //TODO...
++                 }
++-                returnType = Utilities.convertIfAnonymous(Utilities.resolveTypeForDeclaration(copy, returnType));
+++                returnType = Utilities.convertIfAnonymous(Utilities.resolveCapturedType(copy, returnType));
++                 final TreeMaker make = copy.getTreeMaker();
++                 Tree returnTypeTree = make.Type(returnType);
++                 List<VariableElement> parameters = IntroduceHint.resolveVariables(copy, IntroduceExpressionBasedMethodFix.this.parameters);
++@@ -294,7 +286,7 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++                 
++                 if (target.iface) {
++                     modifiers.add(Modifier.DEFAULT);
++-                } else if (isStatic && target.canStatic) {
+++                } else if (isStatic) {
++                     modifiers.add(Modifier.STATIC);
++                 }
++                 modifiers.addAll(access);
++@@ -302,13 +294,6 @@ final class IntroduceExpressionBasedMethodFix extends IntroduceFixBase implement
++                 MethodTree method = make.Method(mods, name, returnTypeTree, typeVars, formalArguments, thrown, make.Block(methodStatements, false), null);
++                 ClassTree nueClass = IntroduceHint.INSERT_CLASS_MEMBER.insertClassMember(copy, (ClassTree) pathToClass.getLeaf(), method, offset);
++                 copy.rewrite(pathToClass.getLeaf(), nueClass);
++-                
++-                if (redoReferences) {
++-                    new ReferenceTransformer(
++-                        copy, ElementKind.METHOD,  searchResult,
++-                        name, 
++-                        targetType).scan(pathToClass, null);
++-                }
++             }
++         }).commit();
++         return null;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldFix.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldFix.java
++index c9a924859..3dbb58966 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldFix.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldFix.java
++@@ -68,12 +68,10 @@ import java.util.concurrent.atomic.AtomicBoolean;
++ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.TypeElement;
++ import javax.lang.model.type.ArrayType;
++ import javax.lang.model.type.TypeMirror;
++ import javax.swing.JButton;
++ import javax.swing.text.BadLocationException;
++-import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.SourceUtils;
++ import org.netbeans.api.java.source.Task;
++@@ -99,7 +97,6 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++     private final boolean statik;
++     private final boolean allowFinalInCurrentMethod;
++     private final boolean permitDuplicates;
++-    private final TreePathHandle targetHandle;
++     
++     /**
++      * Initializes the fix
++@@ -113,19 +110,18 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++      * @param offset caret offset
++      */
++     public IntroduceFieldFix(TreePathHandle handle, JavaSource js, String guessedName, 
++-            int numDuplicates, int[] initilizeIn, boolean statik, boolean allowFinalInCurrentMethod, int offset, TreePathHandle target) {
++-        this(handle, js, guessedName, numDuplicates, initilizeIn, statik, allowFinalInCurrentMethod, offset, false, target);
+++            int numDuplicates, int[] initilizeIn, boolean statik, boolean allowFinalInCurrentMethod, int offset) {
+++        this(handle, js, guessedName, numDuplicates, initilizeIn, statik, allowFinalInCurrentMethod, offset, false);
++     }
++     
++     public IntroduceFieldFix(TreePathHandle handle, JavaSource js, String guessedName, 
++-            int numDuplicates, int[] initilizeIn, boolean statik, boolean allowFinalInCurrentMethod, int offset, boolean allowDuplicates, TreePathHandle target) {
+++            int numDuplicates, int[] initilizeIn, boolean statik, boolean allowFinalInCurrentMethod, int offset, boolean allowDuplicates) {
++         super(js, handle, numDuplicates, offset);
++         this.guessedName = guessedName;
++         this.initilizeIn = initilizeIn;
++         this.statik = statik;
++         this.allowFinalInCurrentMethod = allowFinalInCurrentMethod;
++         this.permitDuplicates = allowDuplicates;
++-        this.targetHandle = target;
++     }
++     
++     public String getText() {
++@@ -164,22 +160,15 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++         JButton btnCancel = new JButton(NbBundle.getMessage(IntroduceHint.class, "LBL_Cancel"));
++         btnCancel.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(IntroduceHint.class, "AD_IntrHint_Cancel"));
++         IntroduceFieldPanel panel = createPanel(btnOk);
++-        FieldValidator fv = new FieldValidator(js, null);
++         if (targetIsInterface) {
++             panel.setAllowAccess(false);
++         }
++         DialogDescriptor dd = new DialogDescriptor(panel, getCaption(), true, new Object[]{btnOk, btnCancel}, btnOk, DialogDescriptor.DEFAULT_ALIGN, null, null);
++-        panel.setNotifier(dd.createNotificationLineSupport());
++-        panel.setTarget(targetHandle);
++-        panel.setValidator(fv);
++-
++         if (DialogDisplayer.getDefault().notify(dd) != btnOk) {
++             return null; //cancel
++         }
++         js.runModificationTask(new Worker(panel.getFieldName(), permitDuplicates && panel.isReplaceAll(),
++-                panel.isDeclareFinal(), panel.getAccess(), panel.getInitializeIn(), 
++-                fv.getLastResult(),
++-                panel.isRefactorExisting())).commit();
+++                panel.isDeclareFinal(), panel.getAccess(), panel.getInitializeIn())).commit();
++         return null;
++     }
++     
++@@ -193,22 +182,18 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++         final boolean declareFinal;
++         final Set<Modifier> access;
++         final int initializeIn;
++-        final boolean refactorExisting;
++-        final MemberSearchResult searchResult;
++ 
++         private ClassTree nueClass;
++         private TreePath toRemoveFromParent;
++         private boolean variableRewrite;
++         private boolean expressionStatementRewrite;
++ 
++-        public Worker(String name, boolean replaceAll, boolean declareFinal, Set<Modifier> access, int initializeIn, MemberSearchResult searchResult, boolean refactorExisting) {
+++        public Worker(String name, boolean replaceAll, boolean declareFinal, Set<Modifier> access, int initializeIn) {
++             this.name = name;
++             this.replaceAll = replaceAll;
++             this.declareFinal = declareFinal;
++             this.access = access;
++             this.initializeIn = initializeIn;
++-            this.refactorExisting = refactorExisting;
++-            this.searchResult = searchResult;
++         }
++ 
++         private boolean initializeFromMethod(WorkingCopy parameter, TreePath resolved, 
++@@ -228,7 +213,7 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++                 //really strange...
++                 return false;
++             }
++-            insertStatement(parameter, statementPath.getParentPath(), statement, assignment, true);
+++            insertStatement(parameter, statementPath.getParentPath(), index, assignment, true);
++             return true;
++         }
++ 
++@@ -264,7 +249,7 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++                 ExpressionTree reference = hasParameterOfTheSameName ? make.MemberSelect(make.Identifier("this"), name) : make.Identifier(name); // NOI18N
++                 ExpressionStatementTree assignment = make.ExpressionStatement(make.Assignment(reference, expression));
++                 // insert as the 2nd statement, after potential super call.
++-                insertStatement(parameter, new TreePath(constructor, constr.getBody()), null, 
+++                insertStatement(parameter, new TreePath(constructor, constr.getBody()), 1, 
++                         assignment, constructor.getLeaf() == method.getLeaf());
++             }
++             return true;
++@@ -278,12 +263,29 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++          * @param assignment 
++          */
++         private void insertStatement(WorkingCopy parameter, 
++-                TreePath target, Tree anchor, StatementTree assignment, boolean replace) {
+++                TreePath target, int index, StatementTree assignment, boolean replace) {
+++            TreeMaker make = parameter.getTreeMaker();
+++
++             if ((variableRewrite || expressionStatementRewrite) && replace) {
++                 parameter.rewrite(toRemoveFromParent.getLeaf(), assignment);
++                 toRemoveFromParent = null;
++             } else {
++-                Utilities.insertStatement(parameter, target, anchor, Collections.singletonList(assignment), null, 0);
+++                BlockTree origBody = (BlockTree)target.getLeaf();
+++                List<StatementTree> nueStatements = new LinkedList<StatementTree>();
+++                List<? extends StatementTree> origStatements = origBody.getStatements();
+++                StatementTree canBeSuper = origStatements.get(0);
+++                int from = 0;
+++                // for constructor
+++                if (parameter.getTreeUtilities().isSynthetic(TreePath.getPath(target, canBeSuper))) {
+++                    from = 1;
+++                }
+++                nueStatements.addAll(origStatements.subList(from, index));
+++                nueStatements.add(assignment);
+++                if (index < origStatements.size()) {
+++                    nueStatements.addAll(origStatements.subList(index, origStatements.size()));
+++                }
+++                BlockTree nueBlock = make.Block(nueStatements, false);
+++                parameter.rewrite(origBody, nueBlock);
++             }
++         }
++ 
++@@ -297,7 +299,7 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++             if (tm == null) {
++                 return; //TODO...
++             }
++-            tm = Utilities.convertIfAnonymous(Utilities.resolveTypeForDeclaration(parameter, tm));
+++            tm = Utilities.convertIfAnonymous(Utilities.resolveCapturedType(parameter, tm));
++             TreePath pathToClass = findTargetClass(parameter, resolved);
++             if (pathToClass == null) {
++                 return; //TODO...
++@@ -385,10 +387,6 @@ class IntroduceFieldFix extends IntroduceFixBase implements Fix {
++             if (toRemoveFromParent != null) {
++                 IntroduceHint.removeFromParent(parameter, toRemoveFromParent);
++             }
++-            if (refactorExisting) {
++-                new ReferenceTransformer(parameter, ElementKind.FIELD, searchResult, name, 
++-                    parameter.getTrees().getElement(pathToClass)).scan(pathToClass, null);
++-            }
++             parameter.rewrite(pathToClass.getLeaf(), nueClass);
++         }
++     }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.form b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.form
++index 8a5eb813c..f540a1fc6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.form
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.form
++@@ -27,9 +27,10 @@
++   <Layout>
++     <DimensionLayout dim="0">
++       <Group type="103" groupAlignment="0" attributes="0">
++-          <Group type="102" attributes="0">
+++          <Group type="102" alignment="0" attributes="0">
++               <EmptySpace max="-2" attributes="0"/>
++               <Group type="103" groupAlignment="0" attributes="0">
+++                  <Component id="errLabel" alignment="0" pref="483" max="32767" attributes="0"/>
++                   <Group type="102" alignment="0" attributes="0">
++                       <Group type="103" groupAlignment="0" attributes="0">
++                           <Component id="lblAccess" min="-2" max="-2" attributes="0"/>
++@@ -49,22 +50,16 @@
++                           </Group>
++                       </Group>
++                   </Group>
++-                  <Group type="102" attributes="0">
+++                  <Component id="declareFinal" alignment="0" min="-2" max="-2" attributes="0"/>
+++                  <Component id="replaceAll" alignment="0" min="-2" max="-2" attributes="0"/>
+++                  <Group type="102" alignment="0" attributes="0">
+++                      <Component id="lblInitializeIn" min="-2" max="-2" attributes="0"/>
+++                      <EmptySpace max="-2" attributes="0"/>
++                       <Group type="103" groupAlignment="0" attributes="0">
++-                          <Component id="declareFinal" alignment="0" min="-2" max="-2" attributes="0"/>
++-                          <Component id="replaceAll" alignment="0" min="-2" max="-2" attributes="0"/>
++-                          <Group type="102" alignment="0" attributes="0">
++-                              <Component id="lblInitializeIn" min="-2" max="-2" attributes="0"/>
++-                              <EmptySpace max="-2" attributes="0"/>
++-                              <Group type="103" groupAlignment="0" attributes="0">
++-                                  <Component id="initConstructors" alignment="0" min="-2" max="-2" attributes="0"/>
++-                                  <Component id="initField" alignment="0" min="-2" max="-2" attributes="0"/>
++-                                  <Component id="initMethod" alignment="0" min="-2" max="-2" attributes="0"/>
++-                              </Group>
++-                          </Group>
++-                          <Component id="checkRefactorExisting" alignment="0" min="-2" max="-2" attributes="0"/>
+++                          <Component id="initConstructors" alignment="0" min="-2" max="-2" attributes="0"/>
+++                          <Component id="initField" alignment="0" min="-2" max="-2" attributes="0"/>
+++                          <Component id="initMethod" alignment="0" min="-2" max="-2" attributes="0"/>
++                       </Group>
++-                      <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
++                   </Group>
++               </Group>
++               <EmptySpace max="-2" attributes="0"/>
++@@ -102,9 +97,9 @@
++                       <Component id="initConstructors" min="-2" max="-2" attributes="0"/>
++                   </Group>
++               </Group>
+++              <EmptySpace pref="18" max="32767" attributes="0"/>
+++              <Component id="errLabel" min="-2" max="-2" attributes="0"/>
++               <EmptySpace max="-2" attributes="0"/>
++-              <Component id="checkRefactorExisting" min="-2" max="-2" attributes="0"/>
++-              <EmptySpace pref="20" max="32767" attributes="0"/>
++           </Group>
++       </Group>
++     </DimensionLayout>
++@@ -364,16 +359,13 @@
++         </Property>
++       </AccessibilityProperties>
++     </Component>
++-    <Component class="javax.swing.JCheckBox" name="checkRefactorExisting">
+++    <Component class="javax.swing.JLabel" name="errLabel">
++       <Properties>
++-        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++-          <ResourceString bundle="org/netbeans/modules/java/hints/introduce/Bundle.properties" key="IntroduceFieldPanel.checkRefactorExisting.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
++-        </Property>
++-        <Property name="enabled" type="boolean" value="false"/>
+++        <Property name="text" type="java.lang.String" value="jLabel1"/>
++       </Properties>
++-      <Events>
++-        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="checkRefactorExistingActionPerformed"/>
++-      </Events>
+++      <AuxValues>
+++        <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="createErrorLabel()"/>
+++      </AuxValues>
++     </Component>
++   </SubComponents>
++ </Form>
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.java
++index 824d63baa..bdb3bca55 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceFieldPanel.java
++@@ -36,19 +36,9 @@ import java.util.Collections;
++ import java.util.EnumSet;
++ import java.util.Set;
++ import java.util.prefs.Preferences;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.TypeElement;
++ import javax.swing.JButton;
++ import javax.swing.JLabel;
++-import javax.swing.JTextField;
++-import javax.swing.event.ChangeEvent;
++-import javax.swing.event.ChangeListener;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.TreePathHandle;
++-import org.openide.NotificationLineSupport;
++-import org.openide.util.NbBundle;
++ import org.openide.util.NbPreferences;
++ import org.openide.util.Utilities;
++ 
++@@ -62,7 +52,7 @@ import org.openide.util.Utilities;
++  *
++  * @author Jan Lahoda
++  */
++-public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeListener {
+++public class IntroduceFieldPanel extends javax.swing.JPanel {
++     public static final int FIELD = 0;
++     public static final int CONSTANT = 1;
++     public static final int VARIABLE = 2;
++@@ -88,12 +78,6 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++      */
++     private boolean allowAccess = true;
++     
++-    private NameChangeSupport changeSupport;
++-    
++-    private NotificationLineSupport notifier;
++-    
++-    private boolean refactorExisting;
++-    
++     /**
++      * Constructs the dialog.
++      * 
++@@ -107,8 +91,7 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++      * @param type field/constant/variable
++      * @param btnOk confirm button, to hook callbacks
++      */
++-    public IntroduceFieldPanel(String name, int[] allowInitMethods, int numOccurrences, boolean allowFinalInCurrentMethod, 
++-            boolean variableRewrite, int type, String prefNode, JButton btnOk) {
+++    public IntroduceFieldPanel(String name, int[] allowInitMethods, int numOccurrences, boolean allowFinalInCurrentMethod, boolean variableRewrite, int type, String prefNode, JButton btnOk) {
++         this.elementType = type;
++         this.btnOk = btnOk;
++         
++@@ -171,87 +154,12 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++             accessDefault.setVisible(false);
++             accessPrivate.setVisible(false);
++         }
++-        
++-        changeSupport = new FieldNameSupport();
++         resetAccess();
++         resetInit();
++         adjustInitializeIn();
++         adjustFinal();
++     }
++     
++-    public void setTarget(TreePathHandle target) {
++-        changeSupport.setTarget(target);
++-    }
++-    
++-    public void setValidator(MemberValidator v) {
++-        changeSupport.setValidator(v);
++-    }
++-
++-    public void setNotifier(NotificationLineSupport notifier) {
++-        this.notifier = notifier;
++-    }
++-    
++-    @NbBundle.Messages({
++-        "ERR_LocalVarOrParameterHidden=Field would hide a local symbol of an enclosing method",
++-        "ERR_ConflictingField=Field with that name already exists",
++-        "WARN_InheritedFieldHidden=Inherited field will be hidden, class behaviour may change",
++-        "INFO_FieldHidden=A variable, field or import will be hidden"
++-    })
++-    private class FieldNameSupport extends NameChangeSupport {
++-        
++-        public FieldNameSupport() {
++-            super(name);
++-        }
++-
++-        @Override
++-        protected boolean updateUI(MemberSearchResult result) {
++-            if (notifier == null) {
++-                return false;
++-            } 
++-            boolean ok = false;
++-            boolean refactor = false;
++-            if (result == null) {
++-                ok = true;
++-            } else if (result.getConflicting() != null) {
++-                if (result.getConflicting().getKind() != ElementKind.FIELD) {
++-                    notifier.setErrorMessage(Bundle.ERR_LocalVarOrParameterHidden());
++-                } else {
++-                    notifier.setErrorMessage(Bundle.ERR_ConflictingField());
++-                }
++-            } else if (result.getOverriden() != null) {
++-                // fields are not really overriden, but introducing a field which shadows
++-                // a superclass may affect outside code.
++-                notifier.setWarningMessage(Bundle.WARN_InheritedFieldHidden());
++-            } else if (result.getShadowed() != null) {
++-                notifier.setInformationMessage(Bundle.INFO_FieldHidden());
++-                refactor = true;
++-            } else {
++-                ok = true;
++-            }
++-            if (ok) {
++-                notifier.clearMessages();
++-            }
++-            if (refactor) {
++-                checkRefactorExisting.setEnabled(true);
++-                checkRefactorExisting.setSelected(refactor);
++-            } else {
++-                checkRefactorExisting.setEnabled(false);
++-                checkRefactorExisting.setSelected(false);
++-            }
++-            return true;
++-        }
++-
++-        @Override
++-        protected void notifyNameError(String msg) {
++-            if (notifier != null) {
++-                notifier.setErrorMessage(msg);
++-                btnOk.setEnabled(false);
++-            }
++-        }
++-        
++-        
++-    }
++-    
++     private void resetInit() {
++         if (supportsInit()) {
++             int init = preferences.getInt( "initMethod", INIT_METHOD ); //NOI18N
++@@ -374,14 +282,26 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++         }
++     }
++     
++-    public boolean isRefactorExisting() {
++-        return checkRefactorExisting.isEnabled() && checkRefactorExisting.isSelected();
++-    }
++-    
++-
++-    @Override
++-    public void stateChanged(ChangeEvent e) {
++-        btnOk.setEnabled(changeSupport.isValid());
+++        
+++    private JLabel createErrorLabel() {
+++        ErrorLabel.Validator validator = new ErrorLabel.Validator() {
+++
+++            public String validate(String text) {
+++                if( null == text 
+++                    || text.length() == 0 ) return "";
+++                if (!Utilities.isJavaIdentifier(text))
+++                    return getDefaultErrorMessage( text );
+++                return null;
+++            }
+++        };
+++        
+++        final ErrorLabel errorLabel = new ErrorLabel( name.getDocument(), validator );
+++        errorLabel.addPropertyChangeListener(  ErrorLabel.PROP_IS_VALID,new PropertyChangeListener() {
+++            public void propertyChange(PropertyChangeEvent e) {
+++                btnOk.setEnabled(errorLabel.isInputTextValid());
+++            }
+++        });
+++        return errorLabel;
++     }
++     
++     String getDefaultErrorMessage( String inputText ) {
++@@ -411,7 +331,7 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++         accessProtected = new javax.swing.JRadioButton();
++         accessDefault = new javax.swing.JRadioButton();
++         accessPrivate = new javax.swing.JRadioButton();
++-        checkRefactorExisting = new javax.swing.JCheckBox();
+++        errLabel = createErrorLabel();
++ 
++         lblName.setLabelFor(name);
++         org.openide.awt.Mnemonics.setLocalizedText(lblName, org.openide.util.NbBundle.getBundle(IntroduceFieldPanel.class).getString("LBL_Name")); // NOI18N
++@@ -492,13 +412,7 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++         accessPrivate.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
++         accessPrivate.setMargin(new java.awt.Insets(0, 0, 0, 0));
++ 
++-        org.openide.awt.Mnemonics.setLocalizedText(checkRefactorExisting, org.openide.util.NbBundle.getMessage(IntroduceFieldPanel.class, "IntroduceFieldPanel.checkRefactorExisting.text")); // NOI18N
++-        checkRefactorExisting.setEnabled(false);
++-        checkRefactorExisting.addActionListener(new java.awt.event.ActionListener() {
++-            public void actionPerformed(java.awt.event.ActionEvent evt) {
++-                checkRefactorExistingActionPerformed(evt);
++-            }
++-        });
+++        org.openide.awt.Mnemonics.setLocalizedText(errLabel, "jLabel1");
++ 
++         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
++         this.setLayout(layout);
++@@ -507,6 +421,7 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++             .addGroup(layout.createSequentialGroup()
++                 .addContainerGap()
++                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+++                    .addComponent(errLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 483, Short.MAX_VALUE)
++                     .addGroup(layout.createSequentialGroup()
++                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
++                             .addComponent(lblAccess)
++@@ -522,19 +437,15 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++                                 .addComponent(accessDefault)
++                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
++                                 .addComponent(accessPrivate))))
+++                    .addComponent(declareFinal)
+++                    .addComponent(replaceAll)
++                     .addGroup(layout.createSequentialGroup()
+++                        .addComponent(lblInitializeIn)
+++                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
++                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
++-                            .addComponent(declareFinal)
++-                            .addComponent(replaceAll)
++-                            .addGroup(layout.createSequentialGroup()
++-                                .addComponent(lblInitializeIn)
++-                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
++-                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
++-                                    .addComponent(initConstructors)
++-                                    .addComponent(initField)
++-                                    .addComponent(initMethod)))
++-                            .addComponent(checkRefactorExisting))
++-                        .addGap(0, 0, Short.MAX_VALUE)))
+++                            .addComponent(initConstructors)
+++                            .addComponent(initField)
+++                            .addComponent(initMethod))))
++                 .addContainerGap())
++         );
++         layout.setVerticalGroup(
++@@ -564,9 +475,9 @@ public class IntroduceFieldPanel extends javax.swing.JPanel implements ChangeLis
++                         .addComponent(initField)
++                         .addGap(7, 7, 7)
++                         .addComponent(initConstructors)))
++-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
++-                .addComponent(checkRefactorExisting)
++-                .addContainerGap(20, Short.MAX_VALUE))
+++                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE)
+++                .addComponent(errLabel)
+++                .addContainerGap())
++         );
++ 
++         lblName.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(IntroduceFieldPanel.class, "AD_IntrFld_Name")); // NOI18N
++@@ -602,12 +513,6 @@ private void initMethodActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FI
++ private void replaceAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_replaceAllActionPerformed
++         adjustInitializeIn();
++ }//GEN-LAST:event_replaceAllActionPerformed
++-
++-    private void checkRefactorExistingActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkRefactorExistingActionPerformed
++-        if (checkRefactorExisting.isEnabled()) {
++-            refactorExisting = checkRefactorExisting.isSelected();
++-        }
++-    }//GEN-LAST:event_checkRefactorExistingActionPerformed
++     
++     
++     // Variables declaration - do not modify//GEN-BEGIN:variables
++@@ -616,8 +521,8 @@ private void replaceAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FI
++     private javax.swing.JRadioButton accessPrivate;
++     private javax.swing.JRadioButton accessProtected;
++     private javax.swing.JRadioButton accessPublic;
++-    private javax.swing.JCheckBox checkRefactorExisting;
++     private javax.swing.JCheckBox declareFinal;
+++    private javax.swing.JLabel errLabel;
++     private javax.swing.JRadioButton initConstructors;
++     private javax.swing.JRadioButton initField;
++     private javax.swing.JRadioButton initMethod;
++@@ -689,9 +594,6 @@ private void replaceAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FI
++     
++     public boolean isDeclareFinal() {
++         if (declareFinalTest != null) return declareFinalTest;
++-        if (isConstant()) {
++-            return true;
++-        }
++         boolean ret = declareFinal.isSelected();
++         getPreferences().putBoolean( "declareFinal", ret ); //NOI18N
++         return ret;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceHint.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceHint.java
++index 8517f9aa6..3f36411dd 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceHint.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceHint.java
++@@ -104,8 +104,6 @@ import org.netbeans.api.editor.settings.AttributesUtilities;
++ import org.netbeans.api.java.source.CancellableTask;
++ import org.netbeans.api.java.source.CodeStyle;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.ElementUtilities.ElementAcceptor;
++ import org.netbeans.api.java.source.SourceUtils;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreePathHandle;
++@@ -279,11 +277,8 @@ public class IntroduceHint implements CancellableTask<CompilationInfo> {
++         if (guessedName == null) guessedName = "name"; // NOI18N
++         Scope s = info.getTrees().getScope(resolved);
++         CodeStyle cs = CodeStyle.getDefault(info.getFileObject());
++-        Fix variable = isVariable ? new IntroduceVariableFix(h, info.getJavaSource(), 
++-                variableRewrite ? 
++-                        guessedName : 
++-                        Utilities.makeNameUnique(info, s, guessedName, cs.getLocalVarNamePrefix(), cs.getLocalVarNameSuffix()), 
++-                duplicatesForVariable.size() + 1, IntroduceKind.CREATE_VARIABLE, TreePathHandle.create(method, info), end) : null;
+++
+++        Fix variable = isVariable ? new IntroduceVariableFix(h, info.getJavaSource(), variableRewrite ? guessedName : Utilities.makeNameUnique(info, s, guessedName, cs.getLocalVarNamePrefix(), cs.getLocalVarNameSuffix()), duplicatesForVariable.size() + 1, IntroduceKind.CREATE_VARIABLE, end) : null;
++         Fix constant = IntroduceConstantFix.createConstant(resolved, info, value, guessedName, 
++                         duplicatesForConstant.size() + 1, end, variableRewrite, cancel);
++ 
++@@ -320,21 +315,21 @@ public class IntroduceHint implements CancellableTask<CompilationInfo> {
++                                                            statik ? cs.getStaticFieldNameSuffix() : cs.getFieldNameSuffix());
++                 }
++             }
++-            Element el = info.getTrees().getElement(pathToClass);
++-            if (pathToClass != null && el != null && (el.getKind().isClass() || el.getKind().isInterface())) {
++-                field = new IntroduceFieldFix(h, info.getJavaSource(), guessedName, duplicatesForConstant.size() + 1, initilizeIn, 
++-                        statik, allowFinalInCurrentMethod, end, !variableRewrite, TreePathHandle.create(pathToClass, info));
+++
+++            if (pathToClass == null || (pathToClass.getLeaf().getKind() == Tree.Kind.CLASS || pathToClass.getLeaf().getKind() == Tree.Kind.ENUM)) {
+++                field = new IntroduceFieldFix(h, info.getJavaSource(), guessedName, duplicatesForConstant.size() + 1, initilizeIn, statik, allowFinalInCurrentMethod, end, !variableRewrite);
++             }
++ 
++             if (!variableRewrite) {
++                 //introduce method based on expression:
+++                Element methodEl = info.getTrees().getElement(method);
++                 Map<TypeMirror, TreePathHandle> typeVar2Def = new HashMap<TypeMirror, TreePathHandle>();
++                 List<TreePathHandle> typeVars = new LinkedList<TreePathHandle>();
++ 
++                 prepareTypeVars(method, info, typeVar2Def, typeVars);
++ 
++                 ScanStatement scanner = new ScanStatement(info, resolved.getLeaf(), resolved.getLeaf(), typeVar2Def, Collections.<Tree, Iterable<? extends TreePath>>emptyMap(), cancel);
++-                Element methodEl = info.getTrees().getElement(method);
+++
++                 if (methodEl != null && (methodEl.getKind() == ElementKind.METHOD || methodEl.getKind() == ElementKind.CONSTRUCTOR)) {
++                     ExecutableElement ee = (ExecutableElement) methodEl;
++ 
++@@ -372,16 +367,37 @@ public class IntroduceHint implements CancellableTask<CompilationInfo> {
++                     typeVars.retainAll(scanner.usedTypeVariables);
++ 
++                     AtomicBoolean allIfaces = new AtomicBoolean();
+++                    Map<TargetDescription, Set<String>> targets = new LinkedHashMap<>(); 
++                      List<TargetDescription> viableTargets = IntroduceExpressionBasedMethodFix.computeViableTargets(info, resolved.getParentPath(), 
++                             Collections.singleton(resolved.getLeaf()), duplicates, cancel, allIfaces);
++                     if (viableTargets != null && !viableTargets.isEmpty()) {
++-                        TypeMirror returnType = 
++-                                Utilities.convertIfAnonymous(Utilities.resolveCapturedType(info, 
++-                                        resolveType(info, resolved)));
++-                        methodFix = new IntroduceExpressionBasedMethodFix(info.getJavaSource(), 
++-                                h, params, TypeMirrorHandle.create(returnType), 
++-                                exceptionHandles, duplicatesCount, typeVars, end, 
++-                                viableTargets);
+++                        for (TargetDescription target : viableTargets) {
+++                            Set<String> cNames = new HashSet<>();
+++                            if (target.type == null) {
+++                                // could not create a handle for a type ??
+++                                continue;
+++                            }
+++                            Element parent = target.type.resolve(info);
+++                            // resolve may result in null ptr
+++                            if (parent == null) {
+++                                continue;
+++                            }
+++                            outer: for (ExecutableElement ee : ElementFilter.methodsIn(parent.getEnclosedElements())) {
+++                                List<? extends TypeMirror> pTypes = ((ExecutableType) ee.asType()).getParameterTypes();
+++                                if (pTypes.size() == scanner.usedLocalVariables.keySet().size()) {
+++                                    Iterator<? extends TypeMirror> pTypesIt = pTypes.iterator();
+++                                    Iterator<VariableElement> pVarsIt = scanner.usedLocalVariables.keySet().iterator();
+++                                    while (pTypesIt.hasNext() && pVarsIt.hasNext()) {
+++                                        if (!info.getTypes().isSameType(pTypesIt.next(), pVarsIt.next().asType())) {
+++                                            continue outer;
+++                                        }
+++                                    }
+++                                    cNames.add(ee.getSimpleName().toString());
+++                                }
+++                            }
+++                            targets.put(target, cNames);
+++                        }
+++                        methodFix = new IntroduceExpressionBasedMethodFix(info.getJavaSource(), h, params, exceptionHandles, duplicatesCount, typeVars, end, targets);
++                         methodFix.setTargetIsInterface(allIfaces.get());
++                     }
++                 }
++@@ -895,6 +911,51 @@ public class IntroduceHint implements CancellableTask<CompilationInfo> {
++ 
++     static final AttributeSet DUPE = AttributesUtilities.createImmutable(StyleConstants.Background, Color.GRAY);
++ 
+++    // used by IntroduceHint, from @doReplaceInBlockCatchSingleStatement
+++    static Tree resolveRewritten(Map<Tree, Tree> rewritten, Tree t) {
+++        while (rewritten.containsKey(t)) {
+++            t = rewritten.get(t);
+++        }
+++        
+++        return t;
+++    }
+++    
+++    // used from IntroduceHint / Variable, IntroduceMethodFix
+++    static void doReplaceInBlockCatchSingleStatement(WorkingCopy copy, Map<Tree, Tree> rewritten, TreePath firstLeaf, List<? extends StatementTree> newStatements) {
+++        TreeMaker make = copy.getTreeMaker();
+++        Tree toReplace = resolveRewritten(rewritten, firstLeaf.getParentPath().getLeaf());
+++        Tree nueTree;
+++
+++        switch (toReplace.getKind()) {
+++            case METHOD:
+++                toReplace = ((MethodTree) toReplace).getBody();
+++                if (toReplace == null) {
+++                    return;
+++                }
+++                //intentional fall-through
+++            case BLOCK:
+++                nueTree = make.Block(newStatements, ((BlockTree) toReplace).isStatic());
+++                break;
+++            case CASE:
+++                nueTree = make.Case(((CaseTree) toReplace).getExpression(), newStatements);
+++                break;
+++            case LAMBDA_EXPRESSION: {
+++                LambdaExpressionTree let = (LambdaExpressionTree)toReplace;
+++                nueTree = make.LambdaExpression(let.getParameters(), make.Block(newStatements, false));
+++                break;
+++            }
+++            default:
+++                assert getStatements(firstLeaf).size() == 1 : getStatements(firstLeaf).toString();
+++                assert newStatements.size() == 1 : newStatements.toString();
+++                toReplace = firstLeaf.getLeaf();
+++                nueTree = newStatements.get(0);
+++                break;
+++        }
+++        
+++        copy.rewrite(toReplace, nueTree);
+++        rewritten.put(toReplace, nueTree);
+++    }
+++
++     // used by IntroduceMethod Fix / IntroduceExpressionBasedMethodFix; should be used by all, duplicates are
++     // everywhere.
++     static boolean shouldReplaceDuplicate(final Document doc, final int startOff, final int endOff) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodFix.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodFix.java
++index ed5a7a3d3..51b3ae131 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodFix.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodFix.java
++@@ -52,14 +52,12 @@ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.PrimitiveTypeTree;
++ import com.sun.source.tree.ReturnTree;
++-import com.sun.source.tree.Scope;
++ import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.TypeParameterTree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.SourcePositions;
++ import com.sun.source.util.TreePath;
++-import java.io.IOException;
++ import java.util.ArrayList;
++ import java.util.Collection;
++ import java.util.Collections;
++@@ -75,23 +73,22 @@ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.Map;
++ import java.util.Set;
+++import java.util.concurrent.Callable;
++ import java.util.concurrent.atomic.AtomicBoolean;
++ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++ import javax.lang.model.element.Modifier;
+++import javax.lang.model.element.Name;
++ import javax.lang.model.element.TypeElement;
++ import javax.lang.model.element.VariableElement;
++-import javax.lang.model.type.DeclaredType;
++ import javax.lang.model.type.ExecutableType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
+++import javax.lang.model.util.ElementFilter;
++ import javax.swing.JButton;
++ import javax.swing.text.Document;
++-import org.netbeans.api.java.source.CompilationController;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.ElementUtilities.ElementAcceptor;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.Task;
++@@ -108,8 +105,6 @@ import org.netbeans.spi.editor.hints.ChangeInfo;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.openide.DialogDescriptor;
++ import org.openide.DialogDisplayer;
++-import org.openide.NotificationLineSupport;
++-import org.openide.NotifyDescriptor;
++ import org.openide.util.NbBundle;
++ import org.openide.util.Union2;
++ 
++@@ -224,7 +219,7 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++         List<TypeMirrorHandle> additionaLocalTypes = new LinkedList<TypeMirrorHandle>();
++         List<String> additionaLocalNames = new LinkedList<String>();
++         for (VariableElement ve : additionalLocalVariables) {
++-            TypeMirror vt = Utilities.resolveTypeForDeclaration(info, ve.asType());
+++            TypeMirror vt = Utilities.resolveCapturedType(info, ve.asType());
++             additionaLocalTypes.add(TypeMirrorHandle.create(vt));
++             additionaLocalNames.add(ve.getSimpleName().toString());
++         }
++@@ -274,7 +269,7 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++         int duplicatesCount = duplicates.size();
++         if (!scanner.usedAfterSelection.isEmpty()) {
++             VariableElement result = scanner.usedAfterSelection.keySet().iterator().next();
++-            returnType = Utilities.resolveTypeForDeclaration(info, result.asType());
+++            returnType = Utilities.resolveCapturedType(info, result.asType());
++             returnAssignTo = TreePathHandle.create(info.getTrees().getPath(result), info);
++             declareVariableForReturnValue = scanner.selectionLocalVariables.contains(result);
++         } else {
++@@ -299,11 +294,36 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++             exceptionHandles.add(TypeMirrorHandle.create(tm));
++         }
++         AtomicBoolean allIfaces = new AtomicBoolean();
+++        Map<TargetDescription, Set<String>> targets = new LinkedHashMap<>();
++         List<TargetDescription> viableTargets = IntroduceExpressionBasedMethodFix.computeViableTargets(info, block, statementsToWrap, duplicates, cancel, allIfaces);
++         IntroduceMethodFix imf = null;
++         if (viableTargets != null && !viableTargets.isEmpty()) {
+++            for (TargetDescription target : viableTargets) {
+++                if (target.type == null) {
+++                    continue;
+++                }
+++                final TypeElement resolvedType = target.type.resolve(info);
+++                if (resolvedType == null) {
+++                    continue;
+++                }
+++                Set<String> cNames = new HashSet<>();
+++                outer: for (ExecutableElement ee : ElementFilter.methodsIn(resolvedType.getEnclosedElements())) {
+++                    List<? extends TypeMirror> pTypes = ((ExecutableType) ee.asType()).getParameterTypes();
+++                    if (pTypes.size() == paramsVariables.size()) {
+++                        Iterator<? extends TypeMirror> pTypesIt = pTypes.iterator();
+++                        Iterator<VariableElement> pVarsIt = paramsVariables.iterator();
+++                        while (pTypesIt.hasNext() && pVarsIt.hasNext()) {
+++                            if (!info.getTypes().isSameType(pTypesIt.next(), pVarsIt.next().asType())) {
+++                                continue outer;
+++                            }
+++                        }
+++                        cNames.add(ee.getSimpleName().toString());
+++                    }
+++                }
+++                targets.put(target, cNames);
+++            }
++             imf = new IntroduceMethodFix(info.getJavaSource(), h, params, additionaLocalTypes, additionaLocalNames, TypeMirrorHandle.create(returnType), returnAssignTo, declareVariableForReturnValue, exceptionHandles, exits, exitsFromAllBranches, statements[0], statements[1], 
++-                    duplicatesCount, scanner.getUsedTypeVars(), end, viableTargets);
+++                    duplicatesCount, scanner.getUsedTypeVars(), end, targets);
++             imf.setTargetIsInterface(allIfaces.get());
++         }
++         return imf;
++@@ -414,9 +434,9 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++     private final int from;
++     private final int to;
++     private final List<TreePathHandle> typeVars;
++-    private final Collection<TargetDescription> targets;
+++    private final Map<TargetDescription, Set<String>> targets;
++ 
++-    public IntroduceMethodFix(JavaSource js, TreePathHandle parentBlock, List<TreePathHandle> parameters, List<TypeMirrorHandle> additionalLocalTypes, List<String> additionalLocalNames, TypeMirrorHandle returnType, TreePathHandle returnAssignTo, boolean declareVariableForReturnValue, Set<TypeMirrorHandle> thrownTypes, List<TreePathHandle> exists, boolean exitsFromAllBranches, int from, int to, int duplicatesCount, List<TreePathHandle> typeVars, int offset, Collection<TargetDescription> [...]
+++    public IntroduceMethodFix(JavaSource js, TreePathHandle parentBlock, List<TreePathHandle> parameters, List<TypeMirrorHandle> additionalLocalTypes, List<String> additionalLocalNames, TypeMirrorHandle returnType, TreePathHandle returnAssignTo, boolean declareVariableForReturnValue, Set<TypeMirrorHandle> thrownTypes, List<TreePathHandle> exists, boolean exitsFromAllBranches, int from, int to, int duplicatesCount, List<TreePathHandle> typeVars, int offset, Map<TargetDescription, Set<St [...]
++         super(js, parentBlock, duplicatesCount, offset);
++         this.parameters = parameters;
++         this.additionalLocalTypes = additionalLocalTypes;
++@@ -445,22 +465,17 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++         JButton btnOk = new JButton(NbBundle.getMessage(IntroduceHint.class, "LBL_Ok"));
++         JButton btnCancel = new JButton(NbBundle.getMessage(IntroduceHint.class, "LBL_Cancel"));
++         IntroduceMethodPanel panel = new IntroduceMethodPanel("", duplicatesCount, targets, targetIsInterface); //NOI18N
+++        panel.setOkButton(btnOk);
++         String caption = NbBundle.getMessage(IntroduceHint.class, "CAP_IntroduceMethod");
++         DialogDescriptor dd = new DialogDescriptor(panel, caption, true, new Object[]{btnOk, btnCancel}, btnOk, DialogDescriptor.DEFAULT_ALIGN, null, null);
++-        NotificationLineSupport notifier = dd.createNotificationLineSupport();
++-        MethodValidator val = new MethodValidator(js, parameters, returnType);
++-        panel.setNotifier(notifier);
++-        panel.setValidator(val);
++-        panel.setOkButton(btnOk);
++         if (DialogDisplayer.getDefault().notify(dd) != btnOk) {
++             return null; //cancel
++         }
++-        boolean redoReferences =  panel.isRefactorExisting();
++         final String name = panel.getMethodName();
++         final Set<Modifier> access = panel.getAccess();
++         final boolean replaceOther = panel.getReplaceOther();
++         final TargetDescription target = panel.getSelectedTarget();
++-        js.runModificationTask(new TaskImpl(access, name, target, replaceOther, val.getResult(), redoReferences)).commit();
+++        js.runModificationTask(new TaskImpl(access, name, target, replaceOther)).commit();
++         return null;
++     }
++     
++@@ -530,18 +545,12 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++         List<TreePath> resolvedExits;
++         
++         TreePath pathToClass;
++-        
++-        MemberSearchResult searchResult;
++-        
++-        boolean redoReferences;
++ 
++-        public TaskImpl(Set<Modifier> access, String name, TargetDescription target, boolean replaceOther, MemberSearchResult searchResult, boolean redoReferences) {
+++        public TaskImpl(Set<Modifier> access, String name, TargetDescription target, boolean replaceOther) {
++             this.access = access;
++             this.name = name;
++             this.target = target;
++             this.replaceOther = replaceOther;
++-            this.searchResult = searchResult;
++-            this.redoReferences = redoReferences;
++         }
++ 
++         private void generateMethodContents(List<StatementTree> methodStatements) {
++@@ -812,33 +821,22 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++                 return;
++             }
++             final Map<Tree, Tree> rewritten = new IdentityHashMap<Tree, Tree>(); 
++-
++-            InstanceRefFinder finder = new InstanceRefFinder(copy, firstStatement);
++-            for (TreePath stp : statementPaths) {
++-                finder.process(stp);
++-            }
++-            if (finder.containsLocalReferences()) {
++-                NotifyDescriptor dd = new NotifyDescriptor.Message(Bundle.MSG_ExpressionContainsLocalReferences(), NotifyDescriptor.ERROR_MESSAGE);
++-                DialogDisplayer.getDefault().notifyLater(dd);
++-                return;
++-            }
+++            
+++            // generate new version of the statement list, with the method invocation.
+++            List<StatementTree> nueStatements = new LinkedList<StatementTree>();
+++            nueStatements.addAll(statements.subList(0, from));
+++            generateMethodInvocation(nueStatements, IntroduceHint.realArguments(make, parameters), null);
+++            nueStatements.addAll(statements.subList(to + 1, statements.size()));
+++            IntroduceHint.doReplaceInBlockCatchSingleStatement(copy, rewritten, firstStatement, nueStatements);
+++            addReplacement(firstStatement.getParentPath().getLeaf(), from, to);
++             TypeElement targetType = target.type.resolve(copy);
++             pathToClass = targetType != null ? copy.getTrees().getPath(targetType) : null;
++             if (pathToClass == null) {
++                 pathToClass = TreeUtils.findClass(firstStatement);
++             }
++             assert pathToClass != null;
++-
++-            boolean referencesInstances = finder.containsInstanceReferences();
++-            boolean isStatic = IntroduceHint.needsStaticRelativeTo(copy, pathToClass, firstStatement);
++-            
++-            // generate new version of the statement list, with the method invocation.
++-            List<StatementTree> nueStatements = new LinkedList<StatementTree>();
++-            generateMethodInvocation(nueStatements, IntroduceHint.realArguments(make, parameters), null);
++-            
++-            Utilities.replaceStatements(copy, firstStatement, statements.get(to), nueStatements);
++             
++-            addReplacement(firstStatement.getParentPath().getLeaf(), from, to);
+++            boolean isStatic = IntroduceHint.needsStaticRelativeTo(copy, pathToClass, firstStatement);
++             if (replaceOther) {
++                 //handle duplicates
++                 Document doc = copy.getDocument();
++@@ -856,10 +854,7 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++                         continue;
++                     }
++                     // FIXME - does this really work, in case of `case' contents ? Check on case X: stmt; and case X: { stmts; }
++-                    Tree mapped = copy.resolveRewriteTarget(firstLeaf.getParentPath().getLeaf());
++-                    TreePath mappedPath = new TreePath(new TreePath(firstLeaf.getParentPath().getParentPath(), 
++-                            mapped), firstLeaf.getLeaf());
++-                    List<? extends StatementTree> parentStatements = IntroduceHint.getStatements(mappedPath);
+++                    List<? extends StatementTree> parentStatements = IntroduceHint.getStatements(new TreePath(new TreePath(firstLeaf.getParentPath().getParentPath(), IntroduceHint.resolveRewritten(rewritten, firstLeaf.getParentPath().getLeaf())), firstLeaf.getLeaf()));
++                     int dupeStart = parentStatements.indexOf(firstLeaf.getLeaf());
++                     assert dupeStart > -1;
++                     int dupeLast = dupeStart + statementsPaths.size() - 1;
++@@ -889,8 +884,10 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++                         continue;
++                     }
++                     List<StatementTree> newStatements = new LinkedList<StatementTree>();
+++                    newStatements.addAll(parentStatements.subList(0, dupeStart));
++                     generateMethodInvocation(newStatements, makeArgumentsForDuplicate(desc), desc);
++-                    Utilities.replaceStatements(copy, mappedPath, lastSt, newStatements);
+++                    newStatements.addAll(parentStatements.subList(dupeStart + statementsPaths.size(), parentStatements.size()));
+++                    IntroduceHint.doReplaceInBlockCatchSingleStatement(copy, rewritten, firstLeaf, newStatements);
++                     addReplacement(firstLeaf.getParentPath().getLeaf(), dupeStart, dupeLast);
++                     
++                     isStatic |= IntroduceHint.needsStaticRelativeTo(copy, pathToClass, firstLeaf);
++@@ -898,18 +895,9 @@ public final class IntroduceMethodFix extends IntroduceFixBase implements Fix {
++                 IntroduceHint.introduceBag(doc).clear();
++                 //handle duplicates end
++             }
++-            isStatic &= !referencesInstances & target.canStatic;
++             MethodTree method = createMethodDefinition(isStatic);
++             ClassTree nueClass = IntroduceHint.INSERT_CLASS_MEMBER.insertClassMember(copy, (ClassTree) pathToClass.getLeaf(), method, offset);
++             copy.rewrite(pathToClass.getLeaf(), nueClass);
++-            
++-            if (redoReferences) {
++-                new ReferenceTransformer(
++-                    copy, ElementKind.METHOD, 
++-                    searchResult,
++-                    name, 
++-                    targetType).scan(pathToClass, null);
++-            }
++         }
++     }
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.form b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.form
++index 403e9f134..18828c576 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.form
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.form
++@@ -27,7 +27,7 @@
++   <Layout>
++     <DimensionLayout dim="0">
++       <Group type="103" groupAlignment="0" attributes="0">
++-          <Group type="102" alignment="0" attributes="0">
+++          <Group type="102" attributes="0">
++               <EmptySpace max="-2" attributes="0"/>
++               <Group type="103" groupAlignment="0" attributes="0">
++                   <Group type="102" alignment="0" attributes="0">
++@@ -49,18 +49,16 @@
++                           </Group>
++                       </Group>
++                   </Group>
+++                  <Component id="errorLabel" alignment="0" pref="491" max="32767" attributes="0"/>
+++                  <Group type="102" attributes="0">
+++                      <Component id="duplicates" min="-2" max="-2" attributes="0"/>
+++                      <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+++                  </Group>
++                   <Group type="102" alignment="0" attributes="0">
++                       <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
++                       <EmptySpace max="-2" attributes="0"/>
++                       <Component id="target" max="32767" attributes="0"/>
++                   </Group>
++-                  <Group type="102" attributes="0">
++-                      <Group type="103" groupAlignment="0" attributes="0">
++-                          <Component id="checkRefactorExisting" min="-2" max="-2" attributes="0"/>
++-                          <Component id="duplicates" min="-2" max="-2" attributes="0"/>
++-                      </Group>
++-                      <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
++-                  </Group>
++               </Group>
++               <EmptySpace max="-2" attributes="0"/>
++           </Group>
++@@ -89,9 +87,9 @@
++                   <Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
++                   <Component id="target" alignment="3" min="-2" max="-2" attributes="0"/>
++               </Group>
++-              <EmptySpace type="unrelated" max="-2" attributes="0"/>
++-              <Component id="checkRefactorExisting" min="-2" max="-2" attributes="0"/>
++-              <EmptySpace max="32767" attributes="0"/>
+++              <EmptySpace pref="54" max="32767" attributes="0"/>
+++              <Component id="errorLabel" min="-2" max="-2" attributes="0"/>
+++              <EmptySpace max="-2" attributes="0"/>
++           </Group>
++       </Group>
++     </DimensionLayout>
++@@ -223,6 +221,11 @@
++         </Property>
++       </AccessibilityProperties>
++     </Component>
+++    <Component class="javax.swing.JLabel" name="errorLabel">
+++      <AuxValues>
+++        <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="createErrorLabel();"/>
+++      </AuxValues>
+++    </Component>
++     <Component class="javax.swing.JCheckBox" name="duplicates">
++       <Properties>
++         <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++@@ -250,17 +253,5 @@
++         </Property>
++       </Properties>
++     </Component>
++-    <Component class="javax.swing.JCheckBox" name="checkRefactorExisting">
++-      <Properties>
++-        <Property name="selected" type="boolean" value="true"/>
++-        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++-          <ResourceString bundle="org/netbeans/modules/java/hints/introduce/Bundle.properties" key="IntroduceMethodPanel.checkRefactorExisting.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
++-        </Property>
++-        <Property name="enabled" type="boolean" value="false"/>
++-      </Properties>
++-      <Events>
++-        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="checkRefactorExistingActionPerformed"/>
++-      </Events>
++-    </Component>
++   </SubComponents>
++ </Form>
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.java
++index 21d0547af..25c54a9d6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceMethodPanel.java
++@@ -32,7 +32,8 @@ package org.netbeans.modules.java.hints.introduce;
++ 
++ import java.awt.event.ItemEvent;
++ import java.awt.event.ItemListener;
++-import java.util.Collection;
+++import java.beans.PropertyChangeEvent;
+++import java.beans.PropertyChangeListener;
++ import java.util.Collections;
++ import java.util.EnumSet;
++ import java.util.Map;
++@@ -41,26 +42,15 @@ import java.util.prefs.Preferences;
++ import javax.lang.model.element.Modifier;
++ import javax.swing.DefaultComboBoxModel;
++ import javax.swing.JButton;
++-import javax.swing.JComponent;
++-import javax.swing.JTextField;
++-import javax.swing.event.ChangeEvent;
++-import javax.swing.event.ChangeListener;
++-import org.openide.NotificationLineSupport;
++-import org.openide.util.NbBundle;
+++import javax.swing.JLabel;
++ import org.openide.util.NbPreferences;
+++import org.openide.util.Utilities;
++ 
++ /**
++  *
++  * @author Jan Lahoda
++  */
++- at NbBundle.Messages({
++-    "ERR_MethodExistsOrConflict=A conflicting method already exists in the target class, or its supertypes",
++-    "INFO_MethodWillShadow=The method will shadow an existing one.",
++-    "WARN_OverridesRestrictedAccess=The method will override a method from supertype",
++-    "ERR_MethodNameEmpty=The method name is empty",
++-    "ERR_InvalidMethodName=The method name is not a Java identifier"
++-}) 
++-public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeListener {
+++public class IntroduceMethodPanel extends CommonMembersPanel {
++     
++     public static final int INIT_METHOD = 1;
++     public static final int INIT_FIELD = 2;
++@@ -77,22 +67,20 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++      * True, if the target is an interface.
++      */
++     private boolean targetInterface;    
++-    private NameChangeSupport changeSupport;
++-    private NotificationLineSupport notifier;
+++    private final Map<TargetDescription, Set<String>> targets2conflictingNames;
++     
++-    public IntroduceMethodPanel(String name, int duplicatesCount, Collection<TargetDescription> targets, boolean targetInterface) {
++-        super(targets);
+++    public IntroduceMethodPanel(String name, int duplicatesCount, Map<TargetDescription, Set<String>> targets2conflictingNames, boolean targetInterface) {
+++        super(targets2conflictingNames.keySet());
++         initComponents();
++         
++         this.targetInterface = targetInterface;
+++        this.targets2conflictingNames = targets2conflictingNames;
++         this.name.setText(name);
++         if ( name != null && name.trim().length() > 0 ) {
++             this.name.setCaretPosition(name.length());
++             this.name.setSelectionStart(0);
++             this.name.setSelectionEnd(name.length());
++         }
++-        this.changeSupport = new MethodNameSupport(this.name);
++-        this.changeSupport.setChangeListener(this);
++         
++         Preferences pref = getPreferences();
++         
++@@ -124,8 +112,9 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++             duplicates.setSelected(true); //from pref
++             duplicates.setText(duplicates.getText() + " (" + duplicatesCount + ")");
++         }
+++
++         initialize(target, duplicates);
++-        updateTargetChange();
+++        
++         target.addItemListener(new ItemListener() {
++             @Override
++             public void itemStateChanged(ItemEvent e) {
++@@ -133,88 +122,6 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++             }
++         });
++     }
++-
++-    public void setNotifier(NotificationLineSupport notifier) {
++-        this.notifier = notifier;
++-    }
++-
++-    private class MethodNameSupport extends NameChangeSupport {
++-        public MethodNameSupport(JTextField control) {
++-            super(control);
++-        }
++-
++-        @Override
++-        protected void notifyNameError(String msg) {
++-            notifier.setErrorMessage(msg);
++-        }
++-
++-        @Override
++-        protected boolean updateUI(MemberSearchResult result) {
++-            if (result == null) {
++-                notifier.clearMessages();
++-                return true;
++-            }
++-            if (result.getConflicting() != null) {
++-                notifier.setErrorMessage(Bundle.ERR_MethodExistsOrConflict());
++-            } else if (result.getRequiredModifier() != null) {
++-                notifier.setWarningMessage(Bundle.WARN_OverridesRestrictedAccess());
++-            } else if (result.getShadowed() != null) {
++-                notifier.setInformationMessage(Bundle.INFO_MethodWillShadow());
++-            } else {
++-                notifier.clearMessages();
++-            }
++-            return result.getConflicting() == null;
++-        }
++-    }
++-    
++-    public void setValidator(MemberValidator validator) {
++-        changeSupport.setValidator(validator);
++-    }
++-
++-    @Override
++-    public void stateChanged(ChangeEvent e) {
++-        Modifier mustMod = changeSupport.getMinAccess();
++-        if (changeSupport.isValid()) {
++-            if (mustMod == null) {
++-                if (accessPublic.isVisible()) {
++-                    accessPublic.setEnabled(true);
++-                }
++-                if (accessProtected.isVisible()) {
++-                    accessProtected.setEnabled(true);
++-                }
++-                if (accessPrivate.isVisible()) {
++-                    accessPrivate.setEnabled(true);
++-                }
++-                if (accessDefault.isVisible()) {
++-                    accessDefault.setEnabled(true);
++-                }
++-                checkRefactorExisting.setEnabled(false);
++-                checkRefactorExisting.setSelected(false);
++-            } else {
++-                switch (mustMod) {
++-                    case PUBLIC:
++-                        accessProtected.setEnabled(false);
++-                        accessPrivate.setEnabled(false);
++-                        accessDefault.setEnabled(false);
++-                        break;
++-                    case DEFAULT:
++-                        accessProtected.setEnabled(false);
++-                        accessDefault.setEnabled(false);
++-                        accessPrivate.setEnabled(false);
++-                        break;
++-
++-                    case PROTECTED:
++-                        accessDefault.setEnabled(false);
++-                        accessPrivate.setEnabled(false);
++-                        break;
++-                }
++-                checkRefactorExisting.setEnabled(true);
++-                checkRefactorExisting.setSelected(refactorExisting);
++-            }
++-            updateAccessSelection();
++-        }
++-        btnOk.setEnabled(changeSupport.isValid());
++-    }
++     
++     private void updateTargetChange() {
++         int index = target.getSelectedIndex();
++@@ -224,7 +131,6 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++         }
++         TargetDescription desc = (TargetDescription)target.getModel().getSelectedItem();
++         updateAccessVisible(!desc.iface);
++-        changeSupport.setTarget(desc.pathHandle);
++     }
++     
++     private void updateAccessVisible(boolean v) {
++@@ -233,31 +139,6 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++         accessDefault.setVisible(v);
++         accessPrivate.setVisible(v);
++         accessProtected.setVisible(v);
++-        updateAccessSelection();
++-    }
++-    
++-    private boolean isAvailable(JComponent c) {
++-        return c.isVisible() && c.isEnabled();
++-    }
++-    
++-    private void updateAccessSelection() {
++-        boolean check = accessPrivate.isSelected();
++-        if (isAvailable(accessPrivate)) {
++-            return;
++-        }
++-        check |= accessProtected.isSelected();
++-        if (isAvailable(accessProtected)) {
++-            accessProtected.setSelected(check);
++-            return;
++-        }
++-        check |= accessDefault.isSelected();
++-        if (isAvailable(accessDefault)) {
++-            accessDefault.setSelected(check);
++-            return;
++-        }
++-        if (check) {
++-            accessPublic.setSelected(true);
++-        }
++     }
++     
++     private Preferences getPreferences() {
++@@ -266,11 +147,39 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++     
++     public void setOkButton( JButton btn ) {
++         this.btnOk = btn;
++-        btnOk.setEnabled(changeSupport.isValid());
+++        btnOk.setEnabled(((ErrorLabel)errorLabel).isInputTextValid());
+++    }
+++    
+++    private JLabel createErrorLabel() {
+++        ErrorLabel.Validator validator = new ErrorLabel.Validator() {
+++
+++            public String validate(String text) {
+++                if( null == text 
+++                    || text.length() == 0 ) return "";
+++                if (!Utilities.isJavaIdentifier(text))
+++                    return getDefaultErrorMessage( text );
+++                Set<String> blackList = targets2conflictingNames.get((TargetDescription)target.getModel().getSelectedItem());
+++                if (blackList != null && blackList.contains(text))
+++                    return getConflictErrorMessage(text);
+++                return null;
+++            }
+++        };
+++        
+++        final ErrorLabel eLabel = new ErrorLabel( name.getDocument(), validator );
+++        eLabel.addPropertyChangeListener(  ErrorLabel.PROP_IS_VALID, new PropertyChangeListener() {
+++            public void propertyChange(PropertyChangeEvent e) {
+++                btnOk.setEnabled(eLabel.isInputTextValid());
+++            }
+++        });
+++        return eLabel;
+++    }
+++    
+++    String getDefaultErrorMessage( String inputText ) {
+++        return "'" + inputText +"' is not a valid identifier";
++     }
++     
++-    public boolean isRefactorExisting() {
++-        return checkRefactorExisting.isEnabled() && checkRefactorExisting.isVisible() && checkRefactorExisting.isSelected();
+++    String getConflictErrorMessage( String inputText ) {
+++        return "'" + inputText +"' method already exists";
++     }
++     
++     /** This method is called from within the constructor to
++@@ -290,10 +199,10 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++         accessProtected = new javax.swing.JRadioButton();
++         accessDefault = new javax.swing.JRadioButton();
++         accessPrivate = new javax.swing.JRadioButton();
+++        errorLabel = createErrorLabel();
++         duplicates = new javax.swing.JCheckBox();
++         jLabel1 = new javax.swing.JLabel();
++         target = new javax.swing.JComboBox();
++-        checkRefactorExisting = new javax.swing.JCheckBox();
++ 
++         lblName.setLabelFor(name);
++         org.openide.awt.Mnemonics.setLocalizedText(lblName, org.openide.util.NbBundle.getBundle(IntroduceMethodPanel.class).getString("LBL_Name")); // NOI18N
++@@ -332,15 +241,6 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++         target.setModel(new DefaultComboBoxModel());
++         target.setRenderer(new TargetsRendererImpl());
++ 
++-        checkRefactorExisting.setSelected(true);
++-        org.openide.awt.Mnemonics.setLocalizedText(checkRefactorExisting, org.openide.util.NbBundle.getMessage(IntroduceMethodPanel.class, "IntroduceMethodPanel.checkRefactorExisting.text")); // NOI18N
++-        checkRefactorExisting.setEnabled(false);
++-        checkRefactorExisting.addActionListener(new java.awt.event.ActionListener() {
++-            public void actionPerformed(java.awt.event.ActionEvent evt) {
++-                checkRefactorExistingActionPerformed(evt);
++-            }
++-        });
++-
++         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
++         this.setLayout(layout);
++         layout.setHorizontalGroup(
++@@ -363,15 +263,14 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++                                 .addComponent(accessDefault)
++                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
++                                 .addComponent(accessPrivate))))
+++                    .addComponent(errorLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 491, Short.MAX_VALUE)
+++                    .addGroup(layout.createSequentialGroup()
+++                        .addComponent(duplicates)
+++                        .addGap(0, 0, Short.MAX_VALUE))
++                     .addGroup(layout.createSequentialGroup()
++                         .addComponent(jLabel1)
++                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
++-                        .addComponent(target, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
++-                    .addGroup(layout.createSequentialGroup()
++-                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
++-                            .addComponent(checkRefactorExisting)
++-                            .addComponent(duplicates))
++-                        .addGap(0, 0, Short.MAX_VALUE)))
+++                        .addComponent(target, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
++                 .addContainerGap())
++         );
++         layout.setVerticalGroup(
++@@ -394,9 +293,9 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
++                     .addComponent(jLabel1)
++                     .addComponent(target, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
++-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
++-                .addComponent(checkRefactorExisting)
++-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+++                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 54, Short.MAX_VALUE)
+++                .addComponent(errorLabel)
+++                .addContainerGap())
++         );
++ 
++         name.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(IntroduceMethodPanel.class, "AN_IntrMethod_Name")); // NOI18N
++@@ -408,14 +307,7 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++ 
++         getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(IntroduceMethodPanel.class, "AD_IntrMethod_Dialog")); // NOI18N
++     }// </editor-fold>//GEN-END:initComponents
++-
++-    private void checkRefactorExistingActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkRefactorExistingActionPerformed
++-        if (checkRefactorExisting.isEnabled()) {
++-            refactorExisting = checkRefactorExisting.isSelected();
++-        }
++-    }//GEN-LAST:event_checkRefactorExistingActionPerformed
++     
++-    private boolean refactorExisting = true; // PENDING: perhaps save default value in Preferences ?
++     
++     // Variables declaration - do not modify//GEN-BEGIN:variables
++     private javax.swing.JRadioButton accessDefault;
++@@ -423,8 +315,8 @@ public class IntroduceMethodPanel extends CommonMembersPanel implements ChangeLi
++     private javax.swing.JRadioButton accessPrivate;
++     private javax.swing.JRadioButton accessProtected;
++     private javax.swing.JRadioButton accessPublic;
++-    private javax.swing.JCheckBox checkRefactorExisting;
++     private javax.swing.JCheckBox duplicates;
+++    private javax.swing.JLabel errorLabel;
++     private javax.swing.ButtonGroup initilizeIn;
++     private javax.swing.JLabel jLabel1;
++     private javax.swing.JLabel lblAccess;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceVariableFix.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceVariableFix.java
++index 11da457db..29bdf2adc 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceVariableFix.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/IntroduceVariableFix.java
++@@ -57,14 +57,11 @@ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.Set;
++ import java.util.concurrent.atomic.AtomicBoolean;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.Modifier;
++ import javax.lang.model.type.TypeMirror;
++ import javax.swing.JButton;
++ import javax.swing.text.BadLocationException;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.SourceUtils;
++@@ -125,13 +122,10 @@ final class IntroduceVariableFix extends IntroduceFixBase implements Fix {
++         return statement;
++     }
++     private final String guessedName;
++-    private final TreePathHandle targetHandle;
++ 
++-    public IntroduceVariableFix(TreePathHandle handle, JavaSource js, String guessedName, int numDuplicates, IntroduceKind kind, 
++-            TreePathHandle methodHandle, int offset) {
+++    public IntroduceVariableFix(TreePathHandle handle, JavaSource js, String guessedName, int numDuplicates, IntroduceKind kind, int offset) {
++         super(js, handle, numDuplicates, offset);
++         this.guessedName = guessedName;
++-        this.targetHandle = methodHandle;
++     }
++ 
++     @Override
++@@ -156,18 +150,12 @@ final class IntroduceVariableFix extends IntroduceFixBase implements Fix {
++                 "introduceVariable", btnOk);
++         String caption = NbBundle.getMessage(IntroduceHint.class, "CAP_" + getKeyExt()); //NOI18N
++         DialogDescriptor dd = new DialogDescriptor(panel, caption, true, new Object[]{btnOk, btnCancel}, btnOk, DialogDescriptor.DEFAULT_ALIGN, null, null);
++-        FieldValidator val = new FieldValidator(js, null);
++-        panel.setNotifier(dd.createNotificationLineSupport());
++-        panel.setValidator(val);
++-        panel.setTarget(targetHandle);
++         if (DialogDisplayer.getDefault().notify(dd) != btnOk) {
++             return null; //cancel
++         }
++-        final boolean refactor = panel.isRefactorExisting();
++         final String name = panel.getFieldName();
++         final boolean replaceAll = panel.isReplaceAll();
++         final boolean declareFinal = panel.isDeclareFinal();
++-        final MemberSearchResult search = val.getLastResult();
++         js.runModificationTask(new Task<WorkingCopy>() {
++             public void run(WorkingCopy parameter) throws Exception {
++                 parameter.toPhase(JavaSource.Phase.RESOLVED);
++@@ -179,26 +167,10 @@ final class IntroduceVariableFix extends IntroduceFixBase implements Fix {
++                 if (tm == null) {
++                     return; //TODO...
++                 }
++-                tm = Utilities.convertIfAnonymous(Utilities.resolveTypeForDeclaration(parameter, tm));
+++                tm = Utilities.convertIfAnonymous(Utilities.resolveCapturedType(parameter, tm));
++                 if (!Utilities.isValidType(tm)) {
++                     return; // TODO... 
++                 }
++-                Element targetEl = null;
++-                TreePath targetPath = null;
++-                if (targetHandle != null) {
++-                    targetPath = targetHandle.resolve(parameter);
++-                    if (targetPath == null) {
++-                        return;
++-                    }
++-                    targetPath = TreeUtils.findClass(targetPath);
++-                    if (targetPath == null) {
++-                        return;
++-                    }
++-                    targetEl = parameter.getTrees().getElement(targetPath);
++-                    if (targetEl == null || !(targetEl.getKind().isClass() || targetEl.getKind().isInterface())) {
++-                        return;
++-                    }
++-                }
++                 Tree original = resolved.getLeaf();
++                 boolean variableRewrite = original.getKind() == Tree.Kind.VARIABLE;
++                 ExpressionTree expression = !variableRewrite ? (ExpressionTree) resolved.getLeaf() : ((VariableTree) original).getInitializer();
++@@ -233,28 +205,28 @@ final class IntroduceVariableFix extends IntroduceFixBase implements Fix {
++                 }
++                 // handle lambda of expression BodyKind
++                 List<StatementTree> nueStatements;
+++                if (statement.getParentPath().getLeaf().getKind() == Tree.Kind.LAMBDA_EXPRESSION) {
+++                    nueStatements = new ArrayList<>();
+++                    nueStatements.add(
+++                            make.Return((ExpressionTree)statement.getLeaf()));
+++                } else {
+++                    nueStatements = new LinkedList<StatementTree>(IntroduceHint.getStatements(statement));
+++                }
++                 GeneratorUtilities.get(parameter).importComments(IntroduceHint.getStatementOrBlock(statement).getLeaf(), parameter.getCompilationUnit());
++                 mods = make.Modifiers(declareFinal ? EnumSet.of(Modifier.FINAL) : EnumSet.noneOf(Modifier.class));
++                 VariableTree newVariable = make.Variable(mods, name, make.Type(tm), expression);
++-                nueStatements = new ArrayList<>();
++-                nueStatements.add(make.asReplacementOf(newVariable, resolved.getLeaf(), true));
+++                nueStatements.add(index, make.asReplacementOf(newVariable, resolved.getLeaf(), true));
++                 if (expressionStatement) {
++-                    Utilities.replaceStatements(parameter, statement, null, nueStatements);
++-                } else {
++-                    Utilities.insertStatement(parameter, statement, nueStatements, null);
+++                    make.asReplacementOf(newVariable, resolved.getParentPath().getLeaf());
+++                    nueStatements.remove(resolved.getParentPath().getLeaf());
++                 }
++-                
+++                IntroduceHint.doReplaceInBlockCatchSingleStatement(parameter, new HashMap<Tree, Tree>(), statement, nueStatements);
++                 if (!expressionStatement) {
++                     Tree origParent = resolved.getParentPath().getLeaf();
++                     Tree newParent = parameter.getTreeUtilities().translate(origParent, Collections.singletonMap(resolved.getLeaf(), 
++                             make.asNew(make.Identifier(name))));
++                     parameter.rewrite(origParent, newParent);
++                 }
++-                
++-                if (refactor) {
++-                    new ReferenceTransformer(parameter, ElementKind.LOCAL_VARIABLE, 
++-                            search, name, targetEl).scan(statement.getParentPath(), null);
++-                }
++             }
++         }).commit();
++         return null;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/MemberSearchResult.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/MemberSearchResult.java
++deleted file mode 100644
++index b436456ba..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/MemberSearchResult.java
+++++ /dev/null
++@@ -1,126 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.introduce;
++-
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.TypeElement;
++-import org.netbeans.api.java.source.ElementHandle;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class MemberSearchResult {
++-    
++-    /**
++-     * A conflicting element
++-     */
++-    private final ElementHandle<? extends Element> conflicting;
++-    /**
++-     * Shadowed element, if any
++-     */
++-    private final ElementHandle<? extends Element> shadowed;
++-    /**
++-     * Type which introduced the to-be-shadowed element; useful for
++-     * refactoring to proper references.
++-     */
++-    private final ElementHandle<? extends TypeElement> shadowedGate;
++-    /**
++-     * Inherited element is shadowed; use super qualifier.
++-     */
++-    private final boolean gateSuper;
++-    /**
++-     * The required access modifier. Note that {@link Modifier#DEFAULT} is (mis)used
++-     * to indicate package-level access.
++-     */
++-    private final Modifier requiredModifier;
++-
++-    public MemberSearchResult(ElementHandle<? extends Element> conflicting) {
++-        this.conflicting = conflicting;
++-        this.shadowed = null;
++-        this.shadowedGate = null;
++-        this.gateSuper = false;
++-        this.requiredModifier = null;
++-    }
++-
++-    public MemberSearchResult(ElementHandle<? extends Element> shadowed, ElementHandle<? extends TypeElement> shadowedGate) {
++-        this.shadowed = shadowed;
++-        this.shadowedGate = shadowedGate;
++-        this.gateSuper = false;
++-        this.conflicting = null;
++-        this.requiredModifier = null;
++-    }
++-
++-    public MemberSearchResult(ElementHandle<? extends Element> shadowed, ElementHandle<? extends TypeElement> shadowedGate, Modifier requiredModifier) {
++-        this.shadowed = shadowed;
++-        this.shadowedGate = shadowedGate;
++-        this.requiredModifier = requiredModifier;
++-        this.gateSuper = true;
++-        this.conflicting = null;
++-    }
++-    
++-    public ElementHandle<? extends Element> getOverriden() {
++-        return requiredModifier != null ? shadowed : null;
++-    }
++-
++-    public ElementHandle<? extends Element> getConflicting() {
++-        return conflicting;
++-    }
++-
++-    public ElementHandle<? extends Element> getShadowed() {
++-        return requiredModifier == null ? shadowed : null;
++-    }
++-
++-    public ElementHandle<? extends TypeElement> getShadowedGate() {
++-        return shadowedGate;
++-    }
++-
++-    public boolean isGateSuper() {
++-        return gateSuper;
++-    }
++-
++-    public Modifier getRequiredModifier() {
++-        return requiredModifier;
++-    }
++-    
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/MemberValidator.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/MemberValidator.java
++deleted file mode 100644
++index 7e00614a3..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/MemberValidator.java
+++++ /dev/null
++@@ -1,69 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.introduce;
++-
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.TypeElement;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.TreePathHandle;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public interface MemberValidator {
++-    /**
++-     * Validates whether that the entered name is correct, and that it does
++-     * not conflict with other members of the target.
++-     * <p/>
++-     * If the declaration overrides other accessible one, the method may return 
++-     * minimum access modifiers; UI will restrict the choice.
++-     * <p/>
++-     * The Validator should issue an information message in that case.
++-     * 
++-     * @param target the target type
++-     * @param n the requested name
++-     * @return minimum access modifiers
++-     */
++-    public MemberSearchResult validateName(TreePathHandle target, String n);
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/MethodValidator.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/MethodValidator.java
++deleted file mode 100644
++index 5d83760a2..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/MethodValidator.java
+++++ /dev/null
++@@ -1,253 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.introduce;
++-
++-import com.sun.source.tree.Scope;
++-import com.sun.source.util.TreePath;
++-import java.io.IOException;
++-import java.util.ArrayList;
++-import java.util.Collection;
++-import java.util.HashSet;
++-import java.util.List;
++-import java.util.Map;
++-import java.util.Set;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++-import javax.lang.model.element.ExecutableElement;
++-import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.TypeElement;
++-import javax.lang.model.type.DeclaredType;
++-import javax.lang.model.type.ExecutableType;
++-import javax.lang.model.type.TypeKind;
++-import javax.lang.model.type.TypeMirror;
++-import org.netbeans.api.java.source.CompilationController;
++-import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.ElementUtilities.ElementAcceptor;
++-import org.netbeans.api.java.source.JavaSource;
++-import org.netbeans.api.java.source.Task;
++-import org.netbeans.api.java.source.TreePathHandle;
++-import org.netbeans.api.java.source.TypeMirrorHandle;
++-
++-/**
++- * Validates that method is not in conflict with other one, or that it does not shadow
++- * another one.
++- * 
++- * @author sdedic
++- */
++-final class MethodValidator implements MemberValidator {
++-    private TreePathHandle          target;
++-    private String                              name;
++-    private final JavaSource  theSource;
++-    private final List<TreePathHandle> parameters;
++-    private final TypeMirrorHandle     returnType;
++-    private MemberSearchResult result;
++-    
++-    public MethodValidator(JavaSource theSource, List<TreePathHandle> parameters, TypeMirrorHandle returnType) {
++-        this.theSource = theSource;
++-        this.parameters = parameters;
++-        this.returnType = returnType;
++-    }
++-    
++-    public MemberSearchResult getResult() {
++-        return result;
++-    }
++-    
++-    @Override
++-    public synchronized MemberSearchResult validateName(TreePathHandle type, String n) {
++-        if (!(type.equals(target) && n.equals(name))) {
++-            SearchWorker wrk = new SearchWorker(type, n);
++-            try {
++-                theSource.runUserActionTask(wrk, true);
++-            } catch (IOException ex) {
++-            }
++-            this.result = wrk.result;
++-            this.name = n;
++-        }
++-        return result;
++-    }
++-    
++-    private class SearchWorker implements Task<CompilationController>, ElementAcceptor {
++-        private final TreePathHandle  targetHandle;
++-        private final String name;
++-        private MemberSearchResult result;
++-        private CompilationInfo cinfo;
++-        private Scope initialScope;
++-        
++-        private TypeElement target;
++-        private DeclaredType targetType;
++-        private List<TypeMirror> paramTypes;
++-        private Collection<Element> erasures = new HashSet<>();
++-        private TypeMirror returnType;
++-        
++-        public SearchWorker(TreePathHandle type, String name) {
++-            this.targetHandle = type;
++-            this.name = name;
++-        }
++-        
++-        @Override
++-        public void run(CompilationController parameter) throws Exception {
++-            parameter.toPhase(JavaSource.Phase.RESOLVED);
++-            this.cinfo = parameter;
++-            TreePath targetPath = targetHandle.resolve(cinfo);
++-            if (targetPath == null) {
++-                return;
++-            }
++-            Element te = cinfo.getTrees().getElement(targetPath);
++-            if (te == null || !(te.getKind().isClass() || te.getKind().isInterface())) {
++-                return;
++-            }
++-            target = (TypeElement)te;
++-            TypeMirror m = target.asType();
++-            if (m.getKind() != TypeKind.DECLARED) {
++-                return;
++-            }
++-            targetType = (DeclaredType)m;
++-            this.returnType = MethodValidator.this.returnType.resolve(cinfo);
++-            if (returnType == null) {
++-                return;
++-            }
++-             paramTypes = new ArrayList<>(parameters.size());
++-            for (TreePathHandle tph : parameters) {
++-                Element el = tph.resolveElement(cinfo);
++-                if (el == null
++-                        || !(el.getKind() == ElementKind.PARAMETER || el.getKind() == ElementKind.LOCAL_VARIABLE
++-                        || el.getKind() == ElementKind.RESOURCE_VARIABLE || el.getKind() == ElementKind.EXCEPTION_PARAMETER)) {
++-                    return;
++-                }
++-                paramTypes.add(el.asType());
++-            }
++-
++-            final DeclaredType targetType = (DeclaredType) target.asType();
++-            final Scope scope = cinfo.getTrees().getScope(targetPath);
++-            this.initialScope = scope;
++-            
++-            Map<? extends Element, Scope> visibleMethods = cinfo.getElementUtilities().findElementsAndOrigins(scope, this);
++-            for (Element e : visibleMethods.keySet()) {
++-                // only methods will pass the ElementAcceptor.
++-                ExecutableElement ee = (ExecutableElement)e;
++-                Element owner = visibleMethods.get(e).getEnclosingClass();
++-                // note - owner MAY be null, indicating that the method was static-imported 
++-                Element clazz = e.getEnclosingElement();
++-                if (clazz == target ||
++-                     // null owner (= no enclosing class for scope) means static import
++-                     owner == null ||
++-                    // possible clash on erasure on inherited
++-                    (owner == target && erasures.contains(e)) ||
++-                    // possible clash on return type
++-                    (!cinfo.getTypes().isSubtype(returnType, ee.getReturnType()))) {
++-                    // either same signature, or same erasure.
++-                    result =  new MemberSearchResult(ElementHandle.create(ee));
++-                    return;
++-                } else {
++-                    Modifier mod = null;
++-                    if (!(owner.getKind().isClass() || owner.getKind().isInterface())) {
++-                        // FIXME !!
++-                        continue;
++-                    }
++-                    ElementHandle<? extends TypeElement> ownerHandle = ElementHandle.create((TypeElement)owner);
++-                    if (!e.getModifiers().contains(Modifier.STATIC) && owner == target) {
++-                        Set<Modifier> mods = ee.getModifiers();
++-                        if (mods.contains(Modifier.PUBLIC)) {
++-                            mod = Modifier.PUBLIC;
++-                        } else if (mods.contains(Modifier.PROTECTED)) {
++-                            mod = Modifier.PROTECTED;
++-                        } else if (!mods.contains(Modifier.PRIVATE)) {
++-                            mod = Modifier.DEFAULT;
++-                        }
++-                        result = new MemberSearchResult(ElementHandle.create(ee), ownerHandle, mod);
++-                        return;
++-                    } else {
++-                        result = new MemberSearchResult(ElementHandle.create(ee), ownerHandle);
++-                    }
++-                }
++-            }
++-        }
++-
++-        @Override
++-        public boolean accept(Element e, TypeMirror type) {
++-            if (e.getKind() != ElementKind.METHOD) {
++-                return false;
++-            }
++-            ExecutableElement ee = (ExecutableElement) e;
++-            // the same number of parameters
++-            if (ee.getParameters().size() != parameters.size()) {
++-                return false;
++-            }
++-            if (!ee.getSimpleName().contentEquals(name)) {
++-                return false;
++-            }
++-            // visibility
++-            if (type != null && !cinfo.getTrees().isAccessible(initialScope, ee, (DeclaredType)type)) {
++-                return false;
++-            }
++-            ExecutableType eeType = (ExecutableType) cinfo.getTypes().asMemberOf((DeclaredType)type, ee);
++-            boolean checkErasure = false;
++-            DeclaredType parentType = (DeclaredType)ee.getEnclosingElement().asType();// DeclaredType) cinfo.getTypes().asMemberOf(targetType, ee.getEnclosingElement());
++-            if (parentType != null && cinfo.getTypes().isSubtype(targetType, parentType)) {
++-                checkErasure = true;
++-            }
++-            boolean erasureUsed = false;
++-            for (int i = 0; i < paramTypes.size(); i++) {
++-                TypeMirror existing = eeType.getParameterTypes().get(i);
++-                TypeMirror pt = paramTypes.get(i);
++-                if (!cinfo.getTypes().isSubtype(pt, existing)) {
++-                    if (!checkErasure) {
++-                        return false;
++-                    }
++-                    if (checkErasure) {
++-                        TypeMirror e1 = cinfo.getTypes().erasure(pt);
++-                        TypeMirror e2 = cinfo.getTypes().erasure(existing);
++-                        if (!cinfo.getTypes().isSameType(e1, e2)) {
++-                            return false;
++-                        }
++-                        erasureUsed = true;
++-                    }
++-                }
++-            }
++-            if (erasureUsed) {
++-                erasures.add(ee);
++-            }
++-            return true;
++-        }
++-    }
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/NameChangeSupport.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/NameChangeSupport.java
++deleted file mode 100644
++index 48665328f..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/NameChangeSupport.java
+++++ /dev/null
++@@ -1,200 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.introduce;
++-
++-import java.awt.event.FocusAdapter;
++-import java.awt.event.FocusEvent;
++-import java.lang.reflect.InvocationTargetException;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.TypeElement;
++-import javax.swing.JTextField;
++-import javax.swing.SwingUtilities;
++-import javax.swing.event.ChangeEvent;
++-import javax.swing.event.ChangeListener;
++-import javax.swing.event.DocumentEvent;
++-import javax.swing.event.DocumentListener;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.TreePathHandle;
++-import org.openide.NotificationLineSupport;
++-import org.openide.util.Exceptions;
++-import org.openide.util.NbBundle;
++-import org.openide.util.RequestProcessor;
++-import org.openide.util.Utilities;
++-
++-/**
++- * Provides support for name changes in Introduce dialogs. Will delay validation
++- * so that user can fast type. In case of focus lost event, performs validation
++- * synchronously if the doc was changed from the last validation.
++- * 
++- * @author sdedic
++- */
++-class NameChangeSupport extends FocusAdapter implements DocumentListener, Runnable {
++-    private static final RequestProcessor CHANGE_RP = new RequestProcessor(NameChangeSupport.class);
++-    
++-    private final JTextField    control;
++-    private MemberValidator  validator;
++-    private RequestProcessor.Task   validateTask = CHANGE_RP.create(this, true);
++-    private ChangeListener  listener;
++-    private TreePathHandle  target;
++-    private Modifier minAccess;
++-    private boolean valid;
++-    private String validateName;
++-    
++-    public NameChangeSupport(JTextField control) {
++-        this.control = control;
++-        control.getDocument().addDocumentListener(this);
++-        control.addFocusListener(this);
++-    }
++-    
++-    public synchronized void setChangeListener(ChangeListener l) {
++-        assert listener == null;
++-        this.listener = l;
++-    }
++-    
++-    public synchronized void setValidator(MemberValidator val) {
++-        this.validator = val;
++-    }
++-
++-    @Override
++-    public void focusLost(FocusEvent e) {
++-        // must revalidate immediately
++-        if (validateTask.cancel()) {
++-            this.validateName = control.getText().trim();
++-            run();
++-        }
++-    }
++-    
++-    public void setTarget(TreePathHandle target) {
++-        this.validateName = control.getText().trim();
++-        this.target = target;
++-        validateTask.run();
++-    }
++-    
++-    public synchronized Modifier getMinAccess() {
++-        return minAccess;
++-    }
++-
++-    @Override
++-    public void insertUpdate(DocumentEvent e) {
++-        this.validateName = control.getText().trim();
++-        validateTask.schedule(200);
++-    }
++-
++-    @Override
++-    public void removeUpdate(DocumentEvent e) {
++-        insertUpdate(e);
++-    }
++-
++-    @Override
++-    public void changedUpdate(DocumentEvent e) {}
++-
++-    public boolean isValid() {
++-        return validator == null ? true : valid;
++-    }
++-    
++-    @NbBundle.Messages({
++-        "ERR_NameIsEmpty=Name is empty",
++-        "ERR_NameIsNotValid=Name is not a vallid java identifier"
++-    })
++-    @Override
++-    public void run() {
++-        TreePathHandle t;
++-        MemberValidator v;
++-        synchronized (this) {
++-            if (validateName == null) {
++-                return;
++-            }
++-            if (validator == null) {
++-                return;
++-            }
++-            t = target;
++-            v = validator;
++-        }
++-        boolean nv = false;
++-        Modifier mod = null;
++-        final ChangeListener l;
++-        
++-        if (validateName.isEmpty()) {
++-            notifyNameError(Bundle.ERR_NameIsEmpty());
++-            nv = false;
++-        } else if (!Utilities.isJavaIdentifier(validateName)) {
++-            notifyNameError(Bundle.ERR_NameIsNotValid());
++-            nv = false;
++-        } else {
++-            MemberSearchResult res = v.validateName(t, control.getText().trim());
++-            nv = updateUI(res);
++-            mod = res == null ? null : res.getRequiredModifier();
++-        }
++-        synchronized (this) {
++-            if (minAccess == mod && nv == valid) {
++-                return;
++-            }
++-            this.valid = nv;
++-            if (nv) {
++-                minAccess = mod;
++-            }
++-            l = listener;
++-        }
++-        if (l != null) {
++-            SwingUtilities.invokeLater(new Runnable() {
++-                public void run() {
++-                    l.stateChanged(new ChangeEvent(this));
++-                }
++-            });
++-        }
++-    }
++-    
++-    /**
++-     * Should update the UI with messages appropriate for the search. The return value
++-     * informs whether the entry is valid
++-     * @param result
++-     * @return 
++-     */
++-    protected boolean updateUI(MemberSearchResult result) {
++-        return true;
++-    }
++-    
++-    protected void notifyNameError(String msg) {
++-    }
++-    
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/ReferenceTransformer.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/ReferenceTransformer.java
++deleted file mode 100644
++index 12c1da73b..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/ReferenceTransformer.java
+++++ /dev/null
++@@ -1,148 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.introduce;
++-
++-import com.sun.source.tree.IdentifierTree;
++-import com.sun.source.tree.MemberSelectTree;
++-import com.sun.source.tree.Tree;
++-import com.sun.source.util.TreePath;
++-import com.sun.source.util.TreePathScanner;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++-import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.Name;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.TreeMaker;
++-import org.netbeans.api.java.source.WorkingCopy;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-final class ReferenceTransformer extends TreePathScanner {
++-    private final ElementKind kind;
++-    private final String name;
++-    private final WorkingCopy copy;
++-    private final Element target;
++-    private Element shadowed;
++-    private Element shadowedGate;
++-    
++-    public ReferenceTransformer(WorkingCopy info, ElementKind kind, 
++-            MemberSearchResult result, String name, Element target) {
++-        this.kind = kind;
++-        this.name = name;
++-        this.copy = info;
++-        this.target = target;
++-        if (result != null) {
++-            ElementHandle<? extends Element> s = result.getShadowed();
++-            if (s == null) {
++-                s = result.getOverriden();
++-            }
++-            if (s != null) {
++-                this.shadowed = s.resolve(info);
++-            }
++-            s = result.getShadowedGate();
++-            if (s != null) {
++-                this.shadowedGate = result.getShadowedGate().resolve(info);
++-            }
++-        }
++-    }
++-
++-    @Override
++-    public Object scan(TreePath path, Object p) {
++-        if (shadowed == null || shadowedGate == null) {
++-            return null;
++-        }
++-        return super.scan(path, p);
++-    }
++-
++-    @Override
++-    public Object visitMemberSelect(MemberSelectTree node, Object p) {
++-        Object o = scan(node.getExpression(), p);
++-        if (o == Boolean.TRUE) {
++-            handleIdentifier(node, node.getIdentifier());
++-        }
++-        return null;
++-    }
++-    
++-    private void handleIdentifier(Tree node, Name id) {
++-        TreeMaker mk = copy.getTreeMaker();
++-        String nn = id.toString();
++-        if (nn.equals(name)) {
++-            Element res = copy.getTrees().getElement(getCurrentPath());
++-            if (res != null && res == shadowed) {
++-                if (res.getModifiers().contains(Modifier.STATIC)) {
++-                    copy.rewrite(node, 
++-                            mk.MemberSelect(
++-                                mk.Identifier(shadowedGate), // NOI18N
++-                                res.getSimpleName().toString()
++-                            )
++-                    );
++-                } else if (shadowedGate == target) {
++-                    copy.rewrite(node, 
++-                            mk.MemberSelect(
++-                                mk.MemberSelect(mk.Identifier(target), "super"), // NOI18N
++-                                res.getSimpleName().toString()
++-                            )
++-                    );
++-                } else {
++-                    copy.rewrite(node, 
++-                            mk.MemberSelect(
++-                                mk.MemberSelect(mk.Identifier(shadowedGate), "this"), // NOI18N
++-                                res.getSimpleName().toString()
++-                            )
++-                    );
++-                }
++-            }
++-        }
++-    }
++-
++-    @Override
++-    public Object visitIdentifier(IdentifierTree node, Object p) {
++-        String nn = node.getName().toString();
++-        if (nn.equals("this")) {
++-            return true;
++-        }
++-        handleIdentifier(node, node.getName());
++-        return null;
++-    }
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/introduce/TargetDescription.java b/java.hints/src/org/netbeans/modules/java/hints/introduce/TargetDescription.java
++index 54d7f91c3..e9f0c6542 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/introduce/TargetDescription.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/introduce/TargetDescription.java
++@@ -41,13 +41,9 @@
++  */
++ package org.netbeans.modules.java.hints.introduce;
++ 
++-import com.sun.source.util.TreePath;
++-import javax.lang.model.element.Modifier;
++-import javax.lang.model.element.NestingKind;
++ import javax.lang.model.element.TypeElement;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++ 
++ /**
++@@ -61,36 +57,17 @@ public final class TargetDescription {
++     public final boolean allowForDuplicates;
++     public final boolean anonymous;
++     public final boolean iface;
++-    public final boolean canStatic;
++-    public final TreePathHandle pathHandle;
++ 
++-    private TargetDescription(String displayName, ElementHandle<TypeElement> type, TreePathHandle pathHandle, boolean allowForDuplicates, boolean anonymous, boolean iface, boolean canStatic) {
+++    private TargetDescription(String displayName, ElementHandle<TypeElement> type, boolean allowForDuplicates, boolean anonymous, boolean iface) {
++         this.displayName = displayName;
++         this.type = type;
++         this.allowForDuplicates = allowForDuplicates;
++         this.anonymous = anonymous;
++         this.iface = iface;
++-        this.canStatic = canStatic;
++-        this.pathHandle = pathHandle;
++     }
++ 
++-    public static TargetDescription create(CompilationInfo info, TypeElement type, TreePath path, boolean allowForDuplicates, boolean iface) {
++-        boolean canStatic = true;
++-        if (iface) {
++-            // interface cannot have static methods
++-            canStatic = false;
++-        } else {
++-            if (type.getNestingKind() == NestingKind.ANONYMOUS || 
++-                type.getNestingKind() == NestingKind.LOCAL ||
++-                (type.getNestingKind() != NestingKind.TOP_LEVEL && !type.getModifiers().contains(Modifier.STATIC))) {
++-                canStatic = false;
++-            }
++-        }
++-        return new TargetDescription(Utilities.target2String(type), 
++-                ElementHandle.create(type), 
++-                TreePathHandle.create(path, info),
++-                allowForDuplicates, 
++-                type.getSimpleName().length() == 0, iface, canStatic);
+++    public static TargetDescription create(CompilationInfo info, TypeElement type, boolean allowForDuplicates, boolean iface) {
+++        return new TargetDescription(Utilities.target2String(type), ElementHandle.create(type), allowForDuplicates, type.getSimpleName().length() == 0, iface);
++     }
++ 
++     public String toDebugString() {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcat.java b/java.hints/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcat.java
++index 1e79be568..853809e52 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcat.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcat.java
++@@ -199,13 +199,6 @@ public class LoggerStringConcat {
++ 
++         return ErrorDescriptionFactory.forTree(ctx, message, NbBundle.getMessage(LoggerStringConcat.class, "MSG_LoggerStringConcat"), fix.toEditorFix());
++     }
++-    
++-    private static String literalToMessageFormat(String v) {
++-        String fmtValue = v.replaceAll("'", "''");
++-        fmtValue = fmtValue.replaceAll(Pattern.quote("{"), Matcher.quoteReplacement("'{'"));
++-        fmtValue = fmtValue.replaceAll(Pattern.quote("}"), Matcher.quoteReplacement("'}'"));
++-        return fmtValue;
++-    }
++ 
++     private static void rewrite(WorkingCopy wc, ExpressionTree level, MethodInvocationTree invocation, TreePath message) {
++         List<List<TreePath>> sorted = Utilities.splitStringConcatenationToElements(wc, message);
++@@ -214,50 +207,14 @@ public class LoggerStringConcat {
++         List<ExpressionTree> newParams = new LinkedList<ExpressionTree>();
++         int variablesCount = 0;
++         TreeMaker make = wc.getTreeMaker();
++-        Tree singleLeaf = null;
++-        
+++
++         for (List<TreePath> element : sorted) {
++-            if (element.size() == 1 &&
++-                !Utilities.isConstantString(wc, element.get(0), true)) {
++-                workingLiteral.append("{");
++-                workingLiteral.append(Integer.toString(variablesCount++));
++-                workingLiteral.append("}");
++-                newParams.add((ExpressionTree) element.get(0).getLeaf());
++-            } else {
++-                // the cluster is a series of literals and compile-time
++-                // constants (which must remain independent)
++-                for (TreePath p : element) {
++-                    Tree l = p.getLeaf();
++-                    if (Utilities.isStringOrCharLiteral(l)) {
++-                        if (workingLiteral.length() == 0) {
++-                            // will overwrite each other if there are multiple consecutive zero-length
++-                            // strings, but that does not matter, the value is the same
++-                            // and so is the type. Remind expressions like "" + 5
++-                            singleLeaf = l;
++-                        } else {
++-                            singleLeaf = null;
++-                        }
++-                        workingLiteral.append(
++-                            literalToMessageFormat(
++-                                    ((LiteralTree)l).getValue().toString()
++-                            )
++-                        );
++-                    } else {
++-                        // must join, some const-reference which must be preserved
++-                        if (singleLeaf != null) {
++-                            newMessage.add(singleLeaf);
++-                            workingLiteral = new StringBuilder();
++-                        } else if (workingLiteral.length() > 0) {
++-                            newMessage.add(make.Literal(workingLiteral.toString()));
++-                            workingLiteral = new StringBuilder();
++-                        }
++-                        newMessage.add(l);
++-                    }
++-                }
++-            }
++-            /*
++             if (element.size() == 1 && Utilities.isStringOrCharLiteral(element.get(0).getLeaf())) {
++-                String literalValue = literalToMessageFormat(((LiteralTree) element.get(0).getLeaf()).getValue().toString());
+++                String literalValue = ((LiteralTree) element.get(0).getLeaf()).getValue().toString();
+++
+++                literalValue = literalValue.replaceAll("'", "''");
+++                literalValue = literalValue.replaceAll(Pattern.quote("{"), Matcher.quoteReplacement("'{'"));
+++                literalValue = literalValue.replaceAll(Pattern.quote("}"), Matcher.quoteReplacement("'}'"));
++                 workingLiteral.append(literalValue);
++             } else {
++                 if (element.size() == 1 && !Utilities.isConstantString(wc, element.get(0), true)) {
++@@ -299,7 +256,6 @@ public class LoggerStringConcat {
++                     }
++                 }
++             }
++-            */
++         }
++ 
++         if (workingLiteral.length() > 0) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/AddUnderscores.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/AddUnderscores.java
++index d504ce3b7..668d31d26 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/AddUnderscores.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/AddUnderscores.java
++@@ -66,13 +66,14 @@ import org.openide.util.NbBundle;
++  *
++  * @author lahvac
++  */
++- at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.AddUnderscores", description = "#DESC_org.netbeans.modules.java.hints.jdk.AddUnderscores", id=AddUnderscores.ID, category="rules15", enabled=false, severity=Severity.HINT, customizerProvider=CustomizerProviderImpl.class,
++-        minSourceVersion = "7")
+++ at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.AddUnderscores", description = "#DESC_org.netbeans.modules.java.hints.jdk.AddUnderscores", id=AddUnderscores.ID, category="rules15", enabled=false, severity=Severity.HINT, customizerProvider=CustomizerProviderImpl.class)
++ public class AddUnderscores {
++     public static final String ID = "org.netbeans.modules.java.hints.jdk.AddUnderscores";
++ 
++     @TriggerTreeKind({Kind.INT_LITERAL, Kind.LONG_LITERAL})
++     public static ErrorDescription hint(HintContext ctx) {
+++        if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_7) < 0) return null;
+++        
++         TreePath tp = ctx.getPath();
++         int end = (int) ctx.getInfo().getTrees().getSourcePositions().getEndPosition(tp.getCompilationUnit(), tp.getLeaf());
++         int start = (int) ctx.getInfo().getTrees().getSourcePositions().getStartPosition(tp.getCompilationUnit(), tp.getLeaf());
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/Bundle.properties b/java.hints/src/org/netbeans/modules/java/hints/jdk/Bundle.properties
++index c98da1f95..0cba2d38e 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/Bundle.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/Bundle.properties
++@@ -70,7 +70,6 @@ DESC_org.netbeans.modules.java.hints.jdk.UseSpecificCatch=Converts catch (Throwa
++ ERR_UseSpecificCatch=Can be replaced with multicatch or several catch clauses catching specific exceptions
++ FIX_UseSpecificCatch=Replace with multicatch catching specific exceptions
++ FIX_UseSpecificCatchSplit=Generate catch handlers for specific exceptions
++-FIX_UseSpecificCatchSingle=Replace with catch({0})
++ 
++ DN_org.netbeans.modules.java.hints.jdk.ConvertToARM=Convert to try-with-resources
++ DESC_org.netbeans.modules.java.hints.jdk.ConvertToARM=Converts try finally block to try-with-resources
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToARM.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToARM.java
++index f8b785880..e47c30669 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToARM.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToARM.java
++@@ -61,7 +61,6 @@ import com.sun.source.util.Trees;
++ import java.util.ArrayList;
++ import java.util.Collection;
++ import java.util.Collections;
++-import java.util.EnumSet;
++ import java.util.HashMap;
++ import java.util.HashSet;
++ import java.util.Iterator;
++@@ -72,7 +71,6 @@ import java.util.Set;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++ import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.Modifier;
++ import javax.lang.model.element.VariableElement;
++ import javax.lang.model.type.TypeKind;
++@@ -100,22 +98,18 @@ import org.openide.util.Parameters;
++  *
++  * @author Tomas Zezula
++  */
++- at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.ConvertToARM", description = "#DESC_org.netbeans.modules.java.hints.jdk.ConvertToARM", category="rules15", suppressWarnings="ConvertToTryWithResources",
++-        minSourceVersion = "7")  //NOI18N
+++ at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.ConvertToARM", description = "#DESC_org.netbeans.modules.java.hints.jdk.ConvertToARM", category="rules15", suppressWarnings="ConvertToTryWithResources")  //NOI18N
++ public class ConvertToARM {
++ 
++     private static final Logger LOG = Logger.getLogger(ConvertToARMFix.class.getName());
++     private static final SpecificationVersion JDK_17 = new SpecificationVersion("1.7"); //NOI18N
++-    private static final SpecificationVersion JDK_9 = new SpecificationVersion("9"); //NOI18N
++     
++     private static final String AUTO_CLOSEABLE = "java.lang.AutoCloseable"; //NOI18N
++     
++     private static final String PTR_ENC_NONE_NO_TRY = "$CV $var = $init; $stms$; $var.close();";    //NOI18N
++     private static final String PTR_ENC_NONE_NO_TRY_FIN = "final $CV $var = $init; $stms$; $var.close();";  //NOI18N
++-    private static final String PTR_ENC_NONE_NO_TRY_EFIN = "$stms$; $var.close();";  //NOI18N
++     private static final String PTR_ENC_NONE_TRY = "$CV $var = $init; try { $stms$; } catch $catches$ finally {$var.close(); $finstms$;}";  //NOI18N
++     private static final String PTR_ENC_NONE_TRY_FIN = "final $CV $var = $init; try { $stms$; } catch $catches$ finally {$var.close(); $finstms$;}"; //NOI18N
++-    private static final String PTR_ENC_NONE_TRY_EFIN = "try { $stms$; } catch $catches$ finally {$var.close(); $finstms$;}"; //NOI18N
++     private static final String PTR_ENC_NONE_TRY_NULL = "$CV $var = null; try { $var = $init; $stms$; } catch $catches$ finally {if ($var != null) $var.close(); $finstms$;}"; //NOI18N
++     private static final String PTR_ENC_NONE_TRY_NULL2 = "$CV $var = null; try { $var = $init; $stms$; } catch $catches$ finally {$var.close(); $finstms$;}"; //NOI18N
++     private static final String PTR_ENC_NONE_TRY_NULL2_SHADOW = "$CV_x $var_x = null; try { $var_x = $init_x; $stms_x$; } catch $catches_x$ finally {$var_x.close(); $finstms_x$;}"; //NOI18N
++@@ -138,14 +132,10 @@ public class ConvertToARM {
++     private static final String PTR_ENC_OUT_NO_TRY_SHADOW = "$CV_x $var_x = $init_x; try($armres_x$) {$stms_x$;} $var_s.close();";    //NOI18N
++     private static final String PTR_ENC_OUT_NO_TRY_FIN = "final $CV $var = $init; try($armres$) {$stms$;} $var.close();";  //NOI18N
++     private static final String PTR_ENC_OUT_NO_TRY_FIN_SHADOW = "final $CV_x $var_x = $init_x; try($armres_x$) {$stms_x$;} $var_x.close();";  //NOI18N
++-    private static final String PTR_ENC_OUT_NO_TRY_EFIN = "try($armres$) {$stms$;} $var.close();";  //NOI18N
++-    private static final String PTR_ENC_OUT_NO_TRY_EFIN_SHADOW = "try($armres_x$) {$stms_x$;} $var_x.close();";  //NOI18N
++     private static final String PTR_ENC_OUT_TRY = "$CV $var = $init; try { try($armres$) {$stms$;} } catch $catches$ finally {$var.close(); $finstms$;}";  //NOI18N
++     private static final String PTR_ENC_OUT_TRY_SHADOW = "$CV_x $var_x = $init_x; try { try($armres_x$) {$stms_x$;} } catch $catches_x$ finally {$var_x.close(); $finstms_x$;}";  //NOI18N
++     private static final String PTR_ENC_OUT_TRY_FIN = "final $CV $var = $init; try { try($armres$) {$stms$;} } catch $catches$ finally {$var.close(); $finstms$;}"; //NOI18N
++     private static final String PTR_ENC_OUT_TRY_FIN_SHADOW = "final $CV_x $var_x = $init_x; try { try($armres_x$) {$stms_x$;} } catch $catches_x$ finally {$var_x.close(); $finstms_x$;}"; //NOI18N
++-    private static final String PTR_ENC_OUT_TRY_EFIN = "try { try($armres$) {$stms$;} } catch $catches$ finally {$var.close(); $finstms$;}"; //NOI18N
++-    private static final String PTR_ENC_OUT_TRY_EFIN_SHADOW = "try { try($armres_x$) {$stms_x$;} } catch $catches_x$ finally {$var_x.close(); $finstms_x$;}"; //NOI18N
++     private static final String PTR_ENC_OUT_TRY_NULL = "$CV $var = null; try { $var = $init; try($armres$) {$stms$;} } catch $catches$ finally {if ($var != null) $var.close(); $finstms$;}"; //NOI18N
++     private static final String PTR_ENC_OUT_TRY_NULL_SHADOW = "$CV_x $var_x = null; try { $var_x = $init_x; try($armres_x$) {$stms_x$;} } catch $catches_x$ finally {if ($var_x != null) $var_x.close(); $finstms_x$;}"; //NOI18N
++        
++@@ -155,24 +145,16 @@ public class ConvertToARM {
++     private static final String PTR_ENC_IN_NO_TRY2_SHADOW = "try($armres_x$) {$CV_x $var_x = $init_x; $stms_x$; $var_x.close();} catch $catches_x$ finally {$finstms_x$;}";
++     private static final String PTR_ENC_IN_NO_TRY_FIN = "try($armres$) {final $CV $var = $init; $stms$; $var.close(); $suff$;} catch $catches$";
++     private static final String PTR_ENC_IN_NO_TRY_FIN_SHADOW = "try($armres_x$) {final $CV_x $var_x = $init_x; $stms_x$; $var_x.close();} catch $catches_x$";
++-    private static final String PTR_ENC_IN_NO_TRY_EFIN = "try($armres$) {$stms$; $var.close(); $suff$;} catch $catches$";
++-    private static final String PTR_ENC_IN_NO_TRY_EFIN_SHADOW = "try($armres_x$) {$stms_x$; $var_x.close();} catch $catches_x$";
++     private static final String PTR_ENC_IN_NO_TRY2_FIN = "try($armres$) {final $CV $var = $init; $stms$; $var.close(); $suff$;} catch $catches$ finally {$finstms$;}";
++     private static final String PTR_ENC_IN_NO_TRY2_FIN_SHADOW = "try($armres_x$) {$CV_x $var_x = $init_x; $stms_x$; $var_x.close();} catch $catches_x$ finally {$finstms_x$;}";
++-    private static final String PTR_ENC_IN_NO_TRY2_EFIN = "try($armres$) {$stms$; $var.close(); $suff$;} catch $catches$ finally {$finstms$;}";
++-    private static final String PTR_ENC_IN_NO_TRY2_EFIN_SHADOW = "try($armres_x$) {$stms_x$; $var_x.close();} catch $catches_x$ finally {$finstms_x$;}";
++     private static final String PTR_ENC_IN_TRY = "try($armres$) { $CV $var = $init; try { $stms$; } finally {$var.close();}} catch $catches$";  //NOI18N
++     private static final String PTR_ENC_IN_TRY_SHADOW = "try($armres_x$) { $CV_x $var_x = $init_x; try { $stms_x$; } finally {$var_x.close();}} catch $catches_x$";  //NOI18N
++     private static final String PTR_ENC_IN_TRY2 = "try($armres$) { $CV $var = $init; try { $stms$; } finally {$var.close();}} catch $catches$ finally {$finstms$;}";  //NOI18N
++     private static final String PTR_ENC_IN_TRY2_SHADOW = "try($armres_x$) { $CV_x $var_x = $init_x; try { $stms_x$; } finally {$var_x.close();}} catch $catches_x$ finally {$finstms_x$;}";  //NOI18N    
++     private static final String PTR_ENC_IN_TRY_FIN = "try($armres$) { final $CV $var = $init; try { $stms$; } finally {$var.close();}} catch $catches$";  //NOI18N
++     private static final String PTR_ENC_IN_TRY_FIN_SHADOW = "try($armres_x$) { final $CV_x $var_x = $init_x; try { $stms_x$; } finally {$var_x.close();}} catch $catches_x$";  //NOI18N
++-    private static final String PTR_ENC_IN_TRY_EFIN = "try($armres$) {try { $stms$; } finally {$var.close();}} catch $catches$";  //NOI18N
++-    private static final String PTR_ENC_IN_TRY_EFIN_SHADOW = "try($armres_x$) {try { $stms_x$; } finally {$var_x.close();}} catch $catches_x$";  //NOI18N
++     private static final String PTR_ENC_IN_TRY2_FIN = "try($armres$) { final $CV $var = $init; try { $stms$; } finally {$var.close();}} catch $catches$ finally {$finstms$;}";  //NOI18N
++     private static final String PTR_ENC_IN_TRY2_FIN_SHADOW = "try($armres_x$) { final $CV_x $var_x = $init_x; try { $stms_x$; } finally {$var_x.close();}} catch $catches_x$ finally {$finstms_x$;}";  //NOI18N    
++-    private static final String PTR_ENC_IN_TRY2_EFIN = "try($armres$) {try { $stms$; } finally {$var.close();}} catch $catches$ finally {$finstms$;}";  //NOI18N
++-    private static final String PTR_ENC_IN_TRY2_EFIN_SHADOW = "try($armres_x$) {try { $stms_x$; } finally {$var_x.close();}} catch $catches_x$ finally {$finstms_x$;}";  //NOI18N    
++     private static final String PTR_ENC_IN_TRY_NULL = "try($armres$) { $CV $var = null; try { $var = $init; $stms$; } finally {if ($var != null) $var.close();}} catch $catches$"; //NOI18N
++     private static final String PTR_ENC_IN_TRY_NULL_SHADOW = "try($armres_x$) { $CV_x $var_x = null; try { $var_x = $init_x; $stms_x$; } finally {if ($var_x != null) $var_x.close();}} catch $catches_x$"; //NOI18N
++     private static final String PTR_ENC_IN_TRY_NULL2 = "try($armres$) { $CV $var = null; try { $var = $init; $stms$; } finally {if ($var != null) $var.close();}} catch $catches$ finally {$finstms$;}"; //NOI18N
++@@ -206,10 +188,8 @@ public class ConvertToARM {
++         {
++             @TriggerPattern(value=PTR_ENC_NONE_NO_TRY),
++             @TriggerPattern(value=PTR_ENC_NONE_NO_TRY_FIN),
++-            @TriggerPattern(value=PTR_ENC_NONE_NO_TRY_EFIN),
++             @TriggerPattern(value=PTR_ENC_NONE_TRY),
++             @TriggerPattern(value=PTR_ENC_NONE_TRY_FIN),
++-            @TriggerPattern(value=PTR_ENC_NONE_TRY_EFIN),
++             @TriggerPattern(value=PTR_ENC_NONE_TRY_NULL)
++         }
++     )
++@@ -233,29 +213,17 @@ public class ConvertToARM {
++     public static List<ErrorDescription> hint1Impl(HintContext ctx, boolean secondRule, String fixKey) {
++         if (!MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_NO_TRY_SHADOW)     &&
++             !MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_NO_TRY_FIN_SHADOW) &&
++-            !(MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_NO_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx)) &&
++-            !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_OUT_NO_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx)) &&
++             !MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_TRY_SHADOW) &&
++             !MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_TRY_FIN_SHADOW) &&
++-            !(MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx)) &&
++-            !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_OUT_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx)) &&
++             !MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_OUT_TRY_NULL_SHADOW) &&
++             !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_NO_TRY_SHADOW) && insideARM(ctx)) &&
++             !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_NO_TRY2_SHADOW) && insideARM(ctx)) &&
++             !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_NO_TRY_FIN_SHADOW) && insideARM(ctx)) &&
++-            !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_NO_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++-            !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath().getParentPath(), PTR_ENC_IN_NO_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++             !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_NO_TRY2_FIN_SHADOW) && insideARM(ctx)) &&
++-            !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_NO_TRY2_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++-            !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath().getParentPath(), PTR_ENC_IN_NO_TRY2_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++             !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY_SHADOW) && insideARM(ctx)) &&
++             !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY2_SHADOW) && insideARM(ctx)) &&
++             !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY_FIN_SHADOW) && insideARM(ctx)) &&
++-            !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++-            !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath().getParentPath(), PTR_ENC_IN_TRY_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++             !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY2_FIN_SHADOW) && insideARM(ctx)) &&
++-            !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY2_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++-            !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath().getParentPath(), PTR_ENC_IN_TRY2_EFIN_SHADOW) && isEffectivelyFinal(ctx) && insideARM(ctx)) &&
++             !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY_NULL_SHADOW) && insideARM(ctx)) &&
++             !(MatcherUtilities.matches(ctx, ctx.getPath().getParentPath(), PTR_ENC_IN_TRY_NULL2_SHADOW) && insideARM(ctx))) {
++             if (!secondRule && MatcherUtilities.matches(ctx, ctx.getPath(), PTR_ENC_NONE_TRY_NULL2_SHADOW)) {
++@@ -274,10 +242,8 @@ public class ConvertToARM {
++         {
++             @TriggerPattern(value=PTR_ENC_OUT_NO_TRY),
++             @TriggerPattern(value=PTR_ENC_OUT_NO_TRY_FIN),
++-            @TriggerPattern(value=PTR_ENC_OUT_NO_TRY_EFIN),
++             @TriggerPattern(value=PTR_ENC_OUT_TRY),
++             @TriggerPattern(value=PTR_ENC_OUT_TRY_FIN),
++-            @TriggerPattern(value=PTR_ENC_OUT_TRY_EFIN),
++             @TriggerPattern(value=PTR_ENC_OUT_TRY_NULL)
++         }
++     )
++@@ -290,15 +256,11 @@ public class ConvertToARM {
++             @TriggerPattern(value=PTR_ENC_IN_NO_TRY),
++             @TriggerPattern(value=PTR_ENC_IN_NO_TRY2),
++             @TriggerPattern(value=PTR_ENC_IN_NO_TRY_FIN),
++-            @TriggerPattern(value=PTR_ENC_IN_NO_TRY_EFIN),
++             @TriggerPattern(value=PTR_ENC_IN_NO_TRY2_FIN),
++-            @TriggerPattern(value=PTR_ENC_IN_NO_TRY2_EFIN),
++             @TriggerPattern(value=PTR_ENC_IN_TRY),
++             @TriggerPattern(value=PTR_ENC_IN_TRY2),
++             @TriggerPattern(value=PTR_ENC_IN_TRY_FIN),
++-            @TriggerPattern(value=PTR_ENC_IN_TRY_EFIN),
++             @TriggerPattern(value=PTR_ENC_IN_TRY2_FIN),
++-            @TriggerPattern(value=PTR_ENC_IN_TRY2_EFIN),
++             @TriggerPattern(value=PTR_ENC_IN_TRY_NULL),
++             @TriggerPattern(value=PTR_ENC_IN_TRY_NULL2)
++         }
++@@ -314,60 +276,49 @@ public class ConvertToARM {
++     private static List<ErrorDescription> hintImpl(final HintContext ctx, final NestingKind nestingKind, String key) {
++         Parameters.notNull("ctx", ctx); //NOI18N        
++         final Map<String,TreePath> vars = ctx.getVariables();
++-        final TreePath varVar = vars.get("$var"); //NOI18N
+++        final TreePath varVar = vars.get("$var");    //NOI18N
++         assert varVar != null;
++-        final CompilationInfo info = ctx.getInfo();
++-        final Trees trees = info.getTrees();
++-        final TypeMirror type = trees.getTypeMirror(varVar);
++-        final List<ErrorDescription> result = new ArrayList<>(1);
+++        final TreePath typeVar = vars.get("$CV");    //NOI18N
+++        assert typeVar != null;
+++        final CompilationInfo info = ctx.getInfo();        
+++        final TypeMirror type = info.getTrees().getTypeMirror(typeVar);
+++        final List<ErrorDescription> result = new ArrayList<ErrorDescription>(1);
++         if (type != null && type.getKind() == TypeKind.DECLARED) {
++             final Element autoCloseable = info.getElements().getTypeElement(AUTO_CLOSEABLE);
++-            if (isSupportedSourceLevel(info.getFileObject(), JDK_17)  && (!checkAutoCloseable || (autoCloseable != null && info.getTypes().isSubtype(type, autoCloseable.asType())))) {
++-                final Element element = trees.getElement(varVar);
++-                if (element != null && EnumSet.of(ElementKind.FIELD, ElementKind.PARAMETER, ElementKind.LOCAL_VARIABLE).contains(element.getKind())) {
++-                    final TreePath typeVar = vars.get("$CV"); //NOI18N
++-                    final VariableElement resElement = (VariableElement) element;
++-                    if (typeVar != null || isSupportedSourceLevel(info.getFileObject(), JDK_9) && resElement.getKind() != ElementKind.LOCAL_VARIABLE && info.getElementUtilities().isEffectivelyFinal(resElement)) {
++-                        final Map<String,Collection<? extends TreePath>> multiVars = ctx.getMultiVariables();
++-                        final Collection<? extends TreePath> stms = multiVars.get("$stms$");    //NOI18N
++-                        if (!stms.isEmpty() && !isAssigned(resElement, stms, trees)) {
++-                            final Collection<? extends TreePath> tail;
++-
++-                            if (multiVars.containsKey("$suff$")) {
++-                                tail = multiVars.get("$suff$"); // NOI18N
++-                            } else {
++-                                tail = multiVars.get("$$2$");  //NOI18N
++-                            }
++-                            final Collection<? extends TreePath> usages = findResourceUsages(resElement, tail, trees);
++-                            final Collection<TreePath> cleanUpStatements = new LinkedList<>();
++-                            if (!hasNonCleanUpUsages(usages, cleanUpStatements) && !splitVariablesClash(stms, tail, trees)) {
++-                                TreePath path = varVar;
++-                                if (typeVar == null) {
++-                                    final Iterator<? extends TreePath> paths = findResourceUsages(resElement, stms, trees).iterator();
++-                                    if (paths.hasNext()) {
++-                                        path = paths.next();
++-                                    }
++-                                }
++-                                result.add(ErrorDescriptionFactory.forName(
++-                                    ctx,
++-                                    path,
++-                                    NbBundle.getMessage(ConvertToARM.class, "TXT_ConvertToARM"),
++-                                    new ConvertToARMFix(
++-                                        info,
++-                                        key,
++-                                        ctx.getPath(),
++-                                        nestingKind,
++-                                        varVar,
++-                                        vars.get("$init"),              //NOI18N
++-                                        multiVars.get("$armres$"),      //NOI18N
++-                                        stms,
++-                                        multiVars.get("$catches$"),     //NOI18N
++-                                        multiVars.get("$finstms$"),     //NOI18N
++-                                        tail,
++-                                        cleanUpStatements).toEditorFix()
++-                                    ));
++-                            }
++-                        }
+++            if (isSupportedSourceLevel(ctx.getInfo().getFileObject())  && (!checkAutoCloseable || (autoCloseable != null && info.getTypes().isSubtype(type, autoCloseable.asType())))) {
+++                final Map<String,Collection<? extends TreePath>> multiVars = ctx.getMultiVariables();
+++                final Collection<? extends TreePath> stms = multiVars.get("$stms$");    //NOI18N
+++                final Trees trees = ctx.getInfo().getTrees();
+++                final VariableElement resElement = (VariableElement) trees.getElement(varVar);
+++                if (resElement != null && !stms.isEmpty() && !isAssigned(resElement, stms, trees)) {
+++                    final Collection<? extends TreePath> tail;
+++                    
+++                    if (multiVars.containsKey("$suff$")) {
+++                        tail = multiVars.get("$suff$"); // NOI18N
+++                    } else {
+++                        tail = multiVars.get("$$2$");  //NOI18N
+++                    }
+++                    final Collection<? extends TreePath> usages = findResourceUsagesAfterClose(resElement, tail, varVar.getCompilationUnit(), trees);
+++                    final Collection<TreePath> cleanUpStatements = new LinkedList<TreePath>();
+++                    if (!hasNonCleanUpUsages(usages, cleanUpStatements) && !splitVariablesClash(stms, tail, trees)) {
+++                        result.add(ErrorDescriptionFactory.forName(
+++                            ctx,
+++                            varVar,
+++                            NbBundle.getMessage(ConvertToARM.class, "TXT_ConvertToARM"),
+++                        new ConvertToARMFix(
+++info,
+++key,
+++ctx.getPath(),
+++nestingKind,
+++varVar,
+++vars.get("$init"),              //NOI18N
+++multiVars.get("$armres$"),      //NOI18N
+++stms,
+++multiVars.get("$catches$"),     //NOI18N
+++multiVars.get("$finstms$"),     //NOI18N
+++tail,
+++cleanUpStatements).toEditorFix()
+++                        ));
++                     }
++                 }
++             }
++@@ -453,8 +404,12 @@ public class ConvertToARM {
++         @Override
++         protected void performRewrite(TransformationContext ctx) {
++             final WorkingCopy wc = ctx.getWorkingCopy();
++-            TreePath tp = ctx.getPath();
++-            final TreePath init = this.initHandle != null ? this.initHandle.resolve(wc) : null;
+++            final TreePath tp = ctx.getPath();
+++            final TreePath init = this.initHandle.resolve(wc);
+++            if (init == null) {
+++                LOG.log(Level.FINE, "Cannot resolve TreePathHandle: {0}", this.initHandle.toString());
+++                return ;
+++            }
++             final TreePath var = this.varHandle.resolve(wc);
++             if (var == null) {
++                 LOG.log(Level.FINE, "Cannot resolve TreePathHandle: {0}", this.varHandle.toString());
++@@ -510,49 +465,34 @@ public class ConvertToARM {
++                 final List<StatementTree> filteredStatements = new LinkedList<StatementTree>(statements);
++                 filteredStatements.removeAll(removedVars);
++                 final BlockTree block = tm.Block(filteredStatements, false);
++-                final Tree resTree = var.getLeaf().getKind() == Tree.Kind.VARIABLE
++-                        ? addInit(wc, removeFinal(wc, (VariableTree)var.getLeaf()),(ExpressionTree)init.getLeaf())
++-                        : var.getLeaf();
+++                final VariableTree varTree = addInit(wc,
+++                        removeFinal(wc, (VariableTree)var.getLeaf()),
+++                        (ExpressionTree)init.getLeaf());
++                 final TryTree tryTree = tm.Try(
++-                        Collections.singletonList(resTree),
+++                        Collections.singletonList(varTree),
++                         block,
++                         ConvertToARMFix.<CatchTree>asList(catchesPaths),
++                         rewriteFinallyBlock(tm,finStatementsPath));
++-                StatementTree stat = null;
++-                if (tp.getLeaf().getKind() == Tree.Kind.TRY) {
++-                    stat = (StatementTree) tp.getLeaf();
++-                    tp = tp.getParentPath();
++-                } else if (var.getLeaf().getKind() == Tree.Kind.VARIABLE) {
++-                    stat = (StatementTree)var.getLeaf();
++-                }
++                 rewriteCopyComments(wc, tp.getLeaf(), rewriteOwnerBlock(gen, 
++                         tm,
++                         ((BlockTree)tp.getLeaf()).getStatements(),
++-                        stat,
+++                        (StatementTree)var.getLeaf(),
++                         additionalVars,
++                         tryTree,
++                         statements,
++                         nonNeededStms));
++             } else if (nestingKind == NestingKind.OUT) {
++-                StatementTree stat = null;
++-                if (tp.getLeaf().getKind() == Tree.Kind.TRY) {
++-                    stat = (StatementTree) tp.getLeaf();
++-                    tp = tp.getParentPath();
++-                } else if (var.getLeaf().getKind() == Tree.Kind.VARIABLE) {
++-                    stat = (StatementTree)var.getLeaf();
++-                }
++                 final TryTree oldTry = findNestedARM(
++                         ((BlockTree)tp.getLeaf()).getStatements(),
++-                        stat);
+++                        (StatementTree)var.getLeaf());
++                 if (oldTry == null) {
++                     return;
++                 }
++                 final List<Tree> arm = new ArrayList<Tree>();                
++-                final Tree resTree = var.getLeaf().getKind() == Tree.Kind.VARIABLE
++-                        ? addInit(wc, removeFinal(wc, (VariableTree)var.getLeaf()),(ExpressionTree)init.getLeaf())
++-                        : var.getLeaf();
++-                arm.add(resTree);
++-                arm.addAll(removeFinal(wc, ConvertToARMFix.<Tree>asList(armPaths)));
+++                arm.add(addInit(wc,
+++                        removeFinal(wc, (VariableTree)var.getLeaf()),
+++                        (ExpressionTree)init.getLeaf()));
+++                arm.addAll(removeFinal(wc, ConvertToARMFix.<Tree>asList(armPaths)));                
++                 final TryTree newTry = tm.Try(
++                         arm,
++                         oldTry.getBlock(),
++@@ -561,7 +501,7 @@ public class ConvertToARM {
++                 rewriteCopyComments(wc, tp.getLeaf(), rewriteOwnerBlock(gen, 
++                         tm,
++                         ((BlockTree)tp.getLeaf()).getStatements(),
++-                        stat,
+++                        (StatementTree)var.getLeaf(),
++                         Collections.<VariableTree>emptyList(),
++                         newTry,
++                         ConvertToARMFix.<StatementTree>asList(statementsPaths),
++@@ -574,10 +514,9 @@ public class ConvertToARM {
++                 final TryTree oldTry = (TryTree)oldTryPath.getLeaf();
++                 Tree rewriteTree = oldTry;
++                 final List<Tree> arm = new ArrayList<Tree>(removeFinal(wc, oldTry.getResources()));
++-                final Tree resTree = var.getLeaf().getKind() == Tree.Kind.VARIABLE
++-                        ? addInit(wc, removeFinal(wc, (VariableTree)var.getLeaf()),(ExpressionTree)init.getLeaf())
++-                        : var.getLeaf();
++-                arm.add(resTree);
+++                arm.add(addInit(wc,
+++                        removeFinal(wc, (VariableTree)var.getLeaf()),
+++                        (ExpressionTree)init.getLeaf()));
++                 final TryTree newTry = tm.Try(
++                         arm,
++                         tm.Block(ConvertToARMFix.<StatementTree>asList(statementsPaths), false),
++@@ -633,7 +572,7 @@ public class ConvertToARM {
++                 final List<? extends StatementTree> oldStms,
++                 final Set<? extends StatementTree> removeStms) {
++             final List<StatementTree> statements = new ArrayList<StatementTree>(originalStatements.size());
++-            int state = var != null ? 0 : 1;  //0 - ordinary,1 - replace by try, 2 - remove 
+++            int state = 0;  //0 - ordinary,1 - replace by try, 2 - remove 
++             final Set<Tree> toRemove = new HashSet<Tree>(oldStms);
++             for (StatementTree statement : originalStatements) {
++                 if (removeStms.contains(statement)) {
++@@ -641,27 +580,8 @@ public class ConvertToARM {
++                 }
++                 if (var == statement) {
++                     statements.addAll(preVarDecls);
++-                    if (var.getKind() == Kind.TRY) {
++-                        gen.copyComments(statement, newTry, true);
++-                        gen.copyComments(statement, newTry, false);
++-                        if (statement.getKind() == Kind.TRY) {
++-                            // copy over the comments for the finally block, it has been regenerated
++-                            TryTree tt = (TryTree)statement;
++-                            if (tt.getFinallyBlock() != null) {
++-                                Tree nt = newTry.getFinallyBlock();
++-                                if (nt == null) {
++-                                    nt = newTry;
++-                                }
++-                                gen.copyComments(tt.getFinallyBlock(), nt, true);
++-                                gen.copyComments(tt.getFinallyBlock(), nt, false);
++-                            }
++-                        }
++-                        statement = newTry;
++-                        state = 0;
++-                    } else {
++-                        state = 1;
++-                        continue;
++-                    }
+++                    state = 1;
+++                    continue;
++                 } else if (state == 1) {
++                     state =  toRemove.contains(statement) || 
++                             (statement.getKind() == Kind.TRY && 
++@@ -753,12 +673,11 @@ public class ConvertToARM {
++     private static TryTree findNestedARM(
++             final Collection<? extends StatementTree> stms,
++             final StatementTree var) {
++-        int state = var != null ? 0 : 1;
+++        int state = 0;
++         for (StatementTree stm : stms) {
++             if (stm == var) {
++                 state = 1;
++-            }
++-            if (state == 1) {
+++            } else if (state == 1) {
++                 if (stm.getKind() == Kind.TRY) {
++                     final TryTree tryTree = (TryTree)stm;
++                     if (tryTree.getResources() != null && !tryTree.getResources().isEmpty()) {
++@@ -779,64 +698,33 @@ public class ConvertToARM {
++                         }
++                     }
++                 }
++-                if (stm != var) {
++-                    break;
++-                }
+++                break;
++             }
++         }
++         return null;
++     }
++     
++-    private static TreePath findEnclosingARMPath(final TreePath varPath) {
++-        if (varPath == null) {
++-            return null;
++-        }
++-        if (varPath.getLeaf().getKind() == Tree.Kind.VARIABLE) {
++-            TreePath path = findEnclosingTryPath(varPath);
++-            return  path != null && ((TryTree)path.getLeaf()).getResources() != null
++-                    && !((TryTree)path.getLeaf()).getResources().isEmpty()
++-                    ? path : null;
++-        }
++-        TreePath path = varPath;        
++-        while (path != null && !(path.getLeaf() instanceof StatementTree)) {
++-            path = path.getParentPath();
++-        }
++-        path = findEnclosingTryPath(path); //NOI18N
++-        if (path != null && ((TryTree)path.getLeaf()).getResources() != null
++-                && !((TryTree)path.getLeaf()).getResources().isEmpty()) {
++-            return path;
++-        }
++-        path = findEnclosingTryPath(path);
++-        return  path != null && ((TryTree)path.getLeaf()).getResources() != null
++-                && !((TryTree)path.getLeaf()).getResources().isEmpty()
++-                ? path : null;
+++    private static TryTree findEnclosingARM(final TreePath varPath) {
+++        TreePath path = findEnclosingARMPath(varPath);
+++        return path == null ? null : (TryTree)path.getLeaf();
++     }
++-    
++-    private static TreePath findEnclosingTryPath(final TreePath path) {
++-        TreePath parent = path.getParentPath();
+++            
+++    private static TreePath findEnclosingARMPath(
+++            final TreePath varPath) {
+++        TreePath parent = varPath.getParentPath();
++         if (parent == null || parent.getLeaf().getKind() != Kind.BLOCK) {
++             return null;
++         }
++         parent = parent.getParentPath();
++         if (parent == null || parent.getLeaf().getKind() != Kind.TRY) {
++             return null;
++-        }
+++        }        
++         return parent;
++     }
++     
++-    private static boolean isEffectivelyFinal(final HintContext ctx) {
++-        if (isSupportedSourceLevel(ctx.getInfo().getFileObject(), JDK_9)) {
++-            TreePath var = ctx.getVariables().get("$var");
++-            if (var != null) {
++-                Element el = ctx.getInfo().getTrees().getElement(var);
++-                return el != null && EnumSet.of(ElementKind.FIELD, ElementKind.PARAMETER).contains(el.getKind()) && ctx.getInfo().getElementUtilities().isEffectivelyFinal((VariableElement)el);
++-            }
++-        }
++-        return false;
++-    }
++-    
++     private static boolean insideARM(final HintContext ctx) {
++-        return findEnclosingARMPath(ctx.getVariables().get("$var")) != null;
+++        final TryTree enc = findEnclosingARM(ctx.getVariables().get("$var"));   //NOI18N
+++        return enc != null && enc.getResources() != null && !enc.getResources().isEmpty();  
++     }
++ 
++     private static Collection<VariableTree> findVariableDecls(
++@@ -880,11 +768,12 @@ public class ConvertToARM {
++         return vars;
++     }
++ 
++-    private static Collection<? extends TreePath> findResourceUsages(
+++    private static Collection<? extends TreePath> findResourceUsagesAfterClose(
++             final VariableElement resource,
++             final Collection<? extends TreePath> statements,
+++            final CompilationUnitTree cu,
++             final Trees trees) {
++-        final List<TreePath> usages = new LinkedList<>();
+++        final List<TreePath> usages = new LinkedList<TreePath>();
++         if (statements != null) {
++             final TreePathScanner<List<TreePath>,List<TreePath>> scanner = new TreePathScanner<List<TreePath>, List<TreePath>>() {
++                 @Override
++@@ -993,7 +882,7 @@ public class ConvertToARM {
++         return scanner.scan(statements, null) == Boolean.TRUE;
++     }
++ 
++-    private static boolean isSupportedSourceLevel(final FileObject file, final SpecificationVersion ver) {
+++    private static boolean isSupportedSourceLevel(final FileObject file) {
++         if (file == null) {
++             return false;
++         }
++@@ -1001,7 +890,7 @@ public class ConvertToARM {
++         if (sl == null) {
++             return false;
++         }
++-        return ver.compareTo(new SpecificationVersion(sl)) <= 0;
+++        return JDK_17.compareTo(new SpecificationVersion(sl)) <= 0;
++     }
++     
++     private enum NestingKind {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHint.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHint.java
++index d7196fd66..41c75f8c6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHint.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHint.java
++@@ -55,7 +55,6 @@ import java.util.Map;
++ import java.util.Map.Entry;
++ import java.util.Set;
++ import java.util.prefs.Preferences;
++-import javax.lang.model.SourceVersion;
++ import javax.swing.JComponent;
++ import javax.tools.Diagnostic;
++ import org.netbeans.api.java.source.CompilationInfo;
++@@ -80,12 +79,11 @@ import org.openide.util.NbBundle;
++  *
++  * @author lahvac
++  */
++- at Hint(displayName = "#DN_Javac_canUseDiamond", description = "#DESC_Javac_canUseDiamond", id=ConvertToDiamondBulkHint.ID, category="rules15",enabled=true, customizerProvider=CustomizerProviderImpl.class, suppressWarnings="Convert2Diamond",
++-        minSourceVersion = "7")
+++ at Hint(displayName = "#DN_Javac_canUseDiamond", description = "#DESC_Javac_canUseDiamond", id=ConvertToDiamondBulkHint.ID, category="rules15",enabled=true, customizerProvider=CustomizerProviderImpl.class, suppressWarnings="Convert2Diamond")
++ public class ConvertToDiamondBulkHint {
++ 
++     public static final String ID = "Javac_canUseDiamond";
++-    public static final Set<String> CODES = new HashSet<String>(Arrays.asList("compiler.warn.diamond.redundant.args"));
+++    public static final Set<String> CODES = new HashSet<String>(Arrays.asList("compiler.warn.diamond.redundant.args", "compiler.warn.diamond.redundant.args.1"));
++ 
++     //XXX: hack:
++     public static boolean isHintEnabled() {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambda.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambda.java
++index 22df36c7d..782abda67 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambda.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambda.java
++@@ -35,12 +35,10 @@
++  * Version 2 license, then the option applies only if the new code is
++  * made subject to such option by the copyright holder.
++  *
+++ * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++  *
++  * Portions Copyrighted 2009-2010 Sun Microsystems, Inc.
++  */
++-/*
++- * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++- */
++ package org.netbeans.modules.java.hints.jdk;
++ 
++ import com.sun.source.tree.ClassTree;
++@@ -73,12 +71,11 @@ import org.openide.util.NbBundle;
++     "FIX_ConvertToMemberReference=Use member reference", //NOI18N
++     "FIX_ConvertToLambda=Use lambda expression" //NOI18N    
++ })
++- at Hint(displayName = "#DN_Javac_canUseLambda", description = "#DESC_Javac_canUseLambda", id = ConvertToLambda.ID, category = "rules15", suppressWarnings="Convert2Lambda",
++-        minSourceVersion = "8") //NOI18N
+++ at Hint(displayName = "#DN_Javac_canUseLambda", description = "#DESC_Javac_canUseLambda", id = ConvertToLambda.ID, category = "rules15", suppressWarnings="Convert2Lambda") //NOI18N
++ public class ConvertToLambda {
++ 
++     public static final String ID = "Javac_canUseLambda"; //NOI18N
++-    public static final Set<String> CODES = new HashSet<String>(Arrays.asList("compiler.warn.potential.lambda.found")); //NOI18N
+++    public static final Set<String> CODES = new HashSet<String>(Arrays.asList("compiler.note.potential.lambda.found")); //NOI18N
++ 
++     static final boolean DEF_PREFER_MEMBER_REFERENCES = true;
++ 
++@@ -88,23 +85,34 @@ public class ConvertToLambda {
++     @TriggerPatterns({
++         @TriggerPattern("new $clazz($params$) { $method; }") //NOI18N
++     })
++-    @NbBundle.Messages("MSG_AnonymousConvertibleToLambda=This anonymous inner class creation can be turned into a lambda expression.")
++     public static ErrorDescription computeAnnonymousToLambda(HintContext ctx) {
++         ClassTree clazz = ((NewClassTree) ctx.getPath().getLeaf()).getClassBody();
++-        ConvertToLambdaPreconditionChecker preconditionChecker =
++-                new ConvertToLambdaPreconditionChecker(ctx.getPath(), ctx.getInfo());
++-        if (!preconditionChecker.passesFatalPreconditions()) {
++-            return null;
++-        }
+++        long start = ctx.getInfo().getTrees().getSourcePositions().getStartPosition(ctx.getInfo().getCompilationUnit(), clazz);
++ 
++-        FixImpl fix = new FixImpl(ctx.getInfo(), ctx.getPath(), false);
++-        if (ctx.getPreferences().getBoolean(KEY_PREFER_MEMBER_REFERENCES, DEF_PREFER_MEMBER_REFERENCES)
++-                && (preconditionChecker.foundMemberReferenceCandidate() || preconditionChecker.foundConstructorReferenceCandidate())) {
++-            return ErrorDescriptionFactory.forTree(ctx, ((NewClassTree) ctx.getPath().getLeaf()).getIdentifier(), Bundle.MSG_AnonymousConvertibleToLambda(),
++-                    new FixImpl(ctx.getInfo(), ctx.getPath(), true).toEditorFix(), fix.toEditorFix());
+++        OUTER:
+++        for (Diagnostic<?> d : ctx.getInfo().getDiagnostics()) {
+++            if (start != d.getStartPosition()) {
+++                continue;
+++            }
+++            if (!CODES.contains(d.getCode())) {
+++                continue;
+++            }
+++
+++            ConvertToLambdaPreconditionChecker preconditionChecker =
+++                    new ConvertToLambdaPreconditionChecker(ctx.getPath(), ctx.getInfo());
+++            if (!preconditionChecker.passesFatalPreconditions()) {
+++                return null;
+++            }
+++
+++            FixImpl fix = new FixImpl(ctx.getInfo(), ctx.getPath(), false);
+++            if (ctx.getPreferences().getBoolean(KEY_PREFER_MEMBER_REFERENCES, DEF_PREFER_MEMBER_REFERENCES)
+++                    && preconditionChecker.foundMemberReferenceCandidate()) {
+++                return ErrorDescriptionFactory.forTree(ctx, ((NewClassTree) ctx.getPath().getLeaf()).getIdentifier(), d.getMessage(null),
+++                        new FixImpl(ctx.getInfo(), ctx.getPath(), true).toEditorFix(), fix.toEditorFix());
+++            }
+++            return ErrorDescriptionFactory.forTree(ctx, ((NewClassTree) ctx.getPath().getLeaf()).getIdentifier(), d.getMessage(null), fix.toEditorFix());
++         }
++-        return ErrorDescriptionFactory.forTree(ctx, ((NewClassTree) ctx.getPath().getLeaf()).getIdentifier(), 
++-                Bundle.MSG_AnonymousConvertibleToLambda(), fix.toEditorFix());
+++        return null;
++     }
++ 
++     private static final class FixImpl extends JavaFix {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaConverter.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaConverter.java
++index 4b2ec17da..432e1c9e2 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaConverter.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaConverter.java
++@@ -35,15 +35,12 @@
++  * Version 2 license, then the option applies only if the new code is
++  * made subject to such option by the copyright holder.
++  *
+++ * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++  *
++  * Portions Copyrighted 2012 Sun Microsystems, Inc.
++  */
++-/*
++- * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++- */
++ package org.netbeans.modules.java.hints.jdk;
++ 
++-import com.sun.source.tree.BlockTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.ExpressionTree;
++ import com.sun.source.tree.IdentifierTree;
++@@ -69,10 +66,6 @@ import com.sun.source.tree.MemberReferenceTree;
++ import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.ReturnTree;
++-import java.util.List;
++-import javax.lang.model.element.ExecutableElement;
++-import javax.lang.model.element.Modifier;
++-import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.WorkingCopy;
++ import org.netbeans.api.java.source.matching.Matcher;
++@@ -116,64 +109,7 @@ public class ConvertToLambdaConverter {
++ 
++         copy.rewrite(newClassTree, convertedTree);
++     }
++-    
++-    private static Tree possiblyCast(WorkingCopy copy, ExpressionTree tree, TreePath path, boolean typeCast) {
++-        if (!typeCast) {
++-            return tree;
++-        }
++-        NewClassTree nct = (NewClassTree)path.getLeaf();
++-        return copy.getTreeMaker().TypeCast(nct.getIdentifier(), tree);
++-    }
++-    
++-    public static Tree newClassToConstructorReference(WorkingCopy copy, Tree tree, TreePath contextPath, List<? extends VariableTree> passedParameters, boolean addTypeCast) {
++-        NewClassTree nct = (NewClassTree)tree;
++-        if (passedParameters.size() != nct.getArguments().size()) {
++-            return null;
++-        }
++-        Element e = copy.getTrees().getElement(new TreePath(contextPath, tree));
++-        if (e == null || e.getKind() != ElementKind.CONSTRUCTOR) {
++-            return null;
++-        }
++-        TreeMaker make = copy.getTreeMaker();
++-        return possiblyCast(copy, 
++-                make.MemberReference(MemberReferenceTree.ReferenceMode.NEW, nct.getIdentifier(), "new", (List<? extends ExpressionTree>)nct.getTypeArguments()), 
++-                contextPath, addTypeCast);
++-    }
++ 
++-    public static Tree methodInvocationToMemberReference(WorkingCopy copy, Tree tree, TreePath contextPath, List<? extends VariableTree> passedParameters, boolean addTypeCast) {
++-        if (tree.getKind() != Tree.Kind.METHOD_INVOCATION)
++-            return null;
++-        ExpressionTree ms = ((MethodInvocationTree)tree).getMethodSelect();
++-        Element e = copy.getTrees().getElement(new TreePath(contextPath, ms));
++-        if (e == null || e.getKind() != ElementKind.METHOD) {
++-            return null;
++-        }
++-        Name name = null;
++-        ExpressionTree expr = null;
++-        TreeMaker make = copy.getTreeMaker();
++-        
++-        if (ms.getKind() == Tree.Kind.IDENTIFIER) {
++-            name = ((IdentifierTree)ms).getName();
++-            expr = e.getModifiers().contains(Modifier.STATIC) ? 
++-                    make.Identifier(e.getEnclosingElement()) :
++-                    make.Identifier("this"); //NOI18N
++-        } else if (ms.getKind() == Tree.Kind.MEMBER_SELECT) {
++-            name = ((MemberSelectTree)ms).getIdentifier();
++-            if (passedParameters.size() == ((MethodInvocationTree)tree).getArguments().size()) {
++-                expr = ((MemberSelectTree)ms).getExpression();
++-            } else {
++-                expr = make.Identifier(e.getEnclosingElement());
++-            }
++-        }
++-        if (name == null || expr == null) {
++-            return null;
++-        }
++-        return possiblyCast(copy, 
++-                make.MemberReference(MemberReferenceTree.ReferenceMode.INVOKE, expr, name, Collections.<ExpressionTree>emptyList()),
++-                contextPath, addTypeCast
++-        );
++-    }
++-    
++     public void performRewriteToMemberReference() {
++         MethodTree methodTree = getMethodFromFunctionalInterface(newClassTree);
++         if (methodTree.getBody() == null || methodTree.getBody().getStatements().size() != 1)
++@@ -186,15 +122,29 @@ public class ConvertToLambdaConverter {
++         } else {
++             return;
++         }
++-        Tree changed = null;
++-        if (tree.getKind() == Tree.Kind.METHOD_INVOCATION) {
++-            changed = methodInvocationToMemberReference(copy, tree, pathToNewClassTree, methodTree.getParameters(),
++-                    preconditionChecker.needsCastToExpectedType());
++-        } else if (tree.getKind() == Tree.Kind.NEW_CLASS) {
++-            changed = newClassToConstructorReference(copy, tree, pathToNewClassTree, methodTree.getParameters(), preconditionChecker.needsCastToExpectedType());
+++        if (tree.getKind() != Tree.Kind.METHOD_INVOCATION)
+++            return;
+++        ExpressionTree ms = ((MethodInvocationTree)tree).getMethodSelect();
+++        Name name = null;
+++        ExpressionTree expr = null;
+++        TreeMaker make = copy.getTreeMaker();
+++        if (ms.getKind() == Tree.Kind.IDENTIFIER) {
+++            name = ((IdentifierTree)ms).getName();
+++            expr = make.Identifier("this"); //NOI18N
+++        } else if (ms.getKind() == Tree.Kind.MEMBER_SELECT) {
+++            name = ((MemberSelectTree)ms).getIdentifier();
+++            if (methodTree.getParameters().size() == ((MethodInvocationTree)tree).getArguments().size()) {
+++                expr = ((MemberSelectTree)ms).getExpression();
+++            } else {
+++                Element e = copy.getTrees().getElement(new TreePath(pathToNewClassTree, ms));
+++                if (e != null && e.getKind() == ElementKind.METHOD) {
+++                    expr = make.Identifier(e.getEnclosingElement());
+++                }
+++            }
++         }
++-        if (changed != null) {
++-            copy.rewrite(newClassTree, changed);
+++        if (name != null && expr != null) {
+++            MemberReferenceTree referenceTree = make.MemberReference(MemberReferenceTree.ReferenceMode.INVOKE, expr, name, Collections.<ExpressionTree>emptyList());
+++            copy.rewrite(newClassTree, referenceTree);
++         }
++     }
++ 
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaPreconditionChecker.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaPreconditionChecker.java
++index 19a4f204b..4d71e0ca6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaPreconditionChecker.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaPreconditionChecker.java
++@@ -35,12 +35,10 @@
++  * Version 2 license, then the option applies only if the new code is
++  * made subject to such option by the copyright holder.
++  *
+++ * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++  *
++  * Portions Copyrighted 2012 Sun Microsystems, Inc.
++  */
++-/*
++- * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++- */
++ package org.netbeans.modules.java.hints.jdk;
++ 
++ import com.sun.source.tree.BlockTree;
++@@ -51,8 +49,8 @@ import com.sun.source.tree.MemberSelectTree;
++ import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.ParenthesizedTree;
++ import com.sun.source.tree.Scope;
+++import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
++@@ -74,7 +72,6 @@ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.util.Types;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.TreeUtilities;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++ 
++ 
++@@ -99,7 +96,6 @@ public class ConvertToLambdaPreconditionChecker {
++     private boolean foundRefToUninitializedVar = false;
++     private final Element ownerClass;
++     private final Element createdClass;
++-    private boolean foundConstructorReferenceCandidate = false;
++ 
++     public ConvertToLambdaPreconditionChecker(TreePath pathToNewClassTree, CompilationInfo info) {
++ 
++@@ -109,12 +105,12 @@ public class ConvertToLambdaPreconditionChecker {
++         this.types = info.getTypes();
++ 
++         Element el = info.getTrees().getElement(pathToNewClassTree);
++-        if (el != null && el.getKind() == ElementKind.CONSTRUCTOR) {
+++        if (el.getKind() == ElementKind.CONSTRUCTOR) {
++             createdClass = el.getEnclosingElement();
++         } else {
++             createdClass = null;
++         }
++-        this.lambdaMethodTree = getMethodFromFunctionalInterface(this.pathToNewClassTree);
+++        this.lambdaMethodTree = getMethodFromFunctionalInterface(this.newClassTree);
++         this.localScope = getScopeFromTree(this.pathToNewClassTree);
++         this.ownerClass = findFieldOwner();
++     }
++@@ -139,27 +135,10 @@ public class ConvertToLambdaPreconditionChecker {
++         return null;
++     }
++     
++-    private MethodTree getMethodFromFunctionalInterface(TreePath pathToNewClassTree) {
+++    private static MethodTree getMethodFromFunctionalInterface(NewClassTree newClassTree) {
++         //ignore first member, which is a synthetic constructor call
++-        if (createdClass == null) {
++-            return null;
++-        }
++-        TreePath typePath = new TreePath(pathToNewClassTree, ((NewClassTree)pathToNewClassTree.getLeaf()).getIdentifier());
++-        Element baseElement  = info.getTrees().getElement(typePath);
++-        if (baseElement == null || baseElement.getKind().isClass()) {
++-            return null;
++-        }
++-        TreeUtilities tu = info.getTreeUtilities();
++-        MethodTree candidate = null;
++-        for (Tree member : ((NewClassTree)pathToNewClassTree.getLeaf()).getClassBody().getMembers()) {
++-            if (member.getKind() == Tree.Kind.METHOD && !tu.isSynthetic(new TreePath(pathToNewClassTree, member))) {
++-                if (candidate != null) {
++-                    return null;
++-                }
++-                candidate = (MethodTree)member;
++-            }
++-        }
++-        return candidate;
+++        ClassTree classTree = newClassTree.getClassBody();
+++        return (MethodTree) classTree.getMembers().get(1);
++     }
++ 
++     public boolean passesAllPreconditions() {
++@@ -177,12 +156,11 @@ public class ConvertToLambdaPreconditionChecker {
++     
++     private void ensurePreconditionsAreChecked() {
++         if (!havePreconditionsBeenChecked) {
++-            if (lambdaMethodTree != null) {
++-                TreePath path = new TreePath(pathToNewClassTree, lambdaMethodTree);
++-                new PreconditionScanner().scan(path, info.getTrees());
++-                checkForOverload();
++-                verifyTargetType();
++-            }
+++            TreePath path = new TreePath(pathToNewClassTree, lambdaMethodTree);
+++            new PreconditionScanner().scan(path, info.getTrees());
+++            checkForOverload();
+++            verifyTargetType();
+++            
++             havePreconditionsBeenChecked = true;
++         }
++     }
++@@ -193,8 +171,7 @@ public class ConvertToLambdaPreconditionChecker {
++     }
++     
++     public boolean passesFatalPreconditions() {
++-        return lambdaMethodTree != null && 
++-               !foundRefToThisOrSuper() &&
+++        return !foundRefToThisOrSuper() &&
++                !foundRecursiveCall() &&
++                !foundErroneousTargetType() && 
++                !foundRefToUninitializedVar();
++@@ -247,11 +224,6 @@ public class ConvertToLambdaPreconditionChecker {
++         ensurePreconditionsAreChecked();
++         return foundMemberReferenceCandidate;
++     }
++-    
++-    public boolean foundConstructorReferenceCandidate() {
++-        ensurePreconditionsAreChecked();
++-        return foundConstructorReferenceCandidate;
++-    }
++ 
++     private void checkForOverload() {
++         foundOverloadWhichMakesLambdaAmbiguous = doesOverloadMakeLambdaAmbiguous();
++@@ -340,68 +312,6 @@ public class ConvertToLambdaPreconditionChecker {
++             return super.visitVariable(variableDeclTree, trees);
++         }
++ 
++-        public boolean isMeaninglessQualifier(TreePath exprPath) {
++-            if (exprPath == null) {
++-                return false;
++-            }
++-            Tree leaf = exprPath.getLeaf();
++-            if (leaf.getKind() == Tree.Kind.PARENTHESIZED) {
++-                return isMeaninglessQualifier(new TreePath(exprPath, ((ParenthesizedTree)leaf).getExpression()));
++-            } else if (leaf.getKind() == Tree.Kind.IDENTIFIER) {
++-                String s = ((IdentifierTree)leaf).getName().toString();
++-                if ("this".equals(s)) {
++-                    // this alone denotes the class which is going to be turned to lambda.
++-                    return  false;
++-                }
++-            } else if (leaf.getKind() == Tree.Kind.MEMBER_SELECT && createdClass != null) {
++-                MemberSelectTree mst = (MemberSelectTree)leaf;
++-                String s = mst.getIdentifier().toString();
++-                if ("this".equals(s)) {
++-                    // SomeOuterClass.this; if the qualifier is an enclosing class,
++-                    // permit:
++-                    TypeMirror thisType = info.getTrees().getTypeMirror(exprPath);
++-                    if (thisType == null || thisType.getKind() != TypeKind.DECLARED) {
++-                        return false;
++-                    }
++-                    Element el = ((DeclaredType)thisType).asElement();
++-                    for (Element outer = createdClass.getEnclosingElement(); outer != null; outer = outer.getEnclosingElement()) {
++-                        if (el.getModifiers().contains(Modifier.STATIC)) {
++-                            // lost the reference to the outer instances
++-                            return false;
++-                        }
++-                        if (el == outer) {
++-                            return true;
++-                        }
++-                    }
++-                }
++-            }
++-            return false;
++-        }
++-
++-        @Override
++-        public Tree visitNewClass(NewClassTree node, Trees p) {
++-            Tree t = super.visitNewClass(node, p);
++-            // new class tree > expression statement tree > block. Does not accept anonymous classes for ctor references.
++-            if (node.getClassBody() == null && singleStatementLambdaMethodBody == getCurrentPath().getParentPath().getParentPath().getLeaf()) {
++-                Tree parent = getCurrentPath().getParentPath().getLeaf();
++-                Element el = info.getTrees().getElement(getCurrentPath());
++-                if (el == null || el.getKind() != ElementKind.CONSTRUCTOR || !el.getEnclosingElement().getKind().isClass()) {
++-                    return t;
++-                }
++-                el = el.getEnclosingElement();
++-                if (parent.getKind() == Tree.Kind.EXPRESSION_STATEMENT || parent.getKind() == Tree.Kind.RETURN) {
++-                    ExpressionTree et = node.getEnclosingExpression();
++-                    if (et != null) {
++-                        if (el.getModifiers().contains(Modifier.STATIC) || !isMeaninglessQualifier(new TreePath(getCurrentPath().getParentPath(), et))) {
++-                            return t;
++-                        }
++-                    }
++-                    foundConstructorReferenceCandidate = true;
++-                }
++-            }
++-            return t;
++-        }
++-
++         @Override
++         public Tree visitMethodInvocation(MethodInvocationTree methodInvocationTree, Trees trees) {
++             String nameSuggestion = org.netbeans.modules.editor.java.Utilities.varNameSuggestion(methodInvocationTree.getMethodSelect());
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitch.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitch.java
++index 2ee857f94..41c013ce8 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitch.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitch.java
++@@ -56,7 +56,6 @@ import java.util.Map;
++ import java.util.Set;
++ import javax.lang.model.SourceVersion;
++ import javax.lang.model.element.TypeElement;
++-import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import org.netbeans.modules.java.hints.ArithmeticUtilities;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++@@ -76,8 +75,7 @@ import org.openide.util.NbBundle;
++  *
++  * @author Jan Lahoda
++  */
++- at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.ConvertToStringSwitch", description = "#DESC_org.netbeans.modules.java.hints.jdk.ConvertToStringSwitch", category="rules15", suppressWarnings="ConvertToStringSwitch",
++-        minSourceVersion = "7")
+++ at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.ConvertToStringSwitch", description = "#DESC_org.netbeans.modules.java.hints.jdk.ConvertToStringSwitch", category="rules15", suppressWarnings="ConvertToStringSwitch")
++ @NbBundle.Messages({
++     "# {0} - string literal value",
++     "TEXT_ChainedIfContainsSameValues=The string value `{0}'' used in String comparison appears earlier in the chained if-else-if statement. This condition never evaluates to true",
++@@ -109,7 +107,10 @@ public class ConvertToStringSwitch {
++     
++     private static final String[] INIT_PATTERNS = {
++         "$c1.equals($c2)",
++-        "$c1.contentEquals($c2)",
+++        "$c1.contentEquals($c2)"
+++    };
+++
+++    private static final String[] INIT_PATTERNS_EQ = {
++         "$c1 == $c2"
++     };
++ 
++@@ -117,14 +118,18 @@ public class ConvertToStringSwitch {
++         "$var.equals($constant)",
++         "$constant.equals($var)",
++         "$var.contentEquals($constant)",
++-        "$constant.contentEquals($var)",
++-        "$var == $constant",
++-        "$constant == $var"
+++        "$constant.contentEquals($var)"
++     };
++     
+++    private static final String[] PATTERNS_EQ = {
+++        "$var == $constant",
+++        "$constant == $var",
+++    };
+++
++     @TriggerPattern(value="if ($cond) $body; else $else;")
++     public static List<ErrorDescription> hint(final HintContext ctx) {
++-        if (ctx.getPath().getParentPath().getLeaf().getKind() == Kind.IF) {
+++        if (   ctx.getPath().getParentPath().getLeaf().getKind() == Kind.IF
+++            || ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_7) < 0) {
++             return null;
++         }
++ 
++@@ -133,19 +138,23 @@ public class ConvertToStringSwitch {
++         if (jlString == null) {
++             return null;
++         }
++-        final Collection<String> initPatterns = new ArrayList<String>(INIT_PATTERNS.length);
++-        final boolean acceptEqEq = ctx.getPreferences().getBoolean(KEY_ALSO_EQ, DEF_ALSO_EQ);
+++        final Collection<String> initPatterns = new ArrayList<String>(INIT_PATTERNS.length + INIT_PATTERNS_EQ.length);
+++
++         initPatterns.addAll(Arrays.asList(INIT_PATTERNS));
++         
+++        if (ctx.getPreferences().getBoolean(KEY_ALSO_EQ, DEF_ALSO_EQ)) {
+++            initPatterns.addAll(Arrays.asList(INIT_PATTERNS_EQ));
+++        }
+++        
++         IfToSwitchSupport eval = new IfToSwitchSupport(ctx) {
++             private boolean [] varConst = new boolean[1];
++-            
+++
++             @Override
++             protected Object evalConstant(TreePath path) {
++                 TypeMirror m = ci.getTrees().getTypeMirror(path);
++-                if (m.getKind() == TypeKind.NULL || ci.getTypes().asElement(m) == jlString) {
+++                if (ci.getTypes().asElement(m) == jlString) {
++                     Object o = ArithmeticUtilities.compute(ci, path, true, true);
++-                    if (ArithmeticUtilities.isNull(o) || ArithmeticUtilities.isRealValue(o)) {
+++                    if (ArithmeticUtilities.isRealValue(o)) {
++                         return o;
++                     }
++                 }
++@@ -168,29 +177,18 @@ public class ConvertToStringSwitch {
++ 
++             @Override
++             protected TreePath matches(TreePath test, boolean initial) {
++-                int cnt =  -1;
++                 for (String pat : initPatterns) {
++-                    cnt++;
++                     if (MatcherUtilities.matches(ctx, test, pat, true)) {
++                         TreePath c1 = ctx.getVariables().get("$c1");
++                         TypeMirror m = ctx.getInfo().getTrees().getTypeMirror(c1);
++-                        boolean n = false;
++                         if (!Utilities.isValidType(m) ||
++-                             (m.getKind() != TypeKind.NULL  &&
++-                             ctx.getInfo().getTypes().asElement(m) != jlString)) {
+++                             ctx.getInfo().getTypes().asElement(m) != jlString) {
++                             continue;
++                         }
++-                        n |= m.getKind() == TypeKind.NULL;
++                         TreePath c2 = ctx.getVariables().get("$c2");
++                         m = ctx.getInfo().getTrees().getTypeMirror(c2);
++                         if (!Utilities.isValidType(m) ||
++-                             (m.getKind() != TypeKind.NULL  &&
++-                             ctx.getInfo().getTypes().asElement(m) != jlString)) {
++-                            continue;
++-                        }
++-                        n |= m.getKind() == TypeKind.NULL;
++-                        if (cnt == 2 && !acceptEqEq && !n) {
++-                            // do not accept == if not explicitly permitted, and neither side is null
+++                             ctx.getInfo().getTypes().asElement(m) != jlString) {
++                             continue;
++                         }
++                         reportConstantAndLiteral(c1, c2);
++@@ -242,38 +240,26 @@ public class ConvertToStringSwitch {
++             leaf = tp.getLeaf();
++         }
++ 
++-        Collection<String> patterns = new ArrayList<String>(PATTERNS.length);
+++        Collection<String> patterns = new ArrayList<String>(PATTERNS.length + PATTERNS_EQ.length);
++ 
++         patterns.addAll(Arrays.asList(PATTERNS));
++ 
++         ctx.getVariables().put("$var", var);
++-        
++-        boolean acceptEqEq = ctx.getPreferences().getBoolean(KEY_ALSO_EQ, DEF_ALSO_EQ);
+++        if (ctx.getPreferences().getBoolean(KEY_ALSO_EQ, DEF_ALSO_EQ)) {
+++            patterns.addAll(Arrays.asList(PATTERNS_EQ));
+++        }
++         int i = -1;
++-        assert PATTERNS.length == 6; // the cycle counts with specific positions
+++        assert PATTERNS.length == 4; // the cycle counts with specific positions
++         for (String patt : patterns) {
++             ++i;
++             ctx.getVariables().remove("$constant"); // NOI18N
++ 
++             if (!MatcherUtilities.matches(ctx, tp, patt, true))
++                 continue;
++-            if (ctx.getVariables().get("$constant") == null ||
++-                ctx.getVariables().get("$var") == null) {
++-                continue;
++-            }
++             if (i % 2 == 0 && i < 4) {
++                 varConst[0] = true;
++             }
++-            TreePath constPath = ctx.getVariables().get("$constant"); // NOI18N
++-            if (i < 4 || acceptEqEq) {
++-                return constPath;
++-            }
++-
++-            // equals is permitted when comparing with null, or option is set
++-            TypeMirror constType = ctx.getInfo().getTrees().getTypeMirror(constPath);
++-            if (constType != null && constType.getKind() == TypeKind.NULL) {
++-                return constPath;
++-            } 
+++            return ctx.getVariables().get("$constant"); // NOI18N
++         }
++ 
++         return null;
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/IteratorToFor.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/IteratorToFor.java
++index 923c2e080..c0826d6a0 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/IteratorToFor.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/IteratorToFor.java
++@@ -95,8 +95,7 @@ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.netbeans.spi.java.hints.TriggerPatterns;
++ import org.openide.util.NbBundle.Messages;
++ 
++- at Hint(displayName="#DN_IteratorToFor", description="#DESC_IteratorToFor", category="rules15", suppressWarnings={"", "ForLoopReplaceableByForEach", "WhileLoopReplaceableByForEach"},
++-        minSourceVersion = "5")
+++ at Hint(displayName="#DN_IteratorToFor", description="#DESC_IteratorToFor", category="rules15", suppressWarnings={"", "ForLoopReplaceableByForEach", "WhileLoopReplaceableByForEach"})
++ @Messages({
++     "DN_IteratorToFor=Use JDK 5 for-loop",
++     "DESC_IteratorToFor=Replaces simple uses of Iterator with a corresponding for-loop.",
++@@ -109,6 +108,9 @@ public class IteratorToFor {
++     @TriggerPattern(value = "java.util.Iterator $it = $coll.iterator(); while ($it.hasNext()) {$type $elem = ($type) $it.next(); $rest$;}", 
++             constraints = @ConstraintVariableType(variable = "$coll", type = "java.lang.Iterable"))
++     public static ErrorDescription whileIdiom(HintContext ctx) {
+++        if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0) {
+++            return null;
+++        }
++         if (uses(ctx, ctx.getMultiVariables().get("$rest$"), ctx.getVariables().get("$it"))) {
++             return null;
++         }
++@@ -133,6 +135,9 @@ public class IteratorToFor {
++                 constraints = @ConstraintVariableType(variable = "$coll", type = "java.lang.Iterable"))
++     })
++     public static ErrorDescription forIdiom(HintContext ctx) {
+++        if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0) {
+++            return null;
+++        }
++         if (uses(ctx, ctx.getMultiVariables().get("$rest$"), ctx.getVariables().get("$it"))) {
++             return null;
++         }
++@@ -208,6 +213,9 @@ public class IteratorToFor {
++     
++     @TriggerPattern(value = "for (int $index = 0; $index < $col.size(); $index++) $statement;", constraints = @ConstraintVariableType(variable = "$col", type = "java.util.List"))
++     public static ErrorDescription forListCollection(final HintContext ctx) {
+++        if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0) {
+++            return null;
+++        }
++         final boolean implicitThis = !ctx.getVariableNames().containsKey("$col"); // NOI18N
++         AccessAndVarVisitor v = new AccessAndVarVisitor(ctx) {
++             @Override public Void visitMethodInvocation(MethodInvocationTree node, Void p) {
++@@ -257,6 +265,9 @@ public class IteratorToFor {
++     
++     @TriggerPattern(value="for (int $index = 0; $index < $arr.length; $index++) $statement;", constraints=@ConstraintVariableType(variable="$arr", type="Object[]"))
++     public static ErrorDescription forIndexedArray(final HintContext ctx) {
+++        if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0) {
+++            return null;
+++        }
++         AccessAndVarVisitor v = new AccessAndVarVisitor(ctx) {
++             @Override public Void visitArrayAccess(ArrayAccessTree node, Void p) {
++             TreePath path = getCurrentPath();
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/JoinCatches.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/JoinCatches.java
++index 75d285efd..027d563fe 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/JoinCatches.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/JoinCatches.java
++@@ -58,12 +58,12 @@ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.Map;
++ import java.util.concurrent.atomic.AtomicBoolean;
+++import javax.lang.model.SourceVersion;
++ import javax.lang.model.element.VariableElement;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.type.UnionType;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.TypeMirrorHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
++ import org.netbeans.api.java.source.matching.Matcher;
++ import org.netbeans.api.java.source.matching.Pattern;
++@@ -74,25 +74,16 @@ import org.netbeans.spi.java.hints.HintContext;
++ import org.netbeans.spi.java.hints.JavaFix;
++ import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
+++import org.netbeans.spi.java.hints.JavaFixUtilities;
++ import org.netbeans.api.java.source.matching.Occurrence;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.openide.util.NbBundle;
++ 
++ /**
++- * Joins several catch branches into a multicatch.
++- * Functional note: if types from two branches are releated by subclassing, entire catches are now excluded from the join. This may seem strange in a case
++- * when the excluded catch clause is a multicatch already, and only one (or not all) caught types are subtypes or supertypes of other catch branch.
++- * <p/>
++- * Implementing the hierarchy exclusion precisely would mean to rewrite individual catch clauses, remove types, which are OK to join and leave the rest. Even
++- * more sophisticated solution is to identify groups of handlers, with identical code, collect their types and make joins.
++- * <p/>
++- * When working with types, it is important to use not TypeMirrors to generate new declarations, but to use original Trees (TreePathHandles) so that comments
++- * possibly made in between the types are preserved. 
++- * 
+++ *
++  * @author lahvac
++  */
++- at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.JoinCatches", description = "#DESC_org.netbeans.modules.java.hints.jdk.JoinCatches", category="rules15",
++-        minSourceVersion = "7")
+++ at Hint(displayName = "#DN_org.netbeans.modules.java.hints.jdk.JoinCatches", description = "#DESC_org.netbeans.modules.java.hints.jdk.JoinCatches", category="rules15")
++ public class JoinCatches {
++ 
++     @TriggerPatterns({
++@@ -110,6 +101,8 @@ public class JoinCatches {
++         )
++     })
++     public static ErrorDescription hint(HintContext ctx) {
+++        if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_7) < 0) return null;
+++        
++         TryTree tt = (TryTree) ctx.getPath().getLeaf();
++ 
++         List<? extends CatchTree> catches = new ArrayList<CatchTree>(tt.getCatches());
++@@ -128,20 +121,11 @@ public class JoinCatches {
++             Map<TypeMirror, Integer> duplicates = new LinkedHashMap<TypeMirror, Integer>();
++ 
++             duplicates.put(mainVarType, i);
+++
++             for (int j = i + 1; j < catches.size(); j++) {
++                 Pattern pattern = Pattern.createPatternWithRemappableVariables(new TreePath(toTestPath, toTest.getBlock()), Collections.singleton(excVar), false);
++-                Iterable<? extends Occurrence> found = 
++-                        Matcher.create(ctx.getInfo()).
++-                                setCancel(new AtomicBoolean()).
++-                                setPresetVariable(ctx.getVariables(), ctx.getMultiVariables(), ctx.getVariableNames()).
++-                                setSearchRoot(
++-                                    new TreePath(
++-                                            new TreePath(ctx.getPath(), catches.get(j)), 
++-                                            ((CatchTree)catches.get(j)).getBlock()
++-                                    )).
++-                                setTreeTopSearch().
++-                                match(pattern);
++-                
+++                Iterable<? extends Occurrence> found = Matcher.create(ctx.getInfo()).setCancel(new AtomicBoolean()).setPresetVariable(ctx.getVariables(), ctx.getMultiVariables(), ctx.getVariableNames()).setSearchRoot(new TreePath(new TreePath(ctx.getPath(), catches.get(j)), ((CatchTree)catches.get(j)).getBlock())).setTreeTopSearch().match(pattern);
+++
++                 if (found.iterator().hasNext()) {
++                     TreePath catchPath = new TreePath(ctx.getPath(), catches.get(j));
++                     TreePath var = new TreePath(catchPath, ((CatchTree)catches.get(j)).getParameter());
++@@ -152,22 +136,13 @@ public class JoinCatches {
++                         statements.add(new TreePath(blockPath, t));
++                     }
++ 
++-                    if (UseSpecificCatch.assignsTo(ctx, var, statements)) {
++-                        continue;
++-                    }
++-                    
++                     TypeMirror varType = ctx.getInfo().getTrees().getTypeMirror(var);
++ 
++                     if (!Utilities.isValidType(varType)) continue;
++ 
++-                    boolean process = true;
++-                    List<TypeMirror> varTypes = new ArrayList<>();
++-                    if (varType.getKind() == TypeKind.UNION) {
++-                        varTypes.addAll(((UnionType) varType).getAlternatives());
++-                    } else {
++-                        varTypes.add(varType);
++-                    }
++-                    DUP: for (Iterator<TypeMirror> it = duplicates.keySet().iterator(); it.hasNext();) {
+++                    boolean subtype = false;
+++
+++                    for (Iterator<TypeMirror> it = duplicates.keySet().iterator(); it.hasNext();) {
++                         TypeMirror existingType = it.next();
++                         Iterable<? extends TypeMirror> caughtList;
++                         
++@@ -177,29 +152,16 @@ public class JoinCatches {
++                             caughtList = Collections.singletonList(existingType);
++                         }
++                         
++-                        for (Iterator<TypeMirror> vtI = varTypes.iterator(); vtI.hasNext(); ) {
++-                            TypeMirror vt = vtI.next();
++-                            for (TypeMirror caught : caughtList) {
++-                                if (ctx.getInfo().getTypes().isSubtype(caught, vt)) {
++-                                    // the subtype cannot be added into the union, supertype will be used.
++-                                    Integer index = duplicates.get(existingType);
++-                                    // if the broader catch would move BEFORE the more specific one,
++-                                    // discard it.
++-                                    if (index != null) {
++-                                        it.remove();
++-                                        process &= index > findMin(duplicates.values());
++-                                    }
++-                                } else if (ctx.getInfo().getTypes().isSubtype(vt, caught)) {
++-                                    // should be an error, but must be handled gracefully
++-                                    process = false;
++-                                }
++-                            }
++-                            if (!process) {
++-                                break DUP;
+++                        for (TypeMirror caught : caughtList) {
+++                            if (ctx.getInfo().getTypes().isSubtype(caught, varType)) {
+++                                subtype = true;
+++                                it.remove();
+++                                break;
++                             }
++                         }
++                     }
++-                    if (process && !varTypes.isEmpty()) {
+++
+++                    if (!subtype && !UseSpecificCatch.assignsTo(ctx, var, statements)) {
++                         duplicates.put(varType, j);
++                     }
++                 }
++@@ -207,39 +169,21 @@ public class JoinCatches {
++ 
++             if (duplicates.size() >= 2) {
++                 String displayName = NbBundle.getMessage(JoinCatches.class, "ERR_JoinCatches");
++-                List<TypeMirrorHandle> types = new ArrayList<>();
++-                for (TypeMirror t : duplicates.keySet()) {
++-                    types.add(TypeMirrorHandle.create(t));
++-                }
++-                return ErrorDescriptionFactory.forName(ctx, toTest.getParameter().getType(), displayName, 
++-                        new FixImpl(ctx.getInfo(), ctx.getPath(), 
++-                        new ArrayList<Integer>(duplicates.values()),
++-                        types).toEditorFix());
+++
+++                return ErrorDescriptionFactory.forName(ctx, toTest.getParameter().getType(), displayName, new FixImpl(ctx.getInfo(), ctx.getPath(), Collections.unmodifiableList(new ArrayList<Integer>(duplicates.values()))).toEditorFix());
++             }
++         }
++ 
++         return null;
++     }
++-    
++-    private static int findMin(Collection<Integer> x) {
++-        int m = Integer.MAX_VALUE;
++-        for (int i : x) {
++-            if (i < m) {
++-                m = i;
++-            }
++-        }
++-        return m;
++-    }
++ 
++     private static final class FixImpl extends JavaFix {
++ 
++         private final List<Integer> duplicates;
++-        private final List<TypeMirrorHandle> typeHandles;
++         
++-        public FixImpl(CompilationInfo info, TreePath tryStatement, List<Integer> duplicates, List<TypeMirrorHandle> types) {
+++        public FixImpl(CompilationInfo info, TreePath tryStatement, List<Integer> duplicates) {
++             super(info, tryStatement);
++             this.duplicates = duplicates;
++-            this.typeHandles = types;
++         }
++ 
++         @Override
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryBoxing.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryBoxing.java
++index 9c4a9a081..abb72b101 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryBoxing.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryBoxing.java
++@@ -1,44 +1,6 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- */
++ package org.netbeans.modules.java.hints.jdk;
++ 
+++
++ import com.sun.source.tree.AssignmentTree;
++ import com.sun.source.tree.BinaryTree;
++ import com.sun.source.tree.CompoundAssignmentTree;
++@@ -87,6 +49,48 @@ import org.netbeans.spi.java.hints.TriggerPatterns;
++ import org.netbeans.spi.java.hints.UseOptions;
++ import org.openide.util.NbBundle;
++ 
+++/*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License.  When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ */
+++
++ /**
++  * Inspects boxing operations. Most of them are unnecessary under JDK5+. Whether a node can be left unboxed 
++  * depends mainly on the containing expressions: 
++@@ -140,12 +144,14 @@ public class UnnecessaryBoxing {
++             description = "#DESC_UnnecessaryBoxing",
++             category = "rules15",
++             enabled = true,
++-            suppressWarnings = "UnnecessaryBoxing",
++-            minSourceVersion = "5"
+++            suppressWarnings = "UnnecessaryBoxing"
++     )
++     @UseOptions(PREFER_CAST_TO_BOXING)
++     public static ErrorDescription run(HintContext ctx) {
++         CompilationInfo ci = ctx.getInfo();
+++        if (ci.getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0) {
+++            return null;
+++        }
++         TreePath p = ctx.getPath();
++         
++         TreePath vp = ctx.getVariables().get("$v"); // NOI18N
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryUnboxing.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryUnboxing.java
++index e403aef85..4372f31c5 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryUnboxing.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/UnnecessaryUnboxing.java
++@@ -1,3 +1,27 @@
+++package org.netbeans.modules.java.hints.jdk;
+++
+++import com.sun.source.tree.BinaryTree;
+++import com.sun.source.tree.ConditionalExpressionTree;
+++import com.sun.source.tree.MemberSelectTree;
+++import com.sun.source.tree.MethodInvocationTree;
+++import com.sun.source.tree.ParenthesizedTree;
+++import com.sun.source.tree.Tree;
+++import com.sun.source.tree.TypeCastTree;
+++import com.sun.source.util.TreePath;
+++import javax.lang.model.SourceVersion;
+++import javax.lang.model.type.TypeMirror;
+++import org.netbeans.api.java.source.CompilationInfo;
+++import org.netbeans.modules.java.hints.errors.Utilities;
+++import org.netbeans.spi.editor.hints.ErrorDescription;
+++import org.netbeans.spi.java.hints.ConstraintVariableType;
+++import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
+++import org.netbeans.spi.java.hints.Hint;
+++import org.netbeans.spi.java.hints.HintContext;
+++import org.netbeans.spi.java.hints.JavaFixUtilities;
+++import org.netbeans.spi.java.hints.TriggerPattern;
+++import org.netbeans.spi.java.hints.TriggerPatterns;
+++import org.openide.util.NbBundle;
+++
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++@@ -39,29 +63,6 @@
++  *
++  * Portions Copyrighted 2013 Sun Microsystems, Inc.
++  */
++-package org.netbeans.modules.java.hints.jdk;
++-
++-import com.sun.source.tree.BinaryTree;
++-import com.sun.source.tree.ConditionalExpressionTree;
++-import com.sun.source.tree.MemberSelectTree;
++-import com.sun.source.tree.MethodInvocationTree;
++-import com.sun.source.tree.ParenthesizedTree;
++-import com.sun.source.tree.Tree;
++-import com.sun.source.tree.TypeCastTree;
++-import com.sun.source.util.TreePath;
++-import javax.lang.model.SourceVersion;
++-import javax.lang.model.type.TypeMirror;
++-import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++-import org.netbeans.spi.editor.hints.ErrorDescription;
++-import org.netbeans.spi.java.hints.ConstraintVariableType;
++-import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
++-import org.netbeans.spi.java.hints.Hint;
++-import org.netbeans.spi.java.hints.HintContext;
++-import org.netbeans.spi.java.hints.JavaFixUtilities;
++-import org.netbeans.spi.java.hints.TriggerPattern;
++-import org.netbeans.spi.java.hints.TriggerPatterns;
++-import org.openide.util.NbBundle;
++ 
++ /**
++  *
++@@ -77,8 +78,7 @@ import org.openide.util.NbBundle;
++     displayName = "#DN_UnnecessaryUnboxing",
++     description = "#DESC_UnnecessaryUnboxing",
++     enabled = true,
++-    suppressWarnings = "UnnecessaryUnboxing",
++-    minSourceVersion = "5"
+++    suppressWarnings = "UnnecessaryUnboxing"
++     
++ )
++ public class UnnecessaryUnboxing {
++@@ -95,7 +95,7 @@ public class UnnecessaryUnboxing {
++     })
++     public static ErrorDescription run(HintContext ctx) {
++         CompilationInfo ci = ctx.getInfo();
++-        if (ctx.getPath().getLeaf().getKind() != Tree.Kind.METHOD_INVOCATION) {
+++        if (ci.getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0 || ctx.getPath().getLeaf().getKind() != Tree.Kind.METHOD_INVOCATION) {
++             return null;
++         }
++         MethodInvocationTree mit = (MethodInvocationTree)ctx.getPath().getLeaf();
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatch.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatch.java
++index 9fdbc09e2..caf200705 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatch.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatch.java
++@@ -49,20 +49,13 @@ import com.sun.source.tree.TryTree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreePathScanner;
++-import java.util.ArrayDeque;
++ import java.util.ArrayList;
++-import java.util.Arrays;
++ import java.util.Collection;
++ import java.util.Collections;
++-import java.util.Comparator;
++-import java.util.HashMap;
++-import java.util.HashSet;
++ import java.util.LinkedHashSet;
++ import java.util.LinkedList;
++ import java.util.List;
++-import java.util.Map;
++ import java.util.Map.Entry;
++-import java.util.Queue;
++ import java.util.Set;
++ import java.util.StringTokenizer;
++ import java.util.prefs.Preferences;
++@@ -73,11 +66,8 @@ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++ import javax.lang.model.element.TypeElement;
++-import javax.lang.model.type.DeclaredType;
++-import javax.lang.model.type.IntersectionType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++-import javax.lang.model.type.TypeVariable;
++ import javax.swing.JComponent;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++@@ -92,7 +82,6 @@ import org.netbeans.spi.java.hints.HintContext;
++ import org.netbeans.spi.java.hints.JavaFix;
++ import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++-import org.netbeans.spi.editor.hints.Fix;
++ import org.netbeans.spi.java.hints.CustomizerProvider;
++ import org.openide.util.NbBundle;
++ import org.openide.util.NbCollections;
++@@ -123,56 +112,10 @@ public class UseSpecificCatch implements CustomizerProvider {
++         if (ctx.getPath().getLeaf().getKind() != Tree.Kind.TRY) {
++             return null;
++         }
++-        TypeElement throwableEl = ctx.getInfo().getElements().getTypeElement("java.lang.Throwable");
++-        if (throwableEl == null) {
++-            return null;
++-        }
++-        TypeMirror throwableType = throwableEl.asType();
++         TryTree tt = (TryTree) ctx.getPath().getLeaf();
++-        Queue<TypeMirror> process = new ArrayDeque<>(ctx.getInfo().getTreeUtilities().getUncaughtExceptions(new TreePath(ctx.getPath(), tt.getBlock())));
++-        Map<String, TypeMirror> declExceptions = new HashMap<>(process.size());
++-        
++-        while (!process.isEmpty()) {
++-            TypeMirror e = process.poll();
++-            switch (e.getKind()) {
++-                case INTERSECTION: {
++-                    IntersectionType itt = (IntersectionType)e;
++-                    for (TypeMirror t : itt.getBounds()) {
++-                        if (ctx.getInfo().getTypes().isAssignable(t, throwableType)) {
++-                            process.add(t);
++-                            break;
++-                        }
++-                    }
++-                }
++-                break;
++-                
++-                case TYPEVAR: {
++-                    TypeVariable tv = (TypeVariable)e;
++-                    if (tv.getUpperBound() != null) {
++-                     process.offer(tv.getUpperBound());   
++-                    }
++-                    if (tv.getLowerBound() != null) {
++-                        process.offer(tv.getLowerBound());
++-                    }
++-                    break;
++-                }
++-                
++-                case DECLARED:
++-                    DeclaredType decl = (DeclaredType)e;
++-                    Element el = decl.asElement();
++-                    if (el.getKind() == ElementKind.CLASS) {
++-                        declExceptions.putIfAbsent(((TypeElement)el).getQualifiedName().toString(), decl);
++-                    }
++-                    break;
++-            }
++-        }
++-        // sort declExceptions to get consistent behaviour
++-        List<String> fqns = new ArrayList<>(declExceptions.keySet());
++-        fqns.sort(null);
++-        List<TypeMirror> exceptions = new ArrayList<>(declExceptions.size());
++-        for (String s : fqns) {
++-            exceptions.add(declExceptions.get(s));
++-        }
+++        Set<TypeMirror> exceptions = ctx.getInfo().getTreeUtilities().getUncaughtExceptions(new TreePath(ctx.getPath(), tt.getBlock()));
+++
+++        if (exceptions.size() <= 1) return null; //was catching the generic exception intentional?
++         
++         StringTokenizer tukac = new StringTokenizer(
++             ctx.getPreferences().get(OPTION_EXCEPTION_LIST, DEFAULT_EXCEPTION_LIST), ", " // NOI18N
++@@ -225,46 +168,28 @@ public class UseSpecificCatch implements CustomizerProvider {
++                     }
++                 }
++                 Set<TypeMirrorHandle<TypeMirror>> exceptionHandles = new LinkedHashSet<TypeMirrorHandle<TypeMirror>>();
++-                TypeMirror single = null;
++                 for (TypeMirror tm : exceptions) {
++                     if (ctx.getInfo().getTypes().isSubtype(tm, t)) {
++-                        single = tm;
++                         exceptionHandles.add(TypeMirrorHandle.create(tm));
++                     }
++                 }
++                 boolean source17 = ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_7) >= 0;
++-                Fix f;
++-                
++-                if (!exceptionHandles.isEmpty()) {
++-                    if (exceptionHandles.size() > 1) {
++-                        if (source17) {
++-                            f = new FixImpl(ctx.getInfo(), 
++-                                        p,
++-                                        exceptionHandles
++-                                    ).toEditorFix();
++-                        } else {
++-                            f = new SplitExceptionInCatches(
++-                                        ctx.getInfo(),
++-                                        p,
++-                                        exceptionHandles,
++-                                        null
++-                                    ).toEditorFix();
++-                        }
++-                    } else {
++-                        f = new SplitExceptionInCatches(
++-                                    ctx.getInfo(),
++-                                    p,
++-                                    exceptionHandles,
++-                                    ctx.getInfo().getTypeUtilities().getTypeName(single).toString()
++-                                ).toEditorFix();
++-                    }
++-                    descs.add(ErrorDescriptionFactory.forName(
++-                            ctx, 
++-                            kec.getParameter().getType(), 
++-                            displayName, 
++-                            f
++-                    ));
++-                }
+++                descs.add(ErrorDescriptionFactory.forName(
+++                        ctx, 
+++                        kec.getParameter().getType(), 
+++                        displayName, 
+++                        source17 ? 
+++                            new FixImpl(ctx.getInfo(), 
+++                                p,
+++                                exceptionHandles
+++                            ).toEditorFix()
+++                        :
+++                            new SplitExceptionInCatches(
+++                                ctx.getInfo(),
+++                                p,
+++                                exceptionHandles
+++                            ).toEditorFix()
+++                ));
++             }
++         }
++         return descs;
++@@ -344,20 +269,15 @@ public class UseSpecificCatch implements CustomizerProvider {
++      */
++     public static class SplitExceptionInCatches extends JavaFix {
++         private Collection<TypeMirrorHandle<TypeMirror>> newTypes;
++-        private final String singleName;
++ 
++-        public SplitExceptionInCatches(CompilationInfo info, TreePath tp, Collection<TypeMirrorHandle<TypeMirror>> newTypes, String singleName) {
+++        public SplitExceptionInCatches(CompilationInfo info, TreePath tp, Collection<TypeMirrorHandle<TypeMirror>> newTypes) {
++             super(info, tp);
++             this.newTypes = newTypes;
++-            this.singleName = singleName;
++         }
++ 
++         @Override
++         protected String getText() {
++-            return NbBundle.getMessage(UseSpecificCatch.class, 
++-                    singleName != null ? 
++-                    "FIX_UseSpecificCatchSingle" : 
++-                    "FIX_UseSpecificCatchSplit", singleName); // NOI18N
+++            return NbBundle.getMessage(UseSpecificCatch.class, "FIX_UseSpecificCatchSplit"); // NOI18N
++         }
++ 
++         @Override
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHint.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHint.java
++index 70be2f033..1ce50d60d 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHint.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHint.java
++@@ -35,11 +35,9 @@
++  * Version 2 license, then the option applies only if the new code is
++  * made subject to such option by the copyright holder.
++  *
++- *
++- * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++- */
++-/*
++  * Contributor(s): Alexandru Gyori <Alexandru.Gyori at gmail.com>
+++ * 
+++ * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++  */
++ package org.netbeans.modules.java.hints.jdk.mapreduce;
++ 
++@@ -59,8 +57,7 @@ import org.netbeans.spi.java.hints.JavaFix;
++ import org.netbeans.spi.java.hints.TriggerTreeKind;
++ import org.openide.util.NbBundle.Messages;
++ 
++- at Hint(displayName = "#DN_ForLoopToFunctionalHint", description = "#DESC_ForLoopToFunctionalHint", category = "general",
++-        minSourceVersion = "8")
+++ at Hint(displayName = "#DN_ForLoopToFunctionalHint", description = "#DESC_ForLoopToFunctionalHint", category = "general")
++ @Messages({
++     "DN_ForLoopToFunctionalHint=Use Functional Operations",
++     "DESC_ForLoopToFunctionalHint=Use functional operations instead of imperative style loop."
++@@ -72,6 +69,7 @@ public class ForLoopToFunctionalHint {
++     @TriggerTreeKind(Tree.Kind.ENHANCED_FOR_LOOP)
++     @Messages("ERR_ForLoopToFunctionalHint=Can use functional operations")
++     public static ErrorDescription computeWarning(HintContext ctx) {
+++        if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_8) < 0) return null;
++         if (ctx.getInfo().getElements().getTypeElement("java.util.stream.Streams") == null && !DISABLE_CHECK_FOR_STREAM) return null;
++         
++         PreconditionsChecker pc = new PreconditionsChecker(ctx.getPath().getLeaf(), ctx.getInfo());
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/PreconditionsChecker.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/PreconditionsChecker.java
++index 5a4d2b918..649252783 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/PreconditionsChecker.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/PreconditionsChecker.java
++@@ -35,11 +35,9 @@
++  * Version 2 license, then the option applies only if the new code is
++  * made subject to such option by the copyright holder.
++  *
++- *
++- * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++- */
++-/*
++  * Contributor(s): Alexandru Gyori <Alexandru.Gyori at gmail.com>
+++ * 
+++ * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++  */
++ package org.netbeans.modules.java.hints.jdk.mapreduce;
++ 
++@@ -92,8 +90,8 @@ public class PreconditionsChecker {
++         if (forLoop.getKind() == Tree.Kind.ENHANCED_FOR_LOOP) {
++             this.isForLoop = true;
++             this.workingCopy = workingCopy;
++-            this.hasUncaughtException = workingCopy.getTreeUtilities()
++-                    .getUncaughtExceptions(TreePath.getPath(workingCopy.getCompilationUnit(), forLoop)).stream().anyMatch(this::filterCheckedExceptions);
+++            this.hasUncaughtException = !workingCopy.getTreeUtilities()
+++                    .getUncaughtExceptions(TreePath.getPath(workingCopy.getCompilationUnit(), forLoop)).isEmpty();
++             this.innerVariables = this.getInnerVariables(forLoop, workingCopy.getTrees());
++             this.visitor = new ForLoopTreeVisitor(this.innerVariables, workingCopy, new TreePath(workingCopy.getCompilationUnit()), (EnhancedForLoopTree) forLoop);
++             this.isIterable = this.isIterbale(((EnhancedForLoopTree) forLoop).getExpression());
++@@ -228,10 +226,13 @@ public class PreconditionsChecker {
++         public Set<Name> getAllLocalVariablesUsed() {
++             return this.allLocalVariables;
++         }
+++        private HashMap<Name, TypeMirror> varToType = new HashMap<Name, TypeMirror>();
+++
++         @Override
++         public Tree visitVariable(VariableTree that, Trees trees) {
++             this.innerVariables.add(that.getName());
++             this.allLocalVariables.add(that.getName());
+++            this.varToType.put(that.getName(), trees.getTypeMirror(TreePath.getPath(treePath, that.getType())));
++             return super.visitVariable(that, trees);
++         }
++ 
++@@ -431,16 +432,4 @@ public class PreconditionsChecker {
++             }
++         }
++     };
++-    
++-    private boolean filterCheckedExceptions(TypeMirror ex) {
++-        TypeElement el = workingCopy.getElements().getTypeElement("java.lang.RuntimeException"); // NOI18N
++-        if (el == null) {
++-            return true;
++-        }
++-        if (workingCopy.getTypes().isSubtype(ex, el.asType())) {
++-            return false;
++-        }
++-        el = workingCopy.getElements().getTypeElement("java.lang.Error"); // NOI18N
++-        return el == null || !workingCopy.getTypes().isSubtype(ex, el.asType()); 
++-    }
++ }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ProspectiveOperation.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ProspectiveOperation.java
++index c54520655..a11204d4d 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ProspectiveOperation.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/ProspectiveOperation.java
++@@ -35,11 +35,9 @@
++  * Version 2 license, then the option applies only if the new code is
++  * made subject to such option by the copyright holder.
++  *
++- *
++- * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++- */
++-/*
++  * Contributor(s): Alexandru Gyori <Alexandru.Gyori at gmail.com>
+++ * 
+++ * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++  */
++ package org.netbeans.modules.java.hints.jdk.mapreduce;
++ 
++@@ -526,7 +524,7 @@ import org.netbeans.api.java.source.WorkingCopy;
++ 
++     String getSuitableMethod() {
++         if (this.opType == OperationType.FOREACH) {
++-            return "forEachOrdered";
+++            return "forEach";
++         } else if (this.opType == OperationType.MAP) {
++             return "map";
++         } else if (this.opType == OperationType.FILTER) {
++@@ -668,8 +666,4 @@ import org.netbeans.api.java.source.WorkingCopy;
++         }
++         return available.containsAll(needed);
++     }
++-    
++-    public boolean isForeach() {
++-        return opType == OperationType.FOREACH;
++-    }
++-}
+++}
++\ No newline at end of file
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/Refactorer.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/Refactorer.java
++index bae38533b..4bf99fa67 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/Refactorer.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/Refactorer.java
++@@ -35,11 +35,9 @@
++  * Version 2 license, then the option applies only if the new code is
++  * made subject to such option by the copyright holder.
++  *
++- *
++- * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++- */
++-/*
++  * Contributor(s): Alexandru Gyori <Alexandru.Gyori at gmail.com>
+++ * 
+++ * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++  */
++ package org.netbeans.modules.java.hints.jdk.mapreduce;
++ 
++@@ -53,12 +51,8 @@ import com.sun.source.tree.ReturnTree;
++ import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.VariableTree;
++-import com.sun.source.util.TreePath;
++ import java.util.ArrayList;
++ import java.util.List;
++-import javax.lang.model.element.TypeElement;
++-import javax.lang.model.type.TypeMirror;
++-import javax.lang.model.util.Types;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.WorkingCopy;
++ 
++@@ -90,7 +84,6 @@ public class Refactorer {
++     private WorkingCopy workingCopy;
++     private TreeMaker treeMaker;
++     private PreconditionsChecker preconditionsChecker;
++-    private boolean hasIterable;
++ 
++     public Refactorer( EnhancedForLoopTree loop,  WorkingCopy workingCopy,  PreconditionsChecker scanner) {
++         this.loop = loop;
++@@ -101,7 +94,7 @@ public class Refactorer {
++      List<ProspectiveOperation> prospectives;
++ 
++     public Boolean isRefactorable() {
++-        prospectives = this.getListRepresentation(loop.getStatement(), true);
+++        prospectives = this.getListRepresentation(loop.getStatement());
++         if (prospectives != null && !prospectives.isEmpty()) {
++             prospectives.get(prospectives.size() - 1).eagerize();
++             if (this.untrasformable) {
++@@ -112,19 +105,6 @@ public class Refactorer {
++                     return false;
++                 }
++             }
++-            hasIterable = false;
++-            VariableTree var = loop.getVariable();
++-            TypeElement el = workingCopy.getElements().getTypeElement("java.lang.Iterable"); // NOI18N
++-            if (el != null) {
++-                TreePath path = TreePath.getPath(workingCopy.getCompilationUnit(), loop.getExpression());
++-                TypeMirror m = workingCopy.getTrees().getTypeMirror(path);
++-                Types types  = workingCopy.getTypes();
++-                hasIterable = 
++-                        types.isSubtype(
++-                            types.erasure(m),
++-                            types.erasure(el.asType())
++-                        );
++-            }
++             prospectives = ProspectiveOperation.mergeIntoComposableOperations(prospectives);
++             return prospectives != null;
++ 
++@@ -164,12 +144,12 @@ public class Refactorer {
++         return false;
++     }
++ 
++-    private List<ProspectiveOperation> getListRepresentation( StatementTree tree, boolean last) {
+++    private List<ProspectiveOperation> getListRepresentation( StatementTree tree) {
++         List<ProspectiveOperation> ls = new ArrayList<ProspectiveOperation>();
++         if (tree.getKind() == Tree.Kind.BLOCK) {
++-            ls.addAll(getBlockListRepresentation(tree, last));
+++            ls.addAll(getBlockListRepresentation(tree));
++         } else if (tree.getKind() == Tree.Kind.IF) {
++-            ls.addAll(getIfListRepresentation(tree, last));
+++            ls.addAll(getIfListRepresentation(tree));
++ 
++         } else {
++             ls.addAll(getSingleStatementListRepresentation(tree));
++@@ -185,16 +165,6 @@ public class Refactorer {
++     }
++ 
++     private MethodInvocationTree chainAllProspectives( TreeMaker treeMaker,  ExpressionTree expr) {
++-        // Special case: if the only operation is forEach{Ordered}, 
++-        if (hasIterable && prospectives.size() == 1 && prospectives.get(0).isForeach()) {
++-            ProspectiveOperation prospective = prospectives.get(0);
++-            return treeMaker.MethodInvocation(
++-                    new ArrayList<ExpressionTree>(),
++-                    treeMaker.MemberSelect(expr, "forEach"), // NOI18N
++-                    prospective.getArguments()
++-            );
++-        }
++-
++         MethodInvocationTree mi = treeMaker.MethodInvocation(new ArrayList<ExpressionTree>(), treeMaker.MemberSelect(expr, "stream"), new ArrayList<ExpressionTree>());
++         //mi = treeMaker.MethodInvocation(new ArrayList<ExpressionTree>(), treeMaker.MemberSelect(mi, "parallel"), new ArrayList<ExpressionTree>());
++         for ( ProspectiveOperation prospective : prospectives) {
++@@ -228,23 +198,20 @@ public class Refactorer {
++         return treeMaker.If(pred, returnExpre, null);
++     }
++ 
++-    private List<ProspectiveOperation> getBlockListRepresentation( StatementTree tree, boolean last) {
+++    private List<ProspectiveOperation> getBlockListRepresentation( StatementTree tree) {
++         List<ProspectiveOperation> ls = new ArrayList<ProspectiveOperation>();
++         BlockTree blockTree = (BlockTree) tree;
++         List<? extends StatementTree> statements = blockTree.getStatements();
++         for ( int i = 0; i < statements.size(); i++) {
++             StatementTree statement = statements.get(i);
++-            boolean l = last &&  i == statements.size() - 1;
++             if (statement.getKind() == Tree.Kind.IF) {
++                 IfTree ifTree = (IfTree) statement;
++                 if (isIfWithContinue(ifTree)) {
++                     ifTree = refactorContinuingIf(ifTree, statements.subList(i + 1, statements.size()));
++-                    // the if was refactored, so that all the statements are nested in it, so it became
++-                    // the last (and single) statement within the parent
++-                    ls.addAll(this.getListRepresentation(ifTree, last));
+++                    ls.addAll(this.getListRepresentation(ifTree));
++                     break;
++-                } else if (l) {
++-                    ls.addAll(this.getListRepresentation(ifTree, true));
+++                } else if (i == statements.size() - 1) {
+++                    ls.addAll(this.getListRepresentation(ifTree));
++                 } else {
++                     if (this.isReturningIf(ifTree)) {
++                         this.untrasformable = true;
++@@ -252,13 +219,13 @@ public class Refactorer {
++                     ls.addAll(ProspectiveOperation.createOperator(ifTree, ProspectiveOperation.OperationType.MAP, preconditionsChecker, workingCopy));
++                 }
++             } else {
++-                ls.addAll(getListRepresentation(statement, l));
+++                ls.addAll(getListRepresentation(statement));
++             }
++         }
++         return ls;
++     }
++ 
++-    private List<ProspectiveOperation> getIfListRepresentation( StatementTree tree, boolean last) {
+++    private List<ProspectiveOperation> getIfListRepresentation( StatementTree tree) {
++         IfTree ifTree = (IfTree) tree;
++         List<ProspectiveOperation> ls = new ArrayList<ProspectiveOperation>();
++         if (ifTree.getElseStatement() == null) {
++@@ -277,7 +244,7 @@ public class Refactorer {
++                 }
++             } else {
++                 ls.addAll(ProspectiveOperation.createOperator(ifTree, ProspectiveOperation.OperationType.FILTER, this.preconditionsChecker, this.workingCopy));
++-                ls.addAll(getListRepresentation(ifTree.getThenStatement(), last));
+++                ls.addAll(getListRepresentation(ifTree.getThenStatement()));
++             }
++         } else {
++ 
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/TreeUtilities.java b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/TreeUtilities.java
++index 23afb8b58..1da96e7f4 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/TreeUtilities.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/jdk/mapreduce/TreeUtilities.java
++@@ -35,11 +35,9 @@
++  * Version 2 license, then the option applies only if the new code is
++  * made subject to such option by the copyright holder.
++  *
++- *
++- * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++- */
++-/*
++  * Contributor(s): Alexandru Gyori <Alexandru.Gyori at gmail.com>
+++ * 
+++ * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++  */
++ package org.netbeans.modules.java.hints.jdk.mapreduce;
++ 
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/perf/StringBuffer2Builder.java b/java.hints/src/org/netbeans/modules/java/hints/perf/StringBuffer2Builder.java
++index 19850ab46..ad94d0906 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/perf/StringBuffer2Builder.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/perf/StringBuffer2Builder.java
++@@ -64,12 +64,15 @@ import org.openide.util.NbBundle;
++  *
++  * @author lahvac
++  */
++- at Hint(displayName = "#DN_org.netbeans.modules.java.hints.perf.StringBuffer2Builder", description = "#DESC_org.netbeans.modules.java.hints.perf.StringBuffer2Builder", category="performance", suppressWarnings="StringBufferMayBeStringBuilder",
++-        minSourceVersion = "5")
+++ at Hint(displayName = "#DN_org.netbeans.modules.java.hints.perf.StringBuffer2Builder", description = "#DESC_org.netbeans.modules.java.hints.perf.StringBuffer2Builder", category="performance", suppressWarnings="StringBufferMayBeStringBuilder")
++ public class StringBuffer2Builder {
++ 
++     @TriggerPattern(value="java.lang.StringBuffer $buffer = new java.lang.StringBuffer($args$);")
++     public static ErrorDescription hint(final HintContext ctx) {
+++        if (ctx.getInfo().getSourceVersion().compareTo(SourceVersion.RELEASE_5) < 0) {
+++            return null;
+++        }
+++
++         final Element el = ctx.getInfo().getTrees().getElement(ctx.getPath());
++ 
++         if (el == null || el.getKind() != ElementKind.LOCAL_VARIABLE) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/default.properties b/java.hints/src/org/netbeans/modules/java/hints/resources/default.properties
++index e1510b89c..92e380728 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/default.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/default.properties
++@@ -1,38 +1 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2013, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License.  When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ display.name=Default
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/enabled.properties b/java.hints/src/org/netbeans/modules/java/hints/resources/enabled.properties
++index caa5dfac5..bc578b6bc 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/enabled.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/enabled.properties
++@@ -1,39 +1,2 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2013, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License.  When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ # Enable the hint
++ enabled=true
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/ide.css b/java.hints/src/org/netbeans/modules/java/hints/resources/ide.css
++index 6736a495d..cce6bbefd 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/ide.css
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/ide.css
++@@ -1,41 +1,28 @@
++ /*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ * rave.css      08/13/2004
++  *
++- * Copyright (c) 2007, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright � 2007 Sun Microsystems, Inc. All rights reserved.
+++ * Use is subject to license terms.
++  *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
+++ * Changes from NetBeans ide.css:
+++ * Oct. 2003
+++ * Got rid of <tr> and <td> definitions.
+++ * Changed table definition and added <border> tag
+++ * to improve appearance of tables in web browsers.
+++ * Added <th> definition to make default text alignment left.
+++ * 
+++ * Added <dl>, <dt>, and <dd> definitions to be used instead
+++ * of formatting tables for See Also lists. For example:
+++ * <dl>
+++ * <dt>See Also</dt>
+++ * <dd>First Linked Element of List</dd>
+++ * <dd>Second Linked Element of List</dd>
+++ * </dl>
+++ * 
+++ * Added <ul> and <ol> definitions that support blue ball
+++ * and blue square graphics for bullets. Definitions
+++ * account for sublists and for subslists of sublists.
+++ * 
++  */
++ 
++ body  {font-size: small;
++@@ -69,9 +56,9 @@ h4 { font-size: small;
++      font-weight: bold;
++      margin-top: 10;
++      margin-bottom: 5}
++-/*
+++/* 
++  * Use the h6 tag for the term in a glossary popup
++- * topic. The term being defined is the heading for
+++ * topic. The term being defined is the heading for 
++  * the topic.
++  */
++ h6 { font-size: small;
++@@ -81,7 +68,7 @@ h6 { font-size: small;
++ 
++ li {margin-top: 0;
++     margin-bottom: 5}
++-
+++        
++ li p{margin-top: 5;
++      margin-bottom: 0}
++ 
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/jdk5.properties b/java.hints/src/org/netbeans/modules/java/hints/resources/jdk5.properties
++index a7ac09270..9766bc74f 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/jdk5.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/jdk5.properties
++@@ -1,38 +1 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2013, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License.  When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ display.name=Migrate to JDK 5
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/jdk7.properties b/java.hints/src/org/netbeans/modules/java/hints/resources/jdk7.properties
++index 0d250a89e..37a3b2fe9 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/jdk7.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/jdk7.properties
++@@ -1,38 +1 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2013, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License.  When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ display.name=Migrate to JDK 7
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/jdk8.properties b/java.hints/src/org/netbeans/modules/java/hints/resources/jdk8.properties
++index 14f08c413..88c7bd905 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/jdk8.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/jdk8.properties
++@@ -1,39 +1,2 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2013, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License.  When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ # Default properties of 'Convert to JDK8' configuration
++ display.name=Migrate to JDK 8
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/resources/layer.xml b/java.hints/src/org/netbeans/modules/java/hints/resources/layer.xml
++index a1d09e3a3..af584b90f 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/resources/layer.xml
+++++ b/java.hints/src/org/netbeans/modules/java/hints/resources/layer.xml
++@@ -21,7 +21,7 @@ License.  When distributing the software, include this License Header
++ Notice in each file and include the License file at
++ nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++ particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
+++by Sun in the GPL Version 2 section of the License file that
++ accompanied this code. If applicable, add the following below the
++ License Header, with the fields enclosed by brackets [] replaced by
++ your own identifying information:
++@@ -57,7 +57,7 @@ made subject to such option by the copyright holder.
++             </file>
++         </folder>
++     </folder>
++-
+++        
++     <folder name="Menu">
++ <!--        <folder name="Source">
++             <file name="org-netbeans-modules-java-hints-analyzer-AnalyzeFolder.shadow">
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConstantNameHint.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConstantNameHint.java
++index f7fabad6e..2078e709e 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConstantNameHint.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConstantNameHint.java
++@@ -92,7 +92,7 @@ public class ConstantNameHint {
++     
++     // constant name: starts with capital, followed by capital-digit strings, possibly terminated by _. Must end with
++     // capital/digit, not _.
++-    static final String DEFAULT_CONSTANT_NAME_PATTERN = "[A-Z]([A-Z\\d_]*[A-Z\\d])?";
+++    static final String DEFAULT_CONSTANT_NAME_PATTERN = "([A-Z][A-Z\\d]*_?)*[A-Z\\d]+";
++     static final int DEFAULT_MIN_LENGTH = 0;
++     static final int DEFAULT_MAX_LENGTH = 35;
++     static final boolean DEFAULT_CHECK_ONLY_IMMUTABLES = true;
++@@ -203,9 +203,6 @@ public class ConstantNameHint {
++     }
++     
++     private static boolean isImmutableType(CompilationInfo info, TypeMirror m, Preferences p) {
++-        if (m == null) {
++-            return false;
++-        }
++         if (m.getKind().isPrimitive() || !isValidType(m)) {
++             return true;
++         }
++@@ -236,7 +233,7 @@ public class ConstantNameHint {
++     
++     private static boolean isImmutableValue(CompilationInfo info, TreePath val, Preferences p) {
++         TypeMirror m = info.getTrees().getTypeMirror(val);
++-        if (Utilities.isValidType(m) && m.getKind() == TypeKind.ARRAY) {
+++        if (m.getKind() == TypeKind.ARRAY) {
++             return checkZeroSizeArray(info, val);
++         } 
++         return isImmutableType(info, m, p);
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitch.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitch.java
++index c188be8c7..32184b175 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitch.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitch.java
++@@ -50,12 +50,7 @@ import java.util.HashSet;
++ import java.util.List;
++ import java.util.Map;
++ import java.util.Set;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++-import javax.lang.model.type.DeclaredType;
++ import javax.lang.model.type.TypeKind;
++-import javax.lang.model.type.TypeMirror;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.netbeans.spi.editor.hints.Severity;
++@@ -109,31 +104,6 @@ public class ConvertIfToSwitch {
++             return null;
++         }
++         IfToSwitchSupport eval = new IfToSwitchSupport(ctx) {
++-                boolean controlTypeChecked = false;
++-                
++-                @Override
++-                protected TypeMirror acceptArgType(TypeMirror controlType, TypeMirror argType) {
++-                    if (!controlTypeChecked) {
++-                        // See issue #257809; although all constants may be enum values, the control expression
++-                        // may be typed differently, i.e. an interface satisfied by those constants. In that case,
++-                        // generating switch would require type-check and casting. Better exclude the situation from hint.
++-                        if (!controlType.getKind().isPrimitive() &&
++-                            !Utilities.isPrimitiveWrapperType(argType)) {
++-                            // the contorl type must be an Enum; String is handled elsewhere
++-                            if (controlType.getKind() != TypeKind.DECLARED) {
++-                                return null;
++-                            }
++-                            Element el = ((DeclaredType)controlType).asElement();
++-                            if (el == null || el.getKind() != ElementKind.ENUM) {
++-                                return null;
++-                            }
++-                        }
++-                        controlTypeChecked = true;
++-                    }
++-                    return super.acceptArgType(controlType, argType);
++-                }
++-            
++-            
++             protected TreePath matches(TreePath test, boolean initial) {
++                 for (String pat : ConvertIfToSwitch.PATTERNS_INIT) {
++                     if (MatcherUtilities.matches(ctx, test, pat, true)) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoop.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoop.java
++index 168a622cf..8507ccdf6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoop.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoop.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2009-2011 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++@@ -64,18 +61,25 @@ import javax.lang.model.util.ElementFilter;
++ import javax.lang.model.util.Types;
++ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.java.source.CompilationInfo;
+++import org.netbeans.api.java.source.JavaSource;
+++import org.netbeans.api.java.source.JavaSource.Phase;
+++import org.netbeans.api.java.source.ModificationResult;
+++import org.netbeans.api.java.source.Task;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.WorkingCopy;
+++import org.netbeans.api.java.source.support.CaretAwareJavaSourceTaskFactory;
++ import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.java.hints.Hint;
++ import org.netbeans.spi.java.hints.TriggerPattern;
++ import org.netbeans.spi.java.hints.HintContext;
+++import org.netbeans.spi.editor.hints.ChangeInfo;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++ import org.netbeans.spi.editor.hints.ErrorDescriptionFactory;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.netbeans.spi.java.hints.Hint.Kind;
++ import org.netbeans.spi.java.hints.JavaFix;
+++import org.openide.filesystems.FileObject;
++ import org.openide.util.NbBundle;
++ 
++ /**
++@@ -162,7 +166,7 @@ public class ExpandEnhancedForLoop {
++ 
++             ExecutableElement getIterator = findIterable(copy);
++             ExecutableType    getIteratorType = (ExecutableType) copy.getTypes().asMemberOf((DeclaredType) expressionType, getIterator);
++-            TypeMirror        iteratorType = Utilities.resolveTypeForDeclaration(copy, getIteratorType.getReturnType());
+++            TypeMirror        iteratorType = Utilities.resolveCapturedType(copy, getIteratorType.getReturnType());
++             TreeMaker         make = copy.getTreeMaker();
++             Tree              iteratorTypeTree = make.Type(iteratorType);
++             ExpressionTree    getIteratorTree = make.MethodInvocation(Collections.<ExpressionTree>emptyList(),
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpectedTypeResolver.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpectedTypeResolver.java
++index 3111ac9a7..f820a9995 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpectedTypeResolver.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/ExpectedTypeResolver.java
++@@ -79,7 +79,6 @@ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.NewArrayTree;
++ import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.PackageTree;
++ import com.sun.source.tree.ParameterizedTypeTree;
++ import com.sun.source.tree.ParenthesizedTree;
++ import com.sun.source.tree.PrimitiveTypeTree;
++@@ -998,11 +997,7 @@ public class ExpectedTypeResolver implements TreeVisitor<List<? extends TypeMirr
++         List<TypeMirror> tt = new ArrayList<TypeMirror>();
++         Element el = info.getTrees().getElement(getCurrentPath());
++         
++-        if (el == null) {
++-            return null;
++-        }
++-        
++-        if (el.getKind() == ElementKind.METHOD) {
+++        if (el != null && el.getKind() == ElementKind.METHOD) {
++             // special hack: if the casted value is a lambda, we NEED to assign it a type prior to method invocation:
++             TreePath exp = getExpressionWithoutCasts();
++             if (exp != null && exp.getLeaf().getKind() == Tree.Kind.LAMBDA_EXPRESSION) {
++@@ -1332,11 +1327,6 @@ public class ExpectedTypeResolver implements TreeVisitor<List<? extends TypeMirr
++     }
++ 
++     @Override
++-    public List<? extends TypeMirror> visitPackage(PackageTree pt, Object p) {
++-        return null;
++-    }
++-
++-    @Override
++     public List<? extends TypeMirror> visitTry(TryTree node, Object p) {
++         return null;
++     }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/IfToSwitchSupport.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/IfToSwitchSupport.java
++index ca1b7f416..ee99f5bc9 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/IfToSwitchSupport.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/IfToSwitchSupport.java
++@@ -127,12 +127,7 @@ public class IfToSwitchSupport {
++      */
++     private List literals;
++     List<BranchDescription> literal2Statement = new ArrayList<>();
++-    
++-    /**
++-     * Non-null, if a branch contains a null-check.
++-     */
++-    private TreePath nullBranch;
++-    
+++
++     public IfToSwitchSupport(HintContext ctx) {
++         this.ctx = ctx;
++         this.ci = ctx.getInfo();
++@@ -168,7 +163,7 @@ public class IfToSwitchSupport {
++     protected Object convert(Object o, TypeMirror m) {
++         if (o instanceof EnumConst) {
++             TypeMirror elM = ((EnumConst)o).constEl.asType();
++-            if (ci.getTypes().isSubtype(elM, m)) {
+++            if (ci.getTypes().isSameType(m, elM)) {
++                 return o;
++             } else {
++                 return m;
++@@ -253,7 +248,7 @@ public class IfToSwitchSupport {
++     }
++ 
++     private boolean isRealValue(Object o) {
++-        return ArithmeticUtilities.isNull(o) || o instanceof EnumConst || ArithmeticUtilities.isRealValue(o);
+++        return o instanceof EnumConst || ArithmeticUtilities.isRealValue(o);
++     }
++ 
++     /**
++@@ -266,7 +261,7 @@ public class IfToSwitchSupport {
++      */
++     protected Object evalConstant(TreePath path) {
++         TypeMirror m = ci.getTrees().getTypeMirror(path);
++-        if (m != null && m.getKind() != TypeKind.DECLARED) {
+++        if (m.getKind() != TypeKind.DECLARED) {
++             return ArithmeticUtilities.compute(ci, path, true, true);
++         }
++         Element e = ci.getTrees().getElement(path);
++@@ -305,17 +300,14 @@ public class IfToSwitchSupport {
++     }
++     TreePath c1;
++     TreePath c2;
++-    
+++
++     public boolean process(TreePath initCond) {
++         Iterable<? extends TreePath> split = linearizeOrs(initCond);
++-        TreePath body = ctx.getVariables().get("$body"); // NOI18N
++-        if (body == null) {
++-            return false;
++-        }
++-        if (!start(split, body)) {
+++        if (!start(split)) {
++             return false;
++         }
++-        controlVarNotNull |= controlTypeMirror.getKind().isPrimitive() || NPECheck.isSafeToDereference(ci, variable);
+++        // assume match() did the binding
+++        TreePath body = ctx.getVariables().get("$body"); // NOI18N
++         literal2Statement.add(new BranchDescription(literals, TreePathHandle.create(body, ctx.getInfo())));
++         TreePath ifPath = body.getParentPath();
++         Tree e = ((IfTree) ifPath.getLeaf()).getElseStatement();
++@@ -332,11 +324,7 @@ public class IfToSwitchSupport {
++                 }
++                 Object o = evalConstant(constPath);
++                 TypeMirror constType = ctx.getInfo().getTrees().getTypeMirror(constPath);
++-                boolean isNull = (constType != null && constType.getKind() == TypeKind.NULL);
++-                TypeMirror common = isNull ? controlTypeMirror : acceptArgType(controlTypeMirror, constType);
++-                if (isNull) {
++-                    nullBranch = new TreePath(ifPath, it.getThenStatement());
++-                }
+++                TypeMirror common = acceptArgType(controlTypeMirror, constType);
++                 if (!isRealValue(o) || common == null) {
++                     return false;
++                 }
++@@ -349,17 +337,12 @@ public class IfToSwitchSupport {
++         }
++         if (e != null) {
++             // the default statement
++-            TreePath defPath = new TreePath(ifPath, e);
++-            literal2Statement.add(new BranchDescription(null, TreePathHandle.create(defPath, ci)));
++-            if (!controlVarNotNull && nullBranch == null) {
++-                // the default branch may also trigger for null value - issue #259071
++-                nullBranch = defPath;
++-            }
+++            literal2Statement.add(new BranchDescription(null, TreePathHandle.create(new TreePath(ifPath, e), ci)));
++         }
++         return true;
++     }
++ 
++-    boolean start(Iterable<? extends TreePath> conds, TreePath ifBody) {
+++    boolean start(Iterable<? extends TreePath> conds) {
++         Iterator<? extends TreePath> iter = conds.iterator();
++         TreePath first = iter.next();
++         TreePath constPath = matches(first, true);
++@@ -396,9 +379,6 @@ public class IfToSwitchSupport {
++             // next pattern, no common type
++             return false;
++         }
++-        if (ArithmeticUtilities.isNull(c)) {
++-            nullBranch = ifBody;
++-        }
++         if (!addLiteral(convert(c, constType), common, constPath)) {
++             return false;
++         }
++@@ -407,7 +387,7 @@ public class IfToSwitchSupport {
++             if (lt == null) {
++                 return false;
++             }
++-            Object o = evalConstant(lt);
+++            Object o = ArithmeticUtilities.compute(ctx.getInfo(), lt, true, true);
++             if (!ArithmeticUtilities.isRealValue(o)) {
++                 return false;
++             }
++@@ -419,9 +399,6 @@ public class IfToSwitchSupport {
++             if (!addLiteral(convert(o, constType), common, lt)) {
++                 return false;
++             }
++-            if (ArithmeticUtilities.isNull(o)) {
++-                nullBranch = ifBody;
++-            }
++         }
++         return true;
++     }
++@@ -468,11 +445,9 @@ public class IfToSwitchSupport {
++     }
++     
++     public JavaFix createFix(String fixLabel, boolean alwaysDefault) {
++-        TreePathHandle nHandle = nullBranch == null ? null : TreePathHandle.create(nullBranch, ctx.getInfo());
++         ConvertToSwitch fix = new ConvertToSwitch(ctx.getInfo(),
++                                  ctx.getPath(),
++                                  TreePathHandle.create(variable, ctx.getInfo()),
++-                                 nHandle,
++                                  literal2Statement,
++                                  isControlNotNull(), fixLabel);
++         if (alwaysDefault) {
++@@ -490,17 +465,14 @@ public class IfToSwitchSupport {
++         private boolean varNotNull;
++         private Set<Tree> ifSeen = new HashSet<Tree>();
++         private boolean enumType;
++-        private final TreePathHandle nullBranch;
++ 
++-        public ConvertToSwitch(CompilationInfo info, TreePath create, TreePathHandle value, TreePathHandle nullBranch, 
++-                List<BranchDescription> literal2Statement, 
+++        public ConvertToSwitch(CompilationInfo info, TreePath create, TreePathHandle value, List<BranchDescription> literal2Statement, 
++                 boolean varNotNull, String label) {
++             super(info, create);
++             this.value = value;
++             this.literal2Statement = literal2Statement;
++             this.varNotNull = varNotNull;
++             this.label = label;
++-            this.nullBranch = nullBranch;
++         }
++         
++         public void addDefaultAlways() {
++@@ -523,7 +495,6 @@ public class IfToSwitchSupport {
++             Map<BreakTree, StatementTree> break2Target = new IdentityHashMap<BreakTree, StatementTree>();
++             
++             TreePath value = this.value.resolve(copy);
++-            TreePath nullBranchResolved = null;
++             if (value == null) {
++                 // FIXME - report an error
++                 return;
++@@ -533,19 +504,13 @@ public class IfToSwitchSupport {
++                 // FIXME - report an error
++                 return;
++             }
++-            if (nullBranch != null) {
++-                nullBranchResolved = this.nullBranch.resolve(copy);
++-                if (nullBranchResolved == null || !(nullBranchResolved.getLeaf() instanceof StatementTree)) {
++-                    return;
++-                }
++-            }
++             enumType = valType.getKind() == TypeKind.DECLARED && 
++                     ((DeclaredType)valType).asElement().getKind() == ElementKind.ENUM;
++ 
++             boolean defaultPresent = false;
++             for (BranchDescription d : this.literal2Statement) {
++                 TreePath s = d.path.resolve(copy);
++-                
+++
++                 if (s == null) {
++                     // FIXME - report an error
++                     return ;
++@@ -568,39 +533,22 @@ public class IfToSwitchSupport {
++                 addCase(copy, new BranchDescription(null, null), null, cases, catch2Declared, catch2Used);
++             }
++ 
++-            varNotNull |= NPECheck.isSafeToDereference(copy, value);
+++            if (!varNotNull) {
+++                varNotNull = NPECheck.isSafeToDereference(copy, value);
+++            }
+++            
++             
++             SwitchTree s = make.Switch((ExpressionTree) value.getLeaf(), cases);
++ 
++             Utilities.copyComments(copy, it.getLeaf(), s, true);
++             
++-            Tree nue = s;  
+++            Tree nue = s;            
++             if (!varNotNull) {
++-                // if the control variable is not null, AND there's a null-check branch, make
++-                // the null-branch first, it's easier to read.
++-                if (nullBranchResolved == null) {
++-                    nue = make.If(
++-                            make.Parenthesized(
++-                                make.Binary(Tree.Kind.NOT_EQUAL_TO, make.Literal(null), (ExpressionTree)value.getLeaf())
++-                            ),
++-                        s, null
++-                    );
++-                } else {
++-                    nue = make.If(
++-                        make.Parenthesized(make.Binary(Tree.Kind.EQUAL_TO, 
++-                                make.Literal(null), 
++-                                (ExpressionTree)value.getLeaf()
++-                        )), (StatementTree)nullBranchResolved.getLeaf(), s
++-                    );
++-                }
++-            } else if (nullBranchResolved != null) {
++                 nue = make.If(
++-                    make.Parenthesized(
++-                        make.Binary(Tree.Kind.EQUAL_TO, 
++-                                make.Literal(null), 
++-                                (ExpressionTree)value.getLeaf()
++-                        )
++-                    ), (StatementTree)nullBranchResolved.getLeaf(), s
+++                        make.Parenthesized(
+++                            make.Binary(Tree.Kind.NOT_EQUAL_TO, make.Literal(null), (ExpressionTree)value.getLeaf())
+++                        ),
+++                    s, null
++                 );
++             }
++             copy.rewrite(it.getLeaf(), nue); //XXX
++@@ -738,11 +686,6 @@ public class IfToSwitchSupport {
++                 List<StatementTree> body = it.hasNext() ? Collections.<StatementTree>emptyList() : statements;
++                 // special case: if the literal is an enum-type, use only the simple name.
++                 ExpressionTree litTree = (ExpressionTree)lit.getLeaf();
++-                TypeMirror m = copy.getTrees().getTypeMirror(lit);
++-                if (m == null || m.getKind() == TypeKind.NULL) {
++-                    // do not add case
++-                    continue;
++-                }
++                 if (enumType) {
++                     Element c = copy.getTrees().getElement(lit);
++                     if (c != null && c.getKind() == ElementKind.ENUM_CONSTANT) {
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/Ifs.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/Ifs.java
++index 8068840e0..69bc53f00 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/Ifs.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/Ifs.java
++@@ -62,7 +62,6 @@ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.WorkingCopy;
++ import org.netbeans.api.lexer.TokenSequence;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++ import org.netbeans.spi.editor.hints.Fix;
++ import org.netbeans.spi.editor.hints.Severity;
++@@ -146,20 +145,11 @@ public class Ifs {
++         protected void performRewrite(final TransformationContext ctx) throws Exception {
++             IfTree toRewrite = (IfTree) ctx.getPath().getLeaf();
++             StatementTree elseStatement = toRewrite.getElseStatement();
++-            if (toRewrite.getCondition() == null ||
++-                toRewrite.getCondition().getKind() != Tree.Kind.PARENTHESIZED) {
++-                return;
++-            }
++-            ParenthesizedTree ptt = (ParenthesizedTree)toRewrite.getCondition();
++-            if (ptt.getExpression() == null) {
++-                return;
++-            }
+++            
++             if (elseStatement == null) elseStatement = ctx.getWorkingCopy().getTreeMaker().Block(Collections.<StatementTree>emptyList(), false);
++             
++             ctx.getWorkingCopy().rewrite(toRewrite, ctx.getWorkingCopy().getTreeMaker().If(toRewrite.getCondition(), elseStatement, toRewrite.getThenStatement()));
++-            ExpressionTree negated = Utilities.negate(
++-                    ctx.getWorkingCopy().getTreeMaker(), ptt.getExpression(), ptt);
++-            ctx.getWorkingCopy().rewrite(ptt.getExpression(), negated);
+++            negate(ctx.getWorkingCopy(), toRewrite.getCondition(), toRewrite);
++         }
++         
++         //TODO: should be done automatically:
++@@ -175,7 +165,7 @@ public class Ifs {
++                     newTree = ((UnaryTree) original).getExpression();
++                     while (newTree.getKind() == Kind.PARENTHESIZED && !JavaFixUtilities.requiresParenthesis(((ParenthesizedTree) newTree).getExpression(), original, parent)) {
++                         newTree = ((ParenthesizedTree) newTree).getExpression();
++-        }
+++                    }
++                     break;
++                 case NOT_EQUAL_TO:
++                     newTree = negateBinaryOperator(copy, original, Kind.EQUAL_TO, false);
++@@ -208,10 +198,10 @@ public class Ifs {
++                     newTree = make.Unary(Kind.LOGICAL_COMPLEMENT, original);
++                     if (JavaFixUtilities.requiresParenthesis(original, original, newTree)) {
++                         newTree = make.Unary(Kind.LOGICAL_COMPLEMENT, make.Parenthesized(original));
++-    }
+++                    }
++                     break;
++             }
++-
+++         
++             if (JavaFixUtilities.requiresParenthesis(newTree, original, parent)) {
++                 newTree = make.Parenthesized(newTree);
++             }
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/Lambda.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/Lambda.java
++index c14341e7d..1d8bfcf7f 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/Lambda.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/Lambda.java
++@@ -65,16 +65,13 @@ import com.sun.source.tree.Tree.Kind;
++ import com.sun.source.tree.TypeParameterTree;
++ import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.TreePath;
++-import com.sun.source.util.TreePathScanner;
++ import com.sun.source.util.TreeScanner;
++ import java.util.ArrayList;
++ import java.util.Collections;
++ import java.util.EnumSet;
++-import java.util.HashMap;
++ import java.util.HashSet;
++ import java.util.Iterator;
++ import java.util.List;
++-import java.util.Map;
++ import java.util.Set;
++ import javax.lang.model.SourceVersion;
++ import javax.lang.model.element.Element;
++@@ -90,14 +87,11 @@ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++ import javax.lang.model.util.ElementFilter;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementUtilities.ElementAcceptor;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.SourceUtils;
++ import org.netbeans.api.java.source.TreeMaker;
++ import org.netbeans.api.java.source.TreeUtilities;
++ import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++-import org.netbeans.modules.java.hints.jdk.ConvertToLambdaConverter;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++ import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
++ import org.netbeans.spi.java.hints.Hint;
++@@ -114,8 +108,7 @@ import org.openide.util.NbBundle.Messages;
++  */
++ public class Lambda {
++     
++-    @Hint(displayName="#DN_lambda2Class", description="#DESC_lambda2Class", category="suggestions", hintKind=Hint.Kind.ACTION,
++-            minSourceVersion = "8")
+++    @Hint(displayName="#DN_lambda2Class", description="#DESC_lambda2Class", category="suggestions", hintKind=Hint.Kind.ACTION)
++     @Messages({
++         "DN_lambda2Class=Convert Lambda Expression to Anonymous Innerclass",
++         "DESC_lambda2Class=Converts lambda expressions to anonymous inner classes",
++@@ -132,8 +125,7 @@ public class Lambda {
++         return ErrorDescriptionFactory.forTree(ctx, ctx.getPath(), Bundle.ERR_lambda2Class(), new Lambda2Anonymous(ctx.getInfo(), ctx.getPath()).toEditorFix());
++     }
++     
++-    @Hint(displayName="#DN_lambda2MemberReference", description="#DESC_lambda2MemberReference", category="suggestions", hintKind=Hint.Kind.ACTION,
++-            minSourceVersion = "8")
+++    @Hint(displayName="#DN_lambda2MemberReference", description="#DESC_lambda2MemberReference", category="suggestions", hintKind=Hint.Kind.ACTION)
++     @Messages({
++         "DN_lambda2MemberReference=Convert Lambda Expression to Member Reference",
++         "DESC_lambda2MemberReference=Converts lambda expressions to member references",
++@@ -199,8 +191,7 @@ public class Lambda {
++         return ErrorDescriptionFactory.forTree(ctx, ctx.getPath(), Bundle.ERR_lambda2MemberReference(), new Lambda2MemberReference(ctx.getInfo(), ctx.getPath()).toEditorFix());
++     }
++     
++-    @Hint(displayName="#DN_expression2Return", description="#DESC_expression2Return", category="suggestions", hintKind=Hint.Kind.ACTION,
++-            minSourceVersion = "8")
+++    @Hint(displayName="#DN_expression2Return", description="#DESC_expression2Return", category="suggestions", hintKind=Hint.Kind.ACTION)
++     @Messages({
++         "DN_expression2Return=Convert Lambda Body to Use a Block",
++         "DESC_expression2Return=Converts lambda bodies to use blocks rather than expressions",
++@@ -410,121 +401,28 @@ public class Lambda {
++                 targetTypeTree = (ExpressionTree) make.ParameterizedType(make.QualIdent(samTypeElement), typeArguments);
++             }
++             
++-            
++             NewClassTree newClass = make.NewClass(null, Collections.<ExpressionTree>emptyList(), targetTypeTree, Collections.<ExpressionTree>emptyList(), innerClass);
++             
+++            copy.rewrite(ctx.getPath().getLeaf(), newClass);
+++            
++             TreePath clazz = ctx.getPath();
++             
++             while (clazz != null && !TreeUtilities.CLASS_TREE_KINDS.contains(clazz.getLeaf().getKind())) {
++                 clazz = clazz.getParentPath();
++             }
++             
++-            if (clazz == null) {
++-                return;
++-            }
++-            
++-            Element clazzElement = copy.getTrees().getElement(clazz);
++-            if (clazzElement == null || !(
++-                    clazzElement.getKind().isClass() || clazzElement.getKind().isInterface())) {
++-                return;
++-            }
++-            
++-            copy.rewrite(ctx.getPath().getLeaf(), newClass);
++-
++-            final Name outterClassName = ((ClassTree) clazz.getLeaf()).getSimpleName();
++-            // possibly wrong, since the rewritten code will work in context of a different class.
++-            Scope s = copy.getTrees().getScope(ctx.getPath());
++-            final Map<Name, Element> types = new HashMap<>();
++-            final Map<Name, Element> vars = new HashMap<>();
++-            final Set<Name> methods = new HashSet<>();
++-
++-            // lambda parameter names will be used as method parameter names, so variable clash should
++-            // not occur.
++-            for (Element e : copy.getElementUtilities().getMembers(samTypeElement.asType(), null)) {
++-                switch (e.getKind()) {
++-                    case ENUM:
++-                    case CLASS:
++-                    case ANNOTATION_TYPE:
++-                    case INTERFACE:
++-                        types.put(e.getSimpleName(), e);
++-                        break;
++-
++-                    case ENUM_CONSTANT:
++-                    case FIELD:
++-                        vars.put(e.getSimpleName(), e);
++-                        break;
++-
++-                    case METHOD:
++-                        methods.add(e.getSimpleName());
++-                        break;
++-                }
++-            }
++-            types.put(samTypeElement.getSimpleName(), samTypeElement);
++-            
++-            new TreePathScanner<Void, Boolean>() {
++-                @Override public Void visitIdentifier(final IdentifierTree node, Boolean p) {
++-                    boolean rewrite = false;
++-                    boolean statRef = false;
++-                    
++-                    if (node.getName().contentEquals("this") || node.getName().contentEquals("super")) {
++-                        if (types.containsKey(outterClassName)) {
++-                            copy.rewrite(node, make.MemberSelect(make.QualIdent(clazzElement), node.getName()));
++-                        } else {
++-                            copy.rewrite(node, make.MemberSelect(make.Identifier(outterClassName), node.getName()));
++-                        }
++-                    } else if (Boolean.TRUE != p) {
++-                        Element e = copy.getTrees().getElement(getCurrentPath());
++-                        Element other = null;
++-                        if (e != null) {
++-                            switch (e.getKind()) {
++-                                case METHOD: {
++-                                    if (methods.contains(e.getSimpleName())) {
++-                                        Map<? extends ExecutableElement,? extends ExecutableElement> conflicting = Utilities.findConflictingMethods(copy, samTypeElement, 
++-                                                true, Collections.singleton((ExecutableElement)e));
++-                                        rewrite = !conflicting.isEmpty();
++-                                    }
++-                                    break;
++-                                }
++-                                // fields and enum fields may be hidden by interface fields.
++-                                case ENUM_CONSTANT: 
++-                                    statRef = true;
++-                                    // fall through
++-                                case FIELD: 
++-                                    rewrite = (other = vars.get(e.getSimpleName())) != null;
++-                                    break;
++-                                // types may be hidden by inner interface types
++-                                case ANNOTATION_TYPE:
++-                                case CLASS:
++-                                case INTERFACE:
++-                                case ENUM:
++-                                    rewrite = (other = types.get(e.getSimpleName())) != null;
++-                                    statRef = true;
++-                                    break;
++-                            }
++-                        }
++-                        if (rewrite) {
++-                            statRef |= (e.getModifiers().contains(Modifier.STATIC));
++-                            ExpressionTree n;
++-                            if (statRef && other == e) {
++-                                // static reference && the element was reintroduced actually
++-                                return super.visitIdentifier(node, p);
++-                            }
++-                            if (types.containsKey(outterClassName)) {
++-                                n = make.QualIdent(clazzElement);
++-                            } else {
++-                                n = make.Identifier(outterClassName);
++-                            }
++-                            if (!statRef) {
++-                                n = make.MemberSelect(n, "this"); // NOI18N
++-                            }
++-                            if (rewrite) {
++-                                copy.rewrite(node, make.MemberSelect(n, node.getName()));
++-                            }
+++            if (clazz != null) {
+++                final Name outterClassName = ((ClassTree) clazz.getLeaf()).getSimpleName();
+++                
+++                new TreeScanner<Void, Void>() {
+++                    @Override public Void visitIdentifier(IdentifierTree node, Void p) {
+++                        if (node.getName().contentEquals("this")) {
+++                            copy.rewrite(node, make.MemberSelect(make.Identifier(outterClassName), "this"));
++                         }
+++                        return super.visitIdentifier(node, p);
++                     }
++-                    return super.visitIdentifier(node, p);
++-                }
++-            }.scan(ctx.getPath(), null);
+++                }.scan(lambda.getBody(), null);
+++            }
++         }        
++     }
++ 
++@@ -565,15 +463,34 @@ public class Lambda {
++                 }
++             }
++ 
++-            Tree changed = null;
++-            if (tree.getKind() == Tree.Kind.METHOD_INVOCATION) {
++-                changed = ConvertToLambdaConverter.methodInvocationToMemberReference(copy, tree, ctx.getPath(), lambda.getParameters(), false);
++-            } else if (tree.getKind() == Tree.Kind.NEW_CLASS) {
++-                changed = ConvertToLambdaConverter.newClassToConstructorReference(copy, tree, ctx.getPath(), lambda.getParameters(), false);
+++            if (tree.getKind() != Tree.Kind.METHOD_INVOCATION) {
+++                return;
++             }
++-            if (changed != null) {
++-                copy.rewrite(lambda, changed);
+++
+++            ExpressionTree ms = ((MethodInvocationTree)tree).getMethodSelect();
+++            Name name = null;
+++            ExpressionTree expr = null;
+++            TreeMaker make = copy.getTreeMaker();
+++            if (ms.getKind() == Tree.Kind.IDENTIFIER) {
+++                name = ((IdentifierTree)ms).getName();
+++                expr = make.Identifier("this"); //NOI18N
+++            } else if (ms.getKind() == Tree.Kind.MEMBER_SELECT) {
+++                name = ((MemberSelectTree)ms).getIdentifier();
+++                if (lambda.getParameters().size() == ((MethodInvocationTree)tree).getArguments().size()) {
+++                    expr = ((MemberSelectTree)ms).getExpression();
+++                } else {
+++                    Element e = copy.getTrees().getElement(new TreePath(ctx.getPath(), ms));
+++                    if (e != null && e.getKind() == ElementKind.METHOD) {
+++                        expr = make.Identifier(e.getEnclosingElement());
+++                    }
+++                }
++             }
+++            if (name == null || expr == null) {
+++                return;
+++            }
+++
+++            MemberReferenceTree referenceTree = make.MemberReference(MemberReferenceTree.ReferenceMode.INVOKE, expr, name, Collections.<ExpressionTree>emptyList());
+++            copy.rewrite(lambda, referenceTree);
++         }
++     }
++ 
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/suggestions/TooStrongCast.java b/java.hints/src/org/netbeans/modules/java/hints/suggestions/TooStrongCast.java
++index 2c3b67c2e..97a75b410 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/suggestions/TooStrongCast.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/suggestions/TooStrongCast.java
++@@ -43,7 +43,6 @@ package org.netbeans.modules.java.hints.suggestions;
++ 
++ import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.ParenthesizedTree;
++ import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.TypeCastTree;
++@@ -55,11 +54,7 @@ import java.util.HashMap;
++ import java.util.Iterator;
++ import java.util.List;
++ import java.util.Map;
++-import javax.lang.model.element.AnnotationMirror;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++-import javax.lang.model.element.TypeElement;
++ import javax.lang.model.type.ArrayType;
++ import javax.lang.model.type.TypeKind;
++ import javax.lang.model.type.TypeMirror;
++@@ -124,46 +119,27 @@ public class TooStrongCast {
++         CompilationInfo info = ctx.getInfo();
++         ExecutableElement exec = null;
++         
++-        // obtain the type of the casted expression. Some of the proposed types may be even type-compatible,
++-        // which means we could remove the cast at all.
++-        // just in case, non-castable types should be removed.
++-        TypeCastTree tct = (TypeCastTree)ctx.getPath().getLeaf();
++-        TreePath realExpressionPath = new TreePath(ctx.getPath(), tct.getExpression());
++-        TypeMirror casteeType = info.getTrees().getTypeMirror(realExpressionPath);
++-
++         if (parentExec != null) {
++             exec = (ExecutableElement)info.getTrees().getElement(parentExec);
++             if (exec == null) {
++                 return null;
++             }
++             argIndex = exp.getArgumentIndex();
++-            varargs = exec.isVarArgs() && argIndex == exec.getParameters().size() - 1; 
++-            // check if the parent executable is not signature - polymorphic:
++-            if (isPolymorphicSignature(info, parentExec)) {
++-                casteeType = info.getElements().getTypeElement("java.lang.Object").asType(); // NOI18N
++-            }
+++            varargs = exec.isVarArgs() && argIndex == exec.getParameters().size() - 1;
++         }
++         if (types == null) {
++             return null;
++         }
++         
+++        // obtain the type of the casted expression. Some of the proposed types may be even type-compatible,
+++        // which means we could remove the cast at all.
+++        // just in case, non-castable types should be removed.
+++        TypeCastTree tct = (TypeCastTree)ctx.getPath().getLeaf();
+++        TreePath realExpressionPath = new TreePath(ctx.getPath(), tct.getExpression());
+++        TypeMirror casteeType = info.getTrees().getTypeMirror(realExpressionPath);
++         if (!Utilities.isValidType(casteeType)) {
++             return null;
++         }
++-
++-        Tree castExp = tct.getExpression();
++-        while (castExp != null && castExp.getKind() == Tree.Kind.PARENTHESIZED) {
++-            castExp = ((ParenthesizedTree)castExp).getExpression();
++-        }
++-        if (castExp == null) {
++-            return null;
++-        } else if (castExp.getKind() == Tree.Kind.METHOD_INVOCATION) {
++-            TreePath mitPath = new TreePath(ctx.getPath(), castExp);
++-            if (isPolymorphicSignature(info, mitPath)) {
++-                // reset the castee type to prevent "redundant cast" errors.
++-                casteeType = info.getElements().getTypeElement("java.lang.Object").asType(); // NOI18N
++-            }
++-        }
++         String lst = null;
++         List<TypeMirror> filteredTypes = new ArrayList<TypeMirror>(types.size());
++         TypeMirror castType = info.getTrees().getTypeMirror(new TreePath(ctx.getPath(), tct.getType()));
++@@ -252,7 +228,7 @@ public class TooStrongCast {
++                     continue;
++                 }
++             }
++-            filteredTypes.add(Utilities.resolveTypeForDeclaration(info, tm));
+++            filteredTypes.add(Utilities.resolveCapturedType(info, tm));
++         }
++         if (filteredTypes.isEmpty()) {
++             return null;
++@@ -275,33 +251,6 @@ public class TooStrongCast {
++         
++         return ErrorDescriptionFactory.forTree(ctx, ctx.getPath(), msg, fixes);
++     }
++-    
++-    private static boolean isPolymorphicSignature(CompilationInfo info, TreePath path) {
++-        TypeElement polymorphicEl=  info.getElements().getTypeElement("java.lang.invoke.MethodHandle.PolymorphicSignature"); // NOI18N
++-        if (polymorphicEl == null) {
++-            // unsuitable platform
++-            return false;
++-        }
++-        TypeMirror polyType = polymorphicEl.asType();
++-        Element target = info.getTrees().getElement(path);
++-        if (target == null || target.getKind() != ElementKind.METHOD) {
++-            return false;
++-        }
++-        if (target.getEnclosingElement() == null || !target.getEnclosingElement().getKind().isClass()) {
++-            return false;
++-        }
++-        ExecutableElement ee = (ExecutableElement)target;
++-        TypeElement parent = (TypeElement)target.getEnclosingElement();
++-        if (!parent.getQualifiedName().toString().startsWith("java.lang.invoke.")) { // NOI18N
++-            return false;
++-        }
++-        for (AnnotationMirror am : ee.getAnnotationMirrors()) {
++-            if (info.getTypes().isSameType(polyType, am.getAnnotationType())) {
++-                return true;
++-            }
++-        }
++-        return false;
++-    }
++ 
++     private static ErrorDescription reportUselessCast(HintContext ctx, TypeCastTree tct, 
++             CharSequence currentTypeName, CompilationInfo info, ExpectedTypeResolver exp,
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/threading/Bundle.properties b/java.hints/src/org/netbeans/modules/java/hints/threading/Bundle.properties
++index 1e745507c..9276f7bb6 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/threading/Bundle.properties
+++++ b/java.hints/src/org/netbeans/modules/java/hints/threading/Bundle.properties
++@@ -95,6 +95,8 @@ ERR_VolatileArrayField=Volatile array field
++ DN_org.netbeans.modules.java.hints.threading.Tiny.unlockOutsideTryFinally=Lock not unlocked in finally
++ DESC_org.netbeans.modules.java.hints.threading.Tiny.unlockOutsideTryFinally=Finds occurrences of Lock.lock()-Lock.unlock() \
++ not properly wrapped in try-finally.
+++ERR_UnlockOutsideTryFinally=Lock.lock() not unlocked in finally
+++FIX_UnlockOutsideTryFinally=Wrap by try-finally
++ 
++ DN_org.netbeans.modules.java.hints.threading.Tiny.unsyncWait=.wait invoked outside a synchronized context
++ DESC_org.netbeans.modules.java.hints.threading.Tiny.unsyncWait=.wait invoked outside a synchronized context
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/threading/Tiny.java b/java.hints/src/org/netbeans/modules/java/hints/threading/Tiny.java
++index 16d27d2bd..12768ac07 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/threading/Tiny.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/threading/Tiny.java
++@@ -275,6 +275,32 @@ public class Tiny {
++         return ErrorDescriptionFactory.forName(ctx, ctx.getPath(), displayName);
++     }
++ 
+++    @Hint(displayName = "#DN_org.netbeans.modules.java.hints.threading.Tiny.unlockOutsideTryFinally", description = "#DESC_org.netbeans.modules.java.hints.threading.Tiny.unlockOutsideTryFinally", category="thread", suppressWarnings="LockAcquiredButNotSafelyReleased")
+++    @TriggerPattern(value="$lock.lock(); $statements$; $lock.unlock();",
+++                    constraints=@ConstraintVariableType(variable="$lock", type="java.util.concurrent.locks.Lock"))
+++    public static ErrorDescription unlockOutsideTryFinally(HintContext ctx) {
+++        if (ctx.getMultiVariables().get("$statements$").isEmpty()) return null; //#186434
+++        String fixDisplayName = NbBundle.getMessage(Tiny.class, "FIX_UnlockOutsideTryFinally");
+++        String lockString = ctx.getVariables().containsKey("$lock") ? "$lock." : ""; // NOI18N
+++        Fix f = JavaFixUtilities.rewriteFix(ctx, fixDisplayName, ctx.getPath(), lockString + "lock(); try {$statements$;} finally {" + lockString + "unlock();}");
+++        String displayName = NbBundle.getMessage(Tiny.class, "ERR_UnlockOutsideTryFinally");
+++
+++        //XXX:
+++        Tree mark;
+++        Tree matched = ctx.getPath().getLeaf();
+++
+++        if (matched.getKind() == Kind.BLOCK) {
+++            List<? extends StatementTree> s = ((BlockTree) matched).getStatements();
+++            int count = ctx.getMultiVariables().get("$$1$").size();
+++
+++            mark = s.get(count);
+++        } else {
+++            mark = matched;
+++        }
+++
+++        return ErrorDescriptionFactory.forName(ctx, mark, displayName, f);
+++    }
+++
++     @Hint(displayName = "#DN_org.netbeans.modules.java.hints.threading.Tiny.unsyncWait", description = "#DESC_org.netbeans.modules.java.hints.threading.Tiny.unsyncWait", category="thread", suppressWarnings="WaitWhileNotSynced", options=Options.QUERY)
++     @TriggerPatterns({
++         @TriggerPattern(value="$site.wait()",
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/threading/UnlockOutsideFinally.java b/java.hints/src/org/netbeans/modules/java/hints/threading/UnlockOutsideFinally.java
++deleted file mode 100644
++index 8bbcd2c80..000000000
++--- a/java.hints/src/org/netbeans/modules/java/hints/threading/UnlockOutsideFinally.java
+++++ /dev/null
++@@ -1,226 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.threading;
++-
++-import com.sun.source.tree.BlockTree;
++-import com.sun.source.tree.StatementTree;
++-import com.sun.source.tree.Tree;
++-import com.sun.source.tree.TryTree;
++-import com.sun.source.util.TreePath;
++-import java.util.Collection;
++-import java.util.Collections;
++-import java.util.List;
++-import org.netbeans.api.java.source.TreeMaker;
++-import org.netbeans.api.java.source.TreePathHandle;
++-import org.netbeans.api.java.source.WorkingCopy;
++-import org.netbeans.api.java.source.matching.Matcher;
++-import org.netbeans.api.java.source.matching.Occurrence;
++-import org.netbeans.api.java.source.matching.Pattern;
++-import org.netbeans.modules.java.hints.errors.Utilities;
++-import org.netbeans.spi.editor.hints.ErrorDescription;
++-import org.netbeans.spi.editor.hints.Fix;
++-import org.netbeans.spi.java.hints.ConstraintVariableType;
++-import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
++-import org.netbeans.spi.java.hints.Hint;
++-import org.netbeans.spi.java.hints.HintContext;
++-import org.netbeans.spi.java.hints.JavaFix;
++-import org.netbeans.spi.java.hints.JavaFixUtilities;
++-import org.netbeans.spi.java.hints.TriggerPattern;
++-import org.netbeans.spi.java.hints.TriggerPatterns;
++-import org.openide.util.NbBundle;
++-
++-/**
++- *
++- * @author sdedic
++- */
++- at Hint(displayName = "#DN_org.netbeans.modules.java.hints.threading.Tiny.unlockOutsideTryFinally", description = "#DESC_org.netbeans.modules.java.hints.threading.Tiny.unlockOutsideTryFinally", category="thread", suppressWarnings="LockAcquiredButNotSafelyReleased")
++-public class UnlockOutsideFinally {
++-    
++-    @NbBundle.Messages({
++-        "FIX_MoveUnlockToFinally=Move unlock() to finally",
++-        "FIX_RemoveRedundantUnlock=Remove extra unlock() call"
++-    })
++-    private static class MoveUnlockFix extends JavaFix {
++-        private TreePathHandle  finHandle;
++-        
++-        public MoveUnlockFix(TreePathHandle handle, TreePathHandle finHandle) {
++-            super(handle);
++-            this.finHandle = finHandle;
++-        }
++-
++-        @Override
++-        protected String getText() {
++-            return finHandle == null ? Bundle.FIX_RemoveRedundantUnlock() : Bundle.FIX_MoveUnlockToFinally();
++-        }
++-
++-        @Override
++-        protected void performRewrite(TransformationContext ctx) throws Exception {
++-            TreePath finPath = null;
++-            if (finHandle != null) {
++-                finPath = finHandle.resolve(ctx.getWorkingCopy());
++-                if (finPath == null) {
++-                    // report ?
++-                    return;
++-                }
++-            }
++-            WorkingCopy wc = ctx.getWorkingCopy();
++-            TreeMaker mk = wc.getTreeMaker();
++-            
++-            TreePath p = ctx.getPath();
++-            if (!StatementTree.class.isAssignableFrom(p.getLeaf().getKind().asInterface())) {
++-                if (p.getParentPath() != null && 
++-                    p.getParentPath().getLeaf().getKind() == Tree.Kind.EXPRESSION_STATEMENT) {
++-                    p = p.getParentPath();
++-                } else {
++-                    return;
++-                }
++-            }
++-
++-            Utilities.removeStatement(wc, p);
++-            if (finPath != null) {
++-                Utilities.insertStatement(wc, finPath, null,
++-                        Collections.singletonList((StatementTree)p.getLeaf()),
++-                        null, 
++-                        Utilities.INSERT_POS_CHILD
++-                );
++-            }
++-        }
++-    }
++-    
++-    @TriggerPatterns({
++-        @TriggerPattern(value="$lock.lock(); $otherStats$; try { $statements$; $lock.unlock(); $rest$; } catch $catches$ finally { $finstats$; } ",
++-                        constraints=@ConstraintVariableType(variable="$lock", type="java.util.concurrent.locks.Lock")),
++-        @TriggerPattern(value="$lock.lock(); $otherStats$; try { $statements$; $lock.unlock(); $rest$; } catch $catches$",
++-                        constraints=@ConstraintVariableType(variable="$lock", type="java.util.concurrent.locks.Lock")),
++-        @TriggerPattern(value="$lock.lock(); $otherStats$; try { $statements$; } catch $catches$ catch($excType $var) { $catchStats1$; $lock.unlock(); $catchStats2$; } catch $catches2$ finally { $finstmts$; }",
++-                        constraints=@ConstraintVariableType(variable="$lock", type="java.util.concurrent.locks.Lock")),
++-    })
++-    @NbBundle.Messages({
++-        "ERR_UnlockOutsideTryFinally=Lock.lock() not unlocked in finally",
++-        "FIX_UnlockOutsideTryFinally=Wrap by try-finally",
++-        "MSG_ExtraUnlock=Extra unlock() call; lock is already released in finally"
++-    })
++-    public static ErrorDescription unlockInsideTry(HintContext ctx) {
++-        TreePath fin = ctx.getVariables().get("$lock$1");
++-        if (fin == null) {
++-            return null;
++-        }
++-        TreePath parent = fin.getParentPath();
++-        if (parent.getLeaf().getKind() != Tree.Kind.MEMBER_SELECT) {
++-            return null;
++-        }
++-        parent = parent.getParentPath();
++-        if (parent == null || parent.getLeaf().getKind() != Tree.Kind.METHOD_INVOCATION) {
++-            return null;
++-        }
++-        TreePath tPath = parent.getParentPath();
++-        while (tPath != null && tPath.getLeaf().getKind() != Tree.Kind.TRY) {
++-            if (tPath.getLeaf().getKind() == Tree.Kind.METHOD || 
++-                tPath.getLeaf().getKind() == Tree.Kind.CLASS) {
++-                return null;
++-            }
++-            tPath = tPath.getParentPath();
++-        }
++-        if (tPath == null) {
++-            return null;
++-        }
++-        TryTree tt = (TryTree)tPath.getLeaf();
++-        Fix f = null;
++-        
++-        String displayName = null;
++-        
++-        if (tt.getFinallyBlock() != null) {
++-            
++-            TreePath finBlockPath = new TreePath(tPath, tt.getFinallyBlock());
++-            Collection<? extends Occurrence> occ = Matcher.create(ctx.getInfo()).
++-                setSearchRoot(finBlockPath).
++-                match(
++-                    Pattern.createSimplePattern(parent)
++-                );
++-            if (!occ.isEmpty()) {
++-                f = new MoveUnlockFix(
++-                        TreePathHandle.create(parent, ctx.getInfo()),
++-                        null).toEditorFix();
++-                displayName = Bundle.MSG_ExtraUnlock();
++-            }
++-        }
++-        if (f == null) {
++-            displayName = Bundle.ERR_UnlockOutsideTryFinally();
++-            f = new MoveUnlockFix(
++-                    TreePathHandle.create(parent, ctx.getInfo()),
++-                    TreePathHandle.create(tPath, ctx.getInfo())).toEditorFix();
++-        }
++-        
++-        return ErrorDescriptionFactory.forName(ctx, parent, displayName, f);
++-    }
++-    
++-    @TriggerPatterns({
++-        @TriggerPattern(value="$lock.lock(); $statements$; $lock.unlock();",
++-                        constraints=@ConstraintVariableType(variable="$lock", type="java.util.concurrent.locks.Lock")),
++-    })
++-
++-    public static ErrorDescription unlockOutsideTryFinally(HintContext ctx) {
++-        if (ctx.getMultiVariables().get("$statements$").isEmpty()) return null; //#186434
++-        String fixDisplayName = NbBundle.getMessage(Tiny.class, "FIX_UnlockOutsideTryFinally");
++-        String lockString = ctx.getVariables().containsKey("$lock") ? "$lock." : ""; // NOI18N
++-        
++-        
++-        Fix f= JavaFixUtilities.rewriteFix(ctx, fixDisplayName, ctx.getPath(), 
++-                lockString + "lock(); try {$statements$;} finally {" + lockString + "unlock();}");
++-        String displayName = NbBundle.getMessage(Tiny.class, "ERR_UnlockOutsideTryFinally");
++-
++-        //XXX:
++-        Tree mark;
++-        Tree matched = ctx.getPath().getLeaf();
++-
++-        if (matched.getKind() == Tree.Kind.BLOCK) {
++-            List<? extends StatementTree> s = ((BlockTree) matched).getStatements();
++-            int count = ctx.getMultiVariables().get("$$1$").size();
++-
++-            mark = s.get(count);
++-        } else {
++-            mark = matched;
++-        }
++-
++-        return ErrorDescriptionFactory.forName(ctx, mark, displayName, f);
++-    }
++-}
++diff --git a/java.hints/src/org/netbeans/modules/java/hints/ui/ClassNameList.java b/java.hints/src/org/netbeans/modules/java/hints/ui/ClassNameList.java
++index 75d139a80..5465aa16e 100644
++--- a/java.hints/src/org/netbeans/modules/java/hints/ui/ClassNameList.java
+++++ b/java.hints/src/org/netbeans/modules/java/hints/ui/ClassNameList.java
++@@ -47,7 +47,6 @@ import java.awt.Rectangle;
++ import java.awt.event.MouseEvent;
++ import java.util.ArrayList;
++ import java.util.Arrays;
++-import java.util.HashSet;
++ import java.util.List;
++ import java.util.Set;
++ import java.util.StringTokenizer;
++@@ -70,14 +69,12 @@ import javax.swing.table.TableCellRenderer;
++ import javax.swing.text.JTextComponent;
++ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.api.java.classpath.GlobalPathRegistry;
++-import org.netbeans.api.java.platform.JavaPlatform;
++ import org.netbeans.api.java.source.ClassIndex;
++ import org.netbeans.api.java.source.ClasspathInfo;
++ import org.netbeans.api.java.source.CompilationController;
++ import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.ui.TypeElementFinder;
++ import org.netbeans.api.java.source.ui.TypeElementFinder.Customizer;
++-import org.netbeans.modules.java.source.parsing.ClasspathInfoTask;
++ import org.netbeans.modules.parsing.api.Embedding;
++ import org.netbeans.modules.parsing.api.ParserManager;
++ import org.netbeans.modules.parsing.api.ResultIterator;
++@@ -514,16 +511,10 @@ public class ClassNameList extends javax.swing.JPanel implements Runnable {
++     
++     private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAddActionPerformed
++         if (classpathInfo == null) {
++-            Set<ClassPath> cpPaths = new HashSet<>(GlobalPathRegistry.getDefault().getPaths(ClassPath.COMPILE));
++-            Set<ClassPath> bootPaths = new HashSet<>(GlobalPathRegistry.getDefault().getPaths(ClassPath.BOOT));
+++            Set<ClassPath> cpPaths = GlobalPathRegistry.getDefault().getPaths(ClassPath.COMPILE);
+++            Set<ClassPath> bootPaths = GlobalPathRegistry.getDefault().getPaths(ClassPath.BOOT);
++             Set<ClassPath> sourcePaths = GlobalPathRegistry.getDefault().getPaths(ClassPath.SOURCE);
++ 
++-            JavaPlatform p = JavaPlatform.getDefault();
++-            if (p != null) {
++-                bootPaths.add(p.getBootstrapLibraries());
++-                cpPaths.add(p.getStandardLibraries());
++-            }
++-
++             ClassPath compPath = ClassPathSupport.createProxyClassPath(cpPaths.toArray(new ClassPath[cpPaths.size()]));
++             ClassPath bootPath = ClassPathSupport.createProxyClassPath(bootPaths.toArray(new ClassPath[bootPaths.size()]));
++             ClassPath sourcePath = ClassPathSupport.createProxyClassPath(sourcePaths.toArray(new ClassPath[sourcePaths.size()]));
++@@ -531,10 +522,9 @@ public class ClassNameList extends javax.swing.JPanel implements Runnable {
++             classpathInfo = ClasspathInfo.create(bootPath, compPath, sourcePath);
++         }
++         ElementHandle<TypeElement> handle;
++-        
++         try {
++             try {
++-                ParserManager.parse("text/x-java", new ClasspathInfoTask(classpathInfo) { // NOI18N
+++                ParserManager.parse("text/x-java", new UserTask() { // NOI18N
++                     @Override
++                     public void run(ResultIterator resultIterator) throws Exception {
++                         if (controller != null) {
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1-hints.pass
++index f48aa331f..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1-hints.pass
++@@ -1,2 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1.pass
++index 7b56f936d..adcc41af9 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint1.pass
++@@ -23,33 +23,25 @@ public class ImplementAbstractMethods1 extends AbstractClass implements Property
++     public ImplementAbstractMethods1() {
++     }
++ 
++-    @Override
++     public void test(int x, String y, String... args) throws IOException, BadLocationException {
++-        throw new UnsupportedOperationException("Not supported yet.");
++     }
++ 
++-    public void propertyChange(PropertyChangeEvent pce) {
++-        throw new UnsupportedOperationException("Not supported yet.");
+++    public void propertyChange(PropertyChangeEvent evt) {
++     }
++ 
++-    public void mouseClicked(MouseEvent me) {
++-        throw new UnsupportedOperationException("Not supported yet.");
+++    public void mouseClicked(MouseEvent e) {
++     }
++ 
++-    public void mousePressed(MouseEvent me) {
++-        throw new UnsupportedOperationException("Not supported yet.");
+++    public void mousePressed(MouseEvent e) {
++     }
++ 
++-    public void mouseReleased(MouseEvent me) {
++-        throw new UnsupportedOperationException("Not supported yet.");
+++    public void mouseReleased(MouseEvent e) {
++     }
++ 
++-    public void mouseEntered(MouseEvent me) {
++-        throw new UnsupportedOperationException("Not supported yet.");
+++    public void mouseEntered(MouseEvent e) {
++     }
++ 
++-    public void mouseExited(MouseEvent me) {
++-        throw new UnsupportedOperationException("Not supported yet.");
+++    public void mouseExited(MouseEvent e) {
++     }
++     
++ }
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint11-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint11-hints.pass
++index bc073cb38..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint11-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint11-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2-hints.pass
++index bc073cb38..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2.pass
++index 5abdc8e0c..e1beac76a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint2.pass
++@@ -17,7 +17,6 @@ public class ImplementAbstractMethods2 {
++         new Runnable() {
++ 
++             public void run() {
++-                throw new UnsupportedOperationException("Not supported yet.");
++             }
++         };
++     }
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3-hints.pass
++index bc073cb38..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3.pass
++index 3de45eca2..309a3bb1a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint3.pass
++@@ -18,9 +18,8 @@ public class ImplementAbstractMethods3 {
++     /** Creates a new instance of ImplementAbstractMethod1 */
++     public ImplementAbstractMethods3() {
++         new AbstractClass() {
++-            @Override
+++
++             public void test(int x, String y, String... args) throws IOException, BadLocationException {
++-                throw new UnsupportedOperationException("Not supported yet.");
++             }
++         };
++     }
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4-hints.pass
++index f48aa331f..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4-hints.pass
++@@ -1,2 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4.pass
++index 5e1493b0c..4dbdb29b2 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint4.pass
++@@ -20,9 +20,8 @@ public class ImplementAbstractMethods4 extends AbstractClass2 {
++     /** Creates a new instance of ImplementAbstractMethod1 */
++     public ImplementAbstractMethods4() {
++     }
++-    @Override
+++
++     public String[] test(int[] x, String[] y, String... args) throws IOException, BadLocationException {
++-        throw new UnsupportedOperationException("Not supported yet.");
++     }
++     
++ }
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5-hints.pass
++index f48aa331f..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5-hints.pass
++@@ -1,2 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5.pass
++index a8ab89c76..e8b5d4d1d 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint5.pass
++@@ -22,9 +22,8 @@ public class ImplementAbstractMethods5 extends AbstractClass3 {
++     /** Creates a new instance of ImplementAbstractMethod1 */
++     public ImplementAbstractMethods5() {
++     }
++-    @Override
+++
++     public String[] test(Map<String, List<String>> l) throws IOException, BadLocationException {
++-        throw new UnsupportedOperationException("Not supported yet.");
++     }
++     
++ }
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6-hints.pass
++index bc073cb38..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6.pass
++index 66fff7a83..fcde1550d 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint6.pass
++@@ -6,8 +6,8 @@ package org.netbeans.test.java.hints;
++ public class ImplementAbstractMethods6 {
++ 
++     private Runnable r = new Runnable() {
+++
++         public void run() {
++-            throw new UnsupportedOperationException("Not supported yet.");
++         }
++     };
++     
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7-hints.pass
++index f48aa331f..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7-hints.pass
++@@ -1,2 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7.pass
++index d7b13cbd5..139d60f08 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint7.pass
++@@ -16,17 +16,13 @@ public class ImplementAbstractMethods7 extends ImplementAbstractMethods7Usee2
++     public void createStuff() {
++     }
++ 
++-    @Override
++     protected boolean resolve() {
++-        throw new UnsupportedOperationException("Not supported yet.");
++     }
++ 
++     public String doStuff() {
++-        throw new UnsupportedOperationException("Not supported yet.");
++     }
++ 
++     public int resolveStuff(JButton button) {
++-        throw new UnsupportedOperationException("Not supported yet.");
++     }
++ 
++ }
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8-hints.pass
++index f48aa331f..7fb7a811a 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8-hints.pass
++@@ -1,2 +1 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
+++Implement all abstract methods
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8.pass
++index ba25e2158..9e8aba904 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementAbstractMethodsHint8.pass
++@@ -11,9 +11,7 @@ public class ImplementAbstractMethods8 {
++     private static class Inner {
++         
++         private static class InnerInner extends ImplementAbstractMethods8Usee {
++-            @Override
++             public void doStuff(JList list) {
++-                throw new UnsupportedOperationException("Not supported yet.");
++             }
++         }
++         
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1-hints.pass
++deleted file mode 100644
++index f48aa331f..000000000
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1-hints.pass
+++++ /dev/null
++@@ -1,2 +0,0 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1.pass
++deleted file mode 100644
++index 3f1e730af..000000000
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods1.pass
+++++ /dev/null
++@@ -1,17 +0,0 @@
++-package org.netbeans.test.java.hints;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementDefaultMethods1 implements java.util.Iterator<String> {
++-
++-    public boolean hasNext() {
++-        throw new UnsupportedOperationException("Not supported yet.");
++-    }
++-
++-    public String next() {
++-        throw new UnsupportedOperationException("Not supported yet.");
++-    }
++-    
++-}
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2-hints.pass
++deleted file mode 100644
++index f48aa331f..000000000
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2-hints.pass
+++++ /dev/null
++@@ -1,2 +0,0 @@
++-LBL_FIX_Impl_Abstract_Methods
++-LBL_FIX_Make_Class_Abstract
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2.pass
++deleted file mode 100644
++index 0da4d8af5..000000000
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementDefaultMethods2.pass
+++++ /dev/null
++@@ -1,21 +0,0 @@
++-package org.netbeans.test.java.hints;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementDefaultMethods2 implements java.util.Iterator {
++-
++-    public boolean hasNext() {
++-        throw new UnsupportedOperationException("Not supported yet.");
++-    }
++-
++-    public Object next() {
++-        throw new UnsupportedOperationException("Not supported yet.");
++-    }
++-
++-    public void remove() {
++-        Iterator.super.remove();
++-    }
++-    
++-}
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods-hints.pass
++deleted file mode 100644
++index 915eb7468..000000000
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods-hints.pass
+++++ /dev/null
++@@ -1 +0,0 @@
++-LBL_FIX_Impl_Methods_Enum_Values2
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods.pass
++deleted file mode 100644
++index 05d0a86f4..000000000
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testImplementEnumMethods.pass
+++++ /dev/null
++@@ -1,29 +0,0 @@
++-package org.netbeans.test.java.hints;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementEnumMethods {
++-    enum E {
++-        ONE {
++-            @Override
++-            public String kuk() {
++-                throw new UnsupportedOperationException("Not supported yet.");
++-            }
++-        }, TWO {
++-            @Override
++-            public String kuk() {
++-                throw new UnsupportedOperationException("Not supported yet.");
++-            }
++-        }, THREE {
++-            @Override
++-            public String kuk() {
++-                throw new UnsupportedOperationException("Not supported yet.");
++-            }
++-        };
++-        
++-        public abstract String kuk();
++-    }
++-    
++-}
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract1-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract1-hints.pass
++index c3949b4f3..b0e7d4d9e 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract1-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract1-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Make_Class_Abstract
++\ No newline at end of file
+++Make class MakeClassAbstract1 abstract
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract2-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract2-hints.pass
++index c3949b4f3..d2735af37 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract2-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract2-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Make_Class_Abstract
++\ No newline at end of file
+++Make class MakeClassAbstract2 abstract
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract3-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract3-hints.pass
++index c3949b4f3..fced0efa7 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract3-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testMakeClassAbstract3-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Make_Class_Abstract
++\ No newline at end of file
+++Make class MakeClassAbstract3 abstract
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testNonAbstractClass85806-hints.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testNonAbstractClass85806-hints.pass
++index 621328605..129170bac 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testNonAbstractClass85806-hints.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/errors/ErrorHintsTest/testNonAbstractClass85806-hints.pass
++@@ -1 +1 @@
++-LBL_FIX_Make_Class_Abstract
+++Make class AbstractClass4 abstract
++diff --git a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors7.pass b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors7.pass
++index 20a145dda..a238bac11 100644
++--- a/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors7.pass
+++++ b/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors7.pass
++@@ -1,6 +1,6 @@
++-5:21-5:25:error:cannot find symbol
++-  symbol:class List
++-  location:class TestShortErrors7
++ 5:8-5:19:error:cannot find symbol
++   symbol:variable Collections
++   location:class TestShortErrors7
+++5:21-5:25:error:cannot find symbol
+++  symbol:class List
+++  location:class TestShortErrors7
++diff --git a/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods1.java b/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods1.java
++deleted file mode 100644
++index 0a018f353..000000000
++--- a/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods1.java
+++++ /dev/null
++@@ -1,9 +0,0 @@
++-package org.netbeans.test.java.hints;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementDefaultMethods1 implements java.util.Iterator<String> {
++-    
++-}
++diff --git a/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods2.java b/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods2.java
++deleted file mode 100644
++index f74c78cee..000000000
++--- a/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementDefaultMethods2.java
+++++ /dev/null
++@@ -1,9 +0,0 @@
++-package org.netbeans.test.java.hints;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementDefaultMethods2 implements java.util.Iterator {
++-    
++-}
++diff --git a/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementEnumMethods.java b/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementEnumMethods.java
++deleted file mode 100644
++index 5e700899e..000000000
++--- a/java.hints/test/unit/data/org/netbeans/test/java/hints/ImplementEnumMethods.java
+++++ /dev/null
++@@ -1,14 +0,0 @@
++-package org.netbeans.test.java.hints;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementEnumMethods {
++-    enum E {
++-        ONE, TWO, THREE;
++-        
++-        public abstract String kuk();
++-    }
++-    
++-}
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/editor/codegen/ImplementGeneratorAccessor.java b/java.hints/test/unit/src/org/netbeans/modules/java/editor/codegen/ImplementGeneratorAccessor.java
++deleted file mode 100644
++index 1f166b23a..000000000
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/editor/codegen/ImplementGeneratorAccessor.java
+++++ /dev/null
++@@ -1,59 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.editor.codegen;
++-
++-import java.util.List;
++-import java.util.function.BiFunction;
++-import javax.lang.model.element.Element;
++-import javax.lang.model.element.TypeElement;
++-import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++-
++-/**
++- *
++- * @author sdedic
++- */
++-public class ImplementGeneratorAccessor {
++-    public static void setOverrideSelection(BiFunction<CompilationInfo, TypeElement, List<ElementHandle<? extends Element>>> f) {
++-        ImplementOverrideMethodGenerator.testOverrideMethodsSelection = f;
++-    }
++-}
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/ArithmeticUtilitiesTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/ArithmeticUtilitiesTest.java
++index 23cd5ff7b..a892aff7e 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/ArithmeticUtilitiesTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/ArithmeticUtilitiesTest.java
++@@ -224,40 +224,20 @@ public class ArithmeticUtilitiesTest extends TestBase {
++         performWithFields("var2 % var1", 2, "static final short var1 = 3", "static final short var2 = 11");
++     }
++     
++-    /**
++-     * Checks that evaluation of 'b' does not recurse indefinitely as it errneously references
++-     * itself in the declaration assignment. See issue #262309
++-     * 
++-     * @throws Exception 
++-     */
++-    public void testInvalidRecursion262309() throws Exception {
++-        this.enhancedProcessing = true;
++-        String code = 
++-            "package test;\n" +
++-                  "public class Test {\n"
++-                + "    public void t() {\n"
++-                + "        final int b = b + 1;\n"
++-                + "        System.err.println(b|);\n"
++-                + "    }\n"
++-                + "}";
++-        performTest(code, null, null);
++-    }
++-    
++     private boolean enhancedProcessing = false;
++ 
++     private void performTest(String context, String expression, Object golden) throws Exception {
++         int pos = context.indexOf('|');
++         prepareTest("test/Test.java", context.replaceAll(Pattern.quote("|"), ""));
++ 
+++        ExpressionTree expr = info.getTreeUtilities().parseExpression(expression, new SourcePositions[1]);
++         TreePath tp = info.getTreeUtilities().pathFor(pos);
++-        TreePath toAnalyse = tp;
++-        if (expression != null) {
++-            ExpressionTree expr = info.getTreeUtilities().parseExpression(expression, new SourcePositions[1]);
++-            Scope scope = info.getTrees().getScope(tp);
++-            info.getTreeUtilities().attributeTree(expr, scope);
++-            toAnalyse = new TreePath(tp, expr);
++-        }
++-        Object real = ArithmeticUtilities.compute(info, toAnalyse, true, enhancedProcessing);
+++        Scope scope = info.getTrees().getScope(tp);
+++
+++        info.getTreeUtilities().attributeTree(expr, scope);
+++
+++        Object real = ArithmeticUtilities.compute(info, new TreePath(tp, expr), true, enhancedProcessing);
+++
++         assertEquals(golden, real);
++     }
++     
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/AssignResultToVariableTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/AssignResultToVariableTest.java
++index feb3ab8f5..f06031440 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/AssignResultToVariableTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/AssignResultToVariableTest.java
++@@ -317,27 +317,6 @@ public class AssignResultToVariableTest extends TreeRuleTestBase {
++              "    }\n" +
++              "}").replaceAll("\\s+", " "));
++     }
++-    
++-    public void testInferBounds258167() throws Exception {
++-        performFixTest("test/Test.java",
++-            "package test;\n" +
++-            "import java.util.Map;\n" +
++-            "public class Test {\n" +
++-            "    void test(Map<? extends String, ? extends Number> map) {\n"
++-                + "        map.entr|ySet();//assign return value to a new variable here\n"
++-                + "    }\n"
++-                + "}",                       
++-            "4:16-4:16:hint:Assign Return Value To New Variable",
++-            "FixImpl",
++-            ("package test;\n" +
++-            "import java.util.Map;\n" +
++-            "import java.util.Set;\n" +
++-            "public class Test {\n" +
++-            "    void test(Map<? extends String, ? extends Number> map) {\n"
++-                + "   Set<? extends Map.Entry<? extends String, ? extends Number>> entrySet = map.entrySet(); //assign return value to a new variable here\n"
++-                + "    }\n"
++-                + "}").replaceAll("\\s+", " "));
++-    }
++ 
++     protected List<ErrorDescription> computeErrors(CompilationInfo info, TreePath path, int offset) {
++         while (path != null && !new AssignResultToVariable().getTreeKinds().contains(path.getLeaf().getKind()))
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/IllegalInstanceOfTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/IllegalInstanceOfTest.java
++index a6bc3da79..8b892b62f 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/IllegalInstanceOfTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/IllegalInstanceOfTest.java
++@@ -31,13 +31,10 @@
++ package org.netbeans.modules.java.hints;
++ 
++ import com.sun.source.util.TreePath;
++-import java.io.File;
++ import java.util.List;
++ import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.modules.java.hints.infrastructure.TreeRuleTestBase;
++ import org.netbeans.spi.editor.hints.ErrorDescription;
++-import org.openide.filesystems.FileObject;
++-import org.openide.filesystems.FileUtil;
++ 
++ /**
++  *
++@@ -92,19 +89,4 @@ public class IllegalInstanceOfTest extends TreeRuleTestBase {
++         return new IllegalInstanceOf().run(info, path);
++     }
++ 
++-    @Override
++-    protected FileObject[] extraClassPath() {
++-        String s = System.getProperty("hints-tools.jar.location");
++-        if (s != null) {
++-            File f = new File(s);
++-            if (f.canRead()) {
++-                FileObject arch = FileUtil.toFileObject(f);
++-                FileObject root = FileUtil.getArchiveRoot(arch);
++-                return new FileObject[] { root == null ? arch : root };
++-            }
++-        }
++-        return super.extraClassPath();
++-    }
++-
++-    
++ }
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/SerialVersionUIDTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/SerialVersionUIDTest.java
++index fb452e960..fe3828029 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/SerialVersionUIDTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/SerialVersionUIDTest.java
++@@ -1,7 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++  *
++  * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++  * Other names may be trademarks of their respective owners.
++@@ -23,19 +23,6 @@
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++  * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++  */
++ package org.netbeans.modules.java.hints;
++ 
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/StaticImportTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/StaticImportTest.java
++index 8d6957ac1..834240411 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/StaticImportTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/StaticImportTest.java
++@@ -1,7 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++  *
++  * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++  * Other names may be trademarks of their respective owners.
++@@ -24,20 +24,9 @@
++  * your own identifying information:
++  * "Portions Copyrighted [year] [name of copyright owner]"
++  *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- */
++-/*
++- * Contributor(s): markiewb
+++ * Contributor(s):
+++
+++ * Portions Copyrighted 2014 markiewb
++  */
++ package org.netbeans.modules.java.hints;
++ 
++@@ -211,4 +200,4 @@ public class StaticImportTest extends NbTestCase {
++                 .assertWarnings();
++     }
++ 
++-}
+++}
++\ No newline at end of file
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/StringBuilderAppendTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/StringBuilderAppendTest.java
++index 8d7f21126..cf0b58667 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/StringBuilderAppendTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/StringBuilderAppendTest.java
++@@ -72,7 +72,7 @@ public class StringBuilderAppendTest extends NbTestCase {
++                               "public class Test {\n" +
++                               "    private void test(int a, int b) {\n" +
++                               "        StringBuilder sb = new StringBuilder();\n" +
++-                              "        sb.append(\"ab\").append(a).append(\"c\").append(b);\n" +
+++                              "        sb.append(\"a\" + \"b\").append(a).append(\"c\").append(b);\n" +
++                               "    }\n" +
++                               "}\n");
++     }
++@@ -95,7 +95,7 @@ public class StringBuilderAppendTest extends NbTestCase {
++                               "public class Test {\n" +
++                               "    private void test(int a, int b) {\n" +
++                               "        StringBuffer sb = new StringBuffer();\n" +
++-                              "        sb.append(\"ab\").append(a).append(\"c\").append(b);\n" +
+++                              "        sb.append(\"a\" + \"b\").append(a).append(\"c\").append(b);\n" +
++                               "    }\n" +
++                               "}\n");
++     }
++@@ -119,7 +119,7 @@ public class StringBuilderAppendTest extends NbTestCase {
++                               "public class Test {\n" +
++                               "    private void test(int a, int b) {\n" +
++                               "        StringBuffer sb = new StringBuffer();\n" +
++-                              "        sb.append(\"ab\").append(a).append(\"c\" + CONST);\n" +
+++                              "        sb.append(\"a\" + \"b\").append(a).append(\"c\" + CONST);\n" +
++                               "    }\n" +
++                               "    private static final String CONST = \"d\";\n" +
++                               "}\n");
++@@ -186,7 +186,7 @@ public class StringBuilderAppendTest extends NbTestCase {
++                               "public class Test {\n" +
++                               "    private void test(int a, int b) {\n" +
++                               "        StringBuffer sb = new StringBuffer();\n" +
++-                              "        sb.append(\"ab\").append(a).append(\"c\");\n" +
+++                              "        sb.append(\"a\" + \"b\").append(a).append(\"c\");\n" +
++                               "    }\n" +
++                               "    private static final String CONST = \"d\";\n" +
++                               "}\n");
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlockTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlockTest.java
++index 1cd0ee5c2..a3d2657a2 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlockTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/BroadCatchBlockTest.java
++@@ -129,7 +129,7 @@ public class BroadCatchBlockTest extends NbTestCase {
++             assertOutput(f(), golden("TwoExceptionsMulti"));
++     }
++     
++-    private static final String FIX_SEPARATE_CATCHES = "FIX_UseSpecificCatchSplit";
+++    private static final String FIX_SEPARATE_CATCHES = "Generate catch handlers for specific exceptions";
++     private static final String FIX_SPECIFIC_CATCH2 = "FIX_UseSpecificCatch";
++ 
++     private static final String[] warn_twoCommonParents = {
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/MalformedFormatStringTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/MalformedFormatStringTest.java
++index 5dff2c150..757d950ee 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/MalformedFormatStringTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/MalformedFormatStringTest.java
++@@ -130,7 +130,7 @@ public class MalformedFormatStringTest extends NbTestCase {
++ "}"
++                 )
++                 .run(MalformedFormatString.class)
++-                .assertWarnings("4:37-4:42:verifier:Malformed format string: Width must be specified in `%-d'");
+++                .assertWarnings("4:37-4:42:verifier:Malformed format string: Width must be specified in `-d'");
++     }
++     
++     public void testMismatchedFlags() throws Exception {
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/NPECheckTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/NPECheckTest.java
++index a28c9f2eb..3ee494d14 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/NPECheckTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/NPECheckTest.java
++@@ -1,11 +1,8 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
+++ * 
+++ * Copyright 1997-2012 Sun Microsystems, Inc. All rights reserved.
+++ * 
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++  * Development and Distribution License("CDDL") (collectively, the
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrownTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrownTest.java
++index ed4fa7924..b5769ab3b 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrownTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/ThrowableNotThrownTest.java
++@@ -336,38 +336,4 @@ public class ThrowableNotThrownTest extends NbTestCase {
++                 .run(ThrowableNotThrown.class)
++                 .assertWarnings();
++     }
++-    
++-    /**
++-     * Checks that passing throwable to throw statement through exception parameter works - does not report a warning
++-     * See issue #262558
++-     */
++-    public void testThrowableAssignedToExceptionParameter() throws Exception {
++-        HintTest.create()
++-                .input(
++-                "package test;\n" +
++-                "import java.io.FileInputStream;\n" +
++-                "import java.io.FileNotFoundException;\n" +
++-                "import java.io.IOException;\n" +
++-                "\n" +
++-                "public class Test {    \n" +
++-                "    void test(Exception ex2) throws Exception {\n" +
++-                "        try {\n" +
++-                "            new FileInputStream(\"/foo\");\n" +
++-                "        } catch (FileNotFoundException ex) {\n" +
++-                "            ex2 = processException(ex);\n" +
++-            "                throw ex2;\n" +
++-                "        } catch (IOException ex) {\n" +
++-                "            ex = (IOException)processException(ex);\n" +
++-            "                throw ex;\n" +
++-                "        }\n" +
++-                "    } \n" +
++-                "    \n" +
++-                "    private Exception processException(Exception ex) {\n" +
++-                "        return null;\n" +
++-                "    }\n" +
++-                "}"
++-                )
++-                .run(ThrowableNotThrown.class)
++-                .assertWarnings();
++-    }
++ }
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/Bundle_test.properties b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/Bundle_test.properties
++index 3530ca9c3..051b8e28f 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/Bundle_test.properties
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/Bundle_test.properties
++@@ -76,11 +76,3 @@ FIX_AddConstructor=FIX_AddConstructor:{0}
++ FIX_AccessError_PUBLIC=FIX_AccessError_PUBLIC:{0}
++ FIX_AccessError_PROTECTED=FIX_AccessError_PROTECTED:{0}
++ FIX_AccessError_PACKAGE_PRIVATE=FIX_AccessError_PACKAGE_PRIVATE:{0}
++-
++-LBL_Impl_Abstract_Methods=LBL_Impl_Abstract_Methods
++-ERR_CannotOverrideAbstractMethods=ERR_CannotOverrideAbstractMethods
++-LBL_FIX_Impl_Methods_Enum_Values2=LBL_FIX_Impl_Methods_Enum_Values2
++-LBL_FIX_Make_Class_Abstract=LBL_FIX_Make_Class_Abstract
++-LBL_FIX_Impl_Abstract_Methods=LBL_FIX_Impl_Abstract_Methods
++-WARN_FoundConflictingMethods1=WARN_FoundConflictingMethods1
++-WARN_FoundConflictingMethodsMany=WARN_FoundConflictingMethodsMany
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ErrorHintsTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ErrorHintsTest.java
++index 21e7c5d83..8e45fdd45 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ErrorHintsTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ErrorHintsTest.java
++@@ -43,15 +43,7 @@
++  */
++ package org.netbeans.modules.java.hints.errors;
++ 
++-import java.util.ArrayList;
++-import java.util.List;
++-import javax.lang.model.element.Element;
++-import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.modules.java.editor.codegen.ImplementGeneratorAccessor;
++ import org.netbeans.modules.java.hints.infrastructure.HintsTestBase;
++-import org.openide.filesystems.FileObject;
++-import org.openide.filesystems.FileUtil;
++ import org.openide.util.NbBundle;
++ 
++ /**
++@@ -77,37 +69,37 @@ public class ErrorHintsTest extends HintsTestBase {
++ //    }
++         
++ //
++-    public void testImplementAbstractMethodsHint1() throws Exception {
++-        performTest("ImplementAbstractMethods1", "LBL_FIX_Impl_Abstract_Methods", 16, 60);
++-    }
++-
++-    public void testImplementAbstractMethodsHint2() throws Exception {
++-        performTest("ImplementAbstractMethods2", "LBL_FIX_Impl_Abstract_Methods", 17, 15);
++-    }
++-
++-    public void testImplementAbstractMethodsHint3() throws Exception {
++-        performTest("ImplementAbstractMethods3", "LBL_FIX_Impl_Abstract_Methods", 17, 25);
++-    }
++-
++-    public void testImplementAbstractMethodsHint4() throws Exception {
++-        performTest("ImplementAbstractMethods4", "LBL_FIX_Impl_Abstract_Methods", 16, 30);
++-    }
++-
++-    public void testImplementAbstractMethodsHint5() throws Exception {
++-        performTest("ImplementAbstractMethods5", "LBL_FIX_Impl_Abstract_Methods", 16, 30);
++-    }
++-
++-    public void testImplementAbstractMethodsHint6() throws Exception {
++-        performTest("ImplementAbstractMethods6", "LBL_FIX_Impl_Abstract_Methods", 8, 5);
++-    }
++-
++-    public void testImplementAbstractMethodsHint7() throws Exception {
++-        performTest("ImplementAbstractMethods7", "LBL_FIX_Impl_Abstract_Methods", 9, 25);
++-    }
++-
++-    public void testImplementAbstractMethodsHint8() throws Exception {
++-        performTest("ImplementAbstractMethods8", "LBL_FIX_Impl_Abstract_Methods", 12, 43);
++-    }
+++//    public void testImplementAbstractMethodsHint1() throws Exception {
+++//        performTest("ImplementAbstractMethods1", "Implement", 16, 60);
+++//    }
+++//
+++//    public void testImplementAbstractMethodsHint2() throws Exception {
+++//        performTest("ImplementAbstractMethods2", "Implement", 17, 15);
+++//    }
+++//
+++//    public void testImplementAbstractMethodsHint3() throws Exception {
+++//        performTest("ImplementAbstractMethods3", "Implement", 17, 25);
+++//    }
+++//
+++//    public void testImplementAbstractMethodsHint4() throws Exception {
+++//        performTest("ImplementAbstractMethods4", "Implement", 16, 30);
+++//    }
+++//
+++//    public void testImplementAbstractMethodsHint5() throws Exception {
+++//        performTest("ImplementAbstractMethods5", "Implement", 16, 30);
+++//    }
+++//
+++//    public void testImplementAbstractMethodsHint6() throws Exception {
+++//        performTest("ImplementAbstractMethods6", "Implement", 8, 5);
+++//    }
+++//
+++//    public void testImplementAbstractMethodsHint7() throws Exception {
+++//        performTest("ImplementAbstractMethods7", "Implement", 9, 25);
+++//    }
+++//
+++//    public void testImplementAbstractMethodsHint8() throws Exception {
+++//        performTest("ImplementAbstractMethods8", "Implement", 12, 43);
+++//    }
++     
++     public void testImplementAbstractMethodsHint9() throws Exception {
++         performTestDoNotPerform("ImplementAbstractMethods9", 8, 15);
++@@ -118,45 +110,7 @@ public class ErrorHintsTest extends HintsTestBase {
++     }
++     
++     public void testImplementAbstractMethodsHint11() throws Exception {
++-        performTest("ImplementAbstractMethods11", "LBL_FIX_Impl_Abstract_Methods", 8, 15);
++-    }
++-    
++-    private List<ElementHandle<? extends Element>> findElementHandles(CompilationInfo info, String... specs) {
++-        List<ElementHandle<? extends Element>> result = new ArrayList(specs.length);
++-        for (String spec : specs) {
++-            Element el = info.getElementUtilities().findElement(spec);
++-            if (el != null) {
++-                result.add(ElementHandle.create(el));
++-            }
++-        }
++-        return result;
++-    }
++-    
++-    public void testImplementDefaultMethods1() throws Exception {
++-        ImplementGeneratorAccessor.setOverrideSelection((info, type) -> 
++-                findElementHandles(info,
++-                        "java.util.Iterator.hasNext()",
++-                        "java.util.Iterator.next()"
++-                )
++-        );
++-        performTest("ImplementDefaultMethods1", "ImplementDefaultMethods1", "LBL_FIX_Impl_Abstract_Methods", 7, 15, true, "1.8");
++-    }
++-    
++-    public void testImplementDefaultMethods2() throws Exception {
++-        ImplementGeneratorAccessor.setOverrideSelection((info, type) ->  {
++-                assertEquals("Wrong number of default overridable methods", 
++-                        4, info.getElementUtilities().findUnimplementedMethods(type, true).size());
++-                return findElementHandles(info,
++-                        "java.util.Iterator.hasNext()",
++-                        "java.util.Iterator.next()",
++-                        "java.util.Iterator.remove()"
++-                );
++-        });
++-        performTest("ImplementDefaultMethods2", "ImplementDefaultMethods2", "LBL_FIX_Impl_Abstract_Methods", 7, 15, true, "1.8");
++-    }
++-    
++-    public void testImplementEnumMethods() throws Exception {
++-        performTest("ImplementEnumMethods", "ImplementEnumMethods", "LBL_FIX_Impl_Methods_Enum_Values2", 8, 11, true, "1.8");
+++        performTest("ImplementAbstractMethods11", "Implement", 8, 15);
++     }
++     
++ //    public void testAddSemicolonHint() throws Exception {
++@@ -497,28 +451,17 @@ public class ErrorHintsTest extends HintsTestBase {
++     }
++     
++     public void testMakeClassAbstract1() throws Exception {
++-        performTest("org.netbeans.test.java.hints.MakeClassAbstract1", "LBL_FIX_Make_Class_Abstract", 3, 1);
+++        performTest("org.netbeans.test.java.hints.MakeClassAbstract1", "abstract", 3, 1);
++     }
++     
++     public void testMakeClassAbstract2() throws Exception {
++-        performTest("org.netbeans.test.java.hints.MakeClassAbstract2", "LBL_FIX_Make_Class_Abstract", 3, 1);
+++        performTest("org.netbeans.test.java.hints.MakeClassAbstract2", "abstract", 3, 1);
++     }
++     
++     public void testMakeClassAbstract3() throws Exception {
++-        performTest("org.netbeans.test.java.hints.MakeClassAbstract3", "LBL_FIX_Make_Class_Abstract", 3, 1);
++-    }
++-
++-    @Override
++-    protected void copyAdditionalData() throws Exception {
++-        super.copyAdditionalData();
++-        FileObject out = packageRoot;
++-        FileObject src = FileUtil.toFileObject(getDataDir());
++-        src = src.getFileObject("org/netbeans/test/java/hints/pkg");
++-        FileUtil.copyFile(src, out, src.getName());
+++        performTest("org.netbeans.test.java.hints.MakeClassAbstract3", "abstract", 3, 1);
++     }
++     
++-    
++-    
++     static {
++         NbBundle.setBranding("test");
++     }
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethodsTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethodsTest.java
++index f6746c378..f2a157cd3 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethodsTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/ImplementAllAbstractMethodsTest.java
++@@ -45,10 +45,9 @@ package org.netbeans.modules.java.hints.errors;
++ import com.sun.source.util.TreePath;
++ import java.util.List;
++ import org.netbeans.api.java.source.CompilationInfo;
++-import org.netbeans.modules.java.hints.errors.ImplementAllAbstractMethods.DebugFix;
++-import org.netbeans.modules.java.hints.errors.ImplementAllAbstractMethods.ImplementOnEnumValues2;
+++import org.netbeans.modules.java.hints.errors.ImplementAllAbstractMethods.FixImpl;
+++import org.netbeans.modules.java.hints.errors.ImplementAllAbstractMethods.ImplementOnEnumValues;
++ import org.netbeans.modules.java.hints.infrastructure.ErrorHintsTestBase;
++-import org.netbeans.modules.java.hints.spiimpl.JavaFixImpl;
++ import org.netbeans.spi.editor.hints.Fix;
++ 
++ /**Legacy tests are in ErrorHintsTest.
++@@ -111,17 +110,6 @@ public class ImplementAllAbstractMethodsTest extends ErrorHintsTestBase {
++                        "}\n").replaceAll("[ \t\n]+", " "));
++     }
++ 
++-    public void test204252c() throws Exception {
++-        performFixTest("test/Test.java",
++-                       "package test;\n" +
++-                       "final cl|ass Test implements Runnable {\n" +
++-                       "}\n",
++-                       "MA:Test",
++-                       ("package test;\n" +
++-                       "abstract class Test implements Runnable {\n" +
++-                       "}\n").replaceAll("[ \t\n]+", " "));
++-    }
++-
++     public void test209164() throws Exception {
++         performAnalysisTest("test/Test.java",
++                        "package test;\n" +
++@@ -201,15 +189,11 @@ public class ImplementAllAbstractMethodsTest extends ErrorHintsTestBase {
++ 
++     @Override
++     protected String toDebugString(CompilationInfo info, Fix f) {
++-        Object o = f;
++-        if (o instanceof JavaFixImpl) {
++-            o = ((JavaFixImpl)f).jf;
++-        }
++-        if (o instanceof DebugFix) {
++-            return ((DebugFix) o).toDebugString();
++-        } else if (o instanceof ImplementOnEnumValues2) {
+++        if (f instanceof FixImpl) {
+++            return ((FixImpl) f).toDebugString();
+++        } else if (f instanceof ImplementOnEnumValues) {
++             return "IOEV";
++-        } else 
+++        }
++         return super.toDebugString(info, f);
++     }
++ 
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/MissingReturnStatementTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/MissingReturnStatementTest.java
++index de7d341e1..fbcc1cec8 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/MissingReturnStatementTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/MissingReturnStatementTest.java
++@@ -135,27 +135,9 @@ public class MissingReturnStatementTest extends ErrorHintsTestBase {
++                        "package test; import java.util.Collection; import java.util.List; public class Test { public static Collection<String> join(String[] arr1, String[] arr2) { List<String> result; return null; } } ");
++     }
++     
++-    public void testMissingLambdaReturn() throws Exception {
++-        diagKey = "compiler.err.prob.found.req/compiler.misc.incompatible.ret.type.in.lambda/compiler.misc.missing.ret.val"; // NOI18N
++-        performFixTest("test/Test.java",
++-                       "package test;\n" +
++-                       "import java.util.Collection;\n" +
++-                       "import java.util.concurrent.Callable;\n" +
++-                       "public class Test {\n" +
++-                       "    public static void test() {\n" +
++-                       "        Callable<String> c = |() -> {" +
++-                       "        };\n" +
++-                       "    }\n" +
++-                       "}\n",
++-                       "FIX_AddReturnStatement",
++-                       "package test; import java.util.Collection; import java.util.concurrent.Callable; public class Test { public static void test() { Callable<String> c = () -> {return null; }; } } ");
++-    }
++-    
++-    private String diagKey = "compiler.err.missing.ret.stmt"; // NOI18N
++-
++     @Override
++     protected List<Fix> computeFixes(CompilationInfo info, int pos, TreePath path) throws Exception {
++-        return new MissingReturnStatement().run(info, diagKey, pos, path, null);
+++        return new MissingReturnStatement().run(info, null, pos, path, null);
++     }
++ 
++     @Override
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/RemoveInvalidModifierTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/RemoveInvalidModifierTest.java
++index 596f9a641..f44b8fef0 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/RemoveInvalidModifierTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/RemoveInvalidModifierTest.java
++@@ -164,10 +164,10 @@ public class RemoveInvalidModifierTest extends ErrorHintsTestBase {
++     public void testRemoveMultipleFromMethod() throws Exception {
++         performFixTest("test/AnotherInterface.java",
++                 "public interface I {\n"
++-                + "    protected native void ttt();\n"
+++                + "    private native void ttt();\n"
++                 + "}",
++                 -1,
++-                Bundle.FIX_RemoveInvalidModifier("protected,native", 2),
+++                Bundle.FIX_RemoveInvalidModifier("private,native", 2),
++                 ("public interface I {\n"
++                 + "    void ttt();\n"
++                 + "}").replaceAll("[ \t\n]+", " "));
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/UtilitiesTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/UtilitiesTest.java
++index 894a3ea8d..420b1c4d9 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/UtilitiesTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/UtilitiesTest.java
++@@ -45,7 +45,6 @@ package org.netbeans.modules.java.hints.errors;
++ 
++ import com.sun.source.tree.ExpressionTree;
++ import com.sun.source.tree.Scope;
++-import com.sun.source.tree.StatementTree;
++ import com.sun.source.tree.Tree.Kind;
++ import com.sun.source.util.SourcePositions;
++ import com.sun.source.util.TreePath;
++@@ -183,314 +182,8 @@ public class UtilitiesTest extends NbTestCase {
++     public void testFieldGroup3() throws Exception {
++         performResolveFieldGroupTest("package test; public class Test { private int a; |private int b;| private int c; }", 1);
++     }
++-    
++-    public void testExitsAllBranches1() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "\n"
++-                + "import java.util.ArrayList;\n"
++-                + "import java.util.List;\n"
++-                + "import java.util.Map;\n"
++-                + "\n"
++-                + "public class Test {\n"
++-                + "    public enum Day {\n"
++-                + "        SUNDAY, MONDAY, TUESDAY, WEDNESDAY,\n"
++-                + "        THURSDAY, FRIDAY, SATURDAY\n"
++-                + "    public class DayHolder {\n"
++-                + "        Day day;\n"
++-                + "        Day getDay() {\n"
++-                + "            return day;\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "public class Test {\n"
++-                + "    public enum Day {\n"
++-                + "        SUNDAY, MONDAY, TUESDAY, WEDNESDAY,\n"
++-                + "        THURSDAY, FRIDAY, SATURDAY\n"
++-                + "    }\n"
++-                + "    public class DayHolder {\n"
++-                + "        Day day;\n"
++-                + "        Day getDay() {\n"
++-                + "            return day;\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "    public void test(Map<Integer, Day> evaluateExpressions) throws Exception {\n"
++-                + "        List<DayHolder> params = new ArrayList<>();\n"
++-                + "        for (int i = 0; i < params.size(); i++) {\n"
++-                + "            DayHolder p = params.get(i);\n"
++-                + "            if (evaluateExpressions.get(i) != null) {\n"
++-                + "                if (evaluateExpressions.get(i) == Day.SUNDAY) {\n"
++-                + "                    // Do something 1\n"
++-                + "                } else if (evaluateExpressions.get(i) == Day.MONDAY) {\n"
++-                + "                    swi|tch (p.getDay()) {\n"
++-                + "                        case SUNDAY:\n"
++-                + "                            break;\n"
++-                + "                        default:\n"
++-                + "                            throw new Exception(\"xxx\");\n"
++-                + "                    }\n"
++-                + "                } else if (evaluateExpressions.get(i) == Day.TUESDAY) {\n"
++-                + "                    // Do something 2\n"
++-                + "                }\n"
++-                + "            }\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}", 
++-                false);
++-    }
++-
++-    /**
++-     * While may never enter its statement; return false.
++-     */
++-    public void testExitsAllBranchesWhile() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "\n"
++-                + "public class Test {\n"
++-                + "    public void test(boolean param) {\n"
++-                + "        whil|e (param) {\n"
++-                + "            throw new IllegalArgumentException();\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}",
++-                false);
++-    }
++-    
++-    /**
++-     * While may never enter its statement; return false.
++-     */
++-    public void testExitsAllBranchesDo() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "public class Test {\n"
++-                + "    public void test(boolean param) {\n"
++-                + "        ex: {\n"
++-                + "            d|o {\n"
++-                + "                break;\n"
++-                + "            } while (true);\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}",
++-                false);
++-    }
++-    
++-    /**
++-     * While may never enter its statement; return false.
++-     */
++-    public void testExitsAllBranchesFor() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "public class Test {\n"
++-                + "    public void test(boolean param) {\n"
++-                + "        ex: {|\n"
++-                + "            for (int i = 0; i < 5 ; i++) {\n"
++-                + "                break ex;\n"
++-                + "            }\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}",
++-                false);
++-    }
++-    
++-    /**
++-     * While may never enter its statement; return false.
++-     */
++-    public void testExitsAllBranchesDoBreakOutside() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "public class Test {\n"
++-                + "    public void test(boolean param) {\n"
++-                + "        ex: {\n"
++-                + "            d|o {\n"
++-                + "                break ex;\n"
++-                + "            } while (true);\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}",
++-                true);
++-    }
++-    
++-    /**
++-     * All breaks break just the switch and continue execution
++-     */
++-    public void testExitsAllBranchesSwitch1() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "public class Test {\n"
++-                + "    public void test(int param) {\n"
++-                + "        ex: {\n"
++-                + "            sw|itch (param) {\n"
++-                + "                case 0:\n"
++-                + "                    break;\n"
++-                + "                case 1:\n"
++-                + "                    break;\n"
++-                + "                default:\n"
++-                + "                    break;\n"
++-                + "            }\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}",
++-                false);
++-    }
++-    
++-    /**
++-     * all breaks break to the enclosing block, escaping from the switch
++-     */
++-    public void testExitsAllBranchesSwitchBreakOut() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "public class Test {\n"
++-                + "    public void test(int param) {\n"
++-                + "        ex: {\n"
++-                + "            sw|itch (param) {\n"
++-                + "                case 0:\n"
++-                + "                    break ex;\n"
++-                + "                case 1:\n"
++-                + "                    break ex;\n"
++-                + "                default:\n"
++-                + "                    break ex;\n"
++-                + "            }\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}",
++-                true);
++-    }
++-
++-    /**
++-     * two cases share the same break statement
++-     */
++-    public void testExitsAllBranchesSwitchJoinedCases() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "public class Test {\n"
++-                + "    public void test(int param) {\n"
++-                + "        ex: {\n"
++-                + "            sw|itch (param) {\n"
++-                + "                case 0:\n"
++-                + "                case 1:\n"
++-                + "                    break ex;\n"
++-                + "                default:\n"
++-                + "                    break ex;\n"
++-                + "            }\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}",
++-                true);
++-    }
++-
++-    /**
++-     * two cases share the same break statement
++-     */
++-    public void testExitsAllBranchesEnumSwitchIncomplete() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "public class Test {\n"
++-                + "    enum Num { ONE, TWO, THREE };\n"
++-                + "    public int test(Num param) {\n"
++-                + "        swi|tch (param) {\n"
++-                + "            case ONE:\n"
++-                + "                return 1;\n"
++-                + "            case TWO:\n"
++-                + "                return 2;\n"
++-                + "        }\n"
++-                + "        return 0;"
++-                + "    }\n"
++-                + "}",
++-                false);
++-    }
++-
++-    /**
++-     * two cases share the same break statement
++-     */
++-    public void testExitsAllBranchesEnumSwitchComplete() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "public class Test {\n"
++-                + "    enum Num { ONE, TWO, THREE };\n"
++-                + "    public int test(Num param) {\n"
++-                + "        swi|tch (param) {\n"
++-                + "            case ONE:\n"
++-                + "                return 1;\n"
++-                + "            case TWO:\n"
++-                + "                return 2;\n"
++-                + "            case THREE:\n"
++-                + "                return 3;\n"
++-                + "        }\n"
++-                + "        return 0;"
++-                + "    }\n"
++-                + "}",
++-                true);
++-    }
++-
++-    /**
++-     * two cases share the same break statement
++-     */
++-    public void testExitsAllBranchesEnumSwitchWithDefault() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "public class Test {\n"
++-                + "    enum Num { ONE, TWO, THREE };\n"
++-                + "    public int test(Num param) {\n"
++-                + "        swi|tch (param) {\n"
++-                + "            case ONE:\n"
++-                + "                return 1;\n"
++-                + "            case TWO:\n"
++-                + "                return 2;\n"
++-                + "            default:\n"
++-                + "                return 3;\n"
++-                + "        }\n"
++-                + "        return 0;"
++-                + "    }\n"
++-                + "}",
++-                true);
++-    }
++-
++-    /**
++-     * Default does not contain any break, continues normally
++-     */
++-    public void testExitsAllBranchesSwitchLastWithoutBreak() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "public class Test {\n"
++-                + "    public void test(int param) {\n"
++-                + "        ex: {\n"
++-                + "            sw|itch (param) {\n"
++-                + "                case 0:\n"
++-                + "                    break ex;\n"
++-                + "                case 1:\n"
++-                + "                    break ex;\n"
++-                + "                default:\n"
++-                + "            }\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}",
++-                false);
++-    }
++-
++-    /**
++-     * No default present, values not enumerated causes the switch to continue
++-     */
++-    public void testExitsAllBranchesSwitchDefaultMissing() throws Exception {
++-        performExitsTest("package test;\n"
++-                + "public class Test {\n"
++-                + "    public void test(int param) {\n"
++-                + "        ex: {\n"
++-                + "            swi|tch (param) {\n"
++-                + "                case 0:\n"
++-                + "                    break ex;\n"
++-                + "                case 1:\n"
++-                + "                    break ex;\n"
++-                + "            }\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}",
++-                false);
++-    }
++-
++-    private void performExitsTest(String code, boolean expected) throws Exception {
++-        int caretPos = code.indexOf('|');
++-        code = code.replace("|", "");
++-        prepareTest(code);
++-        TreePath tp = info.getTreeUtilities().pathFor(caretPos);
++-        while (tp != null && !StatementTree.class.isAssignableFrom(tp.getLeaf().getKind().asInterface())) {
++-            tp = tp.getParentPath();
++-        }
++-        assertNotNull(tp);
++-        boolean result = Utilities.exitsFromAllBranchers(info, tp);
++-        assertEquals(expected, result);
++-    }
++ 
++     protected void prepareTest(String code) throws Exception {
++-        prepareTest(code, "Test");
++-    }
++-    
++-    protected void prepareTest(String code, String className) throws Exception {
++         clearWorkDir();
++         FileObject workFO = FileUtil.toFileObject(getWorkDir());
++         
++@@ -500,7 +193,7 @@ public class UtilitiesTest extends NbTestCase {
++         FileObject buildRoot  = workFO.createFolder("build");
++         FileObject cache = workFO.createFolder("cache");
++         
++-        FileObject data = FileUtil.createData(sourceRoot, "test/" + className + ".java");
+++        FileObject data = FileUtil.createData(sourceRoot, "test/Test.java");
++         
++         TestUtilities.copyStringToFile(FileUtil.toFile(data), code);
++         
++@@ -613,5 +306,4 @@ public class UtilitiesTest extends NbTestCase {
++         assertEquals(goldenStart, start);
++         assertEquals(goldenEnd, end);
++     }
++-    
++ }
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/empty-class-template.xml b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/empty-class-template.xml
++index ea2158c6f..abcbb6977 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/empty-class-template.xml
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/empty-class-template.xml
++@@ -21,7 +21,7 @@ License.  When distributing the software, include this License Header
++ Notice in each file and include the License file at
++ nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++ particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
+++by Sun in the GPL Version 2 section of the License file that
++ accompanied this code. If applicable, add the following below the
++ License Header, with the fields enclosed by brackets [] replaced by
++ your own identifying information:
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/only-imports-layer.xml b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/only-imports-layer.xml
++index 2099490e5..b9a3cda00 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/only-imports-layer.xml
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/only-imports-layer.xml
++@@ -21,7 +21,7 @@ License.  When distributing the software, include this License Header
++ Notice in each file and include the License file at
++ nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++ particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
+++by Sun in the GPL Version 2 section of the License file that
++ accompanied this code. If applicable, add the following below the
++ License Header, with the fields enclosed by brackets [] replaced by
++ your own identifying information:
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/HintsTestBase.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/HintsTestBase.java
++index 69d7b4396..fb899cc19 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/HintsTestBase.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/HintsTestBase.java
++@@ -112,7 +112,7 @@ public class HintsTestBase extends NbTestCase {
++         
++     }
++     
++-    protected FileObject packageRoot;
+++    private FileObject packageRoot;
++     private FileObject testSource;
++     private JavaSource js;
++     protected CompilationInfo info;
++@@ -187,10 +187,6 @@ public class HintsTestBase extends NbTestCase {
++     protected void prepareTest(String capitalizedName) throws Exception {
++         prepareTest(capitalizedName, "1.5");
++     }
++-    
++-    protected void copyAdditionalData() throws Exception {
++-        
++-    }
++ 
++     protected void prepareTest(String capitalizedName, String sourceLevel) throws Exception {
++         File workFolder = new File(getWorkDir(), "work");
++@@ -234,7 +230,7 @@ public class HintsTestBase extends NbTestCase {
++         }
++         
++         copyFiles(getDataDir(), FileUtil.toFile(sourceRoot), files);
++-        copyAdditionalData();
+++        
++         packageRoot.refresh();
++         
++         testSource = packageRoot.getFileObject(testFileName);
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/introduce/IntroduceHintTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/introduce/IntroduceHintTest.java
++index e9b13cb0e..41597ca09 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/introduce/IntroduceHintTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/introduce/IntroduceHintTest.java
++@@ -358,7 +358,7 @@ public class IntroduceHintTest extends NbTestCase {
++                        "}\n",
++                        "package test; public class Test { public static void test() { Runnable name = new Runnable() { public void run() { throw new UnsupportedOperationException(); } }; t(name); } private static void t(Runnable r) {} } ",
++                        new DialogDisplayerImpl("name", true, false, true),
++-                       5, 0);
+++                       4, 0);
++     }
++ 
++     public void testSwitchCase219714() throws Exception {
++@@ -773,7 +773,7 @@ public class IntroduceHintTest extends NbTestCase {
++                        "package test; public class Test { private static Runnable runnable; public static void test() { t(runnable); } private static void t(Runnable r) {} public Test() { runnable = new Runnable() { public void run() { throw new UnsupportedOperationException(); } }; } }",
++                        new DialogDisplayerImpl2(null, IntroduceFieldPanel.INIT_CONSTRUCTORS, false, EnumSet
++                 .<Modifier>of(Modifier.PRIVATE), false, true),
++-                       5, 2);
+++                       4, 1);
++     }
++ 
++     public void testCorrectMethodSelection1() throws Exception {
++@@ -1227,7 +1227,7 @@ public class IntroduceHintTest extends NbTestCase {
++                        "}\n",
++                        "package test; public class Test { public static void test() { t(name()); } private static void t(Runnable r) {} private static Runnable name() { return new Runnable() { public void run() { throw new UnsupportedOperationException(); } }; } } ",
++                        new DialogDisplayerImpl3("name", EnumSet.of(Modifier.PRIVATE), true),
++-                       5, 3);
+++                       4, 2);
++     }
++ 
++ //    public void testIntroduceMethodTooManyExceptions() throws Exception {
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcatTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcatTest.java
++index 9cbeff5e8..d4f223416 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcatTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jackpot/hintsimpl/LoggerStringConcatTest.java
++@@ -174,7 +174,7 @@ public class LoggerStringConcatTest extends NbTestCase {
++                               "import java.util.logging.Logger;\n" +
++                               "public class Test {\n" +
++                               "    private void t(Logger l, int a, int b, int c) {\n" +
++-                              "        l.log(Level.SEVERE, \"a=, b=''{0}''.\", b);\n" +
+++                              "        l.log(Level.SEVERE,\"a=\" + \", b=''{0}''.\", b);\n" +
++                               "    }\n" +
++                               "}\n");
++     }
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/Bundle_test.properties b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/Bundle_test.properties
++index 65919bc95..6dbec9106 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/Bundle_test.properties
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/Bundle_test.properties
++@@ -47,8 +47,6 @@ FIX_JoinCatches=FIX_JoinCatches
++ 
++ ERR_UseSpecificCatch=ERR_UseSpecificCatch
++ FIX_UseSpecificCatch=FIX_UseSpecificCatch
++-FIX_UseSpecificCatchSplit=FIX_UseSpecificCatchSplit
++-FIX_UseSpecificCatchSingle=FIX_UseSpecificCatchSplit
++ 
++ TXT_ConvertToARM=TXT_ConvertToARM
++ FIX_MergeTryResources=FIX_MergeTryResources
++@@ -70,6 +68,3 @@ TEXT_UnnecessaryBoxing=TEXT_UnnecessaryBoxing
++ FIX_UnnecessaryBoxing1=FIX_UnnecessaryBoxing1
++ FIX_UnnecessaryBoxing2=FIX_UnnecessaryBoxing2
++ FIX_ChangeBoxingToTypecast=FIX_ChangeBoxingToTypecast
++-MSG_AnonymousConvertibleToLambda=MSG_AnonymousConvertibleToLambda
++-FIX_ConvertToMemberReference=FIX_ConvertToMemberReference
++-FIX_ConvertToLambda=FIX_ConvertToLambda
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToARMTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToARMTest.java
++index 3eb248359..6b06a4136 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToARMTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToARMTest.java
++@@ -87,29 +87,6 @@ public class ConvertToARMTest extends NbTestCase {
++                 .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { System.out.println(\"Start\"); try (InputStream in = new FileInputStream(new File(\"a\"))) { in.read(); } System.out.println(\"Done\"); }}");
++     }
++ 
++-    public void testEFSimpleTryFinally() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;" +
++-                       "import java.io.InputStream;" +
++-                       "public class Test {" +
++-                       "     public void test(InputStream in) throws Exception {" +
++-                       "         System.out.println(\"Start\");" +
++-                       "         try {" +
++-                       "            in.read();" +
++-                       "         } finally {" +
++-                       "            in.close();" +
++-                       "         }" +
++-                       "         System.out.println(\"Done\");" +
++-                       "     }" +
++-                       "}")
++-                .sourceLevel("9")
++-                .run(ConvertToARM.class)
++-                .findWarning("0:178-0:180:verifier:TXT_ConvertToARM")
++-                .applyFix("TXT_ConvertToARM")
++-                .assertOutput("package test;import java.io.InputStream;public class Test { public void test(InputStream in) throws Exception { System.out.println(\"Start\"); try (in) { in.read(); } System.out.println(\"Done\"); }}");
++-    }
++-
++     public void testTryFinally() throws Exception {
++         HintTest
++                 .create()
++@@ -139,32 +116,6 @@ public class ConvertToARMTest extends NbTestCase {
++                 .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { System.out.println(\"Start\"); try (InputStream in = new FileInputStream(new File(\"a\"))) { in.read(); } catch (Exception e) { System.out.println(\"Ex\"); } finally { System.out.println(\"Fin\"); } System.out.println(\"Done\"); }}");
++     }
++ 
++-    public void testEFTryFinally() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;" +
++-                       "import java.io.InputStream;" +
++-                       "public class Test {" +
++-                       "     public void test(InputStream in) throws Exception {" +
++-                       "         System.out.println(\"Start\");" +
++-                       "         try {" +
++-                       "            in.read();" +
++-                       "         } catch (Exception e) {" +
++-                       "            System.out.println(\"Ex\");" +
++-                       "         } finally {" +
++-                       "            in.close();" +
++-                       "            System.out.println(\"Fin\");" +
++-                       "         }" +
++-                       "         System.out.println(\"Done\");" +
++-                       "     }" +
++-                       "}")
++-                .sourceLevel("9")
++-                .run(ConvertToARM.class)
++-                .findWarning("0:178-0:180:verifier:TXT_ConvertToARM")
++-                .applyFix("TXT_ConvertToARM")
++-                .assertOutput("package test;import java.io.InputStream;public class Test { public void test(InputStream in) throws Exception { System.out.println(\"Start\"); try (in) { in.read(); } catch (Exception e) { System.out.println(\"Ex\"); } finally { System.out.println(\"Fin\"); } System.out.println(\"Done\"); }}");
++-    }
++-
++     public void testTryFinallyWithFinal() throws Exception {
++         HintTest
++                 .create()
++@@ -245,25 +196,6 @@ public class ConvertToARMTest extends NbTestCase {
++                 .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { System.out.println(\"Start\"); try (InputStream in = new FileInputStream(new File(\"a\"))) { in.read(); } System.out.println(\"Done\"); }}");
++     }
++ 
++-    public void testEFNoTry0Stms() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;" +
++-                       "import java.io.InputStream;" +
++-                       "public class Test {" +
++-                       "     public void test(InputStream in) throws Exception {" +
++-                       "         System.out.println(\"Start\");" +
++-                       "         in.close();" +
++-                       "         System.out.println(\"Done\");" +
++-                       "     }" +
++-                       "}")
++-                .sourceLevel("9")
++-                .run(ConvertToARM.class)
++-                .findWarning("0:161-0:163:verifier:TXT_ConvertToARM")
++-                .applyFix("TXT_ConvertToARM")
++-                .assertOutput("package test;import java.io.InputStream;public class Test { public void test(InputStream in) throws Exception { try (in) { System.out.println(\"Start\"); } System.out.println(\"Done\"); }}");
++-    }
++-
++     public void testNoTry1Stm() throws Exception {
++         HintTest
++                 .create()
++@@ -287,26 +219,6 @@ public class ConvertToARMTest extends NbTestCase {
++                 .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { System.out.println(\"Start\"); try (InputStream in = new FileInputStream(new File(\"a\"))) { in.read(); } System.out.println(\"Done\"); }}");
++     }
++ 
++-    public void testEFNoTry1Stm() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;" +
++-                       "import java.io.InputStream;" +
++-                       "public class Test {" +
++-                       "     public void test(InputStream in) throws Exception {" +
++-                       "         System.out.println(\"Start\");" +
++-                       "         in.read();" +
++-                       "         in.close();" +
++-                       "         System.out.println(\"Done\");" +
++-                       "     }" +
++-                       "}")
++-                .sourceLevel("9")
++-                .run(ConvertToARM.class)
++-                .findWarning("0:161-0:163:verifier:TXT_ConvertToARM")
++-                .applyFix("TXT_ConvertToARM")
++-                .assertOutput("package test;import java.io.InputStream;public class Test { public void test(InputStream in) throws Exception { try (in) { System.out.println(\"Start\"); in.read(); } System.out.println(\"Done\"); }}");
++-    }
++-
++     public void testNoTryMoreStms() throws Exception {
++         HintTest
++                 .create()
++@@ -331,27 +243,6 @@ public class ConvertToARMTest extends NbTestCase {
++                 .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { System.out.println(\"Start\"); try (InputStream in = new FileInputStream(new File(\"a\"))) { in.read(); in.read(); } System.out.println(\"Done\"); }}");
++     }
++ 
++-    public void testEFNoTryMoreStms() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;" +
++-                       "import java.io.InputStream;" +
++-                       "public class Test {" +
++-                       "     public void test(InputStream in) throws Exception {" +
++-                       "         System.out.println(\"Start\");" +
++-                       "         in.read();" +
++-                       "         in.read();" +
++-                       "         in.close();" +
++-                       "         System.out.println(\"Done\");" +
++-                       "     }" +
++-                       "}")
++-                .sourceLevel("9")
++-                .run(ConvertToARM.class)
++-                .findWarning("0:161-0:163:verifier:TXT_ConvertToARM")
++-                .applyFix("TXT_ConvertToARM")
++-                .assertOutput("package test;import java.io.InputStream;public class Test { public void test(InputStream in) throws Exception { try (in) { System.out.println(\"Start\"); in.read(); in.read(); } System.out.println(\"Done\"); }}");
++-    }
++-
++     public void testNoTry1StmFinal() throws Exception {
++         HintTest
++                 .create()
++@@ -401,31 +292,6 @@ public class ConvertToARMTest extends NbTestCase {
++                 .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in = new FileInputStream(new File(\"a\")); InputStream in2 = new FileInputStream(new File(\"a\"))) { in.read(); } }}");
++     }
++ 
++-    public void testEFNestedInFinally() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;" +
++-                       "import java.io.InputStream;" +
++-                       "import java.io.FileInputStream;" +
++-                       "import java.io.File;" +
++-                       "public class Test {" +
++-                       "     public void test(InputStream in) throws Exception {" +
++-                       "         try {" +
++-                       "             try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++-                       "                 in.read();" +
++-                       "             }" +
++-                       "         } finally {" +
++-                       "             in.close();" +
++-                       "         }" +
++-                       "     }" +
++-                       "}", false)
++-                .sourceLevel("9")
++-                .run(ConvertToARM.class)
++-                .findWarning("0:269-0:271:verifier:TXT_ConvertToARM")
++-                .applyFix("FIX_MergeTryResources")
++-                .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (in; InputStream in2 = new FileInputStream(new File(\"a\"))) { in.read(); } }}");
++-    }
++-
++     public void testNestedInFinal() throws Exception {
++         HintTest
++                 .create()
++@@ -481,34 +347,6 @@ public class ConvertToARMTest extends NbTestCase {
++                 .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in = new FileInputStream(new File(\"a\")); InputStream in2 = new FileInputStream(new File(\"a\"))) { in.read(); } catch (Exception e) { throw e; }finally { System.gc(); } }}");
++     }
++ 
++-    public void testEFNestedInCatchFinally() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;" +
++-                       "import java.io.InputStream;" +
++-                       "import java.io.FileInputStream;" +
++-                       "import java.io.File;" +
++-                       "public class Test {" +
++-                       "     public void test(InputStream in) throws Exception {" +
++-                       "         try {" +
++-                       "             try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++-                       "                 in.read();" +
++-                       "             }" +
++-                       "         } catch (Exception e) {" +
++-                       "             throw e;" +
++-                       "         }finally {" +
++-                       "             in.close();" +
++-                       "             System.gc();" +
++-                       "         }" +
++-                       "     }" +
++-                       "}", false)
++-                .sourceLevel("9")
++-                .run(ConvertToARM.class)
++-                .findWarning("0:269-0:271:verifier:TXT_ConvertToARM")
++-                .applyFix("FIX_MergeTryResources")
++-                .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (in; InputStream in2 = new FileInputStream(new File(\"a\"))) { in.read(); } catch (Exception e) { throw e; }finally { System.gc(); } }}");
++-    }
++-
++     public void testNestedInLazyCatchFinally() throws Exception {
++         HintTest
++                 .create()
++@@ -563,28 +401,6 @@ public class ConvertToARMTest extends NbTestCase {
++                 .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in = new FileInputStream(new File(\"a\"));InputStream in2 = new FileInputStream(new File(\"a\"))){ in.read(); } }}");
++     }
++ 
++-    public void testEFNestedInStms() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;" +
++-                       "import java.io.InputStream;" +
++-                       "import java.io.FileInputStream;" +
++-                       "import java.io.File;" +
++-                       "public class Test {" +
++-                       "     public void test(InputStream in) throws Exception {" +
++-                       "         try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++-                       "             in.read();" +
++-                       "         }" +
++-                       "         in.close();" +
++-                       "     }" +
++-                       "}", false)
++-                .sourceLevel("9")
++-                .run(ConvertToARM.class)
++-                .findWarning("0:247-0:249:verifier:TXT_ConvertToARM")
++-                .applyFix("FIX_MergeTryResources")
++-                .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (in;InputStream in2 = new FileInputStream(new File(\"a\"))){ in.read(); } }}");
++-    }
++-
++     public void testEnclosedFinally() throws Exception {
++         HintTest
++                 .create()
++@@ -611,31 +427,6 @@ public class ConvertToARMTest extends NbTestCase {
++                 .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); InputStream in = new FileInputStream(new File(\"a\"))){ in.read(); } }}");
++     }
++ 
++-    public void testEFEnclosedFinally() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;" +
++-                       "import java.io.InputStream;" +
++-                       "import java.io.FileInputStream;" +
++-                       "import java.io.File;" +
++-                       "public class Test {" +
++-                       "     public void test(InputStream in) throws Exception {" +
++-                       "         try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++-                       "             try {" +
++-                       "                 in.read();" +
++-                       "             } finally {" +
++-                       "                 in.close();" +
++-                       "             }" +
++-                       "        }" +
++-                       "     }" +
++-                       "}", false)
++-                .sourceLevel("9")
++-                .run(ConvertToARM.class)
++-                .findWarning("0:269-0:271:verifier:TXT_ConvertToARM")
++-                .applyFix("FIX_MergeTryResources")
++-                .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); in){ in.read(); } }}");
++-    }
++-
++     public void testEnclosedFinallyInCatchFinally() throws Exception {
++         HintTest
++                 .create()
++@@ -666,35 +457,6 @@ public class ConvertToARMTest extends NbTestCase {
++                 .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); InputStream in = new FileInputStream(new File(\"a\"))){ in.read(); } catch (Exception e) { throw e; } finally { System.gc(); } }}");
++     }
++ 
++-    public void testEFEnclosedFinallyInCatchFinally() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;" +
++-                       "import java.io.InputStream;" +
++-                       "import java.io.FileInputStream;" +
++-                       "import java.io.File;" +
++-                       "public class Test {" +
++-                       "     public void test(InputStream in) throws Exception {" +
++-                       "         try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++-                       "             try {" +
++-                       "                 in.read();" +
++-                       "             } finally {" +
++-                       "                 in.close();" +
++-                       "             }" +
++-                       "        } catch (Exception e) {" +
++-                       "            throw e;" +
++-                       "        } finally {" +
++-                       "            System.gc();" +
++-                       "        }" +
++-                       "     }" +
++-                       "}", false)
++-                .sourceLevel("9")
++-                .run(ConvertToARM.class)
++-                .findWarning("0:269-0:271:verifier:TXT_ConvertToARM")
++-                .applyFix("FIX_MergeTryResources")
++-                .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); in){ in.read(); } catch (Exception e) { throw e; } finally { System.gc(); } }}");
++-    }
++-
++     public void testEnclosedFinallyFinal() throws Exception {
++         HintTest
++                 .create()
++@@ -744,28 +506,6 @@ public class ConvertToARMTest extends NbTestCase {
++                 .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); InputStream in = new FileInputStream(new File(\"a\"))){ in.read(); } }}");
++     }
++ 
++-    public void testEFEnclosedStms() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;" +
++-                       "import java.io.InputStream;" +
++-                       "import java.io.FileInputStream;" +
++-                       "import java.io.File;" +
++-                       "public class Test {" +
++-                       "     public void test(InputStream in) throws Exception {" +
++-                       "         try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++-                       "             in.read();" +
++-                       "             in.close();" +
++-                       "         }" +
++-                       "    }" +
++-                       "}", false)
++-                .sourceLevel("9")
++-                .run(ConvertToARM.class)
++-                .findWarning("0:247-0:249:verifier:TXT_ConvertToARM")
++-                .applyFix("FIX_MergeTryResources")
++-                .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); in){ in.read(); } }}");
++-    }
++-
++     public void testEnclosedStmsInCatchFinally() throws Exception {
++         HintTest
++                 .create()
++@@ -789,28 +529,6 @@ public class ConvertToARMTest extends NbTestCase {
++                 .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test() throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); InputStream in = new FileInputStream(new File(\"a\"))){ in.read(); } catch (Exception e) { throw e;} finally { System.gc(); } }}");
++     }
++ 
++-    public void testEFEnclosedStmsInCatchFinally() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;" +
++-                       "import java.io.InputStream;" +
++-                       "import java.io.FileInputStream;" +
++-                       "import java.io.File;" +
++-                       "public class Test {" +
++-                       "     public void test(InputStream in) throws Exception {" +
++-                       "         try (InputStream in2 = new FileInputStream(new File(\"a\"))){" +
++-                       "             in.read();" +
++-                       "             in.close();" +
++-                       "         } catch (Exception e) { throw e;} finally { System.gc(); }" +
++-                       "    }" +
++-                       "}", false)
++-                .sourceLevel("9")
++-                .run(ConvertToARM.class)
++-                .findWarning("0:247-0:249:verifier:TXT_ConvertToARM")
++-                .applyFix("FIX_MergeTryResources")
++-                .assertOutput("package test;import java.io.InputStream;import java.io.FileInputStream;import java.io.File;public class Test { public void test(InputStream in) throws Exception { try (InputStream in2 = new FileInputStream(new File(\"a\")); in){ in.read(); } catch (Exception e) { throw e;} finally { System.gc(); } }}");
++-    }
++-
++     public void testEnclosedStmsFinal() throws Exception {
++         HintTest
++                 .create()
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHintTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHintTest.java
++index 591047d8c..71f76ee6a 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHintTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToDiamondBulkHintTest.java
++@@ -69,7 +69,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++                        "}\n")
++                 .sourceLevel("1.7")
++                 .run(ConvertToDiamondBulkHint.class)
++-                .findWarning("2:49-2:77:verifier:Redundant type arguments in new expression (use diamond operator instead).")
+++                .findWarning("2:49-2:77:verifier:redundant type arguments in new expression (use diamond operator instead).")
++                 .applyFix("FIX_ConvertToDiamond")
++                 .assertCompilable()
++                 .assertOutput("package test;\n" +
++@@ -88,7 +88,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++                        "}\n")
++                 .sourceLevel("1.7")
++                 .run(ConvertToDiamondBulkHint.class)
++-                .findWarning("3:39-3:57:verifier:Redundant type arguments in new expression (use diamond operator instead).")
+++                .findWarning("3:39-3:57:verifier:redundant type arguments in new expression (use diamond operator instead).")
++                 .applyFix("FIX_ConvertToDiamond")
++                 .assertCompilable()
++                 .assertOutput("package test;\n" +
++@@ -133,7 +133,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++                        "}\n")
++                 .sourceLevel("1.7")
++                 .run(ConvertToDiamondBulkHint.class)
++-                .assertWarnings("2:43-2:71:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++                .assertWarnings("2:43-2:71:verifier:redundant type arguments in new expression (use diamond operator instead).");
++     }
++ 
++     public void testConfiguration2b() throws Exception {
++@@ -145,7 +145,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++                        "}\n")
++                 .sourceLevel("1.7")
++                 .run(ConvertToDiamondBulkHint.class)
++-                .assertWarnings("2:43-2:71:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++                .assertWarnings("2:43-2:71:verifier:redundant type arguments in new expression (use diamond operator instead).");
++     }
++ 
++     public void testConfiguration2c() throws Exception {
++@@ -184,7 +184,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++                 .preference(ConvertToDiamondBulkHint.KEY, allBut("initializer"))
++                 .sourceLevel("1.7")
++                 .run(ConvertToDiamondBulkHint.class)
++-                .assertWarnings("2:58-2:86:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++                .assertWarnings("2:58-2:86:verifier:redundant type arguments in new expression (use diamond operator instead).");
++     }
++ 
++     public void testConfiguration5() throws Exception {
++@@ -261,7 +261,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++                        "}\n")
++                 .sourceLevel("1.7")
++                 .run(ConvertToDiamondBulkHint.class)
++-                .assertWarnings("2:75-2:93:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++                .assertWarnings("2:75-2:93:verifier:redundant type arguments in new expression (use diamond operator instead).");
++     }
++ 
++     public void testConfiguration7b() throws Exception {
++@@ -273,7 +273,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++                        "}\n")
++                 .sourceLevel("1.7")
++                 .run(ConvertToDiamondBulkHint.class)
++-                .assertWarnings("2:80-2:98:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++                .assertWarnings("2:80-2:98:verifier:redundant type arguments in new expression (use diamond operator instead).");
++     }
++ 
++     public void testConfiguration7c() throws Exception {
++@@ -285,7 +285,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++                        "}\n")
++                 .sourceLevel("1.7")
++                 .run(ConvertToDiamondBulkHint.class)
++-                .assertWarnings("2:79-2:97:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++                .assertWarnings("2:79-2:97:verifier:redundant type arguments in new expression (use diamond operator instead).");
++     }
++ 
++     public void testConfiguration7d() throws Exception {
++@@ -297,7 +297,7 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++                        "}\n")
++                 .sourceLevel("1.7")
++                 .run(ConvertToDiamondBulkHint.class)
++-                .assertWarnings("2:87-2:105:verifier:Redundant type arguments in new expression (use diamond operator instead).");
+++                .assertWarnings("2:87-2:105:verifier:redundant type arguments in new expression (use diamond operator instead).");
++     }
++ 
++     public void testConfiguration8() throws Exception {
++@@ -314,6 +314,6 @@ public class ConvertToDiamondBulkHintTest extends NbTestCase {
++     }
++     
++     static {
++-        TestCompilerSettings.commandLine = "-XDfind=diamond";
+++        TestCompilerSettings.commandLine = "-XDfindDiamond";
++     }
++ }
++\ No newline at end of file
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaTest.java
++index ae9aa03ca..1921d9775 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToLambdaTest.java
++@@ -35,12 +35,10 @@
++  * Version 2 license, then the option applies only if the new code is
++  * made subject to such option by the copyright holder.
++  *
+++ * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++  *
++  * Portions Copyrighted 2010 Sun Microsystems, Inc.
++  */
++-/*
++- * Contributor(s): Lyle Franklin <lylejfranklin at gmail.com>
++- */
++ 
++ package org.netbeans.modules.java.hints.jdk;
++ 
++@@ -55,10 +53,10 @@ import org.netbeans.modules.java.source.parsing.JavacParser;
++  */
++ public class ConvertToLambdaTest extends NbTestCase {
++     
++-    private static final String lambdaConvDesc = "MSG_AnonymousConvertibleToLambda";
+++    private static final String lambdaConvDesc = "This anonymous inner class creation can be turned into a lambda expression.";
++     private static final String lambdaConvWarning = "verifier:" + lambdaConvDesc;
++-    private static final String lambdaFix = "FIX_ConvertToLambda";
++-    private static final String memberReferenceFix = "FIX_ConvertToMemberReference";
+++    private static final String lambdaFix = "Use lambda expression";
+++    private static final String memberReferenceFix = "Use member reference";
++ 
++     public ConvertToLambdaTest(String name) {
++         super(name);
++@@ -138,91 +136,6 @@ public class ConvertToLambdaTest extends NbTestCase {
++                        "}\n");
++     }
++     
++-    public void testConversionForStaticMemberReference() throws Exception {
++-        HintTest.create()
++-                .sourceLevel("1.8")
++-                .input("package test;\n" +
++-                       "import java.util.*;\n" +
++-                       "public class Test {\n" +
++-                       "    public static int doCompare(String s1, String s2) { return 0; }\n" +
++-                       "    {\n" +
++-                       "        Comparator<String> comp = new Comparator<String>() {\n" +
++-                       "            public int compare(String s0, String s1) { return doCompare(s0, s1); }\n" +
++-                       "        };\n" +
++-                       "    }\n" +
++-                       "}\n")
++-                .run(ConvertToLambda.class)
++-                .findWarning("5:38-5:56:" + lambdaConvWarning)
++-                .applyFix(memberReferenceFix)
++-                .assertOutput("package test;\n" +
++-                       "import java.util.*;\n" +
++-                       "public class Test {\n" +
++-                       "    public static int doCompare(String s1, String s2) { return 0; }\n" +
++-                       "    {\n" +
++-                       "        Comparator<String> comp = Test::doCompare;\n" +
++-                       "    }\n" +
++-                       "}\n");
++-    }
++-    
++-    public void testConvertToConstructorReference() throws Exception {
++-        HintTest.create()
++-                .sourceLevel("1.8")
++-                .input("package test;\n" +
++-                        "import java.util.function.Supplier;\n" +
++-                        "public class Test {\n" +
++-                        "    static class R implements Runnable { public void run() {}}\n" +
++-                        "    public void test() {\n" +
++-                        "        Supplier<Runnable> sr = new Supplier<Runnable>() {\n" +
++-                        "            @Override\n" +
++-                        "            public Runnable get() {\n" +
++-                        "                return new R();\n" +
++-                        "            }\n" +
++-                        "        };\n" +
++-                        "    }\n" +
++-                        "}")
++-                .run(ConvertToLambda.class)
++-                .findWarning("5:36-5:54:" + lambdaConvWarning)
++-                .applyFix(memberReferenceFix)
++-                .assertOutput("package test;\n"
++-                        + "import java.util.function.Supplier;\n"
++-                        + "public class Test {\n"
++-                        + "    static class R implements Runnable { public void run() {}}\n"
++-                        + "    public void test() {\n"
++-                        + "        Supplier<Runnable> sr = R::new;\n"
++-                        + "    }\n"
++-                        + "}");
++-    }
++-    
++-    public void testNoMemberReferenceForExplicitInstance() throws Exception {
++-        HintTest.create()
++-                .sourceLevel("1.8")
++-                .input("package test;\n"
++-                        + "import java.util.function.Supplier;\n"
++-                        + "public class Test {\n"
++-                        + "    class R implements Runnable { public void run() {}}\n"
++-                        + "    public static void test(Test inst) {\n"
++-                        + "        Supplier<Runnable> sr = new Supplier<Runnable>() {\n"
++-                        + "            @Override\n"
++-                        + "            public Runnable get() {\n"
++-                        + "                return inst.new R();\n"
++-                        + "            }\n"
++-                        + "        };\n"
++-                        + "    }\n"
++-                        + "}")
++-                .run(ConvertToLambda.class)
++-                .findWarning("5:36-5:54:" + lambdaConvWarning)
++-                .assertFixesNotPresent(memberReferenceFix)
++-                .applyFix(lambdaFix)
++-                .assertOutput("package test;\n"
++-                        + "import java.util.function.Supplier;\n"
++-                        + "public class Test {\n"
++-                        + "    class R implements Runnable { public void run() {}}\n"
++-                        + "    public static void test(Test inst) {\n"
++-                        + "        Supplier<Runnable> sr = () -> inst.new R();\n"
++-                        + "    }\n"
++-                        + "}");
++-    }
++-    
++     public void testThatSiteIsIgnoredWhenNoTypeIsFound() throws Exception {
++         HintTest.create()
++                 .sourceLevel("1.8")
++@@ -950,7 +863,7 @@ public class ConvertToLambdaTest extends NbTestCase {
++                        "}\n")
++                 .run(ConvertToLambda.class)
++                 .findWarning("3:25-3:49:" + lambdaConvWarning)
++-                .applyFix(lambdaFix)
+++                .applyFix()
++                 .assertOutput("package test;\n" +
++                        "public class Test {\n" +
++                        "    {\n" +
++@@ -963,36 +876,6 @@ public class ConvertToLambdaTest extends NbTestCase {
++                        "}\n");
++     }
++     
++-    public void testThatCastIsAddedWithAmbiguousLambdaWithGenericsReference() throws Exception {
++-        HintTest.create()
++-                .sourceLevel("1.8")
++-                .input("package test;\n" +
++-                       "public class Test {\n" +
++-                       "    {\n" +
++-                       "        doPrivileged(new PrivilegedAction<String>() {\n" +
++-                       "            public String run() { return new String(); }\n" +
++-                       "        });\n" +
++-                       "    }\n" +
++-                       "    private <T> void doPrivileged(PrivilegedAction<T> pa) { }\n" +
++-                       "    private <T> void doPrivileged(PrivilegedExceptionAction<T> pa) { }\n" +
++-                       "    private interface PrivilegedAction<T> { T run(); }\n" +
++-                       "    private interface PrivilegedExceptionAction<T> { T run() throws Exception; }\n" +
++-                       "}\n")
++-                .run(ConvertToLambda.class)
++-                .findWarning("3:25-3:49:" + lambdaConvWarning)
++-                .applyFix(memberReferenceFix)
++-                .assertOutput("package test;\n" +
++-                       "public class Test {\n" +
++-                       "    {\n" +
++-                       "        doPrivileged((PrivilegedAction<String>) String::new);\n" +
++-                       "    }\n" +
++-                       "    private <T> void doPrivileged(PrivilegedAction<T> pa) { }\n" +
++-                       "    private <T> void doPrivileged(PrivilegedExceptionAction<T> pa) { }\n" +
++-                       "    private interface PrivilegedAction<T> { T run(); }\n" +
++-                       "    private interface PrivilegedExceptionAction<T> { T run() throws Exception; }\n" +
++-                       "}\n");
++-    }
++-    
++     public void testThatNoExceptionIsThrownWhenCheckingAicAgainstPrimitive() throws Exception {
++         HintTest.create()
++                 .sourceLevel("1.8")
++@@ -1124,7 +1007,7 @@ public class ConvertToLambdaTest extends NbTestCase {
++     }
++ 
++     static {
++-        TestCompilerSettings.commandLine = "-XDfind=lambda";
+++        TestCompilerSettings.commandLine = "-XDidentifyLambdaCandidate=true -XDfindDiamond";
++         JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
++     }
++ }
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitchTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitchTest.java
++index 58f79b8ce..33b5f9b46 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitchTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToStringSwitchTest.java
++@@ -179,10 +179,7 @@ public class ConvertToStringSwitchTest extends NbTestCase {
++                         + "public class Test {\n"
++                         + "     public void test() {\n"
++                         + "         String g = null;\n"
++-                        + "         if (null == g) {\n" 
++-                        + "             System.err.println(4);\n" 
++-                        + "             return;\n" 
++-                        + "         } else switch (g) {\n"
+++                        + "         if (null != g) switch (g) {\n"
++                         + "             case \"j\":\n"
++                         + "             case \"m\":\n"
++                         + "                 System.err.println(1);\n"
++@@ -491,9 +488,7 @@ public class ConvertToStringSwitchTest extends NbTestCase {
++                 + "final class Test {\n"
++                 + "    public void test(String val) {\n"
++                 + "        int res = 0;\n"
++-                + "        if (null == val) {\n"
++-                + "             res = 3;"
++-                + "        } else switch (val) {\n"
+++                + "        if (null != val) switch (val) {\n"
++                 + "            case \"a\":\n"
++                 + "                res = 1;\n"
++                 + "                break;\n"
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatchTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatchTest.java
++index f8790d6d2..7bc908335 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatchTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/UseSpecificCatchTest.java
++@@ -163,88 +163,6 @@ public class UseSpecificCatchTest extends NbTestCase {
++                 .assertWarnings();
++     }
++ 
++-    public void testParametrizedTypeException() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;\n"
++-                        + "\n"
++-                        + "public abstract class Test<X extends SecurityException> {\n"
++-                        + "\n"
++-                        + "    public abstract void foo() throws X, java.io.IOException;\n"
++-                        + "\n"
++-                        + "    public void example() {\n"
++-                        + "        try {\n"
++-                        + "            foo();\n"
++-                        + "        } catch (Exception ex) {\n"
++-                        + "            // do something\n"
++-                        + "        }\n"
++-                        + "    }\n"
++-                        + "}")
++-                .sourceLevel("1.7")
++-                .run(UseSpecificCatch.class)
++-                .findWarning("9:17-9:26:verifier:ERR_UseSpecificCatch")
++-                .applyFix("FIX_UseSpecificCatch")
++-                .assertCompilable()
++-                .assertOutput("package test;\n"
++-                        + "\n"
++-                        + "import java.io.IOException;\n"
++-                        + "\n"
++-                        + "public abstract class Test<X extends SecurityException> {\n"
++-                        + "\n"
++-                        + "    public abstract void foo() throws X, java.io.IOException;\n"
++-                        + "\n"
++-                        + "    public void example() {\n"
++-                        + "        try {\n"
++-                        + "            foo();\n"
++-                        + "        } catch (IOException | SecurityException ex) {\n"
++-                        + "            // do something\n"
++-                        + "        }\n"
++-                        + "    }\n"
++-                        + "}");
++-    }
++-
++-    public void testParametrizedTypeExceptionJDK6() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;\n"
++-                        + "\n"
++-                        + "public abstract class Test<X extends SecurityException> {\n"
++-                        + "\n"
++-                        + "    public abstract void foo() throws X, java.io.IOException;\n"
++-                        + "\n"
++-                        + "    public void example() {\n"
++-                        + "        try {\n"
++-                        + "            foo();\n"
++-                        + "        } catch (Exception ex) {\n"
++-                        + "            // do something\n"
++-                        + "        }\n"
++-                        + "    }\n"
++-                        + "}")
++-                .sourceLevel("1.6")
++-                .run(UseSpecificCatch.class)
++-                .findWarning("9:17-9:26:verifier:ERR_UseSpecificCatch")
++-                .applyFix("FIX_UseSpecificCatchSplit")
++-                .assertCompilable()
++-                .assertOutput("package test;\n"
++-                        + "\n"
++-                        + "import java.io.IOException;\n"
++-                        + "\n"
++-                        + "public abstract class Test<X extends SecurityException> {\n"
++-                        + "\n"
++-                        + "    public abstract void foo() throws X, java.io.IOException;\n"
++-                        + "\n"
++-                        + "    public void example() {\n"
++-                        + "        try {\n"
++-                        + "            foo();\n"
++-                        + "        } catch (IOException ex) { \n"
++-                        + "            // do something\n"
++-                        + "        } catch (SecurityException ex) {\n"
++-                        + "            // do something\n"
++-                        + "        }\n"
++-                        + "    }\n"
++-                        + "}");
++-    }
++-    
++     public void testSuppressWarningsOnCatchVariable229740() throws Exception {
++         HintTest
++                 .create()
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHintTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHintTest.java
++index 7ebcf4427..068234a15 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHintTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/mapreduce/ForLoopToFunctionalHintTest.java
++@@ -35,11 +35,9 @@
++  * Version 2 license, then the option applies only if the new code is
++  * made subject to such option by the copyright holder.
++  *
++- *
++- * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++- */
++-/*
++  * Contributor(s): Alexandru Gyori <Alexandru.Gyori at gmail.com>
+++ * 
+++ * Portions Copyrighted 2012-2013 Sun Microsystems, Inc.
++  */
++ package org.netbeans.modules.java.hints.jdk.mapreduce;
++ 
++@@ -92,7 +90,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++                 + "    }\n"
++                 + "\n"
++                 + "    public void test(List<Integer> ls) {        \n"
++-                + "        ls.forEach((l) -> { \n"
+++                + "        ls.stream().forEach((l) -> { \n"
++                 + "            System.out.println(l);\n"
++                 + "        });\n"
++                 + "        \n"
++@@ -162,7 +160,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++                 + "    }\n"
++                 + "\n"
++                 + "    public void test(List<Integer> ls) {        \n"
++-                + "        ls.stream().map((l) -> l.toString()).forEachOrdered((s) -> {\n"
+++                + "        ls.stream().map((l) -> l.toString()).forEach((s) -> {\n"
++                 + "            System.out.println(s);\n"
++                 + "        });\n"
++                 + "            \n"
++@@ -273,7 +271,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++                 + "    }\n"
++                 + "\n"
++                 + "    public void test(List<Integer> ls) {        \n"
++-                + "        ls.stream().filter((l) -> (l!=null)).map((l) -> l.toString()).forEachOrdered((s) -> {\n"
+++                + "        ls.stream().filter((l) -> (l!=null)).map((l) -> l.toString()).forEach((s) -> {\n"
++                 + "            System.out.println(s);\n"
++                 + "        });\n"
++                 + "            \n"
++@@ -324,7 +322,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++                 + "    }\n"
++                 + "\n"
++                 + "    public void test(List<Integer> ls) {        \n"
++-                + "        ls.stream().map((a) -> new Integer(a.intValue())).filter((l) -> (l!=null)).map((l) -> l.toString()).forEachOrdered((s) -> {\n"
+++                + "        ls.stream().map((a) -> new Integer(a.intValue())).filter((l) -> (l!=null)).map((l) -> l.toString()).forEach((s) -> {\n"
++                 + "            System.out.println(s);\n"
++                 + "        });\n"
++                 + "            \n"
++@@ -381,7 +379,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++                 + "            if(s!=null)\n"
++                 + "                System.out.println(s);\n"
++                 + "            return s;\n"
++-                + "        }).forEachOrdered((_item) -> {\n"
+++                + "        }).forEach((_item) -> {\n"
++                 + "            System.out.println(\"cucu\");\n"
++                 + "        });\n"
++                 + "            \n"
++@@ -434,7 +432,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++                 + "    }\n"
++                 + "\n"
++                 + "    public void test(List<Integer> ls) {\n"
++-                + "        ls.stream().filter((l) -> !(l == null)).map((l) -> l.toString()).filter((s) -> (s != null)).forEachOrdered((s) -> {\n"
+++                + "        ls.stream().filter((l) -> !(l == null)).map((l) -> l.toString()).filter((s) -> (s != null)).forEach((s) -> {\n"
++                 + "            System.out.println(s);\n"
++                 + "        });\n"
++                 + "\n"
++@@ -624,7 +622,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++                 + "        ls.stream().map((_item) -> {         \n"
++                 + "            System.out.println();\n"
++                 + "            return _item;\n"
++-                + "        }).forEachOrdered((_item) -> {\n"
+++                + "        }).forEach((_item) -> {\n"
++                 + "            System.out.println(\"\");\n"
++                 + "        });\n"
++                 + "        System.out.println(i);\n"
++@@ -705,7 +703,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++                 + "                System.out.println(\"cucu\");\n"
++                 + "            }   \n"
++                 + "            return l;\n"
++-                + "        }).forEachOrdered((_item) -> {\n"
+++                + "        }).forEach((_item) -> {\n"
++                 + "            System.out.println();\n"
++                 + "        });\n"
++                 + "        \n"
++@@ -1171,7 +1169,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++                 + "        List<String> strs = new ArrayList<String>();\n"
++                 + "        int i = 0;\n"
++                 + "        int j = 0;\n"
++-                + "        strs.forEach((str) -> {            \n"
+++                + "        strs.stream().forEach((str) -> {            \n"
++                 + "            int len1=str.length();\n"
++                 + "            int len2 = str.length();\n"
++                 + "            if (len1%2==0) {\n"
++@@ -1249,7 +1247,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++                 + "        List<String> strs = new ArrayList<String>();\n"
++                 + "        int i = 0;\n"
++                 + "        int j = 0;\n"
++-                + "        strs.stream().map((_item) -> \"foo\").map((s) -> s.toString()).forEachOrdered((s) -> {\n"
+++                + "        strs.stream().map((_item) -> \"foo\").map((s) -> s.toString()).forEach((s) -> {\n"
++                 + "            System.out.println(s);\n"
++                 + "        });\n"
++                 + "        return false;\n"
++@@ -1321,7 +1319,7 @@ public class ForLoopToFunctionalHintTest extends NbTestCase {
++                 + "        List<String> strs = new ArrayList<String>();\n"
++                 + "        int i = 0;\n"
++                 + "        int j = 0;\n"
++-                + "        strs.stream().map((_item) -> \"foo\").map((s) -> s.toString()).forEachOrdered((_item) -> {\n"
+++                + "        strs.stream().map((_item) -> \"foo\").map((s) -> s.toString()).forEach((_item) -> {\n"
++                 + "            System.out.println();\n"
++                 + "        });\n"
++                 + "        return false;\n"
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/Bundle_test.properties b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/Bundle_test.properties
++index 3aeb312db..c08507ec2 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/Bundle_test.properties
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/Bundle_test.properties
++@@ -65,6 +65,3 @@ ERR_addExplicitLambdaParameters=ERR_addExplicitLambdaParameters
++ ERR_CreateSubclass=ERR_CreateSubclass
++ ERR_ToOrIf=ERR_ToOrIf
++ ERR_splitIfCondition=ERR_splitIfCondition
++-
++-HINT_ConvertIfToSwitch=HINT_ConvertIfToSwitch
++-FIX_ConvertIfsToSwitch=FIX_ConvertIfsToSwitch
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitchTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitchTest.java
++deleted file mode 100644
++index fd87a2080..000000000
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ConvertIfToSwitchTest.java
+++++ /dev/null
++@@ -1,162 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2009-2010 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.hints.suggestions;
++-
++-import org.netbeans.modules.java.hints.jdk.*;
++-import org.netbeans.junit.NbTestCase;
++-import org.netbeans.modules.java.hints.test.api.HintTest;
++-
++-/**
++- * Note: many of the cases are already tested in StringToSwitchTest. String
++- * conversion works for equals only, so null-ity may not be tested fully.
++- *
++- * @author Svata
++- */
++-public class ConvertIfToSwitchTest extends NbTestCase {
++-
++-    public ConvertIfToSwitchTest(String name) {
++-        super(name);
++-    }
++-
++-    public void testPrimitiveWithDefault() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;\n"
++-                        + "\n"
++-                        + "public abstract class Test {\n"
++-                        + "    public String toString(int t) {\n"
++-                        + "	String s;\n"
++-                        + "	if (t == 1) {\n"
++-                        + "		s = \"1\";\n"
++-                        + "	} else if (t == 2) {\n"
++-                        + "		s = \"2\";\n"
++-                        + "	} else {\n"
++-                        + "		s = \"3\";\n"
++-                        + "	}\n"
++-                        + "	return \"number is \" + s;\n"
++-                        + "    }\n"
++-                        + "}")
++-                .sourceLevel("1.7")
++-                .run(ConvertIfToSwitch.class)
++-                .findWarning("5:1-5:14:verifier:HINT_ConvertIfToSwitch")
++-                .applyFix("FIX_ConvertIfsToSwitch")
++-                .assertCompilable()
++-                .assertOutput("package test;\n"
++-                        + "\n"
++-                        + "public abstract class Test {\n"
++-                        + "    public String toString(int t) {\n"
++-                        + "	String s;\n"
++-                        + "        switch (t) {\n"
++-                        + "            case 1:\n"
++-                        + "                s = \"1\";\n"
++-                        + "                break;\n"
++-                        + "            case 2:\n"
++-                        + "                s = \"2\";\n"
++-                        + "                break;\n"
++-                        + "            default:\n"
++-                        + "                s = \"3\";\n"
++-                        + "                break;\n"
++-                        + "        }\n"
++-                        + "	return \"number is \" + s;\n"
++-                        + "    }\n"
++-                        + "}\n"
++-                        + "");
++-    }
++-
++-    public void testUsedValueFromElseBranch259071() throws Exception {
++-        HintTest
++-                .create()
++-                .input("package test;\n"
++-                        + "\n"
++-                        + "public abstract class Test {\n"
++-                        + "    public enum testEnum{\n"
++-                        + "            ONE,\n"
++-                        + "            TWO,\n"
++-                        + "            THREE;\n"
++-                        + "    }\n"
++-                        + "    \n"
++-                        + "    public String toString(testEnum t) {\n"
++-                        + "	String s;\n"
++-                        + "	if (t == testEnum.ONE) {\n"
++-                        + "		s = \"1\";\n"
++-                        + "	} else if (t == testEnum.TWO) {\n"
++-                        + "		s = \"2\";\n"
++-                        + "	} else {\n"
++-                        + "		s = \"3\";\n"
++-                        + "	}\n"
++-                        + "	return \"number is \" + s;\n"
++-                        + "    }\n"
++-                        + "}")
++-                .sourceLevel("1.7")
++-                .run(ConvertIfToSwitch.class)
++-                .findWarning("11:1-11:25:verifier:HINT_ConvertIfToSwitch")
++-                .applyFix("FIX_ConvertIfsToSwitch")
++-                .assertCompilable()
++-                .assertOutput("package test;\n"
++-                        + "\n"
++-                        + "public abstract class Test {\n"
++-                        + "    public enum testEnum{\n"
++-                        + "            ONE,\n"
++-                        + "            TWO,\n"
++-                        + "            THREE;\n"
++-                        + "    }\n"
++-                        + "    \n"
++-                        + "    public String toString(testEnum t) {\n"
++-                        + "	String s;\n"
++-                        + "	if (null == t) {\n"
++-                        + "            s = \"3\";\n"
++-                        + "        } else switch (t) {\n"
++-                        + "            case ONE:\n"
++-                        + "                s = \"1\";\n"
++-                        + "                break;\n"
++-                        + "            case TWO:\n"
++-                        + "                s = \"2\";\n"
++-                        + "                break;\n"
++-                        + "            default:\n"
++-                        + "                s = \"3\";\n"
++-                        + "                break;\n"
++-                        + "        }\n"
++-                        + "	return \"number is \" + s;\n"
++-                        + "    }\n"
++-                        + "}");
++-    }
++-}
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoopTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoopTest.java
++index 4a7a05148..a1495b560 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoopTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/ExpandEnhancedForLoopTest.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2009-2011 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++diff --git a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/LambdaTest.java b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/LambdaTest.java
++index 7db2ff2c4..9276c2be3 100644
++--- a/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/LambdaTest.java
+++++ b/java.hints/test/unit/src/org/netbeans/modules/java/hints/suggestions/LambdaTest.java
++@@ -108,219 +108,6 @@ public class LambdaTest {
++     }
++     
++     @Test
++-    public void testLambda2ClassShadowedMethod() throws Exception {
++-        HintTest.create()
++-                .setCaretMarker('^')
++-                .input("package test;\n"
++-                        + "import java.util.Objects;\n"
++-                        + "import java.util.function.Function;\n"
++-                        + "\n"
++-                        + "@FunctionalInterface\n"
++-                        + "interface Test<A, B, C, R> {\n"
++-                        + "    public static final int EE = 1;\n"
++-                        + "    public R apply(A a, B b, C c);\n"
++-                        + "\n"
++-                        + "    default <V> Test<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++-                        + "        Objects.requireNonNull(after);\n"
++-                        + "        return (A a, B b, C c) -^> {\n"
++-                        + "            return after.apply(apply(a, b, c));\n"
++-                        + "        };\n"
++-                        + "    }\n"
++-                        + "}\n")
++-                .sourceLevel("1.8")
++-                .run(Lambda.class)
++-                .findWarning("11:32-11:32:verifier:ERR_lambda2Class")
++-                .applyFix()
++-                .assertCompilable()
++-                .assertVerbatimOutput("package test;\n"
++-                        + "import java.util.Objects;\n"
++-                        + "import java.util.function.Function;\n"
++-                        + "\n"
++-                        + "@FunctionalInterface\n"
++-                        + "interface Test<A, B, C, R> {\n"
++-                        + "    public static final int EE = 1;\n"
++-                        + "    public R apply(A a, B b, C c);\n"
++-                        + "\n"
++-                        + "    default <V> Test<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++-                        + "        Objects.requireNonNull(after);\n"
++-                        + "        return new Test<A, B, C, V>() {\n"
++-                        + "            @Override\n"
++-                        + "            public V apply(A a, B b, C c) {\n"
++-                        + "                return after.apply(Test.this.apply(a, b, c));\n"
++-                        + "            }\n"
++-                        + "        };\n"
++-                        + "    }\n"
++-                        + "}\n");
++-    }
++-    
++-    @Test
++-    public void testLambda2ClassShadowedStaticSameField() throws Exception {
++-        HintTest.create()
++-                .setCaretMarker('^')
++-                .input("package test;\n"
++-                        + "import java.util.Objects;\n"
++-                        + "import java.util.function.Function;\n"
++-                        + "\n"
++-                        + "@FunctionalInterface\n"
++-                        + "interface Test<A, B, C, R> {\n"
++-                        + "    public static final int EE = 1;\n"
++-                        + "    public R apply(A a, B b, C c);\n"
++-                        + "\n"
++-                        + "    default <V> Test<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++-                        + "        Objects.requireNonNull(after);\n"
++-                        + "        return (A a, B b, C c) -^> {\n"
++-                        + "            System.err.println(EE);\n"
++-                        + "            return after.apply(apply(a, b, c));\n"
++-                        + "        };\n"
++-                        + "    }\n"
++-                        + "}\n")
++-                .sourceLevel("1.8")
++-                .run(Lambda.class)
++-                .findWarning("11:32-11:32:verifier:ERR_lambda2Class")
++-                .applyFix()
++-                .assertCompilable()
++-                .assertVerbatimOutput("package test;\n"
++-                        + "import java.util.Objects;\n"
++-                        + "import java.util.function.Function;\n"
++-                        + "\n"
++-                        + "@FunctionalInterface\n"
++-                        + "interface Test<A, B, C, R> {\n"
++-                        + "    public static final int EE = 1;\n"
++-                        + "    public R apply(A a, B b, C c);\n"
++-                        + "\n"
++-                        + "    default <V> Test<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++-                        + "        Objects.requireNonNull(after);\n"
++-                        + "        return new Test<A, B, C, V>() {\n"
++-                        + "            @Override\n"
++-                        + "            public V apply(A a, B b, C c) {\n"
++-                        + "                System.err.println(EE);\n"
++-                        + "                return after.apply(Test.this.apply(a, b, c));\n"
++-                        + "            }\n"
++-                        + "        };\n"
++-                        + "    }\n"
++-                        + "}\n");
++-    }
++-    
++-    @Test
++-    public void testLambda2ClassShadowedInheritedMethod() throws Exception {
++-        HintTest.create()
++-                .setCaretMarker('^')
++-                .input("package test;\n"
++-                        + "import java.util.Objects;\n"
++-                        + "import java.util.function.Function;\n"
++-                        + "\n"
++-                        + "@FunctionalInterface\n"
++-                        + "interface Test<A, B, C, R> {\n"
++-                        + "    public static final int EE = 1;\n"
++-                        + "    public R apply(A a, B b, C c);\n"
++-                        + "\n"
++-                        + "    default <V> Test2<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++-                        + "        Objects.requireNonNull(after);\n"
++-                        + "        return (A a, B b, C c) -^> {\n"
++-                        + "            return after.apply(apply(a, b, c));\n"
++-                        + "        };\n"
++-                        + "    \n"
++-                        + "        \n"
++-                        + "    }\n"
++-                        + "}\n"
++-                        + "\n"
++-                        + "interface Test2<A, B, C, R> extends Test<A, B, C, R> {\n"
++-                        + "    public static final int EE = 2;\n"
++-                        + "}")
++-                .sourceLevel("1.8")
++-                .run(Lambda.class)
++-                .findWarning("11:32-11:32:verifier:ERR_lambda2Class")
++-                .applyFix()
++-                .assertCompilable()
++-                .assertVerbatimOutput("package test;\n"
++-                        + "import java.util.Objects;\n"
++-                        + "import java.util.function.Function;\n"
++-                        + "\n"
++-                        + "@FunctionalInterface\n"
++-                        + "interface Test<A, B, C, R> {\n"
++-                        + "    public static final int EE = 1;\n"
++-                        + "    public R apply(A a, B b, C c);\n"
++-                        + "\n"
++-                        + "    default <V> Test2<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++-                        + "        Objects.requireNonNull(after);\n"
++-                        + "        return new Test2<A, B, C, V>() {\n"
++-                        + "            @Override\n"
++-                        + "            public V apply(A a, B b, C c) {\n"
++-                        + "                return after.apply(Test.this.apply(a, b, c));\n"
++-                        + "            }\n"
++-                        + "        };\n"
++-                        + "    \n"
++-                        + "        \n"
++-                        + "    }\n"
++-                        + "}\n"
++-                        + "\n"
++-                        + "interface Test2<A, B, C, R> extends Test<A, B, C, R> {\n"
++-                        + "    public static final int EE = 2;\n"
++-                        + "}"
++-                );
++-    }
++-    
++-    @Test
++-    public void testLambda2ClassShadowedUnrelatedField() throws Exception {
++-        HintTest.create()
++-                .setCaretMarker('^')
++-                .input("package test;\n"
++-                        + "import java.util.Objects;\n"
++-                        + "import java.util.function.Function;\n"
++-                        + "\n"
++-                        + "@FunctionalInterface\n"
++-                        + "interface Test<A, B, C, R> {\n"
++-                        + "    public static final int EE = 1;\n"
++-                        + "    public R apply(A a, B b, C c);\n"
++-                        + "\n"
++-                        + "    default <V> Test2<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++-                        + "        Objects.requireNonNull(after);\n"
++-                        + "        return (A a, B b, C c) -^> {\n"
++-                        + "            System.err.println(EE);\n"
++-                        + "            return null;\n"
++-                        + "        };\n"
++-                        + "    \n"
++-                        + "        \n"
++-                        + "    }\n"
++-                        + "}\n"
++-                        + "\n"
++-                        + "interface Test2<A, B, C, R> extends Test<A, B, C, R> {\n"
++-                        + "    public static final int EE = 2;\n"
++-                        + "}\n")
++-                .sourceLevel("1.8")
++-                .run(Lambda.class)
++-                .findWarning("11:32-11:32:verifier:ERR_lambda2Class")
++-                .applyFix()
++-                .assertCompilable()
++-                .assertVerbatimOutput("package test;\n"
++-                        + "import java.util.Objects;\n"
++-                        + "import java.util.function.Function;\n"
++-                        + "\n"
++-                        + "@FunctionalInterface\n"
++-                        + "interface Test<A, B, C, R> {\n"
++-                        + "    public static final int EE = 1;\n"
++-                        + "    public R apply(A a, B b, C c);\n"
++-                        + "\n"
++-                        + "    default <V> Test2<A, B, C, V> andThen(Function<? super R, ? extends V> after) {\n"
++-                        + "        Objects.requireNonNull(after);\n"
++-                        + "        return new Test2<A, B, C, V>() {\n"
++-                        + "            @Override\n"
++-                        + "            public V apply(A a, B b, C c) {\n"
++-                        + "                System.err.println(Test.EE);\n"
++-                        + "                return null;\n"
++-                        + "            }\n"
++-                        + "        };\n"
++-                        + "    \n"
++-                        + "        \n"
++-                        + "    }\n"
++-                        + "}\n"
++-                        + "\n"
++-                        + "interface Test2<A, B, C, R> extends Test<A, B, C, R> {\n"
++-                        + "    public static final int EE = 2;\n"
++-                        + "}\n");
++-    }
++-    
++-    @Test
++     public void testLambda2ClassExpression() throws Exception {
++         HintTest.create()
++                 .setCaretMarker('^')
diff --cc debian/patches/netbeans-java.source.base.patch
index 0000000,0000000..67f9e5a
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.source.base.patch
@@@ -1,0 -1,0 +1,13484 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Sun, 25 Dec 2016 22:02:42 +0100
++Subject: netbeans java.source.base
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ java.source.base/apichanges.xml                    |   66 -
++ java.source.base/build.xml                         |   39 -
++ .../org-netbeans-modules-java-source-base.sig      | 1767 --------------------
++ java.source.base/nbproject/project.properties      |    4 +-
++ java.source.base/nbproject/project.xml             |    6 +-
++ .../netbeans/api/java/source/AssignComments.java   |  178 +-
++ .../netbeans/api/java/source/ClasspathInfo.java    |   81 +-
++ .../org/netbeans/api/java/source/CodeStyle.java    |   40 -
++ .../netbeans/api/java/source/ElementHandle.java    |    7 +-
++ .../netbeans/api/java/source/ElementUtilities.java |  250 +--
++ .../api/java/source/GeneratorUtilities.java        |  376 +----
++ .../org/netbeans/api/java/source/SourceUtils.java  |   73 +-
++ .../org/netbeans/api/java/source/TreeMaker.java    |   38 +-
++ .../netbeans/api/java/source/TreeUtilities.java    |    1 -
++ .../netbeans/api/java/source/TypeMirrorHandle.java |   18 +-
++ .../netbeans/api/java/source/TypeUtilities.java    |   99 --
++ .../org/netbeans/api/java/source/WorkingCopy.java  |   96 +-
++ .../src/org/netbeans/api/java/source/package.html  |   39 -
++ .../modules/java/source/JavaSourceUtilImpl.java    |  332 ----
++ .../netbeans/modules/java/source/JavadocEnv.java   |   12 +-
++ .../modules/java/source/JavadocHelper.java         |   69 +-
++ .../modules/java/source/PostFlowAnalysis.java      |   27 +-
++ .../netbeans/modules/java/source/TreeLoader.java   |   12 +-
++ .../modules/java/source/base/Bundle.properties     |   37 -
++ .../java/source/builder/CommentHandlerService.java |   32 -
++ .../java/source/builder/CommentSetImpl.java        |   17 +-
++ .../java/source/builder/ElementsService.java       |  125 +-
++ .../modules/java/source/builder/TreeFactory.java   |   57 +-
++ .../modules/java/source/indexing/APTUtils.java     |  458 +----
++ .../source/indexing/COSSynchronizingIndexer.java   |    9 +-
++ .../modules/java/source/indexing/FQN2Files.java    |   28 +-
++ .../java/source/indexing/JavaBinaryIndexer.java    |   12 +-
++ .../java/source/indexing/JavaCustomIndexer.java    |  154 +-
++ .../modules/java/source/indexing/JavaIndex.java    |    9 +-
++ .../java/source/indexing/JavaParsingContext.java   |    5 +-
++ .../source/indexing/MultiPassCompileWorker.java    |    1 +
++ .../java/source/indexing/OnePassCompileWorker.java |   16 +-
++ .../source/indexing/SuperOnePassCompileWorker.java |   13 +-
++ .../source/parsing/CachingArchiveClassLoader.java  |   47 +-
++ .../source/parsing/CachingArchiveProvider.java     |   29 +-
++ .../java/source/parsing/CachingPathArchive.java    |  241 ---
++ .../modules/java/source/parsing/ClassParser.java   |    8 +-
++ .../java/source/parsing/ClasspathInfoProvider.java |    3 +-
++ .../java/source/parsing/CompilationInfoImpl.java   |  132 +-
++ .../java/source/parsing/FileObjectArchive.java     |   16 +-
++ .../modules/java/source/parsing/FileObjects.java   |  488 ++----
++ .../modules/java/source/parsing/Hacks.java         |   22 -
++ .../modules/java/source/parsing/JavacParser.java   |   26 +-
++ .../modules/java/source/parsing/PathArchive.java   |  148 --
++ .../modules/java/source/pretty/VeryPretty.java     |   46 +-
++ .../modules/java/source/pretty/WidthEstimator.java |   15 +-
++ .../modules/java/source/save/CasualDiff.java       |  162 +-
++ .../modules/java/source/save/Reformatter.java      |  172 +-
++ .../modules/java/source/save/Reindenter.java       |   11 +-
++ .../source/transform/ImmutableTreeTranslator.java  |   18 +-
++ .../java/source/transform/TreeDuplicator.java      |   12 +-
++ .../modules/java/source/transform/package.html     |   79 +-
++ .../modules/java/source/usages/BinaryAnalyser.java |  168 +-
++ .../modules/java/source/usages/BinaryName.java     |  177 --
++ .../source/usages/BuildArtifactMapperImpl.java     |  566 +++----
++ .../modules/java/source/usages/ClassIndexImpl.java |    6 +-
++ .../java/source/usages/ClasspathInfoAccessor.java  |    8 +-
++ .../modules/java/source/usages/DocumentUtil.java   |   64 +-
++ .../modules/java/source/usages/LongHashMap.java    |   14 +-
++ .../java/source/usages/PersistentClassIndex.java   |   22 +-
++ .../java/source/usages/SourceAnalyzerFactory.java  |  276 ++-
++ .../org/netbeans/modules/java/ui/FmtOptions.java   |    2 -
++ .../netbeans/api/java/source/ClassIndexTest.java   |    2 -
++ .../api/java/source/ElementUtilitiesTest.java      |  293 ----
++ .../netbeans/api/java/source/SourceUtilsTest.java  |   25 +
++ .../api/java/source/SourceUtilsTestUtil.java       |   20 +-
++ .../api/java/source/gen/BreakContinueTest.java     |   15 +-
++ .../api/java/source/gen/FieldGroupTest.java        |   62 -
++ .../org/netbeans/api/java/source/gen/IfTest.java   |  109 --
++ .../api/java/source/gen/ImportAnalysis2Test.java   |    8 +-
++ .../api/java/source/gen/InterfaceTest.java         |   18 +-
++ .../api/java/source/gen/ModifiersTest.java         |   38 -
++ .../netbeans/api/java/source/gen/PackageTest.java  |    2 +-
++ .../netbeans/api/java/source/gen/SwitchTest.java   |   17 +-
++ .../java/source/JavaSourceUtilImplTest.java        |  134 --
++ .../CacheSourceForBinaryQueryImplTest.java         |    2 +-
++ .../source/classpath/JShellSourcePathTest.java     |  155 --
++ .../java/source/indexing/SourcePrefetcherTest.java |    2 +-
++ .../source/parsing/CachingPathArchiveTest.java     |  268 ---
++ .../java/source/parsing/ClasspathInfoTest.java     |    2 +-
++ .../java/source/parsing/PathArchiveTest.java       |  207 ---
++ .../java/source/usages/BinaryAnalyserTest.java     |   14 +-
++ .../modules/java/source/usages/BinaryNameTest.java |  107 --
++ .../java/source/usages/LucenePerformanceTest.java  |   15 +-
++ .../usages/PersistentClassIndexScopesTest.java     |    6 +-
++ .../java/source/usages/SourceAnalyzerTest.java     |    6 +-
++ 91 files changed, 1275 insertions(+), 7833 deletions(-)
++ delete mode 100644 java.source.base/nbproject/org-netbeans-modules-java-source-base.sig
++ delete mode 100644 java.source.base/src/org/netbeans/modules/java/source/parsing/CachingPathArchive.java
++ delete mode 100644 java.source.base/src/org/netbeans/modules/java/source/parsing/PathArchive.java
++ delete mode 100644 java.source.base/src/org/netbeans/modules/java/source/usages/BinaryName.java
++ delete mode 100644 java.source.base/test/unit/src/org/netbeans/modules/java/source/JavaSourceUtilImplTest.java
++ delete mode 100644 java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/JShellSourcePathTest.java
++ delete mode 100644 java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/CachingPathArchiveTest.java
++ delete mode 100644 java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/PathArchiveTest.java
++ delete mode 100644 java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryNameTest.java
++
++diff --git a/java.source.base/apichanges.xml b/java.source.base/apichanges.xml
++index 2b4e3ae49..002fbb041 100644
++--- a/java.source.base/apichanges.xml
+++++ b/java.source.base/apichanges.xml
++@@ -49,72 +49,6 @@ made subject to such option by the copyright holder.
++     <apidef name="javasource_base">Java Source API</apidef>
++ </apidefs>
++ <changes>
++-    <change id="TypeUtilities.getDenotableType">
++-        <api name="javasource_base"/>
++-        <summary>Provide type suitable for declaration in source</summary>
++-        <version major="1" minor="2.17"/>
++-       <date day="16" month="5" year="2016"/>
++-        <author login="sdedic"/>
++-        <compatibility addition="yes" binary="compatible" source="compatible"/>
++-        <description>
++-            Support method which allows to infer a type suitable for use in symbol
++-            declaration in the source was added.
++-        </description>
++-        <class name="TypeUtilities" package="org.netbeans.api.java.source"/>
++-        <issue number="262073"/>
++-    </change>
++-    <change id="utilities.findVisibleElements">
++-        <api name="javasource_base"/>
++-        <summary>List elements with their definining Scope</summary>
++-        <version major="1" minor="2.16"/>
++-        <date day="31" month="5" year="2016"/>
++-        <author login="sdedic"/>
++-        <compatibility addition="yes" binary="compatible" source="compatible"/>
++-        <description>
++-            Allows to enumerate Elements matching passed <code>ElementFilter</code> according
++-            to hiding and inheritance rules. The method may be useful to list elements matching certain
++-            criteria, or to check whether an element exists and find what class/method defined it.
++-        </description>
++-        <class name="ElementUtilities" package="org.netbeans.api.java.source"/>
++-        <issue number="262281"/>
++-    </change>
++-    <change id="utilities.implementAndOverride.defaultMethods">
++-        <api name="javasource_base"/>
++-        <summary>Allow to return also unimplemented default methods</summary>
++-        <version major="1" minor="2.15"/>
++-        <date day="10" month="5" year="2016"/>
++-        <author login="sdedic"/>
++-        <compatibility addition="yes" binary="compatible" source="compatible"/>
++-        <description>
++-            <p>
++-                <code>findUnimplementedMethods</code> and <code>findOverridableMethods</code>
++-                work better with interface default methods: they are treated as implemented,
++-                but overridable.
++-            </p>
++-            <p>
++-                Allow <code>ElementUtilities.findUnimplementedMethods</code> enumerate
++-                also default methods whose implementations are not provided by class or
++-                superclasses.
++-            </p>
++-        </description>
++-        <class name="ElementUtilities" package="org.netbeans.api.java.source"/>
++-        <issue number="258981"/>
++-    </change>
++-    <change id="generator.insert.caretlocation">
++-        <api name="javasource_base"/>
++-        <summary>Code Generator uses caret location to insert members</summary>
++-        <version major="1" minor="2.11"/>
++-        <date day="5" month="10" year="2015"/>
++-        <author login="ralphbenjamin"/>
++-        <compatibility addition="yes" binary="compatible" source="compatible"/>
++-        <description>
++-            Added an overloaded method to Code Generator should to include the
++-            caret location when inserting members. This will be used when the
++-            codestyle is CodeStyle.InsertionPoint.CARET_LOCATION.
++-        </description>
++-        <class name="CodeStyle" package="org.netbeans.api.java.source"/>
++-        <issue number="255214"/>
++-    </change>
++     <change id="classindex.searchkind.lambda">
++         <api name="javasource_base"/>
++         <summary>ClassIndex SearchKind extended by FUNCTIONAL_IMPLEMENTORS</summary>
++diff --git a/java.source.base/build.xml b/java.source.base/build.xml
++index e76f42b09..01b700c33 100644
++--- a/java.source.base/build.xml
+++++ b/java.source.base/build.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project basedir="." default="netbeans" name="java.source.base">
++     <description>Builds, tests, and runs the project org.netbeans.modules.java.source.base</description>
++     <import file="../nbbuild/templates/projectized.xml"/>
++diff --git a/java.source.base/nbproject/org-netbeans-modules-java-source-base.sig b/java.source.base/nbproject/org-netbeans-modules-java-source-base.sig
++deleted file mode 100644
++index adb77ef5e..000000000
++--- a/java.source.base/nbproject/org-netbeans-modules-java-source-base.sig
+++++ /dev/null
++@@ -1,1767 +0,0 @@
++-#Signature file v4.1
++-#Version 2.9.1
++-
++-CLSS public abstract interface com.sun.source.tree.TreeVisitor<%0 extends java.lang.Object, %1 extends java.lang.Object>
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAnnotatedType(com.sun.source.tree.AnnotatedTypeTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAnnotation(com.sun.source.tree.AnnotationTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitArrayAccess(com.sun.source.tree.ArrayAccessTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitArrayType(com.sun.source.tree.ArrayTypeTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAssert(com.sun.source.tree.AssertTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAssignment(com.sun.source.tree.AssignmentTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitBinary(com.sun.source.tree.BinaryTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitBlock(com.sun.source.tree.BlockTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitBreak(com.sun.source.tree.BreakTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitCase(com.sun.source.tree.CaseTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitCatch(com.sun.source.tree.CatchTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitClass(com.sun.source.tree.ClassTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitCompilationUnit(com.sun.source.tree.CompilationUnitTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitCompoundAssignment(com.sun.source.tree.CompoundAssignmentTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitConditionalExpression(com.sun.source.tree.ConditionalExpressionTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitContinue(com.sun.source.tree.ContinueTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitDoWhileLoop(com.sun.source.tree.DoWhileLoopTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitEmptyStatement(com.sun.source.tree.EmptyStatementTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitEnhancedForLoop(com.sun.source.tree.EnhancedForLoopTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitErroneous(com.sun.source.tree.ErroneousTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitExpressionStatement(com.sun.source.tree.ExpressionStatementTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitForLoop(com.sun.source.tree.ForLoopTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitIdentifier(com.sun.source.tree.IdentifierTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitIf(com.sun.source.tree.IfTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitImport(com.sun.source.tree.ImportTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitInstanceOf(com.sun.source.tree.InstanceOfTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitIntersectionType(com.sun.source.tree.IntersectionTypeTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitLabeledStatement(com.sun.source.tree.LabeledStatementTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitLambdaExpression(com.sun.source.tree.LambdaExpressionTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitLiteral(com.sun.source.tree.LiteralTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitMemberReference(com.sun.source.tree.MemberReferenceTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitMemberSelect(com.sun.source.tree.MemberSelectTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitMethod(com.sun.source.tree.MethodTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitMethodInvocation(com.sun.source.tree.MethodInvocationTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitModifiers(com.sun.source.tree.ModifiersTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitNewArray(com.sun.source.tree.NewArrayTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitNewClass(com.sun.source.tree.NewClassTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitOther(com.sun.source.tree.Tree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitParameterizedType(com.sun.source.tree.ParameterizedTypeTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitParenthesized(com.sun.source.tree.ParenthesizedTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitPrimitiveType(com.sun.source.tree.PrimitiveTypeTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitReturn(com.sun.source.tree.ReturnTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitSwitch(com.sun.source.tree.SwitchTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitSynchronized(com.sun.source.tree.SynchronizedTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitThrow(com.sun.source.tree.ThrowTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitTry(com.sun.source.tree.TryTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitTypeCast(com.sun.source.tree.TypeCastTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitTypeParameter(com.sun.source.tree.TypeParameterTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitUnary(com.sun.source.tree.UnaryTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitUnionType(com.sun.source.tree.UnionTypeTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitVariable(com.sun.source.tree.VariableTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitWhileLoop(com.sun.source.tree.WhileLoopTree,{com.sun.source.tree.TreeVisitor%1})
++-meth public abstract {com.sun.source.tree.TreeVisitor%0} visitWildcard(com.sun.source.tree.WildcardTree,{com.sun.source.tree.TreeVisitor%1})
++-
++-CLSS public com.sun.source.util.TreePathScanner<%0 extends java.lang.Object, %1 extends java.lang.Object>
++-cons public init()
++-meth public com.sun.source.util.TreePath getCurrentPath()
++-meth public {com.sun.source.util.TreePathScanner%0} scan(com.sun.source.tree.Tree,{com.sun.source.util.TreePathScanner%1})
++-meth public {com.sun.source.util.TreePathScanner%0} scan(com.sun.source.util.TreePath,{com.sun.source.util.TreePathScanner%1})
++-supr com.sun.source.util.TreeScanner<{com.sun.source.util.TreePathScanner%0},{com.sun.source.util.TreePathScanner%1}>
++-hfds path
++-
++-CLSS public com.sun.source.util.TreeScanner<%0 extends java.lang.Object, %1 extends java.lang.Object>
++-cons public init()
++-intf com.sun.source.tree.TreeVisitor<{com.sun.source.util.TreeScanner%0},{com.sun.source.util.TreeScanner%1}>
++-meth public {com.sun.source.util.TreeScanner%0} reduce({com.sun.source.util.TreeScanner%0},{com.sun.source.util.TreeScanner%0})
++-meth public {com.sun.source.util.TreeScanner%0} scan(com.sun.source.tree.Tree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} scan(java.lang.Iterable<? extends com.sun.source.tree.Tree>,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitAnnotatedType(com.sun.source.tree.AnnotatedTypeTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitAnnotation(com.sun.source.tree.AnnotationTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitArrayAccess(com.sun.source.tree.ArrayAccessTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitArrayType(com.sun.source.tree.ArrayTypeTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitAssert(com.sun.source.tree.AssertTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitAssignment(com.sun.source.tree.AssignmentTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitBinary(com.sun.source.tree.BinaryTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitBlock(com.sun.source.tree.BlockTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitBreak(com.sun.source.tree.BreakTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitCase(com.sun.source.tree.CaseTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitCatch(com.sun.source.tree.CatchTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitClass(com.sun.source.tree.ClassTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitCompilationUnit(com.sun.source.tree.CompilationUnitTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitCompoundAssignment(com.sun.source.tree.CompoundAssignmentTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitConditionalExpression(com.sun.source.tree.ConditionalExpressionTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitContinue(com.sun.source.tree.ContinueTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitDoWhileLoop(com.sun.source.tree.DoWhileLoopTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitEmptyStatement(com.sun.source.tree.EmptyStatementTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitEnhancedForLoop(com.sun.source.tree.EnhancedForLoopTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitErroneous(com.sun.source.tree.ErroneousTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitExpressionStatement(com.sun.source.tree.ExpressionStatementTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitForLoop(com.sun.source.tree.ForLoopTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitIdentifier(com.sun.source.tree.IdentifierTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitIf(com.sun.source.tree.IfTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitImport(com.sun.source.tree.ImportTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitInstanceOf(com.sun.source.tree.InstanceOfTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitIntersectionType(com.sun.source.tree.IntersectionTypeTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitLabeledStatement(com.sun.source.tree.LabeledStatementTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitLambdaExpression(com.sun.source.tree.LambdaExpressionTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitLiteral(com.sun.source.tree.LiteralTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitMemberReference(com.sun.source.tree.MemberReferenceTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitMemberSelect(com.sun.source.tree.MemberSelectTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitMethod(com.sun.source.tree.MethodTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitMethodInvocation(com.sun.source.tree.MethodInvocationTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitModifiers(com.sun.source.tree.ModifiersTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitNewArray(com.sun.source.tree.NewArrayTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitNewClass(com.sun.source.tree.NewClassTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitOther(com.sun.source.tree.Tree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitParameterizedType(com.sun.source.tree.ParameterizedTypeTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitParenthesized(com.sun.source.tree.ParenthesizedTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitPrimitiveType(com.sun.source.tree.PrimitiveTypeTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitReturn(com.sun.source.tree.ReturnTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitSwitch(com.sun.source.tree.SwitchTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitSynchronized(com.sun.source.tree.SynchronizedTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitThrow(com.sun.source.tree.ThrowTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitTry(com.sun.source.tree.TryTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitTypeCast(com.sun.source.tree.TypeCastTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitTypeParameter(com.sun.source.tree.TypeParameterTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitUnary(com.sun.source.tree.UnaryTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitUnionType(com.sun.source.tree.UnionTypeTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitVariable(com.sun.source.tree.VariableTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitWhileLoop(com.sun.source.tree.WhileLoopTree,{com.sun.source.util.TreeScanner%1})
++-meth public {com.sun.source.util.TreeScanner%0} visitWildcard(com.sun.source.tree.WildcardTree,{com.sun.source.util.TreeScanner%1})
++-supr java.lang.Object
++-
++-CLSS public java.io.IOException
++-cons public init()
++-cons public init(java.lang.String)
++-cons public init(java.lang.String,java.lang.Throwable)
++-cons public init(java.lang.Throwable)
++-supr java.lang.Exception
++-hfds serialVersionUID
++-
++-CLSS public abstract interface java.io.Serializable
++-
++-CLSS public abstract interface java.lang.Comparable<%0 extends java.lang.Object>
++-meth public abstract int compareTo({java.lang.Comparable%0})
++-
++-CLSS public abstract interface !annotation java.lang.Deprecated
++- anno 0 java.lang.annotation.Documented()
++- anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
++- anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE])
++-intf java.lang.annotation.Annotation
++-
++-CLSS public abstract java.lang.Enum<%0 extends java.lang.Enum<{java.lang.Enum%0}>>
++-cons protected init(java.lang.String,int)
++-intf java.io.Serializable
++-intf java.lang.Comparable<{java.lang.Enum%0}>
++-meth protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException
++-meth protected final void finalize()
++-meth public final boolean equals(java.lang.Object)
++-meth public final int compareTo({java.lang.Enum%0})
++-meth public final int hashCode()
++-meth public final int ordinal()
++-meth public final java.lang.Class<{java.lang.Enum%0}> getDeclaringClass()
++-meth public final java.lang.String name()
++-meth public java.lang.String toString()
++-meth public static <%0 extends java.lang.Enum<{%%0}>> {%%0} valueOf(java.lang.Class<{%%0}>,java.lang.String)
++-supr java.lang.Object
++-hfds name,ordinal
++-
++-CLSS public java.lang.Exception
++-cons protected init(java.lang.String,java.lang.Throwable,boolean,boolean)
++-cons public init()
++-cons public init(java.lang.String)
++-cons public init(java.lang.String,java.lang.Throwable)
++-cons public init(java.lang.Throwable)
++-supr java.lang.Throwable
++-hfds serialVersionUID
++-
++-CLSS public java.lang.Object
++-cons public init()
++-meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedException
++-meth protected void finalize() throws java.lang.Throwable
++-meth public boolean equals(java.lang.Object)
++-meth public final java.lang.Class<?> getClass()
++-meth public final void notify()
++-meth public final void notifyAll()
++-meth public final void wait() throws java.lang.InterruptedException
++-meth public final void wait(long) throws java.lang.InterruptedException
++-meth public final void wait(long,int) throws java.lang.InterruptedException
++-meth public int hashCode()
++-meth public java.lang.String toString()
++-
++-CLSS public java.lang.Throwable
++-cons protected init(java.lang.String,java.lang.Throwable,boolean,boolean)
++-cons public init()
++-cons public init(java.lang.String)
++-cons public init(java.lang.String,java.lang.Throwable)
++-cons public init(java.lang.Throwable)
++-intf java.io.Serializable
++-meth public final java.lang.Throwable[] getSuppressed()
++-meth public final void addSuppressed(java.lang.Throwable)
++-meth public java.lang.StackTraceElement[] getStackTrace()
++-meth public java.lang.String getLocalizedMessage()
++-meth public java.lang.String getMessage()
++-meth public java.lang.String toString()
++-meth public java.lang.Throwable fillInStackTrace()
++-meth public java.lang.Throwable getCause()
++-meth public java.lang.Throwable initCause(java.lang.Throwable)
++-meth public void printStackTrace()
++-meth public void printStackTrace(java.io.PrintStream)
++-meth public void printStackTrace(java.io.PrintWriter)
++-meth public void setStackTrace(java.lang.StackTraceElement[])
++-supr java.lang.Object
++-hfds CAUSE_CAPTION,EMPTY_THROWABLE_ARRAY,NULL_CAUSE_MESSAGE,SELF_SUPPRESSION_MESSAGE,SUPPRESSED_CAPTION,SUPPRESSED_SENTINEL,UNASSIGNED_STACK,backtrace,cause,detailMessage,serialVersionUID,stackTrace,suppressedExceptions
++-hcls PrintStreamOrWriter,SentinelHolder,WrappedPrintStream,WrappedPrintWriter
++-
++-CLSS public abstract interface java.lang.annotation.Annotation
++-meth public abstract boolean equals(java.lang.Object)
++-meth public abstract int hashCode()
++-meth public abstract java.lang.Class<? extends java.lang.annotation.Annotation> annotationType()
++-meth public abstract java.lang.String toString()
++-
++-CLSS public abstract interface !annotation java.lang.annotation.Documented
++- anno 0 java.lang.annotation.Documented()
++- anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
++- anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE])
++-intf java.lang.annotation.Annotation
++-
++-CLSS public abstract interface !annotation java.lang.annotation.Retention
++- anno 0 java.lang.annotation.Documented()
++- anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
++- anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE])
++-intf java.lang.annotation.Annotation
++-meth public abstract java.lang.annotation.RetentionPolicy value()
++-
++-CLSS public abstract interface !annotation java.lang.annotation.Target
++- anno 0 java.lang.annotation.Documented()
++- anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
++- anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE])
++-intf java.lang.annotation.Annotation
++-meth public abstract java.lang.annotation.ElementType[] value()
++-
++-CLSS public abstract interface java.util.EventListener
++-
++-CLSS public java.util.EventObject
++-cons public init(java.lang.Object)
++-fld protected java.lang.Object source
++-intf java.io.Serializable
++-meth public java.lang.Object getSource()
++-meth public java.lang.String toString()
++-supr java.lang.Object
++-hfds serialVersionUID
++-
++-CLSS public org.netbeans.api.java.source.BuildArtifactMapper
++-cons public init()
++-innr public abstract interface static ArtifactsUpdated
++-meth public static void addArtifactsUpdatedListener(java.net.URL,org.netbeans.api.java.source.BuildArtifactMapper$ArtifactsUpdated)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static void removeArtifactsUpdatedListener(java.net.URL,org.netbeans.api.java.source.BuildArtifactMapper$ArtifactsUpdated)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-
++-CLSS public abstract interface static org.netbeans.api.java.source.BuildArtifactMapper$ArtifactsUpdated
++- outer org.netbeans.api.java.source.BuildArtifactMapper
++-meth public abstract void artifactsUpdated(java.lang.Iterable<java.io.File>)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-
++-CLSS public abstract interface org.netbeans.api.java.source.CancellableTask<%0 extends java.lang.Object>
++-intf org.netbeans.api.java.source.Task<{org.netbeans.api.java.source.CancellableTask%0}>
++-meth public abstract void cancel()
++-
++-CLSS public final org.netbeans.api.java.source.ClassIndex
++-innr public abstract interface static SearchScopeType
++-innr public abstract static !enum SearchScope
++-innr public final static !enum NameKind
++-innr public final static !enum ResourceType
++-innr public final static !enum SearchKind
++-innr public final static Symbols
++-meth public !varargs static org.netbeans.api.java.source.ClassIndex$SearchScopeType createPackageSearchScope(org.netbeans.api.java.source.ClassIndex$SearchScopeType,java.lang.String[])
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.Iterable<org.netbeans.api.java.source.ClassIndex$Symbols> getDeclaredSymbols(java.lang.String,org.netbeans.api.java.source.ClassIndex$NameKind,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<java.lang.String> getPackageNames(java.lang.String,boolean,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getDeclaredTypes(java.lang.String,org.netbeans.api.java.source.ClassIndex$NameKind,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getElements(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getElementsForPackage(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.PackageElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.openide.filesystems.FileObject> getResources(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.openide.filesystems.FileObject> getResources(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>,java.util.Set<org.netbeans.api.java.source.ClassIndex$ResourceType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++- anno 4 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.openide.filesystems.FileObject> getResourcesForPackage(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.PackageElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public void addClassIndexListener(org.netbeans.api.java.source.ClassIndexListener)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public void removeClassIndexListener(org.netbeans.api.java.source.ClassIndexListener)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds LOGGER,bootPath,classPath,depsIndeces,listeners,oldBoot,oldCompile,oldSources,sourceIndeces,sourcePath,spiListener
++-hcls ClassIndexFactoryImpl,SPIListener
++-
++-CLSS public final static !enum org.netbeans.api.java.source.ClassIndex$NameKind
++- outer org.netbeans.api.java.source.ClassIndex
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind CAMEL_CASE
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind CAMEL_CASE_INSENSITIVE
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind CASE_INSENSITIVE_PREFIX
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind CASE_INSENSITIVE_REGEXP
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind PREFIX
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind REGEXP
++-fld public final static org.netbeans.api.java.source.ClassIndex$NameKind SIMPLE_NAME
++-meth public static org.netbeans.api.java.source.ClassIndex$NameKind valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ClassIndex$NameKind[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ClassIndex$NameKind>
++-
++-CLSS public final static !enum org.netbeans.api.java.source.ClassIndex$ResourceType
++- outer org.netbeans.api.java.source.ClassIndex
++-fld public final static org.netbeans.api.java.source.ClassIndex$ResourceType BINARY
++-fld public final static org.netbeans.api.java.source.ClassIndex$ResourceType SOURCE
++-meth public static org.netbeans.api.java.source.ClassIndex$ResourceType valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ClassIndex$ResourceType[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ClassIndex$ResourceType>
++-
++-CLSS public final static !enum org.netbeans.api.java.source.ClassIndex$SearchKind
++- outer org.netbeans.api.java.source.ClassIndex
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind FIELD_REFERENCES
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind FUNCTIONAL_IMPLEMENTORS
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind IMPLEMENTORS
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind METHOD_REFERENCES
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind TYPE_REFERENCES
++-meth public static org.netbeans.api.java.source.ClassIndex$SearchKind valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ClassIndex$SearchKind[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ClassIndex$SearchKind>
++-
++-CLSS public abstract static !enum org.netbeans.api.java.source.ClassIndex$SearchScope
++- outer org.netbeans.api.java.source.ClassIndex
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchScope DEPENDENCIES
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchScope SOURCE
++-intf org.netbeans.api.java.source.ClassIndex$SearchScopeType
++-meth public java.util.Set<? extends java.lang.String> getPackages()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public static org.netbeans.api.java.source.ClassIndex$SearchScope valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ClassIndex$SearchScope[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ClassIndex$SearchScope>
++-
++-CLSS public abstract interface static org.netbeans.api.java.source.ClassIndex$SearchScopeType
++- outer org.netbeans.api.java.source.ClassIndex
++-meth public abstract boolean isDependencies()
++-meth public abstract boolean isSources()
++-meth public abstract java.util.Set<? extends java.lang.String> getPackages()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-
++-CLSS public final static org.netbeans.api.java.source.ClassIndex$Symbols
++- outer org.netbeans.api.java.source.ClassIndex
++-meth public java.util.Set<java.lang.String> getSymbols()
++-meth public org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement> getEnclosingType()
++-supr java.lang.Object
++-hfds enclosingType,symbols
++-
++-CLSS public abstract interface org.netbeans.api.java.source.ClassIndexListener
++-intf java.util.EventListener
++-meth public abstract void rootsAdded(org.netbeans.api.java.source.RootsEvent)
++-meth public abstract void rootsRemoved(org.netbeans.api.java.source.RootsEvent)
++-meth public abstract void typesAdded(org.netbeans.api.java.source.TypesEvent)
++-meth public abstract void typesChanged(org.netbeans.api.java.source.TypesEvent)
++-meth public abstract void typesRemoved(org.netbeans.api.java.source.TypesEvent)
++-
++-CLSS public final org.netbeans.api.java.source.ClasspathInfo
++-innr public final static !enum PathKind
++-meth public boolean equals(java.lang.Object)
++-meth public int hashCode()
++-meth public java.lang.String toString()
++-meth public org.netbeans.api.java.classpath.ClassPath getClassPath(org.netbeans.api.java.source.ClasspathInfo$PathKind)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.ClassIndex getClassIndex()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ClasspathInfo create(java.io.File)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ClasspathInfo create(javax.swing.text.Document)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ClasspathInfo create(org.netbeans.api.java.classpath.ClassPath,org.netbeans.api.java.classpath.ClassPath,org.netbeans.api.java.classpath.ClassPath)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NullAllowed()
++-meth public static org.netbeans.api.java.source.ClasspathInfo create(org.openide.filesystems.FileObject)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public void addChangeListener(javax.swing.event.ChangeListener)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public void removeChangeListener(javax.swing.event.ChangeListener)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds archiveProvider,bootClassPath,cachedAptSrcClassPath,cachedBootClassPath,cachedCompileClassPath,cachedSrcClassPath,compileClassPath,cpListener,filter,fmTx,ignoreExcludes,listenerList,log,memoryFileManager,outputClassPath,pgTx,srcClassPath,usagesQuery,useModifiedFiles
++-hcls ClassPathListener,ClasspathInfoAccessorImpl
++-
++-CLSS public final static !enum org.netbeans.api.java.source.ClasspathInfo$PathKind
++- outer org.netbeans.api.java.source.ClasspathInfo
++-fld public final static org.netbeans.api.java.source.ClasspathInfo$PathKind BOOT
++-fld public final static org.netbeans.api.java.source.ClasspathInfo$PathKind COMPILE
++-fld public final static org.netbeans.api.java.source.ClasspathInfo$PathKind OUTPUT
++-fld public final static org.netbeans.api.java.source.ClasspathInfo$PathKind SOURCE
++-meth public static org.netbeans.api.java.source.ClasspathInfo$PathKind valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ClasspathInfo$PathKind[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ClasspathInfo$PathKind>
++-
++-CLSS public final org.netbeans.api.java.source.CodeStyle
++-innr public final static !enum BracePlacement
++-innr public final static !enum BracesGenerationStyle
++-innr public final static !enum InsertionPoint
++-innr public final static !enum WrapStyle
++-innr public final static ImportGroups
++-innr public final static MemberGroups
++-meth public boolean absoluteLabelIndent()
++-meth public boolean addLeadingStarInComment()
++-meth public boolean addOverrideAnnotation()
++-meth public boolean alignJavadocExceptionDescriptions()
++-meth public boolean alignJavadocParameterDescriptions()
++-meth public boolean alignJavadocReturnDescription()
++-meth public boolean alignMultilineAnnotationArgs()
++-meth public boolean alignMultilineArrayInit()
++-meth public boolean alignMultilineAssignment()
++-meth public boolean alignMultilineBinaryOp()
++-meth public boolean alignMultilineCallArgs()
++-meth public boolean alignMultilineDisjunctiveCatchTypes()
++-meth public boolean alignMultilineFor()
++-meth public boolean alignMultilineImplements()
++-meth public boolean alignMultilineLambdaParams()
++-meth public boolean alignMultilineMethodParams()
++-meth public boolean alignMultilineParenthesized()
++-meth public boolean alignMultilineTernaryOp()
++-meth public boolean alignMultilineThrows()
++-meth public boolean alignMultilineTryResources()
++-meth public boolean blankLineAfterJavadocDescription()
++-meth public boolean blankLineAfterJavadocParameterDescriptions()
++-meth public boolean blankLineAfterJavadocReturnTag()
++-meth public boolean computeMemberDependencies()
++-meth public boolean enableBlockCommentFormatting()
++-meth public boolean enableJavadocFormatting()
++-meth public boolean expandTabToSpaces()
++-meth public boolean generateParagraphTagOnBlankLines()
++-meth public boolean importInnerClasses()
++-meth public boolean indentCasesFromSwitch()
++-meth public boolean indentTopLevelClassMembers()
++-meth public boolean keepGettersAndSettersTogether()
++-meth public boolean makeLocalVarsFinal()
++-meth public boolean makeParametersFinal()
++-meth public boolean placeCatchOnNewLine()
++-meth public boolean placeElseOnNewLine()
++-meth public boolean placeFinallyOnNewLine()
++-meth public boolean placeNewLineAfterModifiers()
++-meth public boolean placeWhileOnNewLine()
++-meth public boolean preferLongerNames()
++-meth public boolean preferStaticImports()
++-meth public boolean preserveNewLinesInComments()
++-meth public boolean qualifyFieldAccess()
++-meth public boolean separateImportGroups()
++-meth public boolean sortMembersInGroupsAlphabetically()
++-meth public boolean spaceAfterColon()
++-meth public boolean spaceAfterComma()
++-meth public boolean spaceAfterSemi()
++-meth public boolean spaceAfterTypeCast()
++-meth public boolean spaceAroundAnnotationValueAssignOps()
++-meth public boolean spaceAroundAssignOps()
++-meth public boolean spaceAroundBinaryOps()
++-meth public boolean spaceAroundLambdaArrow()
++-meth public boolean spaceAroundMethodReferenceDoubleColon()
++-meth public boolean spaceAroundTernaryOps()
++-meth public boolean spaceAroundUnaryOps()
++-meth public boolean spaceBeforeAnnotationParen()
++-meth public boolean spaceBeforeArrayInitLeftBrace()
++-meth public boolean spaceBeforeCatch()
++-meth public boolean spaceBeforeCatchLeftBrace()
++-meth public boolean spaceBeforeCatchParen()
++-meth public boolean spaceBeforeClassDeclLeftBrace()
++-meth public boolean spaceBeforeColon()
++-meth public boolean spaceBeforeComma()
++-meth public boolean spaceBeforeDoLeftBrace()
++-meth public boolean spaceBeforeElse()
++-meth public boolean spaceBeforeElseLeftBrace()
++-meth public boolean spaceBeforeFinally()
++-meth public boolean spaceBeforeFinallyLeftBrace()
++-meth public boolean spaceBeforeForLeftBrace()
++-meth public boolean spaceBeforeForParen()
++-meth public boolean spaceBeforeIfLeftBrace()
++-meth public boolean spaceBeforeIfParen()
++-meth public boolean spaceBeforeMethodCallParen()
++-meth public boolean spaceBeforeMethodDeclLeftBrace()
++-meth public boolean spaceBeforeMethodDeclParen()
++-meth public boolean spaceBeforeSemi()
++-meth public boolean spaceBeforeStaticInitLeftBrace()
++-meth public boolean spaceBeforeSwitchLeftBrace()
++-meth public boolean spaceBeforeSwitchParen()
++-meth public boolean spaceBeforeSynchronizedLeftBrace()
++-meth public boolean spaceBeforeSynchronizedParen()
++-meth public boolean spaceBeforeTryLeftBrace()
++-meth public boolean spaceBeforeTryParen()
++-meth public boolean spaceBeforeWhile()
++-meth public boolean spaceBeforeWhileLeftBrace()
++-meth public boolean spaceBeforeWhileParen()
++-meth public boolean spaceWithinAnnotationParens()
++-meth public boolean spaceWithinArrayIndexBrackets()
++-meth public boolean spaceWithinArrayInitBrackets()
++-meth public boolean spaceWithinBraces()
++-meth public boolean spaceWithinCatchParens()
++-meth public boolean spaceWithinForParens()
++-meth public boolean spaceWithinIfParens()
++-meth public boolean spaceWithinLambdaParens()
++-meth public boolean spaceWithinMethodCallParens()
++-meth public boolean spaceWithinMethodDeclParens()
++-meth public boolean spaceWithinParens()
++-meth public boolean spaceWithinSwitchParens()
++-meth public boolean spaceWithinSynchronizedParens()
++-meth public boolean spaceWithinTryParens()
++-meth public boolean spaceWithinTypeCastParens()
++-meth public boolean spaceWithinWhileParens()
++-meth public boolean specialElseIf()
++-meth public boolean useFQNs()
++-meth public boolean useIsForBooleanGetters()
++-meth public boolean useSingleClassImport()
++-meth public boolean wrapAfterAssignOps()
++-meth public boolean wrapAfterBinaryOps()
++-meth public boolean wrapAfterDotInChainedMethodCalls()
++-meth public boolean wrapAfterLambdaArrow()
++-meth public boolean wrapAfterTernaryOps()
++-meth public boolean wrapCommentText()
++-meth public boolean wrapOneLineComments()
++-meth public int countForUsingStarImport()
++-meth public int countForUsingStaticStarImport()
++-meth public int getBlankLinesAfterAnonymousClassHeader()
++-meth public int getBlankLinesAfterClass()
++-meth public int getBlankLinesAfterClassHeader()
++-meth public int getBlankLinesAfterEnumHeader()
++-meth public int getBlankLinesAfterFields()
++-meth public int getBlankLinesAfterImports()
++-meth public int getBlankLinesAfterMethods()
++-meth public int getBlankLinesAfterPackage()
++-meth public int getBlankLinesBeforeAnonymousClassClosingBrace()
++-meth public int getBlankLinesBeforeClass()
++-meth public int getBlankLinesBeforeClassClosingBrace()
++-meth public int getBlankLinesBeforeEnumClosingBrace()
++-meth public int getBlankLinesBeforeFields()
++-meth public int getBlankLinesBeforeImports()
++-meth public int getBlankLinesBeforeMethods()
++-meth public int getBlankLinesBeforePackage()
++-meth public int getContinuationIndentSize()
++-meth public int getIndentSize()
++-meth public int getLabelIndent()
++-meth public int getMaximumBlankLinesInCode()
++-meth public int getMaximumBlankLinesInDeclarations()
++-meth public int getRightMargin()
++-meth public int getTabSize()
++-meth public java.lang.String getFieldNamePrefix()
++-meth public java.lang.String getFieldNameSuffix()
++-meth public java.lang.String getLocalVarNamePrefix()
++-meth public java.lang.String getLocalVarNameSuffix()
++-meth public java.lang.String getParameterNamePrefix()
++-meth public java.lang.String getParameterNameSuffix()
++-meth public java.lang.String getStaticFieldNamePrefix()
++-meth public java.lang.String getStaticFieldNameSuffix()
++-meth public java.lang.String[] getPackagesForStarImport()
++-meth public org.netbeans.api.java.source.CodeStyle$BracePlacement getClassDeclBracePlacement()
++-meth public org.netbeans.api.java.source.CodeStyle$BracePlacement getMethodDeclBracePlacement()
++-meth public org.netbeans.api.java.source.CodeStyle$BracePlacement getOtherBracePlacement()
++-meth public org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle redundantDoWhileBraces()
++-meth public org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle redundantForBraces()
++-meth public org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle redundantIfBraces()
++-meth public org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle redundantWhileBraces()
++-meth public org.netbeans.api.java.source.CodeStyle$ImportGroups getImportGroups()
++-meth public org.netbeans.api.java.source.CodeStyle$InsertionPoint getClassMemberInsertionPoint()
++-meth public org.netbeans.api.java.source.CodeStyle$MemberGroups getClassMemberGroups()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapAnnotationArgs()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapAnnotations()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapArrayInit()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapAssert()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapAssignOps()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapBinaryOps()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapCaseStatements()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapChainedMethodCalls()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapDisjunctiveCatchTypes()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapDoWhileStatement()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapEnumConstants()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapExtendsImplementsKeyword()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapExtendsImplementsList()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapFor()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapForStatement()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapIfStatement()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapLambdaArrow()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapLambdaParams()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapMethodCallArgs()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapMethodParams()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapTernaryOps()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapThrowsKeyword()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapThrowsList()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapTryResources()
++-meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapWhileStatement()
++-meth public static org.netbeans.api.java.source.CodeStyle getDefault(javax.swing.text.Document)
++-meth public static org.netbeans.api.java.source.CodeStyle getDefault(org.netbeans.api.project.Project)
++-meth public static org.netbeans.api.java.source.CodeStyle getDefault(org.openide.filesystems.FileObject)
++-supr java.lang.Object
++-hfds preferences
++-hcls Producer
++-
++-CLSS public final static !enum org.netbeans.api.java.source.CodeStyle$BracePlacement
++- outer org.netbeans.api.java.source.CodeStyle
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracePlacement NEW_LINE
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracePlacement NEW_LINE_HALF_INDENTED
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracePlacement NEW_LINE_INDENTED
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracePlacement SAME_LINE
++-meth public static org.netbeans.api.java.source.CodeStyle$BracePlacement valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.CodeStyle$BracePlacement[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.CodeStyle$BracePlacement>
++-
++-CLSS public final static !enum org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle
++- outer org.netbeans.api.java.source.CodeStyle
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle ELIMINATE
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle GENERATE
++-fld public final static org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle LEAVE_ALONE
++-meth public static org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.CodeStyle$BracesGenerationStyle>
++-
++-CLSS public final static org.netbeans.api.java.source.CodeStyle$ImportGroups
++- outer org.netbeans.api.java.source.CodeStyle
++-meth public int getGroupId(java.lang.String,boolean)
++-supr java.lang.Object
++-hfds infos,separateStatic
++-hcls Info
++-
++-CLSS public final static !enum org.netbeans.api.java.source.CodeStyle$InsertionPoint
++- outer org.netbeans.api.java.source.CodeStyle
++-fld public final static org.netbeans.api.java.source.CodeStyle$InsertionPoint CARET_LOCATION
++-fld public final static org.netbeans.api.java.source.CodeStyle$InsertionPoint FIRST_IN_CATEGORY
++-fld public final static org.netbeans.api.java.source.CodeStyle$InsertionPoint LAST_IN_CATEGORY
++-fld public final static org.netbeans.api.java.source.CodeStyle$InsertionPoint ORDERED_IN_CATEGORY
++-meth public static org.netbeans.api.java.source.CodeStyle$InsertionPoint valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.CodeStyle$InsertionPoint[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.CodeStyle$InsertionPoint>
++-
++-CLSS public final static org.netbeans.api.java.source.CodeStyle$MemberGroups
++- outer org.netbeans.api.java.source.CodeStyle
++-meth public int getGroupId(com.sun.source.tree.Tree)
++-meth public int getGroupId(javax.lang.model.element.Element)
++-supr java.lang.Object
++-hfds infos
++-hcls Info
++-
++-CLSS public final static !enum org.netbeans.api.java.source.CodeStyle$WrapStyle
++- outer org.netbeans.api.java.source.CodeStyle
++-fld public final static org.netbeans.api.java.source.CodeStyle$WrapStyle WRAP_ALWAYS
++-fld public final static org.netbeans.api.java.source.CodeStyle$WrapStyle WRAP_IF_LONG
++-fld public final static org.netbeans.api.java.source.CodeStyle$WrapStyle WRAP_NEVER
++-meth public static org.netbeans.api.java.source.CodeStyle$WrapStyle valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.CodeStyle$WrapStyle[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.CodeStyle$WrapStyle>
++-
++-CLSS public final org.netbeans.api.java.source.CodeStyleUtils
++-meth public static java.lang.String addPrefixSuffix(java.lang.CharSequence,java.lang.String,java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NullAllowed()
++- anno 2 org.netbeans.api.annotations.common.NullAllowed()
++- anno 3 org.netbeans.api.annotations.common.NullAllowed()
++-meth public static java.lang.String computeGetterName(java.lang.CharSequence,boolean,boolean,org.netbeans.api.java.source.CodeStyle)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.lang.String computeSetterName(java.lang.CharSequence,boolean,org.netbeans.api.java.source.CodeStyle)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.lang.String getCapitalizedName(java.lang.CharSequence)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.lang.String getDecapitalizedName(java.lang.CharSequence)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.lang.String removePrefixSuffix(java.lang.CharSequence,java.lang.String,java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NullAllowed()
++- anno 3 org.netbeans.api.annotations.common.NullAllowed()
++-supr java.lang.Object
++-
++-CLSS public final org.netbeans.api.java.source.Comment
++-innr public final static !enum Style
++-meth public boolean equals(java.lang.Object)
++-meth public boolean isDocComment()
++-meth public boolean isNew()
++-meth public int endPos()
++-meth public int hashCode()
++-meth public int indent()
++-meth public int pos()
++-meth public java.lang.String getText()
++-meth public java.lang.String toString()
++-meth public org.netbeans.api.java.source.Comment$Style style()
++-meth public static org.netbeans.api.java.source.Comment create(java.lang.String)
++-meth public static org.netbeans.api.java.source.Comment create(org.netbeans.api.java.source.Comment$Style,int,int,int,java.lang.String)
++-meth public static org.netbeans.api.java.source.Comment create(org.netbeans.api.java.source.Comment$Style,java.lang.String)
++-supr java.lang.Object
++-hfds endPos,indent,pos,style,text
++-
++-CLSS public final static !enum org.netbeans.api.java.source.Comment$Style
++- outer org.netbeans.api.java.source.Comment
++-fld public final static org.netbeans.api.java.source.Comment$Style BLOCK
++-fld public final static org.netbeans.api.java.source.Comment$Style JAVADOC
++-fld public final static org.netbeans.api.java.source.Comment$Style LINE
++-fld public final static org.netbeans.api.java.source.Comment$Style WHITESPACE
++-meth public static org.netbeans.api.java.source.Comment$Style valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.Comment$Style[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.Comment$Style>
++-
++-CLSS public final org.netbeans.api.java.source.CommentCollector
++- anno 0 java.lang.Deprecated()
++-meth public static org.netbeans.api.java.source.CommentCollector getInstance()
++- anno 0 java.lang.Deprecated()
++-meth public void collect(org.netbeans.api.java.source.WorkingCopy) throws java.io.IOException
++- anno 0 java.lang.Deprecated()
++-meth public void collect(org.netbeans.api.lexer.TokenSequence<org.netbeans.api.java.lexer.JavaTokenId>,org.netbeans.api.java.source.CompilationInfo)
++- anno 0 java.lang.Deprecated()
++-supr java.lang.Object
++-hfds instance
++-
++-CLSS public org.netbeans.api.java.source.CompilationController
++-meth protected void doInvalidate()
++-meth public org.netbeans.api.java.source.JavaSource$Phase toPhase(org.netbeans.api.java.source.JavaSource$Phase) throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.CompilationController get(org.netbeans.modules.parsing.spi.Parser$Result)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr org.netbeans.api.java.source.CompilationInfo
++-
++-CLSS public org.netbeans.api.java.source.CompilationInfo
++-innr public final static !enum CacheClearPolicy
++-meth protected void doInvalidate()
++-meth public com.sun.source.tree.CompilationUnitTree getCompilationUnit()
++-meth public com.sun.source.util.DocTrees getDocTrees()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.util.TreePath getChangedTree()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 0 org.netbeans.api.annotations.common.CheckReturnValue()
++-meth public com.sun.source.util.Trees getTrees()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.Object getCachedValue(java.lang.Object)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.String getText()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.List<? extends javax.lang.model.element.TypeElement> getTopLevelElements()
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++-meth public java.util.List<javax.tools.Diagnostic> getDiagnostics()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.lang.model.SourceVersion getSourceVersion()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.lang.model.util.Elements getElements()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.lang.model.util.Types getTypes()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.swing.text.Document getDocument() throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public org.netbeans.api.java.source.ClasspathInfo getClasspathInfo()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.ElementUtilities getElementUtilities()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.JavaSource getJavaSource()
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++-meth public org.netbeans.api.java.source.JavaSource$Phase getPhase()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.PositionConverter getPositionConverter()
++- anno 0 java.lang.Deprecated()
++-meth public org.netbeans.api.java.source.TreeUtilities getTreeUtilities()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.TypeUtilities getTypeUtilities()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.lexer.TokenHierarchy<?> getTokenHierarchy()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.modules.parsing.api.Snapshot getSnapshot()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.openide.filesystems.FileObject getFileObject()
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++-meth public static org.netbeans.api.java.source.CompilationInfo get(org.netbeans.modules.parsing.spi.Parser$Result)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public void putCachedValue(java.lang.Object,java.lang.Object,org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NullAllowed()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds VERIFY_CONFINEMENT,elementUtilities,impl,invalid,javaSource,treeUtilities,trees,typeUtilities
++-
++-CLSS public final static !enum org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy
++- outer org.netbeans.api.java.source.CompilationInfo
++-fld public final static org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy ON_CHANGE
++-fld public final static org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy ON_SIGNATURE_CHANGE
++-fld public final static org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy ON_TASK_END
++-meth public static org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.CompilationInfo$CacheClearPolicy>
++-
++-CLSS public final org.netbeans.api.java.source.DocTreePathHandle
++-meth public boolean equals(java.lang.Object)
++-meth public com.sun.source.doctree.DocTree$Kind getKind()
++-meth public com.sun.source.util.DocTreePath resolve(org.netbeans.api.java.source.CompilationInfo)
++-meth public int hashCode()
++-meth public java.lang.String toString()
++-meth public org.netbeans.api.java.source.TreePathHandle getTreePathHandle()
++-meth public static org.netbeans.api.java.source.DocTreePathHandle create(com.sun.source.util.DocTreePath,org.netbeans.api.java.source.CompilationInfo)
++-supr java.lang.Object
++-hfds delegate,log
++-hcls CountingDelegate,Delegate,DocCommentDelegate,DocTreeDelegate
++-
++-CLSS public final org.netbeans.api.java.source.ElementHandle<%0 extends javax.lang.model.element.Element>
++-meth public boolean equals(java.lang.Object)
++-meth public boolean signatureEquals(org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.Element>)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public boolean signatureEquals({org.netbeans.api.java.source.ElementHandle%0})
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public int hashCode()
++-meth public java.lang.String getBinaryName()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.String getQualifiedName()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.String toString()
++-meth public javax.lang.model.element.ElementKind getKind()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static <%0 extends javax.lang.model.element.Element> org.netbeans.api.java.source.ElementHandle<{%%0}> create({%%0})
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.TypeElement> from(org.netbeans.api.java.source.TypeMirrorHandle<? extends javax.lang.model.type.DeclaredType>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.PackageElement> createPackageElementHandle(java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement> createTypeElementHandle(javax.lang.model.element.ElementKind,java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public {org.netbeans.api.java.source.ElementHandle%0} resolve(org.netbeans.api.java.source.CompilationInfo)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds NORMALIZATION_CACHE,kind,log,signatures
++-hcls ElementHandleAccessorImpl
++-
++-CLSS public final org.netbeans.api.java.source.ElementUtilities
++-innr public abstract interface static ElementAcceptor
++-meth public boolean alreadyDefinedIn(java.lang.CharSequence,javax.lang.model.type.ExecutableType,javax.lang.model.element.TypeElement)
++-meth public boolean hasGetter(javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,org.netbeans.api.java.source.CodeStyle)
++-meth public boolean hasSetter(javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,org.netbeans.api.java.source.CodeStyle)
++-meth public boolean implementsMethod(javax.lang.model.element.ExecutableElement)
++-meth public boolean isEffectivelyFinal(javax.lang.model.element.VariableElement)
++-meth public boolean isErroneous(javax.lang.model.element.Element)
++- anno 1 org.netbeans.api.annotations.common.NullAllowed()
++-meth public boolean isLocal(javax.lang.model.element.Element)
++-meth public boolean isMemberOf(javax.lang.model.element.Element,javax.lang.model.element.TypeElement)
++-meth public boolean isSynthetic(javax.lang.model.element.Element)
++-meth public boolean overridesMethod(javax.lang.model.element.ExecutableElement)
++-meth public com.sun.javadoc.Doc javaDocFor(javax.lang.model.element.Element)
++-meth public java.lang.CharSequence getElementName(javax.lang.model.element.Element,boolean)
++-meth public java.lang.Iterable<? extends javax.lang.model.element.Element> getLocalMembersAndVars(com.sun.source.tree.Scope,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++-meth public java.lang.Iterable<? extends javax.lang.model.element.Element> getLocalVars(com.sun.source.tree.Scope,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++-meth public java.lang.Iterable<? extends javax.lang.model.element.Element> getMembers(javax.lang.model.type.TypeMirror,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++-meth public java.lang.Iterable<? extends javax.lang.model.element.TypeElement> getGlobalTypes(org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++-meth public java.util.List<? extends javax.lang.model.element.ExecutableElement> findOverridableMethods(javax.lang.model.element.TypeElement)
++-meth public java.util.List<? extends javax.lang.model.element.ExecutableElement> findUnimplementedMethods(javax.lang.model.element.TypeElement)
++-meth public javax.lang.model.element.Element elementFor(com.sun.javadoc.Doc)
++-meth public javax.lang.model.element.Element findElement(java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.lang.model.element.Element getImplementationOf(javax.lang.model.element.ExecutableElement,javax.lang.model.element.TypeElement)
++-meth public javax.lang.model.element.ExecutableElement getOverriddenMethod(javax.lang.model.element.ExecutableElement)
++-meth public javax.lang.model.element.TypeElement enclosingTypeElement(javax.lang.model.element.Element)
++-meth public javax.lang.model.element.TypeElement outermostTypeElement(javax.lang.model.element.Element)
++-meth public static java.lang.String getBinaryName(javax.lang.model.element.TypeElement)
++-supr java.lang.Object
++-hfds NOT_OVERRIDABLE,ctx,delegate,info
++-hcls ElementNameVisitor
++-
++-CLSS public abstract interface static org.netbeans.api.java.source.ElementUtilities$ElementAcceptor
++- outer org.netbeans.api.java.source.ElementUtilities
++-meth public abstract boolean accept(javax.lang.model.element.Element,javax.lang.model.type.TypeMirror)
++-
++-CLSS public final org.netbeans.api.java.source.GeneratorUtilities
++-meth public !varargs com.sun.source.tree.CompilationUnitTree appendToAnnotationValue(com.sun.source.tree.CompilationUnitTree,javax.lang.model.element.TypeElement,java.lang.String,com.sun.source.tree.ExpressionTree[])
++-meth public !varargs com.sun.source.tree.ModifiersTree appendToAnnotationValue(com.sun.source.tree.ModifiersTree,javax.lang.model.element.TypeElement,java.lang.String,com.sun.source.tree.ExpressionTree[])
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} importComments({%%0},com.sun.source.tree.CompilationUnitTree)
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} importFQNs({%%0})
++-meth public com.sun.source.tree.ClassTree insertClassMember(com.sun.source.tree.ClassTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree insertClassMembers(com.sun.source.tree.ClassTree,java.lang.Iterable<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.CompilationUnitTree addImports(com.sun.source.tree.CompilationUnitTree,java.util.Set<? extends javax.lang.model.element.Element>)
++-meth public com.sun.source.tree.CompilationUnitTree createFromTemplate(org.openide.filesystems.FileObject,java.lang.String,javax.lang.model.element.ElementKind) throws java.io.IOException
++-meth public com.sun.source.tree.MethodTree createAbstractMethodImplementation(javax.lang.model.element.TypeElement,javax.lang.model.element.ExecutableElement)
++-meth public com.sun.source.tree.MethodTree createConstructor(com.sun.source.tree.ClassTree,java.lang.Iterable<? extends com.sun.source.tree.VariableTree>)
++-meth public com.sun.source.tree.MethodTree createConstructor(javax.lang.model.element.TypeElement,java.lang.Iterable<? extends javax.lang.model.element.VariableElement>,javax.lang.model.element.ExecutableElement)
++-meth public com.sun.source.tree.MethodTree createDefaultConstructor(javax.lang.model.element.TypeElement,java.lang.Iterable<? extends javax.lang.model.element.VariableElement>,javax.lang.model.element.ExecutableElement)
++-meth public com.sun.source.tree.MethodTree createGetter(com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.MethodTree createGetter(javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement)
++-meth public com.sun.source.tree.MethodTree createMethod(javax.lang.model.type.DeclaredType,javax.lang.model.element.ExecutableElement)
++-meth public com.sun.source.tree.MethodTree createOverridingMethod(javax.lang.model.element.TypeElement,javax.lang.model.element.ExecutableElement)
++-meth public com.sun.source.tree.MethodTree createSetter(com.sun.source.tree.ClassTree,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.MethodTree createSetter(javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement)
++-meth public java.util.List<? extends com.sun.source.tree.MethodTree> createAbstractMethodImplementations(javax.lang.model.element.TypeElement,java.lang.Iterable<? extends javax.lang.model.element.ExecutableElement>)
++-meth public java.util.List<? extends com.sun.source.tree.MethodTree> createAllAbstractMethodImplementations(javax.lang.model.element.TypeElement)
++-meth public java.util.List<? extends com.sun.source.tree.MethodTree> createOverridingMethods(javax.lang.model.element.TypeElement,java.lang.Iterable<? extends javax.lang.model.element.ExecutableElement>)
++-meth public static org.netbeans.api.java.source.GeneratorUtilities get(org.netbeans.api.java.source.WorkingCopy)
++-meth public void copyComments(com.sun.source.tree.Tree,com.sun.source.tree.Tree,boolean)
++-supr java.lang.Object
++-hfds CLASS_NAME,DEFAULT_RETURN_TYPE_VALUE,GENERATED_METHOD_BODY,METHOD_NAME,METHOD_RETURN_TYPE,OVERRIDDEN_METHOD_BODY,SCRIPT_ENGINE_ATTR,SIMPLE_CLASS_NAME,STRING_OUTPUT_MODE_ATTR,SUPER_METHOD_CALL,copy,manager
++-hcls ClassMemberComparator,FieldRefVisitor,ImportsComparator
++-
++-CLSS public abstract org.netbeans.api.java.source.JavaParserResultTask<%0 extends org.netbeans.modules.parsing.spi.Parser$Result>
++-cons protected init(org.netbeans.api.java.source.JavaSource$Phase)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-cons protected init(org.netbeans.api.java.source.JavaSource$Phase,org.netbeans.modules.parsing.spi.TaskIndexingMode)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public final org.netbeans.api.java.source.JavaSource$Phase getPhase()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-supr org.netbeans.modules.parsing.spi.IndexingAwareParserResultTask<{org.netbeans.api.java.source.JavaParserResultTask%0}>
++-hfds phase
++-
++-CLSS public final org.netbeans.api.java.source.JavaSource
++-innr public final static !enum Phase
++-innr public final static !enum Priority
++-innr public final static InsufficientMemoryException
++-meth public !varargs static org.netbeans.api.java.source.JavaSource create(org.netbeans.api.java.source.ClasspathInfo,org.openide.filesystems.FileObject[])
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Collection<org.openide.filesystems.FileObject> getFileObjects()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.concurrent.Future<java.lang.Void> runWhenScanFinished(org.netbeans.api.java.source.Task<org.netbeans.api.java.source.CompilationController>,boolean) throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.ClasspathInfo getClasspathInfo()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.ModificationResult runModificationTask(org.netbeans.api.java.source.Task<org.netbeans.api.java.source.WorkingCopy>) throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.JavaSource create(org.netbeans.api.java.source.ClasspathInfo,java.util.Collection<? extends org.openide.filesystems.FileObject>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.JavaSource forDocument(javax.swing.text.Document)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.JavaSource forFileObject(org.openide.filesystems.FileObject)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public void runUserActionTask(org.netbeans.api.java.source.Task<org.netbeans.api.java.source.CompilationController>,boolean) throws java.io.IOException
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds LOGGER,cachedCpInfo,classpathInfo,file2JavaSource,files,sources,supportedMIMETypes
++-hcls JavaSourceAccessorImpl,MultiTask
++-
++-CLSS public final static org.netbeans.api.java.source.JavaSource$InsufficientMemoryException
++- outer org.netbeans.api.java.source.JavaSource
++-meth public org.openide.filesystems.FileObject getFile()
++-supr java.io.IOException
++-hfds fo
++-
++-CLSS public final static !enum org.netbeans.api.java.source.JavaSource$Phase
++- outer org.netbeans.api.java.source.JavaSource
++-fld public final static org.netbeans.api.java.source.JavaSource$Phase ELEMENTS_RESOLVED
++-fld public final static org.netbeans.api.java.source.JavaSource$Phase MODIFIED
++-fld public final static org.netbeans.api.java.source.JavaSource$Phase PARSED
++-fld public final static org.netbeans.api.java.source.JavaSource$Phase RESOLVED
++-fld public final static org.netbeans.api.java.source.JavaSource$Phase UP_TO_DATE
++-meth public static org.netbeans.api.java.source.JavaSource$Phase valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.JavaSource$Phase[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.JavaSource$Phase>
++-
++-CLSS public final static !enum org.netbeans.api.java.source.JavaSource$Priority
++- outer org.netbeans.api.java.source.JavaSource
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority ABOVE_NORMAL
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority BELOW_NORMAL
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority HIGH
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority LOW
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority MAX
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority MIN
++-fld public final static org.netbeans.api.java.source.JavaSource$Priority NORMAL
++-meth public static org.netbeans.api.java.source.JavaSource$Priority valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.JavaSource$Priority[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.JavaSource$Priority>
++-
++-CLSS public abstract org.netbeans.api.java.source.JavaSourceTaskFactory
++-cons protected init(org.netbeans.api.java.source.JavaSource$Phase,org.netbeans.api.java.source.JavaSource$Priority)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-cons protected init(org.netbeans.api.java.source.JavaSource$Phase,org.netbeans.api.java.source.JavaSource$Priority,org.netbeans.modules.parsing.spi.TaskIndexingMode)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth protected abstract java.util.Collection<org.openide.filesystems.FileObject> getFileObjects()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth protected abstract org.netbeans.api.java.source.CancellableTask<org.netbeans.api.java.source.CompilationInfo> createTask(org.openide.filesystems.FileObject)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth protected final void fileObjectsChanged()
++-meth protected final void reschedule(org.openide.filesystems.FileObject)
++-supr java.lang.Object
++-hfds ACCESSOR2,BEFORE_ADDING_REMOVING_TASKS,FILEOBJECTS_COMPUTATION,LOG,SYNCHRONOUS_EVENTS,WORKER,file2JS,file2Task,filesLock,phase,priority,taskIndexingMode
++-hcls Accessor2
++-
++-CLSS public final org.netbeans.api.java.source.ModificationResult
++-innr public static Difference
++-meth public int[] getSpan(java.lang.Object)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.String getResultingSource(org.openide.filesystems.FileObject) throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.List<? extends org.netbeans.api.java.source.ModificationResult$Difference> getDifferences(org.openide.filesystems.FileObject)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<? extends org.openide.filesystems.FileObject> getModifiedFileObjects()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<java.io.File> getNewFiles()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.ModificationResult runModificationTask(java.util.Collection<org.netbeans.modules.parsing.api.Source>,org.netbeans.modules.parsing.api.UserTask) throws org.netbeans.modules.parsing.spi.ParseException
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public void commit() throws java.io.IOException
++-supr java.lang.Object
++-hfds LOG,committed,creator,diffs,lastCommitted,tag2Span
++-hcls CreateChange,FilteringReader,FilteringWriter
++-
++-CLSS public static org.netbeans.api.java.source.ModificationResult$Difference
++- outer org.netbeans.api.java.source.ModificationResult
++-innr public final static !enum Kind
++-meth public boolean isCommitToGuards()
++-meth public boolean isExcluded()
++-meth public java.lang.String getDescription()
++-meth public java.lang.String getNewText()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.String getOldText()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.String toString()
++-meth public javax.swing.text.Document openDocument() throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public javax.swing.text.Position getEndPosition()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.swing.text.Position getStartPosition()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.ModificationResult$Difference$Kind getKind()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public void exclude(boolean)
++-meth public void setCommitToGuards(boolean)
++-supr java.lang.Object
++-hfds ctxLookup,description,endPos,excluded,ignoreGuards,kind,newText,oldText,sourceFile,startPos,theSource
++-
++-CLSS public final static !enum org.netbeans.api.java.source.ModificationResult$Difference$Kind
++- outer org.netbeans.api.java.source.ModificationResult$Difference
++-fld public final static org.netbeans.api.java.source.ModificationResult$Difference$Kind CHANGE
++-fld public final static org.netbeans.api.java.source.ModificationResult$Difference$Kind CREATE
++-fld public final static org.netbeans.api.java.source.ModificationResult$Difference$Kind INSERT
++-fld public final static org.netbeans.api.java.source.ModificationResult$Difference$Kind REMOVE
++-meth public static org.netbeans.api.java.source.ModificationResult$Difference$Kind valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ModificationResult$Difference$Kind[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ModificationResult$Difference$Kind>
++-
++-CLSS public final org.netbeans.api.java.source.PositionConverter
++-meth public int getJavaSourcePosition(int)
++-meth public int getOriginalPosition(int)
++-supr java.lang.Object
++-hfds snapshot
++-
++-CLSS public final org.netbeans.api.java.source.RootsEvent
++-meth public java.lang.Iterable<? extends java.net.URL> getRoots()
++-meth public java.lang.String toString()
++-supr java.util.EventObject
++-hfds roots
++-
++-CLSS public final org.netbeans.api.java.source.ScanUtils
++-meth public static <%0 extends javax.lang.model.element.Element> {%%0} checkElement(org.netbeans.api.java.source.CompilationInfo,{%%0})
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NullAllowed()
++-meth public static java.util.concurrent.Future<java.lang.Void> postUserActionTask(org.netbeans.api.java.source.JavaSource,org.netbeans.api.java.source.Task<org.netbeans.api.java.source.CompilationController>)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.util.concurrent.Future<java.lang.Void> postUserTask(org.netbeans.modules.parsing.api.Source,org.netbeans.modules.parsing.api.UserTask)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static void signalIncompleteData(org.netbeans.api.java.source.CompilationInfo,org.netbeans.api.java.source.ElementHandle)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NullAllowed()
++-meth public static void waitUserActionTask(org.netbeans.api.java.source.JavaSource,org.netbeans.api.java.source.Task<org.netbeans.api.java.source.CompilationController>) throws java.io.IOException
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static void waitUserTask(org.netbeans.modules.parsing.api.Source,org.netbeans.modules.parsing.api.UserTask) throws org.netbeans.modules.parsing.spi.ParseException
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds retryGuard
++-hcls FinishedFuture,RetryWhenScanFinished,TaskWrapper
++-
++-CLSS public org.netbeans.api.java.source.SourceUtils
++-meth public static boolean checkTypesAssignable(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.type.TypeMirror,javax.lang.model.type.TypeMirror)
++-meth public static boolean isMainClass(java.lang.String,org.netbeans.api.java.source.ClasspathInfo)
++-meth public static boolean isMainClass(java.lang.String,org.netbeans.api.java.source.ClasspathInfo,boolean)
++-meth public static boolean isMainMethod(javax.lang.model.element.ExecutableElement)
++-meth public static boolean isScanInProgress()
++-meth public static java.lang.String resolveImport(org.netbeans.api.java.source.CompilationInfo,com.sun.source.util.TreePath,java.lang.String) throws java.io.IOException
++-meth public static java.lang.String[] getJVMSignature(org.netbeans.api.java.source.ElementHandle<?>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.net.URL getJavadoc(javax.lang.model.element.Element,org.netbeans.api.java.source.ClasspathInfo)
++- anno 0 java.lang.Deprecated()
++-meth public static java.net.URL getPreferredJavadoc(javax.lang.model.element.Element)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.util.Collection<? extends java.net.URL> getJavadoc(javax.lang.model.element.Element)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.util.Collection<? extends javax.lang.model.element.Element> getForwardReferences(com.sun.source.util.TreePath,int,com.sun.source.util.SourcePositions,com.sun.source.util.Trees)
++-meth public static java.util.Collection<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getMainClasses(org.openide.filesystems.FileObject)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.util.Collection<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getMainClasses(org.openide.filesystems.FileObject[])
++-meth public static java.util.List<? extends javax.annotation.processing.Completion> getAttributeValueCompletions(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.element.Element,javax.lang.model.element.AnnotationMirror,javax.lang.model.element.ExecutableElement,java.lang.String)
++-meth public static java.util.Set<com.sun.source.util.TreePath> computeDuplicates(org.netbeans.api.java.source.CompilationInfo,com.sun.source.util.TreePath,com.sun.source.util.TreePath,java.util.concurrent.atomic.AtomicBoolean)
++-meth public static java.util.Set<java.net.URL> getDependentRoots(java.net.URL)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.util.Set<java.net.URL> getDependentRoots(java.net.URL,boolean)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static javax.lang.model.element.TypeElement getEnclosingTypeElement(javax.lang.model.element.Element)
++- anno 0 java.lang.Deprecated()
++-meth public static javax.lang.model.element.TypeElement getOutermostEnclosingTypeElement(javax.lang.model.element.Element)
++-meth public static javax.lang.model.type.TypeMirror getBound(javax.lang.model.type.WildcardType)
++-meth public static javax.lang.model.type.TypeMirror resolveCapturedType(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.type.TypeMirror)
++-meth public static javax.lang.model.type.WildcardType resolveCapturedType(javax.lang.model.type.TypeMirror)
++-meth public static org.netbeans.api.lexer.TokenSequence<org.netbeans.api.java.lexer.JavaTokenId> getJavaTokenSequence(org.netbeans.api.lexer.TokenHierarchy,int)
++-meth public static org.openide.filesystems.FileObject getFile(javax.lang.model.element.Element,org.netbeans.api.java.source.ClasspathInfo)
++-meth public static org.openide.filesystems.FileObject getFile(org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.Element>,org.netbeans.api.java.source.ClasspathInfo)
++-meth public static void waitScanFinished() throws java.lang.InterruptedException
++-supr java.lang.Object
++-hfds LOG,MAX_LEN,VOWELS
++-hcls CaseInsensitiveMatch,CaseSensitiveMatch,Match
++-
++-CLSS public abstract interface org.netbeans.api.java.source.Task<%0 extends java.lang.Object>
++-meth public abstract void run({org.netbeans.api.java.source.Task%0}) throws java.lang.Exception
++-
++-CLSS public final org.netbeans.api.java.source.TreeMaker
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asNew({%%0})
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asRemoved({%%0})
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asReplacementOf({%%0},com.sun.source.tree.Tree)
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asReplacementOf({%%0},com.sun.source.tree.Tree,boolean)
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} setInitialValue({%%0},com.sun.source.tree.ExpressionTree)
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} setLabel({%%0},java.lang.CharSequence)
++-meth public com.sun.source.doctree.AttributeTree Attribute(java.lang.CharSequence,com.sun.source.doctree.AttributeTree$ValueKind,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.AuthorTree Author(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.CommentTree Comment(java.lang.String)
++-meth public com.sun.source.doctree.DeprecatedTree Deprecated(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.DocCommentTree DocComment(java.util.List<? extends com.sun.source.doctree.DocTree>,java.util.List<? extends com.sun.source.doctree.DocTree>,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.DocRootTree DocRoot()
++-meth public com.sun.source.doctree.EndElementTree EndElement(java.lang.CharSequence)
++-meth public com.sun.source.doctree.EntityTree Entity(java.lang.CharSequence)
++-meth public com.sun.source.doctree.IdentifierTree DocIdentifier(java.lang.CharSequence)
++-meth public com.sun.source.doctree.InheritDocTree InheritDoc()
++-meth public com.sun.source.doctree.LinkTree Link(com.sun.source.doctree.ReferenceTree,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.LinkTree LinkPlain(com.sun.source.doctree.ReferenceTree,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.LiteralTree Code(com.sun.source.doctree.TextTree)
++-meth public com.sun.source.doctree.LiteralTree DocLiteral(com.sun.source.doctree.TextTree)
++-meth public com.sun.source.doctree.ParamTree Param(boolean,com.sun.source.doctree.IdentifierTree,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.ReferenceTree Reference(com.sun.source.tree.ExpressionTree,java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.Tree>)
++- anno 1 org.netbeans.api.annotations.common.NullAllowed()
++- anno 2 org.netbeans.api.annotations.common.NullAllowed()
++- anno 3 org.netbeans.api.annotations.common.NullAllowed()
++-meth public com.sun.source.doctree.ReturnTree DocReturn(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.SeeTree See(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.SerialDataTree SerialData(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.SerialFieldTree SerialField(com.sun.source.doctree.IdentifierTree,com.sun.source.doctree.ReferenceTree,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.SerialTree Serial(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.SinceTree Since(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.StartElementTree StartElement(java.lang.CharSequence,java.util.List<? extends com.sun.source.doctree.DocTree>,boolean)
++-meth public com.sun.source.doctree.TextTree Text(java.lang.String)
++-meth public com.sun.source.doctree.ThrowsTree Exception(com.sun.source.doctree.ReferenceTree,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.ThrowsTree Throws(com.sun.source.doctree.ReferenceTree,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.UnknownBlockTagTree UnknownBlockTag(java.lang.CharSequence,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.UnknownInlineTagTree UnknownInlineTag(java.lang.CharSequence,java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.doctree.ValueTree Value(com.sun.source.doctree.ReferenceTree)
++-meth public com.sun.source.doctree.VersionTree Version(java.util.List<? extends com.sun.source.doctree.DocTree>)
++-meth public com.sun.source.tree.AnnotationTree Annotation(com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.ExpressionTree>)
++-meth public com.sun.source.tree.AnnotationTree TypeAnnotation(com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.ExpressionTree>)
++-meth public com.sun.source.tree.AnnotationTree addAnnotationAttrValue(com.sun.source.tree.AnnotationTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.AnnotationTree insertAnnotationAttrValue(com.sun.source.tree.AnnotationTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.AnnotationTree removeAnnotationAttrValue(com.sun.source.tree.AnnotationTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.AnnotationTree removeAnnotationAttrValue(com.sun.source.tree.AnnotationTree,int)
++-meth public com.sun.source.tree.ArrayAccessTree ArrayAccess(com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ArrayTypeTree ArrayType(com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.AssertTree Assert(com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.AssignmentTree Assignment(com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.BinaryTree Binary(com.sun.source.tree.Tree$Kind,com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.BlockTree Block(java.util.List<? extends com.sun.source.tree.StatementTree>,boolean)
++-meth public com.sun.source.tree.BlockTree addBlockStatement(com.sun.source.tree.BlockTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.BlockTree createMethodBody(com.sun.source.tree.MethodTree,java.lang.String)
++-meth public com.sun.source.tree.BlockTree insertBlockStatement(com.sun.source.tree.BlockTree,int,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.BlockTree removeBlockStatement(com.sun.source.tree.BlockTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.BlockTree removeBlockStatement(com.sun.source.tree.BlockTree,int)
++-meth public com.sun.source.tree.BreakTree Break(java.lang.CharSequence)
++-meth public com.sun.source.tree.CaseTree Case(com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.StatementTree>)
++-meth public com.sun.source.tree.CaseTree addCaseStatement(com.sun.source.tree.CaseTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.CaseTree insertCaseStatement(com.sun.source.tree.CaseTree,int,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.CaseTree removeCaseStatement(com.sun.source.tree.CaseTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.CaseTree removeCaseStatement(com.sun.source.tree.CaseTree,int)
++-meth public com.sun.source.tree.CatchTree Catch(com.sun.source.tree.VariableTree,com.sun.source.tree.BlockTree)
++-meth public com.sun.source.tree.ClassTree AnnotationType(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.ClassTree Class(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.Tree>,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.ClassTree Enum(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.Tree>,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.ClassTree Interface(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,java.util.List<? extends com.sun.source.tree.Tree>,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.ClassTree addClassImplementsClause(com.sun.source.tree.ClassTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree addClassMember(com.sun.source.tree.ClassTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree addClassTypeParameter(com.sun.source.tree.ClassTree,com.sun.source.tree.TypeParameterTree)
++-meth public com.sun.source.tree.ClassTree insertClassImplementsClause(com.sun.source.tree.ClassTree,int,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree insertClassMember(com.sun.source.tree.ClassTree,int,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree insertClassTypeParameter(com.sun.source.tree.ClassTree,int,com.sun.source.tree.TypeParameterTree)
++-meth public com.sun.source.tree.ClassTree removeClassImplementsClause(com.sun.source.tree.ClassTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree removeClassImplementsClause(com.sun.source.tree.ClassTree,int)
++-meth public com.sun.source.tree.ClassTree removeClassMember(com.sun.source.tree.ClassTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.ClassTree removeClassMember(com.sun.source.tree.ClassTree,int)
++-meth public com.sun.source.tree.ClassTree removeClassTypeParameter(com.sun.source.tree.ClassTree,com.sun.source.tree.TypeParameterTree)
++-meth public com.sun.source.tree.ClassTree removeClassTypeParameter(com.sun.source.tree.ClassTree,int)
++-meth public com.sun.source.tree.ClassTree setExtends(com.sun.source.tree.ClassTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.CompilationUnitTree CompilationUnit(com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.ImportTree>,java.util.List<? extends com.sun.source.tree.Tree>,javax.tools.JavaFileObject)
++-meth public com.sun.source.tree.CompilationUnitTree CompilationUnit(java.util.List<? extends com.sun.source.tree.AnnotationTree>,com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.ImportTree>,java.util.List<? extends com.sun.source.tree.Tree>,javax.tools.JavaFileObject)
++-meth public com.sun.source.tree.CompilationUnitTree CompilationUnit(java.util.List<? extends com.sun.source.tree.AnnotationTree>,org.openide.filesystems.FileObject,java.lang.String,java.util.List<? extends com.sun.source.tree.ImportTree>,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.CompilationUnitTree CompilationUnit(org.openide.filesystems.FileObject,java.lang.String,java.util.List<? extends com.sun.source.tree.ImportTree>,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.CompilationUnitTree addCompUnitImport(com.sun.source.tree.CompilationUnitTree,com.sun.source.tree.ImportTree)
++-meth public com.sun.source.tree.CompilationUnitTree addCompUnitTypeDecl(com.sun.source.tree.CompilationUnitTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.CompilationUnitTree addPackageAnnotation(com.sun.source.tree.CompilationUnitTree,com.sun.source.tree.AnnotationTree)
++-meth public com.sun.source.tree.CompilationUnitTree insertCompUnitImport(com.sun.source.tree.CompilationUnitTree,int,com.sun.source.tree.ImportTree)
++-meth public com.sun.source.tree.CompilationUnitTree insertCompUnitTypeDecl(com.sun.source.tree.CompilationUnitTree,int,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.CompilationUnitTree insertPackageAnnotation(com.sun.source.tree.CompilationUnitTree,int,com.sun.source.tree.AnnotationTree)
++-meth public com.sun.source.tree.CompilationUnitTree removeCompUnitImport(com.sun.source.tree.CompilationUnitTree,com.sun.source.tree.ImportTree)
++-meth public com.sun.source.tree.CompilationUnitTree removeCompUnitImport(com.sun.source.tree.CompilationUnitTree,int)
++-meth public com.sun.source.tree.CompilationUnitTree removeCompUnitTypeDecl(com.sun.source.tree.CompilationUnitTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.CompilationUnitTree removeCompUnitTypeDecl(com.sun.source.tree.CompilationUnitTree,int)
++-meth public com.sun.source.tree.CompilationUnitTree removePackageAnnotation(com.sun.source.tree.CompilationUnitTree,com.sun.source.tree.AnnotationTree)
++-meth public com.sun.source.tree.CompilationUnitTree removePackageAnnotation(com.sun.source.tree.CompilationUnitTree,int)
++-meth public com.sun.source.tree.CompoundAssignmentTree CompoundAssignment(com.sun.source.tree.Tree$Kind,com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ConditionalExpressionTree ConditionalExpression(com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ContinueTree Continue(java.lang.CharSequence)
++-meth public com.sun.source.tree.DoWhileLoopTree DoWhileLoop(com.sun.source.tree.ExpressionTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.EmptyStatementTree EmptyStatement()
++-meth public com.sun.source.tree.EnhancedForLoopTree EnhancedForLoop(com.sun.source.tree.VariableTree,com.sun.source.tree.ExpressionTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.ErroneousTree Erroneous(java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.ExpressionStatementTree ExpressionStatement(com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ExpressionTree QualIdent(java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.ExpressionTree QualIdent(javax.lang.model.element.Element)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.ForLoopTree ForLoop(java.util.List<? extends com.sun.source.tree.StatementTree>,com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.ExpressionStatementTree>,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.ForLoopTree addForLoopInitializer(com.sun.source.tree.ForLoopTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.ForLoopTree addForLoopUpdate(com.sun.source.tree.ForLoopTree,com.sun.source.tree.ExpressionStatementTree)
++-meth public com.sun.source.tree.ForLoopTree insertForLoopInitializer(com.sun.source.tree.ForLoopTree,int,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.ForLoopTree insertForLoopUpdate(com.sun.source.tree.ForLoopTree,int,com.sun.source.tree.ExpressionStatementTree)
++-meth public com.sun.source.tree.ForLoopTree removeForLoopInitializer(com.sun.source.tree.ForLoopTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.ForLoopTree removeForLoopInitializer(com.sun.source.tree.ForLoopTree,int)
++-meth public com.sun.source.tree.ForLoopTree removeForLoopUpdate(com.sun.source.tree.ForLoopTree,com.sun.source.tree.ExpressionStatementTree)
++-meth public com.sun.source.tree.ForLoopTree removeForLoopUpdate(com.sun.source.tree.ForLoopTree,int)
++-meth public com.sun.source.tree.IdentifierTree Identifier(java.lang.CharSequence)
++-meth public com.sun.source.tree.IdentifierTree Identifier(javax.lang.model.element.Element)
++-meth public com.sun.source.tree.IfTree If(com.sun.source.tree.ExpressionTree,com.sun.source.tree.StatementTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.ImportTree Import(com.sun.source.tree.Tree,boolean)
++-meth public com.sun.source.tree.InstanceOfTree InstanceOf(com.sun.source.tree.ExpressionTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.LabeledStatementTree LabeledStatement(java.lang.CharSequence,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.LambdaExpressionTree LambdaExpression(java.util.List<? extends com.sun.source.tree.VariableTree>,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.LambdaExpressionTree addLambdaParameter(com.sun.source.tree.LambdaExpressionTree,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.LambdaExpressionTree insertLambdaParameter(com.sun.source.tree.LambdaExpressionTree,int,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.LambdaExpressionTree removeLambdaParameter(com.sun.source.tree.LambdaExpressionTree,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.LambdaExpressionTree removeLambdaParameter(com.sun.source.tree.LambdaExpressionTree,int)
++-meth public com.sun.source.tree.LambdaExpressionTree setLambdaBody(com.sun.source.tree.LambdaExpressionTree,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.LiteralTree Literal(java.lang.Object)
++-meth public com.sun.source.tree.MemberReferenceTree MemberReference(com.sun.source.tree.MemberReferenceTree$ReferenceMode,com.sun.source.tree.ExpressionTree,java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.ExpressionTree>)
++-meth public com.sun.source.tree.MemberSelectTree MemberSelect(com.sun.source.tree.ExpressionTree,java.lang.CharSequence)
++-meth public com.sun.source.tree.MemberSelectTree MemberSelect(com.sun.source.tree.ExpressionTree,javax.lang.model.element.Element)
++-meth public com.sun.source.tree.MethodInvocationTree MethodInvocation(java.util.List<? extends com.sun.source.tree.ExpressionTree>,com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.ExpressionTree>)
++-meth public com.sun.source.tree.MethodInvocationTree addMethodInvocationArgument(com.sun.source.tree.MethodInvocationTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodInvocationTree addMethodInvocationTypeArgument(com.sun.source.tree.MethodInvocationTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodInvocationTree insertMethodInvocationArgument(com.sun.source.tree.MethodInvocationTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodInvocationTree insertMethodInvocationTypeArgument(com.sun.source.tree.MethodInvocationTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodInvocationTree removeMethodInvocationArgument(com.sun.source.tree.MethodInvocationTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodInvocationTree removeMethodInvocationArgument(com.sun.source.tree.MethodInvocationTree,int)
++-meth public com.sun.source.tree.MethodInvocationTree removeMethodInvocationTypeArgument(com.sun.source.tree.MethodInvocationTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodInvocationTree removeMethodInvocationTypeArgument(com.sun.source.tree.MethodInvocationTree,int)
++-meth public com.sun.source.tree.MethodTree Constructor(com.sun.source.tree.ModifiersTree,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,java.util.List<? extends com.sun.source.tree.VariableTree>,java.util.List<? extends com.sun.source.tree.ExpressionTree>,com.sun.source.tree.BlockTree)
++-meth public com.sun.source.tree.MethodTree Constructor(com.sun.source.tree.ModifiersTree,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,java.util.List<? extends com.sun.source.tree.VariableTree>,java.util.List<? extends com.sun.source.tree.ExpressionTree>,java.lang.String)
++-meth public com.sun.source.tree.MethodTree Method(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,java.util.List<? extends com.sun.source.tree.VariableTree>,java.util.List<? extends com.sun.source.tree.ExpressionTree>,com.sun.source.tree.BlockTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodTree Method(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,java.util.List<? extends com.sun.source.tree.VariableTree>,java.util.List<? extends com.sun.source.tree.ExpressionTree>,com.sun.source.tree.BlockTree,com.sun.source.tree.ExpressionTree,boolean)
++-meth public com.sun.source.tree.MethodTree Method(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.TypeParameterTree>,java.util.List<? extends com.sun.source.tree.VariableTree>,java.util.List<? extends com.sun.source.tree.ExpressionTree>,java.lang.String,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodTree Method(javax.lang.model.element.ExecutableElement,com.sun.source.tree.BlockTree)
++- anno 0 java.lang.Deprecated()
++-meth public com.sun.source.tree.MethodTree addMethodParameter(com.sun.source.tree.MethodTree,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.MethodTree addMethodThrows(com.sun.source.tree.MethodTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodTree addMethodTypeParameter(com.sun.source.tree.MethodTree,com.sun.source.tree.TypeParameterTree)
++-meth public com.sun.source.tree.MethodTree insertMethodParameter(com.sun.source.tree.MethodTree,int,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.MethodTree insertMethodThrows(com.sun.source.tree.MethodTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodTree insertMethodTypeParameter(com.sun.source.tree.MethodTree,int,com.sun.source.tree.TypeParameterTree)
++-meth public com.sun.source.tree.MethodTree removeMethodParameter(com.sun.source.tree.MethodTree,com.sun.source.tree.VariableTree)
++-meth public com.sun.source.tree.MethodTree removeMethodParameter(com.sun.source.tree.MethodTree,int)
++-meth public com.sun.source.tree.MethodTree removeMethodThrows(com.sun.source.tree.MethodTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.MethodTree removeMethodThrows(com.sun.source.tree.MethodTree,int)
++-meth public com.sun.source.tree.MethodTree removeMethodTypeParameter(com.sun.source.tree.MethodTree,com.sun.source.tree.TypeParameterTree)
++-meth public com.sun.source.tree.MethodTree removeMethodTypeParameter(com.sun.source.tree.MethodTree,int)
++-meth public com.sun.source.tree.ModifiersTree Modifiers(com.sun.source.tree.ModifiersTree,java.util.List<? extends com.sun.source.tree.AnnotationTree>)
++-meth public com.sun.source.tree.ModifiersTree Modifiers(java.util.Set<javax.lang.model.element.Modifier>)
++-meth public com.sun.source.tree.ModifiersTree Modifiers(java.util.Set<javax.lang.model.element.Modifier>,java.util.List<? extends com.sun.source.tree.AnnotationTree>)
++-meth public com.sun.source.tree.ModifiersTree Modifiers(long,java.util.List<? extends com.sun.source.tree.AnnotationTree>)
++-meth public com.sun.source.tree.ModifiersTree addModifiersAnnotation(com.sun.source.tree.ModifiersTree,com.sun.source.tree.AnnotationTree)
++-meth public com.sun.source.tree.ModifiersTree addModifiersModifier(com.sun.source.tree.ModifiersTree,javax.lang.model.element.Modifier)
++-meth public com.sun.source.tree.ModifiersTree insertModifiersAnnotation(com.sun.source.tree.ModifiersTree,int,com.sun.source.tree.AnnotationTree)
++-meth public com.sun.source.tree.ModifiersTree removeModifiersAnnotation(com.sun.source.tree.ModifiersTree,com.sun.source.tree.AnnotationTree)
++-meth public com.sun.source.tree.ModifiersTree removeModifiersAnnotation(com.sun.source.tree.ModifiersTree,int)
++-meth public com.sun.source.tree.ModifiersTree removeModifiersModifier(com.sun.source.tree.ModifiersTree,javax.lang.model.element.Modifier)
++-meth public com.sun.source.tree.NewArrayTree NewArray(com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.ExpressionTree>,java.util.List<? extends com.sun.source.tree.ExpressionTree>)
++-meth public com.sun.source.tree.NewArrayTree addNewArrayDimension(com.sun.source.tree.NewArrayTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewArrayTree addNewArrayInitializer(com.sun.source.tree.NewArrayTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewArrayTree insertNewArrayDimension(com.sun.source.tree.NewArrayTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewArrayTree insertNewArrayInitializer(com.sun.source.tree.NewArrayTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewArrayTree removeNewArrayDimension(com.sun.source.tree.NewArrayTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewArrayTree removeNewArrayDimension(com.sun.source.tree.NewArrayTree,int)
++-meth public com.sun.source.tree.NewArrayTree removeNewArrayInitializer(com.sun.source.tree.NewArrayTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewArrayTree removeNewArrayInitializer(com.sun.source.tree.NewArrayTree,int)
++-meth public com.sun.source.tree.NewClassTree NewClass(com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.ExpressionTree>,com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.ExpressionTree>,com.sun.source.tree.ClassTree)
++-meth public com.sun.source.tree.NewClassTree addNewClassArgument(com.sun.source.tree.NewClassTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewClassTree addNewClassTypeArgument(com.sun.source.tree.NewClassTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewClassTree insertNewClassArgument(com.sun.source.tree.NewClassTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewClassTree insertNewClassTypeArgument(com.sun.source.tree.NewClassTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewClassTree removeNewClassArgument(com.sun.source.tree.NewClassTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewClassTree removeNewClassArgument(com.sun.source.tree.NewClassTree,int)
++-meth public com.sun.source.tree.NewClassTree removeNewClassTypeArgument(com.sun.source.tree.NewClassTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.NewClassTree removeNewClassTypeArgument(com.sun.source.tree.NewClassTree,int)
++-meth public com.sun.source.tree.ParameterizedTypeTree ParameterizedType(com.sun.source.tree.Tree,java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.ParameterizedTypeTree addParameterizedTypeTypeArgument(com.sun.source.tree.ParameterizedTypeTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ParameterizedTypeTree insertParameterizedTypeTypeArgument(com.sun.source.tree.ParameterizedTypeTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ParameterizedTypeTree removeParameterizedTypeTypeArgument(com.sun.source.tree.ParameterizedTypeTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.ParameterizedTypeTree removeParameterizedTypeTypeArgument(com.sun.source.tree.ParameterizedTypeTree,int)
++-meth public com.sun.source.tree.ParenthesizedTree Parenthesized(com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.PrimitiveTypeTree PrimitiveType(javax.lang.model.type.TypeKind)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.ReturnTree Return(com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.SwitchTree Switch(com.sun.source.tree.ExpressionTree,java.util.List<? extends com.sun.source.tree.CaseTree>)
++-meth public com.sun.source.tree.SwitchTree addSwitchCase(com.sun.source.tree.SwitchTree,com.sun.source.tree.CaseTree)
++-meth public com.sun.source.tree.SwitchTree insertSwitchCase(com.sun.source.tree.SwitchTree,int,com.sun.source.tree.CaseTree)
++-meth public com.sun.source.tree.SwitchTree removeSwitchCase(com.sun.source.tree.SwitchTree,com.sun.source.tree.CaseTree)
++-meth public com.sun.source.tree.SwitchTree removeSwitchCase(com.sun.source.tree.SwitchTree,int)
++-meth public com.sun.source.tree.SynchronizedTree Synchronized(com.sun.source.tree.ExpressionTree,com.sun.source.tree.BlockTree)
++-meth public com.sun.source.tree.ThrowTree Throw(com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.Tree Type(java.lang.String)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.Tree Type(javax.lang.model.type.TypeMirror)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.TryTree Try(com.sun.source.tree.BlockTree,java.util.List<? extends com.sun.source.tree.CatchTree>,com.sun.source.tree.BlockTree)
++-meth public com.sun.source.tree.TryTree Try(java.util.List<? extends com.sun.source.tree.Tree>,com.sun.source.tree.BlockTree,java.util.List<? extends com.sun.source.tree.CatchTree>,com.sun.source.tree.BlockTree)
++-meth public com.sun.source.tree.TryTree addTryCatch(com.sun.source.tree.TryTree,com.sun.source.tree.CatchTree)
++-meth public com.sun.source.tree.TryTree insertTryCatch(com.sun.source.tree.TryTree,int,com.sun.source.tree.CatchTree)
++-meth public com.sun.source.tree.TryTree removeTryCatch(com.sun.source.tree.TryTree,com.sun.source.tree.CatchTree)
++-meth public com.sun.source.tree.TryTree removeTryCatch(com.sun.source.tree.TryTree,int)
++-meth public com.sun.source.tree.TypeCastTree TypeCast(com.sun.source.tree.Tree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.TypeParameterTree TypeParameter(java.lang.CharSequence,java.util.List<? extends com.sun.source.tree.ExpressionTree>)
++-meth public com.sun.source.tree.TypeParameterTree addTypeParameterBound(com.sun.source.tree.TypeParameterTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.TypeParameterTree insertTypeParameterBound(com.sun.source.tree.TypeParameterTree,int,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.TypeParameterTree removeTypeParameterBound(com.sun.source.tree.TypeParameterTree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.TypeParameterTree removeTypeParameterBound(com.sun.source.tree.TypeParameterTree,int)
++-meth public com.sun.source.tree.UnaryTree Unary(com.sun.source.tree.Tree$Kind,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.UnionTypeTree UnionType(java.util.List<? extends com.sun.source.tree.Tree>)
++-meth public com.sun.source.tree.VariableTree Variable(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.VariableTree Variable(javax.lang.model.element.VariableElement,com.sun.source.tree.ExpressionTree)
++-meth public com.sun.source.tree.WhileLoopTree WhileLoop(com.sun.source.tree.ExpressionTree,com.sun.source.tree.StatementTree)
++-meth public com.sun.source.tree.WildcardTree Wildcard(com.sun.source.tree.Tree$Kind,com.sun.source.tree.Tree)
++-meth public void addComment(com.sun.source.tree.Tree,org.netbeans.api.java.source.Comment,boolean)
++-meth public void insertComment(com.sun.source.tree.Tree,org.netbeans.api.java.source.Comment,int,boolean)
++-meth public void removeComment(com.sun.source.tree.Tree,int,boolean)
++-supr java.lang.Object
++-hfds copy,delegate,handler,model
++-hcls TreePosCleaner
++-
++-CLSS public final org.netbeans.api.java.source.TreePathHandle
++-meth public boolean equals(java.lang.Object)
++-meth public com.sun.source.tree.Tree$Kind getKind()
++-meth public com.sun.source.util.TreePath resolve(org.netbeans.api.java.source.CompilationInfo)
++-meth public int hashCode()
++-meth public java.lang.String toString()
++-meth public javax.lang.model.element.Element resolveElement(org.netbeans.api.java.source.CompilationInfo)
++-meth public org.netbeans.api.java.source.ElementHandle getElementHandle()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public org.openide.filesystems.FileObject getFileObject()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public static org.netbeans.api.java.source.TreePathHandle create(com.sun.source.util.TreePath,org.netbeans.api.java.source.CompilationInfo)
++-meth public static org.netbeans.api.java.source.TreePathHandle create(javax.lang.model.element.Element,org.netbeans.api.java.source.CompilationInfo)
++-meth public static org.netbeans.api.java.source.TreePathHandle from(org.netbeans.api.java.source.ElementHandle<?>,org.netbeans.api.java.source.ClasspathInfo)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds delegate,log
++-hcls CountingDelegate,Delegate,ElementDelegate,EmptyDelegate,TreeDelegate
++-
++-CLSS public final org.netbeans.api.java.source.TreeUtilities
++-fld public final static java.util.Set<com.sun.source.tree.Tree$Kind> CLASS_TREE_KINDS
++-meth public boolean isAccessible(com.sun.source.tree.Scope,javax.lang.model.element.Element,javax.lang.model.type.TypeMirror)
++-meth public boolean isAnnotation(com.sun.source.tree.ClassTree)
++- anno 0 java.lang.Deprecated()
++-meth public boolean isClass(com.sun.source.tree.ClassTree)
++- anno 0 java.lang.Deprecated()
++-meth public boolean isCompileTimeConstantExpression(com.sun.source.util.TreePath)
++-meth public boolean isEnum(com.sun.source.tree.ClassTree)
++- anno 0 java.lang.Deprecated()
++-meth public boolean isEnumConstant(com.sun.source.tree.VariableTree)
++-meth public boolean isInterface(com.sun.source.tree.ClassTree)
++- anno 0 java.lang.Deprecated()
++-meth public boolean isStaticContext(com.sun.source.tree.Scope)
++-meth public boolean isSynthetic(com.sun.source.util.TreePath)
++-meth public com.sun.source.doctree.DocTree translate(com.sun.source.doctree.DocTree,java.util.Map<? extends com.sun.source.doctree.DocTree,? extends com.sun.source.doctree.DocTree>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.BlockTree parseStaticBlock(java.lang.String,com.sun.source.util.SourcePositions[])
++-meth public com.sun.source.tree.ExpressionTree getReferenceClass(com.sun.source.util.DocTreePath)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.tree.ExpressionTree parseExpression(java.lang.String,com.sun.source.util.SourcePositions[])
++-meth public com.sun.source.tree.ExpressionTree parseVariableInitializer(java.lang.String,com.sun.source.util.SourcePositions[])
++-meth public com.sun.source.tree.Scope attributeTreeTo(com.sun.source.tree.Tree,com.sun.source.tree.Scope,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.Scope reattributeTreeTo(com.sun.source.tree.Tree,com.sun.source.tree.Scope,com.sun.source.tree.Tree)
++-meth public com.sun.source.tree.Scope scopeFor(int)
++-meth public com.sun.source.tree.Scope toScopeWithDisabledAccessibilityChecks(com.sun.source.tree.Scope)
++-meth public com.sun.source.tree.StatementTree getBreakContinueTarget(com.sun.source.util.TreePath)
++-meth public com.sun.source.tree.StatementTree parseStatement(java.lang.String,com.sun.source.util.SourcePositions[])
++-meth public com.sun.source.tree.Tree translate(com.sun.source.tree.Tree,java.util.Map<? extends com.sun.source.tree.Tree,? extends com.sun.source.tree.Tree>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public com.sun.source.util.DocTreePath pathFor(com.sun.source.util.DocTreePath,int)
++-meth public com.sun.source.util.DocTreePath pathFor(com.sun.source.util.DocTreePath,int,com.sun.source.util.DocSourcePositions)
++-meth public com.sun.source.util.DocTreePath pathFor(com.sun.source.util.TreePath,com.sun.source.doctree.DocCommentTree,int)
++-meth public com.sun.source.util.TreePath getPathElementOfKind(com.sun.source.tree.Tree$Kind,com.sun.source.util.TreePath)
++-meth public com.sun.source.util.TreePath getPathElementOfKind(java.util.Set<com.sun.source.tree.Tree$Kind>,com.sun.source.util.TreePath)
++-meth public com.sun.source.util.TreePath pathFor(com.sun.source.util.TreePath,int)
++-meth public com.sun.source.util.TreePath pathFor(com.sun.source.util.TreePath,int,com.sun.source.util.SourcePositions)
++-meth public com.sun.source.util.TreePath pathFor(int)
++-meth public int[] findBodySpan(com.sun.source.tree.ClassTree)
++-meth public int[] findMethodParameterSpan(com.sun.source.tree.MethodTree)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public int[] findNameSpan(com.sun.source.doctree.DocCommentTree,com.sun.source.doctree.ReferenceTree)
++-meth public int[] findNameSpan(com.sun.source.tree.BreakTree)
++-meth public int[] findNameSpan(com.sun.source.tree.ClassTree)
++-meth public int[] findNameSpan(com.sun.source.tree.ContinueTree)
++-meth public int[] findNameSpan(com.sun.source.tree.LabeledStatementTree)
++-meth public int[] findNameSpan(com.sun.source.tree.MemberReferenceTree)
++-meth public int[] findNameSpan(com.sun.source.tree.MemberSelectTree)
++-meth public int[] findNameSpan(com.sun.source.tree.MethodTree)
++-meth public int[] findNameSpan(com.sun.source.tree.TypeParameterTree)
++-meth public int[] findNameSpan(com.sun.source.tree.VariableTree)
++-meth public java.lang.CharSequence decodeIdentifier(java.lang.CharSequence)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.CharSequence encodeIdentifier(java.lang.CharSequence)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.List<? extends com.sun.source.tree.Tree> getReferenceParameters(com.sun.source.util.DocTreePath)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.List<org.netbeans.api.java.source.Comment> getComments(com.sun.source.tree.Tree,boolean)
++-meth public java.util.Set<? extends javax.lang.model.element.VariableElement> getUninitializedFields(com.sun.source.util.TreePath)
++-meth public java.util.Set<javax.lang.model.type.TypeMirror> getUncaughtExceptions(com.sun.source.util.TreePath)
++-meth public javax.lang.model.element.Name getReferenceName(com.sun.source.util.DocTreePath)
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.lang.model.type.TypeMirror attributeTree(com.sun.source.tree.Tree,com.sun.source.tree.Scope)
++-meth public javax.lang.model.type.TypeMirror parseType(java.lang.String,javax.lang.model.element.TypeElement)
++-meth public javax.lang.model.type.TypeMirror reattributeTree(com.sun.source.tree.Tree,com.sun.source.tree.Scope)
++-meth public org.netbeans.api.lexer.TokenSequence<org.netbeans.api.java.lexer.JavaTokenId> tokensFor(com.sun.source.tree.Tree)
++-meth public org.netbeans.api.lexer.TokenSequence<org.netbeans.api.java.lexer.JavaTokenId> tokensFor(com.sun.source.tree.Tree,com.sun.source.util.SourcePositions)
++-supr java.lang.Object
++-hfds ESCAPE_ENCODE,ESCAPE_UNENCODE,EXOTIC_ESCAPE,handler,info
++-hcls NBScope,NoImports,UncaughtExceptionsVisitor,UnrelatedTypeMirrorSet
++-
++-CLSS public final org.netbeans.api.java.source.TypeMirrorHandle<%0 extends javax.lang.model.type.TypeMirror>
++-meth public javax.lang.model.type.TypeKind getKind()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static <%0 extends javax.lang.model.type.TypeMirror> org.netbeans.api.java.source.TypeMirrorHandle<{%%0}> create({%%0})
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public {org.netbeans.api.java.source.TypeMirrorHandle%0} resolve(org.netbeans.api.java.source.CompilationInfo)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds element,kind,typeMirrors
++-hcls PlaceholderType,Visitor
++-
++-CLSS public final org.netbeans.api.java.source.TypeUtilities
++-innr public final static !enum TypeNameOptions
++-meth public !varargs java.lang.CharSequence getTypeName(javax.lang.model.type.TypeMirror,org.netbeans.api.java.source.TypeUtilities$TypeNameOptions[])
++- anno 0 org.netbeans.api.annotations.common.CheckReturnValue()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NullAllowed()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public boolean isCastable(javax.lang.model.type.TypeMirror,javax.lang.model.type.TypeMirror)
++-meth public javax.lang.model.type.ExecutableType getDescriptorType(javax.lang.model.type.DeclaredType)
++-meth public javax.lang.model.type.TypeMirror substitute(javax.lang.model.type.TypeMirror,java.util.List<? extends javax.lang.model.type.TypeMirror>,java.util.List<? extends javax.lang.model.type.TypeMirror>)
++-supr java.lang.Object
++-hfds CAPTURED_WILDCARD,UNKNOWN,info
++-hcls TypeNameVisitor
++-
++-CLSS public final static !enum org.netbeans.api.java.source.TypeUtilities$TypeNameOptions
++- outer org.netbeans.api.java.source.TypeUtilities
++-fld public final static org.netbeans.api.java.source.TypeUtilities$TypeNameOptions PRINT_AS_VARARG
++-fld public final static org.netbeans.api.java.source.TypeUtilities$TypeNameOptions PRINT_FQN
++-meth public static org.netbeans.api.java.source.TypeUtilities$TypeNameOptions valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.TypeUtilities$TypeNameOptions[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.TypeUtilities$TypeNameOptions>
++-
++-CLSS public final org.netbeans.api.java.source.TypesEvent
++-meth public java.lang.Iterable<? extends org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getTypes()
++-meth public java.lang.String toString()
++-supr java.util.EventObject
++-hfds types
++-
++-CLSS public org.netbeans.api.java.source.WorkingCopy
++-meth public com.sun.source.tree.Tree resolveRewriteTarget(com.sun.source.tree.Tree)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.JavaSource$Phase toPhase(org.netbeans.api.java.source.JavaSource$Phase) throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.TreeMaker getTreeMaker()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.WorkingCopy get(org.netbeans.modules.parsing.spi.Parser$Result)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public void rewrite(com.sun.source.tree.Tree,com.sun.source.doctree.DocTree,com.sun.source.doctree.DocTree)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public void rewrite(com.sun.source.tree.Tree,com.sun.source.tree.Tree)
++- anno 1 org.netbeans.api.annotations.common.NullAllowed()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public void rewriteInComment(int,int,java.lang.String)
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public void tag(com.sun.source.tree.Tree,java.lang.Object)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-supr org.netbeans.api.java.source.CompilationController
++-hfds NOT_LINKED,REWRITE_WHOLE_FILE,afterCommit,changes,docChanges,externalChanges,instance,introducedTrees,overlay,rewriteHints,textualChanges,tree2Tag,treeMaker,usedComments,userInfo
++-hcls CommentReplicator,Translator,TreeCollector
++-
++-CLSS public org.netbeans.api.java.source.matching.Matcher
++-intf org.openide.util.Cancellable
++-meth public boolean cancel()
++-meth public java.util.Collection<? extends org.netbeans.api.java.source.matching.Occurrence> match(org.netbeans.api.java.source.matching.Pattern)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.matching.Matcher setCancel(java.util.concurrent.atomic.AtomicBoolean)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.matching.Matcher setPresetVariable(java.util.Map<java.lang.String,com.sun.source.util.TreePath>,java.util.Map<java.lang.String,java.util.Collection<? extends com.sun.source.util.TreePath>>,java.util.Map<java.lang.String,java.lang.String>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.matching.Matcher setSearchRoot(com.sun.source.util.TreePath)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.matching.Matcher setTreeTopSearch()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.source.matching.Matcher setUntypedMatching()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.matching.Matcher create(org.netbeans.api.java.source.CompilationInfo)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds givenCancel,info,multiVariables,options,privateCancel,root,variables,variables2Names
++-
++-CLSS public final org.netbeans.api.java.source.matching.Occurrence
++-meth public com.sun.source.util.TreePath getOccurrenceRoot()
++-meth public java.util.Map<java.lang.String,com.sun.source.util.TreePath> getVariables()
++-meth public java.util.Map<java.lang.String,java.lang.String> getVariables2Names()
++-meth public java.util.Map<java.lang.String,java.util.Collection<? extends com.sun.source.util.TreePath>> getMultiVariables()
++-meth public java.util.Map<javax.lang.model.element.Element,com.sun.source.util.TreePath> getVariablesRemapToTrees()
++-meth public java.util.Map<javax.lang.model.element.Element,javax.lang.model.element.Element> getVariablesRemapToElement()
++-supr java.lang.Object
++-hfds multiVariables,occurrenceRoot,variables,variables2Names,variablesRemapToElement,variablesRemapToTrees
++-
++-CLSS public org.netbeans.api.java.source.matching.Pattern
++-meth public static org.netbeans.api.java.source.matching.Pattern createPatternWithFreeVariables(com.sun.source.util.TreePath,java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.matching.Pattern createPatternWithFreeVariables(java.lang.Iterable<? extends com.sun.source.util.TreePath>,java.util.Map<java.lang.String,javax.lang.model.type.TypeMirror>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.matching.Pattern createPatternWithRemappableVariables(com.sun.source.util.TreePath,java.util.Collection<? extends javax.lang.model.element.VariableElement>,boolean)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.matching.Pattern createPatternWithRemappableVariables(java.lang.Iterable<? extends com.sun.source.util.TreePath>,java.util.Collection<? extends javax.lang.model.element.VariableElement>,boolean)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.matching.Pattern createSimplePattern(com.sun.source.util.TreePath)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.matching.Pattern createSimplePattern(java.lang.Iterable<? extends com.sun.source.util.TreePath>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds allowRemapToTrees,pattern,remappable,variable2Type
++-
++-CLSS public org.netbeans.api.java.source.support.CancellableTreePathScanner<%0 extends java.lang.Object, %1 extends java.lang.Object>
++-cons public init()
++-cons public init(java.util.concurrent.atomic.AtomicBoolean)
++-meth protected boolean isCanceled()
++-meth public void cancel()
++-meth public {org.netbeans.api.java.source.support.CancellableTreePathScanner%0} scan(com.sun.source.tree.Tree,{org.netbeans.api.java.source.support.CancellableTreePathScanner%1})
++-meth public {org.netbeans.api.java.source.support.CancellableTreePathScanner%0} scan(java.lang.Iterable<? extends com.sun.source.tree.Tree>,{org.netbeans.api.java.source.support.CancellableTreePathScanner%1})
++-supr com.sun.source.util.TreePathScanner<{org.netbeans.api.java.source.support.CancellableTreePathScanner%0},{org.netbeans.api.java.source.support.CancellableTreePathScanner%1}>
++-hfds canceled,internalCanceled
++-
++-CLSS public org.netbeans.api.java.source.support.CancellableTreeScanner<%0 extends java.lang.Object, %1 extends java.lang.Object>
++-cons public init()
++-cons public init(java.util.concurrent.atomic.AtomicBoolean)
++-meth protected boolean isCanceled()
++-meth public void cancel()
++-meth public {org.netbeans.api.java.source.support.CancellableTreeScanner%0} scan(com.sun.source.tree.Tree,{org.netbeans.api.java.source.support.CancellableTreeScanner%1})
++-meth public {org.netbeans.api.java.source.support.CancellableTreeScanner%0} scan(java.lang.Iterable<? extends com.sun.source.tree.Tree>,{org.netbeans.api.java.source.support.CancellableTreeScanner%1})
++-supr com.sun.source.util.TreeScanner<{org.netbeans.api.java.source.support.CancellableTreeScanner%0},{org.netbeans.api.java.source.support.CancellableTreeScanner%1}>
++-hfds canceled,internalCanceled
++-
++-CLSS public org.netbeans.api.java.source.support.ProfileSupport
++-innr public abstract interface static ViolationCollector
++-innr public abstract interface static ViolationCollectorFactory
++-innr public final static !enum Validation
++-innr public static Violation
++-meth public static java.util.Collection<org.netbeans.api.java.source.support.ProfileSupport$Violation> findProfileViolations(org.netbeans.api.java.queries.SourceLevelQuery$Profile,java.lang.Iterable<java.net.URL>,java.lang.Iterable<java.net.URL>,java.lang.Iterable<java.net.URL>,java.util.Set<org.netbeans.api.java.source.support.ProfileSupport$Validation>)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++- anno 4 org.netbeans.api.annotations.common.NonNull()
++- anno 5 org.netbeans.api.annotations.common.NonNull()
++-meth public static void findProfileViolations(org.netbeans.api.java.queries.SourceLevelQuery$Profile,java.lang.Iterable<java.net.URL>,java.lang.Iterable<java.net.URL>,java.lang.Iterable<java.net.URL>,java.util.Set<org.netbeans.api.java.source.support.ProfileSupport$Validation>,org.netbeans.api.java.source.support.ProfileSupport$ViolationCollectorFactory)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++- anno 4 org.netbeans.api.annotations.common.NonNull()
++- anno 5 org.netbeans.api.annotations.common.NonNull()
++- anno 6 org.netbeans.api.annotations.common.NonNull()
++-meth public static void findProfileViolations(org.netbeans.api.java.queries.SourceLevelQuery$Profile,java.lang.Iterable<java.net.URL>,java.lang.Iterable<java.net.URL>,java.lang.Iterable<java.net.URL>,java.util.Set<org.netbeans.api.java.source.support.ProfileSupport$Validation>,org.netbeans.api.java.source.support.ProfileSupport$ViolationCollectorFactory,java.util.concurrent.Executor)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++- anno 4 org.netbeans.api.annotations.common.NonNull()
++- anno 5 org.netbeans.api.annotations.common.NonNull()
++- anno 6 org.netbeans.api.annotations.common.NonNull()
++- anno 7 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds ANNOTATION_PROFILE,ANNOTATION_VALUE,ATTR_PROFILE,LOG,RES_MANIFEST,RP
++-hcls ArchiveCache,Context,CurrentThreadExecutor,DefaultProfileViolationCollector,TypeCache,Validator
++-
++-CLSS public final static !enum org.netbeans.api.java.source.support.ProfileSupport$Validation
++- outer org.netbeans.api.java.source.support.ProfileSupport
++-fld public final static org.netbeans.api.java.source.support.ProfileSupport$Validation BINARIES_BY_CLASS_FILES
++-fld public final static org.netbeans.api.java.source.support.ProfileSupport$Validation BINARIES_BY_MANIFEST
++-fld public final static org.netbeans.api.java.source.support.ProfileSupport$Validation SOURCES
++-meth public static org.netbeans.api.java.source.support.ProfileSupport$Validation valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.support.ProfileSupport$Validation[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.support.ProfileSupport$Validation>
++-
++-CLSS public static org.netbeans.api.java.source.support.ProfileSupport$Violation
++- outer org.netbeans.api.java.source.support.ProfileSupport
++-meth public java.net.URL getFile()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public java.net.URL getRoot()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public org.netbeans.api.java.queries.SourceLevelQuery$Profile getRequiredProfile()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement> getUsedType()
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-supr java.lang.Object
++-hfds file,profile,root,type
++-
++-CLSS public abstract interface static org.netbeans.api.java.source.support.ProfileSupport$ViolationCollector
++- outer org.netbeans.api.java.source.support.ProfileSupport
++-meth public abstract void finished()
++-meth public abstract void reportProfileViolation(org.netbeans.api.java.source.support.ProfileSupport$Violation)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-
++-CLSS public abstract interface static org.netbeans.api.java.source.support.ProfileSupport$ViolationCollectorFactory
++- outer org.netbeans.api.java.source.support.ProfileSupport
++-meth public abstract boolean isCancelled()
++-meth public abstract org.netbeans.api.java.source.support.ProfileSupport$ViolationCollector create(java.net.URL)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-
++-CLSS public final org.netbeans.api.java.source.support.ReferencesCount
++-meth public int getPackageReferenceCount(org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.PackageElement>)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public int getTypeReferenceCount(org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.TypeElement>)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.Iterable<? extends org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.PackageElement>> getUsedPackages()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public java.lang.Iterable<? extends org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.TypeElement>> getUsedTypes()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.support.ReferencesCount get(java.net.URL)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static org.netbeans.api.java.source.support.ReferencesCount get(org.netbeans.api.java.source.ClasspathInfo)
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-supr java.lang.Object
++-hfds LOG,lck,pkgFreqs,roots,typeFreqs
++-hcls AsHandlesIterable,AsHandlesIterator
++-
++-CLSS public abstract org.netbeans.modules.parsing.api.Task
++-cons public init()
++-supr java.lang.Object
++-
++-CLSS public abstract org.netbeans.modules.parsing.spi.IndexingAwareParserResultTask<%0 extends org.netbeans.modules.parsing.spi.Parser$Result>
++-cons protected init(org.netbeans.modules.parsing.spi.TaskIndexingMode)
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public final org.netbeans.modules.parsing.spi.TaskIndexingMode getIndexingMode()
++-supr org.netbeans.modules.parsing.spi.ParserResultTask<{org.netbeans.modules.parsing.spi.IndexingAwareParserResultTask%0}>
++-hfds scanMode
++-
++-CLSS public abstract org.netbeans.modules.parsing.spi.ParserResultTask<%0 extends org.netbeans.modules.parsing.spi.Parser$Result>
++-cons public init()
++-meth public abstract int getPriority()
++-meth public abstract void run({org.netbeans.modules.parsing.spi.ParserResultTask%0},org.netbeans.modules.parsing.spi.SchedulerEvent)
++-supr org.netbeans.modules.parsing.spi.SchedulerTask
++-
++-CLSS public abstract org.netbeans.modules.parsing.spi.SchedulerTask
++-meth public abstract int getPriority()
++-meth public abstract java.lang.Class<? extends org.netbeans.modules.parsing.spi.Scheduler> getSchedulerClass()
++-meth public abstract void cancel()
++-supr org.netbeans.modules.parsing.api.Task
++-
++-CLSS public abstract interface org.openide.util.Cancellable
++-meth public abstract boolean cancel()
++-
++diff --git a/java.source.base/nbproject/project.properties b/java.source.base/nbproject/project.properties
++index 79ff31f2d..7ce269f89 100644
++--- a/java.source.base/nbproject/project.properties
+++++ b/java.source.base/nbproject/project.properties
++@@ -42,12 +42,12 @@
++ #javac.compilerargs=-Xlint:unchecked
++ nbroot=../..
++ is.autoload=true
++-javac.source=1.8
+++javac.source=1.7
++ javadoc.name=Java Source Base
++ javadoc.title=Java Source Base
++ javadoc.arch=${basedir}/arch.xml
++ javadoc.apichanges=${basedir}/apichanges.xml
++-spec.version.base=2.20.1
+++spec.version.base=2.9.1
++ test.qa-functional.cp.extra=${refactoring.java.dir}/modules/ext/nb-javac-api.jar
++ test.unit.run.cp.extra=${o.n.core.dir}/core/core.jar:\
++     ${o.n.core.dir}/lib/boot.jar:\
++diff --git a/java.source.base/nbproject/project.xml b/java.source.base/nbproject/project.xml
++index 2c0e5a0e3..43e63ca59 100644
++--- a/java.source.base/nbproject/project.xml
+++++ b/java.source.base/nbproject/project.xml
++@@ -98,7 +98,7 @@ made subject to such option by the copyright holder.
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>8.15</specification-version>
+++                        <specification-version>8.4</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++@@ -186,7 +186,7 @@ made subject to such option by the copyright holder.
++                     <compile-dependency/>
++                     <run-dependency>
++                         <release-version>1</release-version>
++-                        <specification-version>1.30</specification-version>
+++                        <specification-version>1.0</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++@@ -203,7 +203,7 @@ made subject to such option by the copyright holder.
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>1.42</specification-version>
+++                        <specification-version>1.22</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++diff --git a/java.source.base/src/org/netbeans/api/java/source/AssignComments.java b/java.source.base/src/org/netbeans/api/java/source/AssignComments.java
++index cac791f24..9e738b1a1 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/AssignComments.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/AssignComments.java
++@@ -31,7 +31,6 @@
++ 
++ package org.netbeans.api.java.source;
++ 
++-import com.sun.source.tree.AnnotationTree;
++ import com.sun.source.tree.AssignmentTree;
++ import com.sun.source.tree.BinaryTree;
++ import com.sun.source.tree.BlockTree;
++@@ -41,11 +40,8 @@ import com.sun.source.tree.CompoundAssignmentTree;
++ import com.sun.source.tree.ConditionalExpressionTree;
++ import com.sun.source.tree.InstanceOfTree;
++ import com.sun.source.tree.MemberSelectTree;
++-import com.sun.source.tree.MethodTree;
++-import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.tree.UnaryTree;
++-import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.SourcePositions;
++ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreeScanner;
++@@ -53,12 +49,10 @@ import com.sun.tools.javac.tree.JCTree;
++ import java.util.Collections;
++ import java.util.EnumSet;
++ import java.util.HashMap;
++-import java.util.HashSet;
++ import java.util.Iterator;
++ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.Map;
++-import java.util.Set;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++ import org.netbeans.api.java.lexer.JavaTokenId;
++@@ -66,6 +60,7 @@ import org.netbeans.api.lexer.Token;
++ import org.netbeans.api.lexer.TokenSequence;
++ import org.netbeans.modules.java.source.builder.CommentHandlerService;
++ import org.netbeans.modules.java.source.builder.CommentSetImpl;
+++import org.netbeans.modules.java.source.query.CommentHandler;
++ import org.netbeans.modules.java.source.query.CommentSet;
++ 
++ import static org.netbeans.modules.java.source.save.PositionEstimator.NOPOS;
++@@ -77,15 +72,6 @@ import static org.netbeans.modules.java.source.save.PositionEstimator.NOPOS;
++  */
++ class AssignComments extends TreeScanner<Void, Void> {
++     
++-    private static final EnumSet<Tree.Kind> JAVADOC_KINDS = EnumSet.of(
++-            Tree.Kind.CLASS,
++-            Tree.Kind.INTERFACE,
++-            Tree.Kind.ENUM,
++-
++-            Tree.Kind.METHOD,
++-            Tree.Kind.VARIABLE
++-    );
++-    
++     private final CompilationInfo info;
++     private final CompilationUnitTree unit;
++     private final Tree commentMapTarget;
++@@ -191,49 +177,6 @@ class AssignComments extends TreeScanner<Void, Void> {
++                 child = ((MemberSelectTree)t).getExpression();
++                 break;
++                 
++-            case VARIABLE: {
++-                VariableTree varT = (VariableTree)t;
++-                if (varT.getModifiers() != null) {
++-                    child = varT.getModifiers();
++-                } else {
++-                    child = null;
++-                }
++-                break;
++-            }
++-            case METHOD: {
++-                MethodTree mT = (MethodTree)t;
++-                if (mT.getModifiers() != null) {
++-                    child = mT.getModifiers();
++-                } else {
++-                    child = null;
++-                }
++-                break;
++-            }
++-            case CLASS: {
++-                ClassTree cT = (ClassTree)t;
++-                if (cT.getModifiers() != null) {
++-                    child = cT.getModifiers();
++-                } else {
++-                    child = null;
++-                }
++-                break;
++-            }
++-                
++-            case MODIFIERS: {
++-                ModifiersTree modT = (ModifiersTree)t;
++-                List<? extends AnnotationTree> annTs = modT.getAnnotations();
++-                if (annTs == null || annTs.isEmpty()) {
++-                    return pos;
++-                }
++-                int modPos = ((JCTree)annTs.get(0)).pos;
++-                if (modPos < pos) {
++-                    child = annTs.get(0);
++-                } else {
++-                    child = null;
++-                }
++-                break;
++-            }
++-                
++             default:
++                 return pos;
++         }
++@@ -276,7 +219,7 @@ class AssignComments extends TreeScanner<Void, Void> {
++                 if (commentMapTarget != null) {
++                     mapComments2(tree, false, tree.getKind() != Tree.Kind.BLOCK || parent == null || parent.getKind() != Tree.Kind.METHOD);
++                     if (mapComments) {
++-                        ((CommentSetImpl) createCommentSet(tree)).commentsMapped();
+++                        ((CommentSetImpl) createCommentSet(commentService, tree)).commentsMapped();
++                     }
++                 }
++                 return null;
++@@ -329,11 +272,7 @@ class AssignComments extends TreeScanner<Void, Void> {
++                 }
++                 if (cnt == 0) {
++                     // look within empty class/interface decls, too
++-                    int cPos = ((JCTree)tree).pos;
++-                    seq.move(cPos);
++-                    if (seq.moveNext()) {
++-                        lookWithinEmptyBlock(seq, clazz);
++-                    }
+++                    lookWithinEmptyBlock(seq, clazz);
++                 }
++             }
++         } else {
++@@ -357,9 +296,6 @@ class AssignComments extends TreeScanner<Void, Void> {
++                     break;
++                 }
++             } else if (isComment(seq.token().id())) {
++-                if (alreadySeenJavadoc(seq.token(), seq)) {
++-                    continue;
++-                }
++                 if (seq.index() > tokenIndexAlreadyAdded)
++                     result.add(seq.token());
++                 tokenIndexAlreadyAdded = seq.index();
++@@ -370,16 +306,15 @@ class AssignComments extends TreeScanner<Void, Void> {
++                 break;
++             }
++         }
++-        attachComments(tree, result, CommentSet.RelativePosition.INLINE);
+++        if (!result.isEmpty()) {
+++            CommentSet.RelativePosition position = CommentSet.RelativePosition.INLINE;
+++            attachComments(tree, result, position);
+++        }
++     }
++ 
++     private void attachComments(Tree tree, CommentsCollection result, CommentSet.RelativePosition position) {
++-        if (!mapComments) {
++-            return;
++-        }
++-        if (result.isEmpty()) {
++-            return;
++-        }
+++        if (!mapComments) return;
+++        
++         CommentSetImpl cs = commentService.getComments(tree);
++         for (Token<JavaTokenId> token : result) {
++             attachComment(position, cs, token);
++@@ -392,7 +327,7 @@ class AssignComments extends TreeScanner<Void, Void> {
++             case COMPILATION_UNIT:
++                 CompilationUnitTree cut = (CompilationUnitTree) tree;
++                 return cut.getPackageName() == null;
++-//            case MODIFIERS:
+++            case MODIFIERS:
++             case PRIMITIVE_TYPE:
++                 return true;
++             default: return false;
++@@ -438,12 +373,7 @@ class AssignComments extends TreeScanner<Void, Void> {
++         }
++         return nl == -1 ? -1 : st - nl;
++     }
++-    
++-    private boolean alreadySeenJavadoc(Token<JavaTokenId> token, TokenSequence<JavaTokenId> seq) {
++-        return (token.id() == JavaTokenId.JAVADOC_COMMENT) &&
++-               (mixedJDocTokenIndexes.contains(seq.index()));
++-    }
++-    
+++
++     private void lookForTrailing(TokenSequence<JavaTokenId> seq, Tree tree) {
++         //TODO: [RKo] This does not work correctly... need improvemetns.
++         seq.move((int) positions.getEndPosition(unit, tree));
++@@ -459,10 +389,6 @@ class AssignComments extends TreeScanner<Void, Void> {
++                 newlines += nls;
++                 // do not map trailing comments for statements enclosed in do/while/if
++             } else if (isComment(t.id())) {
++-                // TODO: trailing javadocs should be ignored
++-                if (alreadySeenJavadoc(t, seq)) {
++-                    continue;
++-                }
++                 if (newlines > 0 && parentEatsTralingComment(seq, tree)) {
++                     return;
++                 }
++@@ -489,30 +415,10 @@ class AssignComments extends TreeScanner<Void, Void> {
++         maxLines = Math.max(maxLines, newlines);
++ 
++         for (TrailingCommentsDataHolder h : comments) {
++-            boolean assign = false;
++-            
++             if (h.newlines < maxLines) {
++-                // if the comment is a javadoc one and there IS a valid declaration at seq.index(), the javadoc should
++-                // not be eaten although separated by many lines:
++-                assign = true;
++-                
++-                if (index >= 0 && maxLines < Integer.MAX_VALUE && seq.token().length() > 0 && h.comment.id() == JavaTokenId.JAVADOC_COMMENT) {
++-                    TreePath tp = info.getTreeUtilities().pathFor(seq.offset() + 1);
++-                    // traverse up to last parent that claims the position
++-                    while (tp.getParentPath() != null && 
++-                           positions.getStartPosition(info.getCompilationUnit(), tp.getParentPath().getLeaf()) == seq.offset()) {
++-                        tp = tp.getParentPath();
++-                    }
++-                    if (tp != null && JAVADOC_KINDS.contains(tp.getLeaf().getKind())) {
++-                        assign = false;
++-                    }
++-                }
++-            }
++-            if (assign) {
++-                attachComments(Collections.singleton(h.comment), tree, CommentSet.RelativePosition.TRAILING);
+++                attachComments(Collections.singleton(h.comment), tree, commentService, CommentSet.RelativePosition.TRAILING);
++             } else {
++                 index = h.index - 1;
++-                seq.moveIndex(h.index);
++                 break;
++             }
++         }
++@@ -569,26 +475,15 @@ class AssignComments extends TreeScanner<Void, Void> {
++         return false;
++     }
++     
++-    /**
++-     * Indexes for Javadoc tokens to skip. Sometimes javadocs can be mixed in between preceding 
++-     * tree constituents (e.g. between modifiers of a method). In that case, they will be 
++-     * assigned to the method before scanning continues to the modifier tree; tokenIndexAlreadyAdded
++-     * will not record these commenst scanned "in advance". This Set is a filter so they will
++-     * not be added again to nested constituents of the tree.
++-     */
++-    private Set<Integer>    mixedJDocTokenIndexes = new HashSet<>();
++-    
++     private void lookForPreceedings(TokenSequence<JavaTokenId> seq, Tree tree) {
++         int reset = ((JCTree) tree).pos;
++-        int plainCommentLimit = reset;
++         if (limit >= 0) {
++             // infix and postfix trees must not eat comments up to the symbol, otherwise
++             // comments which belong to nested subtrees of operands could be eaten and incorrectly assigned.
++-            // Javadoc comments will be pushed upwards by individual nodes
++-            plainCommentLimit = Math.min(reset, limit);
+++            reset = Math.min(reset, limit);
++         }
++         CommentsCollection cc = null;
++-        while (seq.moveNext() && seq.offset() < plainCommentLimit) {
+++        while (seq.moveNext() && seq.offset() < reset) {
++             JavaTokenId id = seq.token().id();
++             if (isComment(id)) {
++                 if (cc == null) {
++@@ -598,36 +493,10 @@ class AssignComments extends TreeScanner<Void, Void> {
++                 }
++             }
++         }
++-        tokenIndexAlreadyAdded = seq.index();
++-        if (plainCommentLimit < reset && JAVADOC_KINDS.contains(tree.getKind())) {
++-            // look specifically for Javadocs
++-
++-            // NOTE: local variables and method parameters will be affected by this, too - 
++-            // potential javadoc among their modifiers will be assigned to the variable,
++-            // rather than to the nearest modifier.
++-            int start = reset;
++-            int end = 0;
++-            CommentsCollection result = new CommentsCollection();
++-            while (seq.moveNext() && seq.offset() < reset) {
++-                JavaTokenId id = seq.token().id();
++-                if (id == JavaTokenId.JAVADOC_COMMENT) {
++-                    mixedJDocTokenIndexes.add(seq.index());
++-                    start = Math.min(seq.offset(), start);
++-                    end = Math.max(seq.offset() + seq.token().length(), end);
++-                    result.add(seq.token());
++-                }
++-            }
++-            if (!result.isEmpty()) {
++-                if (cc == null) {
++-                    cc = result;
++-                } else {
++-                    cc.merge(result);
++-                }
++-            }
++-        }
++-        attachComments(cc, tree, CommentSet.RelativePosition.PRECEDING);
+++        attachComments(cc, tree, commentService, CommentSet.RelativePosition.PRECEDING);
++         seq.move(reset);
++         seq.moveNext();
+++        tokenIndexAlreadyAdded = seq.index();
++     }
++ 
++     /**
++@@ -664,15 +533,15 @@ class AssignComments extends TreeScanner<Void, Void> {
++         return seq.offset() + (tokenIndexAlreadyAdded >= seq.index() ? seq.token().length() : 0);
++     }
++ 
++-    private void attachComments(Iterable<? extends Token<JavaTokenId>> foundComments, Tree tree, CommentSet.RelativePosition positioning) {
+++    private void attachComments(Iterable<? extends Token<JavaTokenId>> foundComments, Tree tree, CommentHandler ch, CommentSet.RelativePosition positioning) {
++         if (foundComments == null || !foundComments.iterator().hasNext() || !mapComments) return;
++-        CommentSetImpl set = (CommentSetImpl) createCommentSet(tree);
+++        CommentSetImpl set = (CommentSetImpl) createCommentSet(ch, tree);
++         if (set.areCommentsMapped()) return ;
++         for (Token<JavaTokenId> comment : foundComments) {
++             attachComment(positioning, set, comment);
++         }
++     }
++-    
+++
++     private void attachComment(CommentSet.RelativePosition positioning, CommentSet set, Token<JavaTokenId> comment) {
++         Comment c = Comment.create(getStyle(comment.id()), comment.offset(null),
++                 getEndPos(comment), NOPOS, getText(comment));
++@@ -738,11 +607,6 @@ class AssignComments extends TreeScanner<Void, Void> {
++             if (ts.index() < tokenIndexAlreadyAdded) continue;
++             t = ts.token();
++             if (isComment(t.id())) {
++-                if (t.id() == JavaTokenId.JAVADOC_COMMENT &&
++-                    mixedJDocTokenIndexes.contains(ts.index())) {
++-                    // skip javadocs already added
++-                    continue;
++-                }
++                 result.add(t);
++                 start = Math.min(ts.offset(), start);
++                 end = Math.max(ts.offset() + t.length(), end);
++@@ -764,8 +628,8 @@ class AssignComments extends TreeScanner<Void, Void> {
++         return result;
++     }
++ 
++-    private CommentSet createCommentSet(Tree lastTree) {
++-        return commentService.getComments(lastTree);
+++    private CommentSet createCommentSet(CommentHandler ch, Tree lastTree) {
+++        return ch.getComments(lastTree);
++     }
++ 
++     private boolean isComment(JavaTokenId tid) {
++diff --git a/java.source.base/src/org/netbeans/api/java/source/ClasspathInfo.java b/java.source.base/src/org/netbeans/api/java/source/ClasspathInfo.java
++index 5a4ab8a93..c11ff41e9 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/ClasspathInfo.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/ClasspathInfo.java
++@@ -48,16 +48,15 @@ import java.beans.PropertyChangeListener;
++ import java.io.File;
++ import java.net.URI;
++ import java.net.URISyntaxException;
+++import java.net.URL;
++ import java.util.ArrayList;
++ import java.util.Arrays;
++ import java.util.List;
++-import java.util.function.Function;
++ import java.util.logging.Logger;
++ import java.util.logging.Level;
++ import javax.swing.event.ChangeListener;
++ import javax.swing.text.Document;
++ import javax.tools.JavaFileManager;
++-import javax.tools.StandardLocation;
++ import org.netbeans.api.annotations.common.CheckForNull;
++ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.annotations.common.NullAllowed;
++@@ -122,7 +121,6 @@ public final class ClasspathInfo {
++     private final ChangeSupport listenerList;
++     private final FileManagerTransaction fmTx;
++     private final ProcessorGenerated pgTx;
++-    private final Function<JavaFileManager.Location, JavaFileManager> jfmProvider;
++ 
++     //@GuardedBy("this")
++     private ClassIndex usagesQuery;
++@@ -136,8 +134,7 @@ public final class ClasspathInfo {
++                           final boolean backgroundCompilation,
++                           final boolean ignoreExcludes,
++                           final boolean hasMemoryFileManager,
++-                          final boolean useModifiedFiles,
++-                          @NullAllowed final Function<JavaFileManager.Location, JavaFileManager> jfmProvider) {
+++                          final boolean useModifiedFiles) {
++         assert archiveProvider != null;
++         assert bootCp != null;
++         assert compileCp != null;
++@@ -188,7 +185,6 @@ public final class ClasspathInfo {
++         }
++         assert fmTx != null : "No file manager transaction.";   //NOI18N
++         assert pgTx != null : "No processor generated transaction.";   //NOI18N
++-        this.jfmProvider = jfmProvider;
++     }
++ 
++     @Override
++@@ -283,7 +279,7 @@ public final class ClasspathInfo {
++             @NullAllowed final ClassPath sourcePath) {
++         Parameters.notNull("bootPath", bootPath);       //NOI18N
++         Parameters.notNull("classPath", classPath);     //NOI18N
++-        return create (bootPath, classPath, sourcePath, null, false, false, false, true, null);
+++        return create (bootPath, classPath, sourcePath, null, false, false, false, true);
++     }
++ 
++     @NonNull
++@@ -304,7 +300,7 @@ public final class ClasspathInfo {
++             compilePath = ClassPath.EMPTY;
++         }
++         ClassPath srcPath = ClassPath.getClassPath(fo, ClassPath.SOURCE);
++-        return create (bootPath, compilePath, srcPath, filter, backgroundCompilation, ignoreExcludes, hasMemoryFileManager, useModifiedFiles, null);
+++        return create (bootPath, compilePath, srcPath, filter, backgroundCompilation, ignoreExcludes, hasMemoryFileManager, useModifiedFiles);
++     }
++ 
++     @NonNull
++@@ -316,19 +312,9 @@ public final class ClasspathInfo {
++             final boolean backgroundCompilation,
++             final boolean ignoreExcludes,
++             final boolean hasMemoryFileManager,
++-            final boolean useModifiedFiles,
++-            @NullAllowed final Function<JavaFileManager.Location, JavaFileManager> jfmProvider) {
++-        return new ClasspathInfo(
++-                CachingArchiveProvider.getDefault(),
++-                bootPath,
++-                classPath,
++-                sourcePath,
++-                filter,
++-                backgroundCompilation,
++-                ignoreExcludes,
++-                hasMemoryFileManager,
++-                useModifiedFiles,
++-                jfmProvider);
+++            final boolean useModifiedFiles) {
+++        return new ClasspathInfo(CachingArchiveProvider.getDefault(), bootPath, classPath, sourcePath,
+++                filter, backgroundCompilation, ignoreExcludes, hasMemoryFileManager, useModifiedFiles);
++     }
++ 
++     // Public methods ----------------------------------------------------------
++@@ -394,23 +380,6 @@ public final class ClasspathInfo {
++     private synchronized JavaFileManager createFileManager() {
++             final boolean hasSources = this.cachedSrcClassPath != ClassPath.EMPTY;
++             final SiblingSource siblings = SiblingSupport.create();
++-            final JavaFileManager outFm;
++-            if (hasSources) {
++-                JavaFileManager tmp;
++-                if (jfmProvider != null && (tmp = jfmProvider.apply(StandardLocation.CLASS_OUTPUT)) != null) {
++-                    outFm = tmp;
++-                } else {
++-                    outFm = new OutputFileManager(
++-                            this.archiveProvider,
++-                            this.outputClassPath,
++-                            this.cachedSrcClassPath,
++-                            this.cachedAptSrcClassPath,
++-                            siblings.getProvider(),
++-                            fmTx);
++-                }
++-            } else {
++-                outFm = null;
++-            }
++             final JavaFileManager fileManager = new ProxyFileManager (
++                 new CachingFileManager (this.archiveProvider, this.cachedBootClassPath, true, true),
++                 new CachingFileManager (this.archiveProvider, this.cachedCompileClassPath, false, true),
++@@ -423,7 +392,14 @@ public final class ClasspathInfo {
++                             siblings.getProvider(),
++                             fmTx
++                     ) : null,
++-                outFm,
+++                hasSources ?
+++                    new OutputFileManager(
+++                            this.archiveProvider,
+++                            this.outputClassPath,
+++                            this.cachedSrcClassPath,
+++                            this.cachedAptSrcClassPath,
+++                            siblings.getProvider(),
+++                            fmTx) : null,
++                 new TreeLoaderOutputFileManager(this.archiveProvider, fmTx),
++                 this.memoryFileManager,
++                 this.pgTx,
++@@ -499,26 +475,15 @@ public final class ClasspathInfo {
++         }
++ 
++         @Override
++-        public ClasspathInfo create (
++-                final ClassPath bootPath,
+++        public ClasspathInfo create (final ClassPath bootPath,
++                 final ClassPath classPath,
++                 final ClassPath sourcePath,
++                 final JavaFileFilterImplementation filter,
++                 final boolean backgroundCompilation,
++                 final boolean ignoreExcludes,
++                 final boolean hasMemoryFileManager,
++-                final boolean useModifiedFiles,
++-                @NullAllowed final Function<JavaFileManager.Location, JavaFileManager> jfmProvider) {
++-            return ClasspathInfo.create(
++-                    bootPath,
++-                    classPath,
++-                    sourcePath,
++-                    filter,
++-                    backgroundCompilation,
++-                    ignoreExcludes,
++-                    hasMemoryFileManager,
++-                    useModifiedFiles,
++-                    jfmProvider);
+++                final boolean useModifiedFiles) {
+++            return ClasspathInfo.create(bootPath, classPath, sourcePath, filter, backgroundCompilation, ignoreExcludes, hasMemoryFileManager, useModifiedFiles);
++         }
++ 
++         @Override
++@@ -547,14 +512,4 @@ public final class ClasspathInfo {
++             return cpInfo.memoryFileManager.unregister(fqn);
++         }
++     }
++-
++-    /** Interface for {@link Task}s that want to provide {@link ClasspathInfo}. The interface is to be implemented
++-     * on a {@link Task}, which needs to provide its own classpath information. When the task is run, reinitializes the parser
++-     * to use that classpath.
++-     * 
++-     * @since 2.20
++-     */
++-    public interface Provider {
++-        public ClasspathInfo getClasspathInfo ();
++-    }
++ }
++\ No newline at end of file
++diff --git a/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java b/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java
++index 8be14686f..b5d253c2b 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java
++@@ -514,13 +514,6 @@ public final class CodeStyle {
++         return WrapStyle.valueOf(wrap);
++     }
++ 
++-    /**
++-     * @since 2.18
++-     */
++-    public boolean wrapAfterDisjunctiveCatchBar() {
++-        return preferences.getBoolean(wrapAfterDisjunctiveCatchBar, getDefaultAsBoolean(wrapAfterDisjunctiveCatchBar));
++-    }
++-
++     public WrapStyle wrapFor() {
++         String wrap = preferences.get(wrapFor, getDefaultAsString(wrapFor));
++         return WrapStyle.valueOf(wrap);
++@@ -1140,20 +1133,6 @@ public final class CodeStyle {
++                 });
++             }
++         }
++-        
++-        public String toString() {
++-            StringBuilder sb = new StringBuilder();
++-            sb.append("ImportGroups[\n");
++-            for (Info i : infos) {
++-                sb.append("\t").append(i.prefix).append(": ");
++-                if (i.isStatic) {
++-                    sb.append("static");
++-                }
++-                sb.append("\n");
++-            }
++-            sb.append("]");
++-            return sb.toString();
++-        }
++ 
++         /**
++          * Returns the group number of the imported element. Imports with the same
++@@ -1293,25 +1272,6 @@ public final class CodeStyle {
++             }
++             return infos.length;
++         }
++-        
++-        /** 
++-         * Pretty-prints the group info
++-         * @return 
++-         */
++-        public String toString() {
++-            StringBuilder sb = new StringBuilder();
++-            sb.append("MemberGroups[\n");
++-            for (Info i : infos) {
++-                sb.append("\t").append(i.kind.toString()).append(": ");
++-                sb.append(i.mods);
++-                if (i.ignoreVisibility) {
++-                    sb.append(", ignore");
++-                }
++-                sb.append("\n");
++-            }
++-            sb.append("]");
++-            return sb.toString();
++-        }
++ 
++         private static final class Info {
++ 
++diff --git a/java.source.base/src/org/netbeans/api/java/source/ElementHandle.java b/java.source.base/src/org/netbeans/api/java/source/ElementHandle.java
++index ee942fbc8..5be23d50a 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/ElementHandle.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/ElementHandle.java
++@@ -49,7 +49,6 @@ import com.sun.tools.javac.code.Symbol;
++ import com.sun.tools.javac.code.Symtab;
++ import com.sun.tools.javac.jvm.Target;
++ import com.sun.tools.javac.model.JavacElements;
++-import com.sun.tools.javac.util.Name;
++ import java.util.Arrays;
++ import java.util.List;
++ import java.util.logging.Logger;
++@@ -186,7 +185,7 @@ public final class ElementHandle<T extends Element> {
++                        }
++                    }
++                 } else if (type != null) {
++-                    return (T) new Symbol.MethodSymbol(0, (Name) jt.getElements().getName(this.signatures[1]), Symtab.instance(jt.getContext()).unknownType, (Symbol)type);
+++                    return (T) new Symbol.MethodSymbol(0, jt.getElements().getName(this.signatures[1]), Symtab.instance(jt.getContext()).unknownType, (Symbol)type);
++                 } else 
++                     log.log(Level.INFO, "Resolved type is null for kind = {0}", this.kind);  // NOI18N
++                 break;
++@@ -228,7 +227,7 @@ public final class ElementHandle<T extends Element> {
++                         }
++                     }
++                 } else if (type != null) {
++-                    return (T) new Symbol.VarSymbol(0, (Name) jt.getElements().getName(this.signatures[1]), Symtab.instance(jt.getContext()).unknownType, (Symbol)type);
+++                    return (T) new Symbol.VarSymbol(0, jt.getElements().getName(this.signatures[1]), Symtab.instance(jt.getContext()).unknownType, (Symbol)type);
++                 } else 
++                     log.log(Level.INFO, "Resolved type is null for kind = {0}", this.kind); // NOI18N
++                 break;
++@@ -619,7 +618,7 @@ public final class ElementHandle<T extends Element> {
++             return Symtab.instance(jt.getContext()).arrayClass;
++         }
++         else {
++-            final JavacElements elements = (JavacElements) jt.getElements();                    
+++            final JavacElements elements = jt.getElements();                    
++             return (TypeElement) elements.getTypeElementByBinaryName(signature);
++         }
++     }
++diff --git a/java.source.base/src/org/netbeans/api/java/source/ElementUtilities.java b/java.source.base/src/org/netbeans/api/java/source/ElementUtilities.java
++index b18d999bd..634c1e661 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/ElementUtilities.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/ElementUtilities.java
++@@ -62,6 +62,7 @@ import com.sun.tools.javac.code.Symbol.VarSymbol;
++ import com.sun.tools.javac.code.Symtab;
++ import com.sun.tools.javac.code.Type;
++ import com.sun.tools.javac.code.Type.ClassType;
+++import com.sun.tools.javac.code.Type.MethodType;
++ import com.sun.tools.javac.comp.AttrContext;
++ import com.sun.tools.javac.comp.Enter;
++ import com.sun.tools.javac.comp.Env;
++@@ -71,12 +72,9 @@ import com.sun.tools.javac.model.JavacTypes;
++ import com.sun.tools.javac.util.Context;
++ import com.sun.tools.javac.util.Names;
++ import com.sun.tools.javadoc.DocEnv;
++-import java.util.ArrayDeque;
++ 
++ import java.util.ArrayList;
++-import java.util.Collection;
++ import java.util.Collections;
++-import java.util.Deque;
++ import java.util.EnumSet;
++ import java.util.HashMap;
++ import java.util.HashSet;
++@@ -84,9 +82,7 @@ import java.util.Iterator;
++ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.ListIterator;
++-import java.util.Map;
++ import java.util.Set;
++-import java.util.Stack;
++ 
++ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++@@ -112,7 +108,6 @@ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.annotations.common.NullAllowed;
++ import org.netbeans.modules.java.source.builder.ElementsService;
++ import org.netbeans.modules.java.source.JavadocEnv;
++-import org.openide.util.Parameters;
++ 
++ /**
++  *
++@@ -301,7 +296,9 @@ public final class ElementUtilities {
++                 case SHORT:
++                 case VOID:
++                     Type t = Symtab.instance(ctx).classType;
++-                    com.sun.tools.javac.util.List<Type> typeargs = com.sun.tools.javac.util.List.of((Type)type);
+++                    com.sun.tools.javac.util.List<Type> typeargs = Source.instance(ctx).allowGenerics() ?
+++                        com.sun.tools.javac.util.List.of((Type)type) :
+++                        com.sun.tools.javac.util.List.<Type>nil();
++                     t = new ClassType(t.getEnclosingType(), typeargs, t.tsym);
++                     Element classPseudoMember = new VarSymbol(Flags.STATIC | Flags.PUBLIC | Flags.FINAL, Names.instance(ctx)._class, t, ((Type)type).tsym);
++                     if (acceptor == null || acceptor.accept(classPseudoMember, type))
++@@ -313,7 +310,9 @@ public final class ElementUtilities {
++                             members.add(member);
++                     }
++                     t = Symtab.instance(ctx).classType;
++-                    typeargs = com.sun.tools.javac.util.List.of((Type)type);
+++                    typeargs = Source.instance(ctx).allowGenerics() ?
+++                        com.sun.tools.javac.util.List.of((Type)type) :
+++                        com.sun.tools.javac.util.List.<Type>nil();
++                     t = new ClassType(t.getEnclosingType(), typeargs, t.tsym);
++                     classPseudoMember = new VarSymbol(Flags.STATIC | Flags.PUBLIC | Flags.FINAL, Names.instance(ctx)._class, t, ((Type)type).tsym);
++                     if (acceptor == null || acceptor.accept(classPseudoMember, type))
++@@ -324,119 +323,6 @@ public final class ElementUtilities {
++         return members;
++     }
++     
++-    /**
++-     * Finds symbols which satisfy the acceptor visible in the passed scope. The method returns a Map keyed by the
++-     * found Elements. Each Element is mapped to the closest Scope which introduced the Element. For example, a field declared
++-     * by an outer class will map to that outer class' scope. An accessible field inherited from outer class' superclass
++-     * will <b>also</b> map to the outer class' scope. The caller can then determine, based on {@link Element#getEnclosingElement()} and
++-     * the mapped Scope whether the symbol is directly declared, or inherited. Non-member symbols (variables, parameters, try resources, ...) 
++-     * map to Scope of their defining Method.
++-     * <p/>
++-     * If an Element from outer Scope is hidden by a similar Element
++-     * in inner scope, only the Element visible to the passed Scope is returned. For example, if both the starting (inner) class and its outer class
++-     * define method m(), only InnerClass.m() will be returned.
++-     * <p/>
++-     * Note that {@link Scope#getEnclosingMethod()} returns non-null even for class scopes of local or anonymous classes; check both {@link Scope#getEnclosingClass()}
++-     * and {@link Scope#getEnclosingMethod()} and their relationship to get the appropriate Element associated with the Scope.
++-     * 
++-     * @param scope the initial search scope
++-     * @param acceptor the element filter.
++-     * @return Mapping of visible and accessible Elements to their defining {@link Scope}s (which introduced them).
++-     * @see Scope
++-     * @since 2.16
++-     */
++-    public @NonNull Map<? extends Element, Scope> findElementsAndOrigins(@NonNull Scope scope, ElementAcceptor acceptor) {
++-        Parameters.notNull("scope", scope); // NOI18N
++-        final Map<Element, Scope> result = new HashMap<>();
++-
++-        if (acceptor == null) {
++-            acceptor = ALL_ACCEPTOR;
++-        }
++-        Map<String, List<Element>> members = null;
++-        Elements elements = JavacElements.instance(ctx);
++-        Types types = JavacTypes.instance(ctx);
++-        TypeElement cls;
++-        Deque<Scope>  outerScopes = new ArrayDeque();
++-        Deque<Map>  visibleEls = new ArrayDeque();
++-        Element current = null;
++-        
++-        while (scope != null) {
++-            cls = scope.getEnclosingClass();
++-            Element e = null;
++-            if (cls != null) {
++-                ExecutableElement ee = scope.getEnclosingMethod();
++-                if (ee != null && ee.getEnclosingElement() != cls) {
++-                    e = ee;
++-                } else {
++-                    e = cls;
++-                }
++-            }
++-            if (e != current) {
++-                // push at the scope entry
++-                members = new HashMap<>();
++-                outerScopes.push(scope);
++-                visibleEls.push(members);
++-                current = e;
++-            }
++-            if (cls != null) {
++-                for (Element local : scope.getLocalElements()) {
++-                    if (acceptor == null || acceptor.accept(local, null)) {
++-                        addIfNotHidden(local, members, local.getSimpleName().toString(), elements, types);
++-                    }
++-                }
++-                TypeMirror type = cls.asType();
++-                for (Element member : elements.getAllMembers(cls)) {
++-                    if (acceptor == null || acceptor.accept(member, type)) {
++-                        addIfNotHidden(member, members, member.getSimpleName().toString(), elements, types);
++-                    }
++-                }
++-            } else {
++-                for (Element local : scope.getLocalElements()) {
++-                    if (!local.getKind().isClass() && !local.getKind().isInterface() &&
++-                        (acceptor == null || local.getEnclosingElement() != null && acceptor.accept(local, local.getEnclosingElement().asType()))) {
++-                        addIfNotHidden(local, members, local.getSimpleName().toString(), elements, types);
++-                    }
++-                }
++-            }
++-            scope = scope.getEnclosingScope();
++-        }
++-        
++-        while (!outerScopes.isEmpty()) {
++-            Scope x = outerScopes.pop();
++-            Collection<List<Element>> vals = (Collection<List<Element>>)visibleEls.pop().values();
++-            for (List<Element> col : vals) {
++-                for (Element e : col) {
++-                    result.put(e, x);
++-                }
++-            }
++-        }
++-        
++-        return result;
++-    }
++-    
++-    private static final ElementAcceptor ALL_ACCEPTOR = new ElementAcceptor() {
++-        @Override
++-        public boolean accept(Element e, TypeMirror type) {
++-            return true;
++-        }
++-    };
++-    
++-    private void addIfNotHidden(Element local, Map<String, List<Element>> members, String name, Elements elements, Types types) {
++-        List<Element> namedMembers = members.get(name);
++-        if (namedMembers != null) {
++-            // PENDING: isHidden will not report variables, which are effectively hidden by anonymous or local class' variables.
++-            // there is no way how to denote such hidden local variable/paremeter from the inner class, so such vars should
++-            // not be reported.
++-            if (isHidden(local, namedMembers, elements, types)) {
++-                return;
++-            }
++-        } else {
++-            namedMembers = new ArrayList<>();
++-            members.put(name, namedMembers);
++-        }
++-        namedMembers.add(local);
++-    }
++-    
++     /**Return members declared in the given scope.
++      */
++     public Iterable<? extends Element> getLocalMembersAndVars(Scope scope, ElementAcceptor acceptor) {
++@@ -678,35 +564,14 @@ public final class ElementUtilities {
++     }
++     
++     /**Find all methods in given type and its supertypes, which are not implemented.
++-     * Will not return default methods implemented directly in interfaces in impl type closure.
++      * 
++      * @param type to inspect
++      * @return list of all unimplemented methods
++      * 
++      * @since 0.20
++-     * @since 2.15 does not return default methods
++      */
++     public List<? extends ExecutableElement> findUnimplementedMethods(TypeElement impl) {
++-        return findUnimplementedMethods(impl, impl, false);
++-    }
++-    
++-    /**
++-     * Finds all unimplemented methods in the given type and supertypes, but possibly include
++-     * also interface default methods.
++-     * <p/>
++-     * If the platform configured for the type is older than JDK8, the method is equivalent
++-     * to {@link #findUnimplementedMethods(javax.lang.model.element.TypeElement)}. If `includeDefaults'
++-     * is {@code true}, returns also default methods as if the methods were required to be
++-     * reimplemented by the final class.
++-     * 
++-     * @param impl the implementation type
++-     * @param includeDefaults if true, will also return interface default methods, which
++-     * are not overriden in supertypes 
++-     * @return unimplemented (and/or default) methods.
++-     * @since 2.15
++-     */
++-    public List<? extends ExecutableElement> findUnimplementedMethods(TypeElement impl, boolean includeDefaults) {
++-        return findUnimplementedMethods(impl, impl, includeDefaults);
+++        return findUnimplementedMethods(impl, impl);
++     }
++ 
++     /**Find all methods in given type and its supertypes, which are overridable.
++@@ -722,25 +587,13 @@ public final class ElementUtilities {
++         if (!type.getModifiers().contains(Modifier.ABSTRACT)) {
++             notOverridable.add(Modifier.ABSTRACT);
++         }
++-        DeclaredType dt = (DeclaredType)type.asType();
++-        Types types = JavacTypes.instance(ctx);
++-        Set<String> typeStrings = new HashSet<>();
++         for (ExecutableElement ee : ElementFilter.methodsIn(info.getElements().getAllMembers(type))) {
++-            
++-            TypeMirror methodType = types.erasure(types.asMemberOf(dt, ee));
++-            String methodTypeString = ee.getSimpleName().toString() + methodType.toString();
++-            if (typeStrings.contains(methodTypeString)) {
++-                continue;
++-            }
++             Set<Modifier> set = EnumSet.copyOf(notOverridable);                
++             set.removeAll(ee.getModifiers());                
++             if (set.size() == notOverridable.size()
++                     && !overridesPackagePrivateOutsidePackage(ee, type) //do not offer package private methods in case they're from different package
++                     && !isOverridden(ee, type)) {
++                 overridable.add(ee);
++-                if (ee.getModifiers().contains(Modifier.ABSTRACT)) {
++-                    typeStrings.add(methodTypeString);
++-                }
++             }
++         }
++         Collections.reverse(overridable);
++@@ -916,68 +769,27 @@ public final class ElementUtilities {
++         return null;
++     }
++     
++-    /**
++-     * Find the element of the method descriptor associated to the functional interface.
++-     * 
++-     * @param origin functional interface element
++-     * @return associated method descriptor element or <code>null</code> if the <code>origin</code> is not a functional interface.
++-     * @since 2.14
++-     */
++-    public ExecutableElement getDescriptorElement(TypeElement origin) {
++-        com.sun.tools.javac.code.Types types = com.sun.tools.javac.code.Types.instance(info.impl.getJavacTask().getContext());
++-        if (types.isFunctionalInterface((TypeSymbol)origin)) {
++-            Symbol sym = types.findDescriptorSymbol((TypeSymbol)origin);
++-            if (sym != null && sym.getKind() == ElementKind.METHOD) {
++-                return (ExecutableElement)sym;
++-            }
++-        }
++-        return null;
++-    }
++-    
++     // private implementation --------------------------------------------------
++ 
++     private static final Set<Modifier> NOT_OVERRIDABLE = EnumSet.of(Modifier.STATIC, Modifier.FINAL, Modifier.PRIVATE);
++-    
++-    private List<? extends ExecutableElement> findUnimplementedMethods(TypeElement impl, TypeElement element, boolean includeDefaults) {
+++
+++    private List<? extends ExecutableElement> findUnimplementedMethods(TypeElement impl, TypeElement element) {
++         List<ExecutableElement> undef = new ArrayList<ExecutableElement>();
++         Types types = JavacTypes.instance(ctx);
++         com.sun.tools.javac.code.Types implTypes = com.sun.tools.javac.code.Types.instance(ctx);
++         DeclaredType implType = (DeclaredType)impl.asType();
++         if (element.getKind().isInterface() || element.getModifiers().contains(Modifier.ABSTRACT)) {
++             for (Element e : element.getEnclosedElements()) {
++-                if (e.getKind() != ElementKind.METHOD) {
++-                    continue;
++-                }
++-                if (element.getKind().isInterface()) {
++-                    // as of JDK9 interafce can contain static methods.
++-                    if (e.getModifiers().contains(Modifier.STATIC)) {
++-                        continue;
++-                        /*
++-                    } else if (e.getModifiers().contains(Modifier.DEFAULT) && !includeDefaults) {
++-                        continue;
++-                        */
++-                    } 
++-                } else if (!e.getModifiers().contains(Modifier.ABSTRACT)) {
++-                    continue;
++-                }
++-                ExecutableElement ee = (ExecutableElement)e;
++-                ExecutableElement eeImpl = (ExecutableElement)getImplementationOf(ee, impl);
++-                
++-                if (eeImpl == null) {
++-                    if (implTypes.asSuper((Type)implType, (Symbol)ee.getEnclosingElement()) != null) {
+++                if (e.getKind() == ElementKind.METHOD && e.getModifiers().contains(Modifier.ABSTRACT)) {
+++                    ExecutableElement ee = (ExecutableElement)e;
+++                    Element eeImpl = getImplementationOf(ee, impl);
+++                    if ((eeImpl == null || (eeImpl == ee && impl != element)) && implTypes.asSuper((Type)implType, (Symbol)ee.getEnclosingElement()) != null)
++                         undef.add(ee);
++-                    }
++-                } else if (impl != element && implTypes.asSuper((Type)implType, (Symbol)ee.getEnclosingElement()) != null) {
++-                    if (eeImpl == ee) {
++-                        undef.add(ee);
++-                    } else if (includeDefaults && eeImpl.getModifiers().contains(Modifier.DEFAULT)) {
++-                        undef.add((ExecutableElement)eeImpl);
++-                    }
++                 }
++             }
++         }
++         for (TypeMirror t : types.directSupertypes(element.asType())) {
++-            for (ExecutableElement ee : findUnimplementedMethods(impl, (TypeElement) ((DeclaredType) t).asElement(), includeDefaults)) {
+++            for (ExecutableElement ee : findUnimplementedMethods(impl, (TypeElement) ((DeclaredType) t).asElement())) {
++                 //check if "the same" method has already been added:
++                 boolean exists = false;
++                 ExecutableType eeType = (ExecutableType)types.asMemberOf(implType, ee);
++@@ -987,7 +799,6 @@ public final class ElementUtilities {
++                         if (types.isSubsignature(existingType, eeType)) {
++                             TypeMirror existingReturnType = existingType.getReturnType();
++                             TypeMirror eeReturnType = eeType.getReturnType();
++-                            MethodSymbol msExisting = ((MethodSymbol)existing);
++                             if (!types.isSubtype(existingReturnType, eeReturnType)) {
++                                 if (types.isSubtype(eeReturnType, existingReturnType)) {
++                                     undef.remove(existing);
++@@ -997,30 +808,12 @@ public final class ElementUtilities {
++                                     DeclaredType subType = env != null ? findCommonSubtype((DeclaredType)existingReturnType, (DeclaredType)eeReturnType, env) : null;
++                                     if (subType != null) {
++                                         undef.remove(existing);
++-                                        MethodSymbol ms = msExisting.clone((Symbol)impl);
++-                                        Type mt = implTypes.createMethodTypeWithReturn(ms.type, (Type)subType);
+++                                        MethodSymbol ms = ((MethodSymbol)existing).clone((Symbol)impl);
+++                                        Type mt = implTypes.createMethodTypeWithReturn((MethodType)ms.type, (Type)subType);
++                                         ms.type = mt;
++                                         undef.add(ms);
++                                     }
++                                 }
++-                            } else if (!msExisting.overrides((MethodSymbol)ee, (TypeSymbol)impl, implTypes, true)) {
++-                                // newly added does not override the old one, BUT 
++-                                // 1/ the old one might have been defined by an abstract class. In that case, only the abstract class' member should prevail
++-                                // 2/ we are in an abstract class AND 
++-                                //      both existing and ee are interface methods AND
++-                                //      a/ neither of them is default -> select one of them, discard the other
++-                                if (existing.getEnclosingElement().getKind().isClass()) {
++-                                    exists = true;
++-                                } else if (element.getKind().isClass()) {
++-                                    // existing is now known to be an interface
++-                                    if (ee.getEnclosingElement().getKind().isInterface()) {
++-                                        if (!existing.getModifiers().contains(Modifier.DEFAULT) &&
++-                                            !ee.getModifiers().contains(Modifier.DEFAULT)) {
++-                                            exists = true;
++-                                        }
++-                                    }
++-                                }
++-                                break;
++                             }
++                             exists = true;
++                             break;
++@@ -1032,15 +825,6 @@ public final class ElementUtilities {
++                 }
++             }
++         }
++-        // if not defaults, prune the defaults out:
++-        if (!includeDefaults && element.getKind() == ElementKind.INTERFACE) {
++-            for (Iterator<ExecutableElement> it = undef.iterator(); it.hasNext();) {
++-                ExecutableElement ee = it.next();
++-                if (ee.getModifiers().contains(Modifier.DEFAULT)) {
++-                    it.remove();
++-                }
++-            }
++-        }
++         return undef;
++     }
++     
++diff --git a/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java b/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java
++index 83dbd4a9a..6abdb1c95 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java
++@@ -46,6 +46,7 @@ package org.netbeans.api.java.source;
++ 
++ import com.sun.source.tree.AnnotatedTypeTree;
++ import com.sun.source.tree.AnnotationTree;
+++import com.sun.source.tree.ArrayAccessTree;
++ import com.sun.source.tree.ArrayTypeTree;
++ import com.sun.source.tree.AssignmentTree;
++ import com.sun.source.tree.BlockTree;
++@@ -53,15 +54,17 @@ import com.sun.source.tree.BreakTree;
++ import com.sun.source.tree.CaseTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.CompilationUnitTree;
+++import com.sun.source.tree.CompoundAssignmentTree;
++ import com.sun.source.tree.ErroneousTree;
++ import com.sun.source.tree.ExpressionTree;
++ import com.sun.source.tree.IdentifierTree;
++ import com.sun.source.tree.ImportTree;
++ import com.sun.source.tree.InstanceOfTree;
++ import com.sun.source.tree.LabeledStatementTree;
++-import com.sun.source.tree.LambdaExpressionTree;
++ import com.sun.source.tree.LiteralTree;
+++import com.sun.source.tree.MemberReferenceTree;
++ import com.sun.source.tree.MemberSelectTree;
+++import com.sun.source.tree.MethodInvocationTree;
++ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.NewArrayTree;
++@@ -81,18 +84,15 @@ import com.sun.source.util.TreePath;
++ import com.sun.source.util.TreePathScanner;
++ import com.sun.source.util.TreeScanner;
++ import com.sun.source.util.Trees;
++-import com.sun.tools.javac.api.JavacTaskImpl;
++ import com.sun.tools.javac.code.Flags;
+++import com.sun.tools.javac.code.Scope.Entry;
++ import com.sun.tools.javac.code.Scope.StarImportScope;
++ import com.sun.tools.javac.code.Symbol;
++ import com.sun.tools.javac.code.Symbol.ClassSymbol;
++-import com.sun.tools.javac.code.Symbol.MethodSymbol;
++-import com.sun.tools.javac.code.Symbol.TypeSymbol;
++-import com.sun.tools.javac.code.Symtab;
++ import com.sun.tools.javac.code.Type;
+++import com.sun.tools.javac.jvm.ClassReader;
++ import com.sun.tools.javac.tree.JCTree;
++ import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
++-import com.sun.tools.javac.util.Context;
++ 
++ import java.io.IOException;
++ import java.io.InputStreamReader;
++@@ -334,182 +334,6 @@ public final class GeneratorUtilities {
++         }
++         return copy.getTreeMaker().insertClassMember(clazz, idx, member);
++     }
++-
++-    /**
++-     * Inserts members to a class. Using the rules specified in the {@link CodeStyle}
++-     * it finds the proper place for each of the members and calls {@link TreeMaker.insertClassMember}
++-     *
++-     * @param clazz the class to insert the members to
++-     * @param members the members to insert
++-     * @param offset the caret location to use for {@code CodeStyle.InsertionPoint.CARET_LOCATION}
++-     * @return the modified class
++-     * @since 2.9
++-     */    
++-    public ClassTree insertClassMembers(ClassTree clazz, List<? extends Tree> members, int offset) {
++-        if (members.isEmpty()) {
++-            return clazz;
++-        }
++-        CodeStyle codeStyle = DiffContext.getCodeStyle(copy);
++-        if (offset < 0 || codeStyle.getClassMemberInsertionPoint() != CodeStyle.InsertionPoint.CARET_LOCATION) {
++-            return GeneratorUtilities.get(copy).insertClassMembers(clazz, members);
++-        }
++-        int index = 0;
++-        SourcePositions sp = copy.getTrees().getSourcePositions();
++-        Document doc = null;
++-        try {
++-            doc = copy.getDocument();
++-            if (doc == null) {
++-                doc = copy.getSnapshot().getSource().getDocument(true);
++-            }
++-        } catch (IOException ioe) {}
++-        Tree lastMember = null;
++-        Tree nextMember = null;
++-        for (Tree tree : clazz.getMembers()) {
++-            if (offset <= sp.getStartPosition(copy.getCompilationUnit(), tree)) {
++-                DocumentGuards guards = LineDocumentUtils.as(doc, DocumentGuards.class);
++-                if (doc == null || guards == null) {
++-                    nextMember = tree;
++-                    break;
++-                }
++-                int pos = (int)(lastMember != null ? sp.getEndPosition(copy.getCompilationUnit(), lastMember) : sp.getStartPosition(copy.getCompilationUnit(), clazz));
++-                pos = guards.adjustPosition(pos, true);
++-                if (pos <= sp.getStartPosition(copy.getCompilationUnit(), tree)) {
++-                    nextMember = tree;
++-                    break;
++-                }
++-            }
++-            index++;
++-            lastMember = tree;
++-        }
++-        if (lastMember != null) {
++-            // do not move the comments tied to last member in guarded block:
++-            moveCommentsAfterOffset(copy, lastMember, members.get(0), offset, doc);
++-        }
++-        if (nextMember != null) {
++-            moveCommentsBeforeOffset(copy, nextMember, members.get(members.size() - 1), offset, doc);
++-        }
++-        TreeMaker tm = copy.getTreeMaker();
++-        ClassTree newClazz = clazz;
++-        for (int i = members.size() - 1; i >= 0; i--) {
++-            newClazz = tm.insertClassMember(newClazz, index, members.get(i));
++-        }
++-        return newClazz;
++-    }
++-    
++-    /**
++-     * Inserts a member to a class. Using the rules specified in the {@link CodeStyle}
++-     * it finds the proper place for the member and calls {@link TreeMaker.insertClassMember}
++-     *
++-     * @param clazz the class to insert the member to
++-     * @param member the member to add
++-     * @param offset the caret location to use for {@code CodeStyle.InsertionPoint.CARET_LOCATION}
++-     * @return the modified class
++-     * @since 2.9
++-     */
++-    public ClassTree insertClassMember(ClassTree clazz, Tree member, int offset) {
++-        return insertClassMembers(clazz, Collections.singletonList(member), offset);
++-    }
++-    
++-    /**
++-     * Reparents comments that follow `from' tree and would be separated from that tree by insertion to `offset' position.
++-     * The comments are removed from the original tree, and attached to the `to' inserted tree.
++-     * @param wc the working copy
++-     * @param from the current owner of the comments
++-     * @param to the generated code
++-     * @param offset the offset where the new code will be inserted
++-     * @param doc document instance or {@code null}
++-     * @return 
++-     */
++-    private void moveCommentsAfterOffset(WorkingCopy wc, Tree from, Tree to, int offset, Document doc) {
++-        List<Comment> toMove = new LinkedList<>();
++-        int idx = 0;
++-        int firstToRemove = -1;
++-        for (Comment comment : wc.getTreeUtilities().getComments(from, false)) {
++-            if (comment.endPos() <= offset) {
++-                // not affected by insertion
++-                idx++;
++-                continue;
++-            }
++-            DocumentGuards guards = LineDocumentUtils.as(doc, DocumentGuards.class);
++-            if (guards != null) {
++-                int epAfterBlock = guards.adjustPosition(comment.endPos(), true);
++-                // comment that ends exactly at the GB boundary cannot be really
++-                // reassigned from the previous member.
++-                if (epAfterBlock >= comment.endPos()) {
++-                    // set new offset, after the guarded block
++-                    idx++;
++-                    continue;
++-                }
++-            }
++-            toMove.add(comment);
++-            if (firstToRemove == -1) {
++-                firstToRemove = idx;
++-            }
++-            idx++;
++-        }
++-        if (toMove.isEmpty()) {
++-            return;
++-        }
++-        doMoveComments(wc, from, to, offset, toMove, firstToRemove, idx);
++-    }
++-    
++-    private static void doMoveComments(WorkingCopy wc, Tree from,  Tree to, int offset, List<Comment> comments, int fromIdx, int toIdx) {
++-        if (comments.isEmpty()) {
++-            return;
++-        }
++-        TreeMaker tm = wc.getTreeMaker();
++-        Tree tree = from;
++-        switch (from.getKind()) {
++-            case METHOD:
++-                tree = tm.setLabel(from, ((MethodTree)from).getName());
++-                break;
++-            case VARIABLE:
++-                tree = tm.setLabel(from, ((VariableTree)from).getName());
++-                break;
++-            case BLOCK:
++-                tree = tm.Block(((BlockTree)from).getStatements(), ((BlockTree)from).isStatic());
++-                GeneratorUtilities gu = GeneratorUtilities.get(wc);
++-                gu.copyComments(from, tree, true);
++-                gu.copyComments(from, tree, false);
++-                break;
++-        }
++-        boolean before = (int)wc.getTrees().getSourcePositions().getStartPosition(wc.getCompilationUnit(), from) >= offset;
++-        if (fromIdx >=0 && toIdx >= 0 && toIdx - fromIdx > 0) {
++-            for (int i = toIdx - 1; i >= fromIdx; i--) {
++-                tm.removeComment(tree, i, before);
++-            }
++-        }
++-        wc.rewrite(from, tree);
++-        for (Comment comment : comments) {
++-            tm.addComment(to, comment, comment.pos() <= offset);
++-        }
++-    }
++-    
++-    private static void moveCommentsBeforeOffset(WorkingCopy wc, Tree from, Tree to, int offset, Document doc) {
++-        List<Comment> toMove = new LinkedList<>();
++-        int idx = 0;
++-        for (Comment comment : wc.getTreeUtilities().getComments(from, true)) {
++-            if (comment.pos() >= offset || comment.endPos() > offset) {
++-                break;
++-            }
++-            
++-            DocumentGuards guards = LineDocumentUtils.as(doc, DocumentGuards.class);
++-            if (guards != null) {
++-                int epAfterBlock = guards.adjustPosition(comment.pos(), true);
++-                // comment that ends exactly at the GB boundary cannot be really
++-                // reassigned from the previous member.
++-                if (epAfterBlock >= comment.endPos()) {
++-                    // set new offset, after the guarded block
++-                    break;
++-                }
++-            }
++-            toMove.add(comment);
++-            idx++;
++-        }
++-        if (toMove.size() > 0) {
++-            doMoveComments(wc, from, to, offset, toMove, 0, idx);
++-        }
++-    }
++     
++     /**
++      * Visitor which collects references to class' members. It operates in two modes:
++@@ -1055,22 +879,6 @@ public final class GeneratorUtilities {
++         return make.Method(make.Modifiers(mods), setterName, make.Type(copy.getTypes().getNoType(TypeKind.VOID)), Collections.<TypeParameterTree>emptyList(), params, Collections.<ExpressionTree>emptyList(), body, null);
++     }
++     
++-    /**
++-     * Creates a default lambda body.
++-     *
++-     * @param lambda a lambda to generate body for
++-     * @param method a method of a functional interface to be implemented by the lambda expression
++-     * @return the lambda body
++-     * @since 2.19
++-     */
++-    public BlockTree createDefaultLambdaBody(LambdaExpressionTree lambda, ExecutableElement method) {
++-        try {
++-            String bodyTemplate = "{" + readFromTemplate(LAMBDA_BODY, createBindings(null, method)) + "\n}"; //NOI18N
++-            return copy.getTreeMaker().createLambdaBody(lambda, bodyTemplate);
++-        } catch (Exception e) {}
++-        return copy.getTreeMaker().Block(Collections.emptyList(), false);
++-    }
++-    
++     private boolean isStarImport(ImportTree imp) {
++         Tree qualIdent = imp.getQualifiedIdentifier();        
++         boolean isStar = qualIdent.getKind() == Tree.Kind.MEMBER_SELECT && ((MemberSelectTree)qualIdent).getIdentifier().contentEquals("*"); // NOI18N
++@@ -1139,10 +947,10 @@ public final class GeneratorUtilities {
++         JCCompilationUnit jcut = (JCCompilationUnit)cut;
++         StarImportScope importScope = new StarImportScope((Symbol)pkg);
++         if (jcut.starImportScope != null) {
++-            importScope.prependSubScope(((JCCompilationUnit)cut).starImportScope);
+++            importScope.importAll(((JCCompilationUnit)cut).starImportScope);
++         }
++         if (jcut.packge != null) {
++-            importScope.prependSubScope(jcut.packge.members_field);
+++            importScope.importAll(jcut.packge.members_field);
++         }
++         for (Element e : elementsToImport) {
++             boolean isStatic = false;
++@@ -1273,9 +1081,9 @@ public final class GeneratorUtilities {
++         Set<Element> explicitNamedImports = new HashSet<Element>();
++         for (Element element : elementsToImport) {
++             if (element.getKind().isClass() || element.getKind().isInterface()) {
++-                for (Symbol sym : importScope.getSymbolsByName((com.sun.tools.javac.util.Name)element.getSimpleName())) {
++-                    if (sym.getKind().isClass() || sym.getKind().isInterface()) {
++-                        if (sym != element) {
+++                for (Entry e = importScope.lookup((com.sun.tools.javac.util.Name)element.getSimpleName()); e.scope != null; e = e.next()) {
+++                    if (e.sym.getKind().isClass() || e.sym.getKind().isInterface()) {
+++                        if (e.sym != element) {
++                             explicitNamedImports.add(element);
++                         }
++                         // break if explicitNameImport was added, or when the symbol is correctly resolved.
++@@ -1289,14 +1097,14 @@ public final class GeneratorUtilities {
++             if (entry.getValue() == -1) {
++                 for (Element element : entry.getKey().getEnclosedElements()) {
++                     if (element.getKind().isClass() || element.getKind().isInterface()) {
++-                        for (Symbol sym : importScope.getSymbolsByName((com.sun.tools.javac.util.Name)element.getSimpleName())) {
++-                            if (sym != element) {
+++                        for (Entry starEntry = importScope.lookup((com.sun.tools.javac.util.Name)element.getSimpleName()); starEntry.scope != null; starEntry = starEntry.next()) {
+++                            if (starEntry.sym != null && starEntry.sym != element) {
++                                 TypeElement te = null;
++                                 for (Element e : elementsToImport) {
++                                     if ((e.getKind().isClass() || e.getKind().isInterface()) && element.getSimpleName() == e.getSimpleName()) {
++                                         te = (TypeElement) e;
++                                         break;
++-                                    }
+++                                    }                                    
++                                 }
++                                 if (te != null) {
++                                     explicitNamedImports.add(te);
++@@ -1304,17 +1112,10 @@ public final class GeneratorUtilities {
++                                     if (usedTypes == null) {
++                                         usedTypes = getUsedTypes(cut);
++                                     }
+++                                    te = usedTypes.get(element.getSimpleName());
++                                     if (te != null) {
+++                                        elementsToImport.add(te);
++                                         explicitNamedImports.add(te);
++-                                    } else {
++-                                        if (usedTypes == null) {
++-                                            usedTypes = getUsedTypes(cut);
++-                                        }
++-                                        te = usedTypes.get(element.getSimpleName());
++-                                        if (te != null) {
++-                                            elementsToImport.add(te);
++-                                            explicitNamedImports.add(te);
++-                                        }
++                                     }
++                                 }
++                             }
++@@ -1323,7 +1124,7 @@ public final class GeneratorUtilities {
++                 }
++             }
++             if (entry.getValue() < 0 && entry.getKey() instanceof Symbol)
++-                importScope.prependSubScope(((Symbol)entry.getKey()).members());
+++                importScope.importAll(((Symbol)entry.getKey()).members());
++         }
++ 
++         // sort the elements to import
++@@ -1398,7 +1199,7 @@ public final class GeneratorUtilities {
++         }
++         
++         // return a copy of the unit with changed imports section
++-        return make.CompilationUnit(cut.getPackage(), imports, cut.getTypeDecls(), cut.getSourceFile());
+++        return make.CompilationUnit(cut.getPackageAnnotations(), cut.getPackageName(), imports, cut.getTypeDecls(), cut.getSourceFile());
++     }
++ 
++     /**
++@@ -1433,49 +1234,8 @@ public final class GeneratorUtilities {
++                                        : TokenHierarchy.create(unit.getSourceFile().getCharContent(true), JavaTokenId.language());
++             TokenSequence<JavaTokenId> seq = tokens.tokenSequence(JavaTokenId.language());
++             TreePath tp = TreePath.getPath(cut, original);
++-            Tree toMap = original;
++-            Tree mapTarget = null;
++-            
++-            if (tp != null && original.getKind() != Kind.COMPILATION_UNIT) {
++-                // find some 'nice' place like method/class/field so the comments get an appropriate contents
++-                // Javadocs or other comments may be assigned inappropriately with wider surrounding contents.
++-                TreePath p2 = tp;
++-                boolean first = true;
++-                B: while (p2 != null) {
++-                    Tree.Kind k = p2.getLeaf().getKind();
++-                    if (StatementTree.class.isAssignableFrom(k.asInterface())) {
++-                        mapTarget = p2.getLeaf();
++-                        p2 = p2.getParentPath();
++-                        break;
++-                    }
++-                   switch (p2.getLeaf().getKind()) {
++-                       case CLASS: case INTERFACE: case ENUM:
++-                       case METHOD:
++-                       case BLOCK:
++-                       case VARIABLE:
++-                           if (mapTarget == null) {
++-                               mapTarget = p2.getLeaf();
++-                           }
++-                           if (first) {
++-                               p2 = p2 = p2.getParentPath();
++-                           }
++-                           break B;
++-                   } 
++-                   first = false;
++-                   p2 = p2.getParentPath();
++-                }
++-                if (p2 != null) {
++-                    toMap = p2.getLeaf();
++-                }
++-                if (toMap == tp.getLeaf()) {
++-                    // go at least one level up in a hope it's sufficient.
++-                    toMap = tp.getParentPath().getLeaf();
++-                }
++-            }
++-            if (mapTarget == null) {
++-                mapTarget = original;
++-            }
++-            AssignComments translator = new AssignComments(info, mapTarget, seq, unit);
+++            Tree toMap = (tp != null && original.getKind() != Kind.COMPILATION_UNIT) ? tp.getParentPath().getLeaf() : original;
+++            AssignComments translator = new AssignComments(info, original, seq, unit);
++             
++             translator.scan(toMap, null);
++ 
++@@ -1868,7 +1628,7 @@ public final class GeneratorUtilities {
++         if (element == null)
++             element = elements.getPackageElement(fqn);
++         if (element == null)
++-            element = Symtab.instance(copy.impl.getJavacTask().getContext()).enterClass((com.sun.tools.javac.util.Name)elements.getName(fqn));
+++            element = ClassReader.instance(copy.impl.getJavacTask().getContext()).enterClass((com.sun.tools.javac.util.Name)elements.getName(fqn));
++         return element;
++     }
++     
++@@ -1926,62 +1686,51 @@ public final class GeneratorUtilities {
++ 
++     private Map<String, Object> createBindings(TypeElement clazz, ExecutableElement element) {
++         CodeStyle cs = DiffContext.getCodeStyle(copy);       
++-        Map<String, Object> bindings = new HashMap<>();
++-        if (clazz != null) {
++-            bindings.put(CLASS_NAME, clazz.getQualifiedName().toString());
++-            bindings.put(SIMPLE_CLASS_NAME, clazz.getSimpleName().toString());
++-        }
++-        if (element != null) {
++-            bindings.put(METHOD_NAME, element.getSimpleName().toString());
++-            bindings.put(METHOD_RETURN_TYPE, element.getReturnType().toString()); //NOI18N
++-            Object value;
++-            switch(element.getReturnType().getKind()) {
++-                case BOOLEAN:
++-                    value = "false"; //NOI18N
++-                    break;
++-                case BYTE:
++-                case CHAR:
++-                case DOUBLE:
++-                case FLOAT:
++-                case INT:
++-                case LONG:
++-                case SHORT:
++-                    value = 0;
++-                    break;
++-                default:
++-                    value = "null"; //NOI18N
++-            }
++-            bindings.put(DEFAULT_RETURN_TYPE_VALUE, value);
++-        }
++-        if (clazz != null && element != null) {
++-            StringBuilder sb = new StringBuilder();
++-            if (element.isDefault() && element.getEnclosingElement().getKind().isInterface()) {
++-                Types types = copy.getTypes();
++-                Context ctx = ((JavacTaskImpl) copy.impl.getJavacTask()).getContext();
++-                com.sun.tools.javac.code.Types typesImpl = com.sun.tools.javac.code.Types.instance(ctx);
++-                TypeMirror enclType = typesImpl.asSuper((Type)clazz.asType(), ((Type)element.getEnclosingElement().asType()).tsym);
++-                if (!types.isSubtype(clazz.getSuperclass(), enclType)) {
++-                    TypeMirror selected = enclType;
++-                    for (TypeMirror iface : clazz.getInterfaces()) {
++-                        if (types.isSubtype(iface, selected) &&
++-                            !types.isSameType(iface, enclType)) {
++-                            selected = iface;
++-                            break;
++-                        }
+++        Map<String, Object> bindings = new HashMap<String, Object>();
+++        bindings.put(CLASS_NAME, clazz.getQualifiedName().toString());
+++        bindings.put(SIMPLE_CLASS_NAME, clazz.getSimpleName().toString());
+++        bindings.put(METHOD_NAME, element.getSimpleName().toString());
+++        bindings.put(METHOD_RETURN_TYPE, element.getReturnType().toString()); //NOI18N
+++        Object value;
+++        switch(element.getReturnType().getKind()) {
+++            case BOOLEAN:
+++                value = "false"; //NOI18N
+++                break;
+++            case BYTE:
+++            case CHAR:
+++            case DOUBLE:
+++            case FLOAT:
+++            case INT:
+++            case LONG:
+++            case SHORT:
+++                value = 0;
+++                break;
+++            default:
+++                value = "null"; //NOI18N
+++        }
+++        bindings.put(DEFAULT_RETURN_TYPE_VALUE, value);
+++        StringBuilder sb = new StringBuilder();
+++        if (element.isDefault() && element.getEnclosingElement().getKind().isInterface()) {
+++            Types types = copy.getTypes();
+++            TypeMirror enclType = element.getEnclosingElement().asType();
+++            if (!types.isSubtype(clazz.getSuperclass(), enclType)) {
+++                for (TypeMirror iface : clazz.getInterfaces()) {
+++                    if (types.isSubtype(iface, enclType)) {
+++                        sb.append(((DeclaredType)iface).asElement().getSimpleName()).append('.');
+++                        break;
++                     }
++-                    sb.append(((DeclaredType)selected).asElement().getSimpleName()).append('.');
++                 }
++             }
++-            sb.append("super.").append(element.getSimpleName()).append('('); //NOI18N
++-            for (Iterator<? extends VariableElement> it = element.getParameters().iterator(); it.hasNext();) {
++-                VariableElement ve = it.next();
++-                sb.append(addParamPrefixSuffix(removeParamPrefixSuffix(ve, cs), cs));
++-                if (it.hasNext())
++-                    sb.append(","); //NOI18N
++-            }
++-            sb.append(')'); //NOI18N
++-            bindings.put(SUPER_METHOD_CALL, sb);
++         }
+++        sb.append("super.").append(element.getSimpleName()).append('('); //NOI18N
+++        for (Iterator<? extends VariableElement> it = element.getParameters().iterator(); it.hasNext();) {
+++            VariableElement ve = it.next();
+++            sb.append(addParamPrefixSuffix(removeParamPrefixSuffix(ve, cs), cs));
+++            if (it.hasNext())
+++                sb.append(","); //NOI18N
+++        }
+++        sb.append(')'); //NOI18N
+++        bindings.put(SUPER_METHOD_CALL, sb);
++         return bindings;
++     }
++ 
++@@ -2189,7 +1938,6 @@ public final class GeneratorUtilities {
++     
++     private static final String GENERATED_METHOD_BODY = "Templates/Classes/Code/GeneratedMethodBody"; //NOI18N
++     private static final String OVERRIDDEN_METHOD_BODY = "Templates/Classes/Code/OverriddenMethodBody"; //NOI18N
++-    private static final String LAMBDA_BODY = "Templates/Classes/Code/LambdaBody"; //NOI18N
++     private static final String METHOD_RETURN_TYPE = "method_return_type"; //NOI18N
++     private static final String DEFAULT_RETURN_TYPE_VALUE = "default_return_value"; //NOI18N
++     private static final String SUPER_METHOD_CALL = "super_method_call"; //NOI18N
++diff --git a/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java b/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java
++index 7cc5de6e7..e666f4201 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java
++@@ -74,7 +74,7 @@ import com.sun.source.util.TreePath;
++ import com.sun.source.util.Trees;
++ import com.sun.tools.javac.api.JavacTaskImpl;
++ import com.sun.tools.javac.code.Flags;
++-import com.sun.tools.javac.code.Scope.NamedImportScope;
+++import com.sun.tools.javac.code.Scope.ImportScope;
++ import com.sun.tools.javac.code.Scope.StarImportScope;
++ import com.sun.tools.javac.code.Symbol;
++ import com.sun.tools.javac.code.Symbol.*;
++@@ -87,7 +87,6 @@ import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
++ import com.sun.tools.javac.util.Context;
++ 
++ import javax.swing.SwingUtilities;
++-import javax.tools.Diagnostic;
++ 
++ import org.netbeans.api.annotations.common.CheckForNull;
++ import org.netbeans.api.annotations.common.NonNull;
++@@ -107,11 +106,9 @@ import org.netbeans.api.lexer.TokenSequence;
++ import org.netbeans.modules.java.preprocessorbridge.spi.ImportProcessor;
++ import org.netbeans.modules.java.source.ElementHandleAccessor;
++ import org.netbeans.modules.java.source.JavadocHelper;
++-import org.netbeans.modules.java.source.indexing.FQN2Files;
++ import org.netbeans.modules.java.source.indexing.JavaCustomIndexer;
++ import org.netbeans.modules.java.source.parsing.ClasspathInfoProvider;
++ import org.netbeans.modules.java.source.parsing.FileObjects;
++-import org.netbeans.modules.java.source.parsing.Hacks;
++ import org.netbeans.modules.java.source.parsing.JavacParser;
++ import org.netbeans.modules.java.source.save.DiffContext;
++ import org.netbeans.modules.java.source.usages.ClassIndexImpl;
++@@ -434,16 +431,16 @@ public class SourceUtils {
++             // only import symbols if import generation succeeded
++             JCCompilationUnit unit = (JCCompilationUnit) info.getCompilationUnit();
++             if (toImport.getKind() == ElementKind.PACKAGE) {
++-                StarImportScope importScope = new StarImportScope(unit.packge);
++-                importScope.prependSubScope(unit.starImportScope);
++-                importScope.prependSubScope(((PackageSymbol)toImport).members());
+++                StarImportScope importScope = new StarImportScope(unit.starImportScope.owner);
+++                importScope.importAll(unit.starImportScope);
+++                importScope.importAll(((PackageSymbol)toImport).members());
++                 unit.starImportScope = importScope;
++             } else {
++-                NamedImportScope importScope = new NamedImportScope(unit.packge, unit.toplevelScope);
++-                for (Symbol symbol : unit.namedImportScope.getSymbols()) {
++-                    importScope.importType(symbol.owner.members(), symbol.owner.members(), symbol);
+++                ImportScope importScope = new ImportScope(unit.namedImportScope.owner);
+++                for (Symbol symbol : unit.namedImportScope.getElements()) {
+++                    importScope.enter(symbol);
++                 }
++-                importScope.importType(((Symbol)toImport).owner.members(), ((Symbol)toImport).owner.members(), (Symbol) toImport);
+++                importScope.enterIfAbsent((Symbol) toImport);
++                 unit.namedImportScope = importScope;
++             }
++         } else { // embedded java, look up the handler for the top level language
++@@ -543,11 +540,7 @@ public class SourceUtils {
++                         for (String candidate : (List<String>)fnames) {
++                             FileObject match = findMatchingChild(candidate, folders, caseSensitive);
++                             if (match != null) {
++-                                FileObject ownerRoot = sourcePath.entries().isEmpty() ? root : sourcePath.findOwnerRoot(match);
++-                                FQN2Files fQN2Files = ownerRoot != null ? FQN2Files.forRoot(ownerRoot.toURL()) : null;
++-                                if (fQN2Files == null || !fQN2Files.check(signature[0], match.toURL())) {
++-                                    return match;
++-                                }
+++                                return match;
++                             }
++                         }
++                     }
++@@ -1046,16 +1039,20 @@ public class SourceUtils {
++      * class names. 
++      */
++     private static Object getSourceFileNames (String classFileName) {
++-        int index = classFileName.lastIndexOf('$');
+++        int max = classFileName.length() - 1;
+++        int index = classFileName.indexOf('$');
++         if (index == -1) {
++             return classFileName;
++         }
++         List<String> ll = new ArrayList<>(3);
++-        ll.add(classFileName);
++-        while (index >= 0) {
+++        do {
++             ll.add(classFileName.substring(0, index));
++-            index = classFileName.lastIndexOf('$', index - 1);
++-        }
+++            if (index >= max) {
+++                break;
+++            }
+++            index = classFileName.indexOf('$', index + 1);
+++        } while (index >= 0);
+++        ll.add(classFileName);
++         return ll;
++     }
++         
++@@ -1106,11 +1103,6 @@ public class SourceUtils {
++         
++         if (tm.getKind() == TypeKind.DECLARED) {
++             DeclaredType dt = (DeclaredType) tm;
++-            TypeElement el = (TypeElement) dt.asElement();
++-            if (((DeclaredType)el.asType()).getTypeArguments().size() != dt.getTypeArguments().size()) {
++-                return info.getTypes().getDeclaredType(el);
++-            }
++-            
++             List<TypeMirror> typeArguments = new LinkedList<>();
++             
++             for (TypeMirror t : dt.getTypeArguments()) {
++@@ -1119,9 +1111,9 @@ public class SourceUtils {
++             
++             final TypeMirror enclosingType = dt.getEnclosingType();
++             if (enclosingType.getKind() == TypeKind.DECLARED) {
++-                return info.getTypes().getDeclaredType((DeclaredType) enclosingType, el, typeArguments.toArray(new TypeMirror[0]));
+++                return info.getTypes().getDeclaredType((DeclaredType) enclosingType, (TypeElement) dt.asElement(), typeArguments.toArray(new TypeMirror[0]));
++             } else {
++-                return info.getTypes().getDeclaredType(el, typeArguments.toArray(new TypeMirror[0]));
+++                return info.getTypes().getDeclaredType((TypeElement) dt.asElement(), typeArguments.toArray(new TypeMirror[0]));
++             }
++         }
++ 
++@@ -1168,6 +1160,14 @@ public class SourceUtils {
++         
++         while(path != null) {
++             switch(path.getLeaf().getKind()) {
+++                case BLOCK:
+++                    if (path.getParentPath().getLeaf().getKind() == Tree.Kind.LAMBDA_EXPRESSION)
+++                        break;
+++                case ANNOTATION_TYPE:
+++                case CLASS:
+++                case ENUM:
+++                case INTERFACE:
+++                    return refs;
++                 case VARIABLE:
++                     el = trees.getElement(path);
++                     if (el != null) {
++@@ -1186,7 +1186,7 @@ public class SourceUtils {
++                             }
++                         }
++                     }
++-                    break;
+++                    return refs;
++                 case ENHANCED_FOR_LOOP:
++                     EnhancedForLoopTree efl = (EnhancedForLoopTree)path.getLeaf();
++                     if (sourcePositions.getEndPosition(path.getCompilationUnit(), efl.getExpression()) >= pos) {
++@@ -1434,19 +1434,4 @@ public class SourceUtils {
++         }
++         return res;
++     }
++-    
++-
++-    /**
++-     * Extracts diagnostic params from a diagnostic. Gets under hood of Javac
++-     * Diagnostic objects and extracts parameters which are otherwise just used
++-    * to produce a message. <b>Keep in mind that the positions and types of parameters
++-     * may change in each nbjavac update!</b>
++-     * @param d diagnostic
++-     * @param index parameter index to extract
++-     * @return parameter value, null if index is out of range
++-     * @since 2.20
++-     */
++-    public static Object getDiagnosticParam(Diagnostic<?> d, int index) {
++-        return Hacks.getDiagnosticParam(d, index);
++-    }
++ }
++diff --git a/java.source.base/src/org/netbeans/api/java/source/TreeMaker.java b/java.source.base/src/org/netbeans/api/java/source/TreeMaker.java
++index 061fbfbde..6c2b9e86e 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/TreeMaker.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/TreeMaker.java
++@@ -390,23 +390,7 @@ public final class TreeMaker {
++         return delegate.CompilationUnit(packageAnnotations, packageName, imports, typeDeclarations, sourceFile);
++     }
++      
++-    /**
++-     * Creates a new CompilationUnitTree.
++-     *
++-     * @param pkg                a tree representing the package statement.
++-     * @param imports            a list of import statements.
++-     * @param typeDeclarations   a list of type (class, interface or enum) declarations.
++-     * @param sourceFile         the source file associated with this compilation unit.
++-     * @see com.sun.source.tree.CompilationUnitTree
++-     * @since 2.12
++-     */
++-    public CompilationUnitTree CompilationUnit(PackageTree pkg,
++-                                        List<? extends ImportTree> imports,
++-                                        List<? extends Tree> typeDeclarations,
++-                                        JavaFileObject sourceFile) {
++-        return delegate.CompilationUnit(pkg, imports, typeDeclarations, sourceFile);
++-    }
++-         
+++    
++     /**
++      * Creates a new CompilationUnitTree.
++      * @param sourceRoot         a source root under which the new file is created
++@@ -3142,26 +3126,6 @@ public final class TreeMaker {
++     }
++ 
++     /**
++-     * Creates a new BlockTree for provided <tt>bodyText</tt>.
++-     * 
++-     * @param   lambda    figures out the scope for attribution.
++-     * @param   bodyText  text which will be used for lambda body creation.
++-     * @return  a new tree for <tt>bodyText</tt>.
++-     * @since 2.19
++-     */
++-    public BlockTree createLambdaBody(LambdaExpressionTree lambda, String bodyText) {
++-        SourcePositions[] positions = new SourcePositions[1];
++-        final TreeUtilities treeUtils = copy.getTreeUtilities();
++-        StatementTree body = treeUtils.parseStatement(bodyText, positions);
++-        assert Tree.Kind.BLOCK == body.getKind() : "Not a statement block!";
++-        Scope scope = copy.getTrees().getScope(TreePath.getPath(copy.getCompilationUnit(), lambda));
++-        treeUtils.attributeTree(body, scope);
++-        mapComments((BlockTree) body, bodyText, copy, handler, positions[0]);
++-        new TreePosCleaner().scan(body, null);
++-        return (BlockTree) body;
++-    }
++-
++-    /**
++      * Creates a new MethodTree.
++      *
++      * @param modifiers the modifiers of this method.
++diff --git a/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java b/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java
++index 91076d0d0..8d6928548 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java
++@@ -385,7 +385,6 @@ public final class TreeUtilities {
++                         break;
++                 case SEMICOLON:
++                     if (path.getLeaf().getKind() == Tree.Kind.EMPTY_STATEMENT ||
++-                            path.getLeaf().getKind() == Tree.Kind.TRY ||
++                             (path.getLeaf().getKind() == Tree.Kind.FOR_LOOP &&
++                             tokenList.offset() <= sourcePositions.getStartPosition(path.getCompilationUnit(), ((ForLoopTree)path.getLeaf()).getUpdate().get(0))))
++                         break;
++diff --git a/java.source.base/src/org/netbeans/api/java/source/TypeMirrorHandle.java b/java.source.base/src/org/netbeans/api/java/source/TypeMirrorHandle.java
++index 43ca53091..308414aa5 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/TypeMirrorHandle.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/TypeMirrorHandle.java
++@@ -50,7 +50,6 @@ import com.sun.tools.javac.code.Symtab;
++ import com.sun.tools.javac.code.Type;
++ import com.sun.tools.javac.code.Type.ClassType;
++ import com.sun.tools.javac.code.Type.TypeVar;
++-import com.sun.tools.javac.code.TypeMetadata;
++ import com.sun.tools.javac.code.TypeTag;
++ import com.sun.tools.javac.code.Types;
++ import com.sun.tools.javac.code.Types.DefaultTypeVisitor;
++@@ -290,7 +289,7 @@ public final class TypeMirrorHandle<T extends TypeMirror> {
++                         resolvedBounds = resolvedBounds.prepend((Type) resolved);
++                     }
++ 
++-                    Type ct = t.makeIntersectionType(resolvedBounds.reverse());
+++                    Type ct = t.makeCompoundType(resolvedBounds.reverse());
++                     ct.getTypeArguments(); //initialize typarams_field
++                     return (T) ct;
++                 }
++@@ -402,7 +401,7 @@ public final class TypeMirrorHandle<T extends TypeMirror> {
++                 
++                 t = Types.instance(info.impl.getJavacTask().getContext());
++                 
++-                return (T) t.makeIntersectionType(resolvedBounds.toList());
+++                return (T) t.makeCompoundType(resolvedBounds.toList());
++             default:
++                 throw new IllegalStateException("Internal error: unknown TypeHandle kind: " + kind);
++         }
++@@ -427,24 +426,13 @@ public final class TypeMirrorHandle<T extends TypeMirror> {
++         private Type delegate = null;
++         
++         public PlaceholderType() {
++-            this(TypeMetadata.EMPTY);
++-        }       
++-
++-        public PlaceholderType(TypeMetadata md) {
++-            super(null, md);
+++            super(null);
++         }       
++ 
++         @Override
++         public TypeTag getTag() {
++             return TypeTag.UNKNOWN;
++         }
++-
++-        @Override
++-        public Type cloneWithMetadata(TypeMetadata md) {
++-            PlaceholderType out = new PlaceholderType(md);
++-            out.delegate = delegate;
++-            return out;
++-        }
++     }
++     
++     private static class Visitor extends DefaultTypeVisitor<Void, Void> {
++diff --git a/java.source.base/src/org/netbeans/api/java/source/TypeUtilities.java b/java.source.base/src/org/netbeans/api/java/source/TypeUtilities.java
++index d926d83fa..3a90926a9 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/TypeUtilities.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/TypeUtilities.java
++@@ -43,14 +43,8 @@
++  */
++ package org.netbeans.api.java.source;
++ 
++-import com.sun.tools.javac.code.Flags;
++ import com.sun.tools.javac.code.Type;
++-import com.sun.tools.javac.code.Type.CapturedType;
++-import com.sun.tools.javac.code.Type.ClassType;
++-import com.sun.tools.javac.code.Type.TypeVar;
++-import com.sun.tools.javac.code.TypeTag;
++ import com.sun.tools.javac.code.Types;
++-import com.sun.tools.javac.model.JavacTypes;
++ import java.util.Arrays;
++ import java.util.EnumSet;
++ import java.util.Iterator;
++@@ -169,99 +163,6 @@ public final class TypeUtilities {
++         return new TypeNameVisitor(opt.contains(TypeNameOptions.PRINT_AS_VARARG)).visit(type, opt.contains(TypeNameOptions.PRINT_FQN)).toString();
++     }
++ 
++-    /**
++-     * Returns a TypeMirror which can be represented in a source as a type declarator. The returned TypeMirror,
++-     * if not erroneous, can be used as type of a variable or a method's return type. The method will attempt to
++-     * infer proper wildcards or bounds.
++-     * <p/>
++-     * If the type could be represented in source, the method returns a type of {@link TypeKind#ERROR}.
++-     * 
++-     * @param type the type to be polished
++-     * @return the representable type or an error type
++-     * @since 2.17
++-     */
++-    public TypeMirror getDenotableType(TypeMirror type) {
++-        Types types = Types.instance(info.impl.getJavacTask().getContext());
++-        if (type == null) {
++-            return types.createErrorType(
++-                    (Type)JavacTypes.instance(info.impl.getJavacTask().getContext()).getNoType(TypeKind.NONE)
++-            );
++-        }
++-        Type inType = (Type)type;
++-        TypeKind tk = type.getKind();
++-        if (tk == TypeKind.ERROR) {
++-            inType = (Type)info.getTrees().getOriginalType((ErrorType)type);
++-        } else if (tk == TypeKind.NONE || tk == TypeKind.OTHER) {
++-            return types.createErrorType(inType);
++-        }
++-        Type t = types.upward(inType, types.captures(inType));
++-        if (!t.isErroneous()) {
++-            if (!checkDenotable(t)) {
++-                return types.createErrorType(t);
++-            }
++-        }
++-        if (t.hasTag(TypeTag.BOT)) {
++-            return types.createErrorType(t);
++-        } else {
++-            return t;
++-        }
++-    }
++-    
++-    boolean checkDenotable(Type t) {
++-        return denotableChecker.visit(t, null);
++-    }
++-        // where
++-
++-    /** diamondTypeChecker: A type visitor that descends down the given type looking for non-denotable
++-     *  types. The visit methods return false as soon as a non-denotable type is encountered and true
++-     *  otherwise.
++-     */
++-    private static final Types.SimpleVisitor<Boolean, Void> denotableChecker = new Types.SimpleVisitor<Boolean, Void>() {
++-        @Override
++-        public Boolean visitType(Type t, Void s) {
++-            return true;
++-        }
++-        @Override
++-        public Boolean visitClassType(ClassType t, Void s) {
++-            if (t.isUnion() || t.isIntersection()) {
++-                return false;
++-            }
++-            for (Type targ : t.allparams()) {
++-                if (!visit(targ, s)) {
++-                    return false;
++-                }
++-            }
++-            return true;
++-        }
++-
++-        @Override
++-        public Boolean visitTypeVar(TypeVar t, Void s) {
++-            /* Any type variable mentioned in the inferred type must have been declared as a type parameter
++-              (i.e cannot have been produced by inference (18.4))
++-            */
++-            return (t.tsym.flags() & Flags.SYNTHETIC) == 0;
++-        }
++-
++-        @Override
++-        public Boolean visitCapturedType(CapturedType t, Void s) {
++-            /* Any type variable mentioned in the inferred type must have been declared as a type parameter
++-              (i.e cannot have been produced by capture conversion (5.1.10))
++-            */
++-            return false;
++-        }
++-
++-
++-        @Override
++-        public Boolean visitArrayType(Type.ArrayType t, Void s) {
++-            return visit(t.elemtype, s);
++-        }
++-
++-        @Override
++-        public Boolean visitWildcardType(Type.WildcardType t, Void s) {
++-            return visit(t.type, s);
++-        }
++-    };
++-
++     /**Options for the {@link #getTypeName(javax.lang.model.type.TypeMirror, org.netbeans.api.java.source.TypeUtilities.TypeNameOptions[]) } method.
++      * @since 0.62
++      */
++diff --git a/java.source.base/src/org/netbeans/api/java/source/WorkingCopy.java b/java.source.base/src/org/netbeans/api/java/source/WorkingCopy.java
++index d9775b955..692e41cfd 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/WorkingCopy.java
+++++ b/java.source.base/src/org/netbeans/api/java/source/WorkingCopy.java
++@@ -46,8 +46,6 @@ package org.netbeans.api.java.source;
++ 
++ import com.sun.source.doctree.DocCommentTree;
++ import com.sun.source.doctree.DocTree;
++-import com.sun.source.tree.BlockTree;
++-import com.sun.source.tree.CaseTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.CompilationUnitTree;
++ import com.sun.source.tree.ExpressionStatementTree;
++@@ -86,10 +84,8 @@ import javax.tools.JavaFileObject;
++ 
++ import com.sun.source.tree.EnhancedForLoopTree;
++ import com.sun.source.tree.ForLoopTree;
++-import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.TreeVisitor;
++ import com.sun.source.tree.TryTree;
++-import com.sun.source.tree.VariableTree;
++ import com.sun.source.util.DocTrees;
++ import java.util.Collection;
++ import java.util.Comparator;
++@@ -559,38 +555,6 @@ public class WorkingCopy extends CompilationController {
++         }
++     }
++ 
++-    /**
++-     * Resolves all fields that belong to the same field group. 
++-     */
++-    private static @NonNull Collection<? extends Tree> collectFieldGroup(@NonNull CompilationInfo info, 
++-            @NonNull TreePath parentPath, Tree leaf) {
++-        Iterable<? extends Tree> children;
++-
++-        switch (parentPath.getLeaf().getKind()) {
++-            case BLOCK: children = ((BlockTree) parentPath.getLeaf()).getStatements(); break;
++-            case ANNOTATION_TYPE:
++-            case CLASS:
++-            case ENUM:
++-            case INTERFACE:
++-                children = ((ClassTree) parentPath.getLeaf()).getMembers(); break;
++-            case CASE:  children = ((CaseTree) parentPath.getLeaf()).getStatements(); break;
++-            default:    children = Collections.singleton(leaf); break;
++-        }
++-
++-        List<Tree> result = new LinkedList<>();
++-        ModifiersTree currentModifiers = ((VariableTree) leaf).getModifiers();
++-
++-        for (Tree c : children) {
++-            if (c.getKind() != Kind.VARIABLE) continue;
++-
++-            if (((VariableTree) c).getModifiers() == currentModifiers) {
++-                result.add(c);
++-            }
++-        }
++-        
++-        return result;
++-    }
++-
++     private List<Difference> processCurrentCompilationUnit(final DiffContext diffContext, final Map<?, int[]> tag2Span) throws IOException, BadLocationException {
++         final Set<TreePath> pathsToRewrite = new LinkedHashSet<TreePath>();
++         final Map<TreePath, Map<Tree, Tree>> parent2Rewrites = new IdentityHashMap<TreePath, Map<Tree, Tree>>();
++@@ -692,44 +656,13 @@ public class WorkingCopy extends CompilationController {
++                     return c;
++                 }
++ 
++-                /**
++-                 * True, if inside variable type or modifers part of a variable
++-                 * or field (not parameter). More efficient detection of field groups.
++-                 */
++-                private boolean beginVariableDeclarator;
++-
++-                /**
++-                 * Will be set to non-null when traversing through variable, which
++-                 * is a part of variable group.
++-                 */
++-                private TreePath variableParent;
++-                
++                 @Override
++                 public Void scan(Tree tree, Void p) {
++-                    boolean saveVarDec = beginVariableDeclarator;
++-                    
++-                    if (tree != null) {
++-                        if (tree.getKind() == Tree.Kind.VARIABLE &&
++-                            collectFieldGroup(WorkingCopy.this, 
++-                                    getCurrentPath(), tree).size() > 1) {
++-                            // start of a variable, which is a part of a variable group
++-                            variableParent = getCurrentPath();
++-                        } else if (variableParent != null && getCurrentPath().getLeaf().getKind() == Tree.Kind.VARIABLE) {
++-                            VariableTree vt = (VariableTree)getCurrentPath().getLeaf();
++-                            beginVariableDeclarator = vt.getModifiers() == tree || vt.getType() == tree;
++-                        }
++-                    }
++                     if (changes.containsKey(tree) || docChanges.containsKey(tree)) {
++                         if (currentParent == null) {
++-                            if (beginVariableDeclarator) {
++-                                // use common variable group parent instead of computed parent,
++-                                // if rewriting inside common pat of a field group.
++-                                currentParent = variableParent;
++-                            } else {
++-                                currentParent = getParentPath(getCurrentPath(), tree);
++-                                if (currentParent.getParentPath() != null && currentParent.getParentPath().getLeaf().getKind() == Kind.COMPILATION_UNIT) {
++-                                    currentParent = currentParent.getParentPath();
++-                                }
+++                            currentParent = getParentPath(getCurrentPath(), tree);
+++                            if (currentParent.getParentPath() != null && currentParent.getParentPath().getLeaf().getKind() == Kind.COMPILATION_UNIT) {
+++                                currentParent = currentParent.getParentPath();
++                             }
++                             pathsToRewrite.add(currentParent);
++                             if (!parent2Rewrites.containsKey(currentParent)) {
++@@ -764,7 +697,6 @@ public class WorkingCopy extends CompilationController {
++                     if (currentParent != null && currentParent.getLeaf() == tree) {
++                         currentParent = null;
++                     }
++-                    beginVariableDeclarator = saveVarDec;
++                     return null;
++                 }
++ 
++@@ -907,7 +839,7 @@ public class WorkingCopy extends CompilationController {
++ 
++             //tagging debug
++             //System.err.println("brandNew=" + brandNew);
++-            new CommentReplicator(presentInResult.keySet()).process(diffContext.origUnit);
+++            new CommentReplicator(presentInResult.keySet()).scan(diffContext.origUnit, null);
++             addCommentsToContext(diffContext);
++             for (ClassTree ct : classes) {
++                 ia.classLeft();
++@@ -1062,15 +994,6 @@ public class WorkingCopy extends CompilationController {
++             this.commentHandler = CommentHandlerService.instance(impl.getJavacTask().getContext());
++         }
++         
++-        private void process(CompilationUnitTree unit) {
++-            commentHandler.freeze();
++-            try {
++-                scan(unit, null);
++-            } finally {
++-                commentHandler.unFreeze();
++-            }
++-        }
++-        
++         private Object scanAndReduce(Tree node, Object p, Object r) {
++             return reduce(scan(node, p), r);
++         }
++@@ -1172,11 +1095,9 @@ public class WorkingCopy extends CompilationController {
++             return v;
++         }
++     }
++-    
++-    private static class CopyEntry {
++-        private RelativePosition pos;
++-        private Tree commentSource;
++-        private boolean copyNonEmpty;
+++        
+++    private void moveComments(Tree from, Tree to, RelativePosition relPos, Set<Comment> used) {
+++        
++     }
++     
++     private Tree resolveRewriteHint(Tree orig) {
++@@ -1208,8 +1129,7 @@ public class WorkingCopy extends CompilationController {
++                 CompilationUnitTree templateCUT = impl.getJavacTask().parse(FileObjects.sourceFileObject(targetFile, targetFile.getParent())).iterator().next();
++                 CompilationUnitTree importComments = GeneratorUtilities.get(this).importComments(templateCUT, templateCUT);
++ 
++-                rewrite(importComments, getTreeMaker().asRemoved(t));
++-                //changes.put(importComments, t);
+++                changes.put(importComments, t);
++ 
++                 StringWriter target = new StringWriter();
++ 
++diff --git a/java.source.base/src/org/netbeans/api/java/source/package.html b/java.source.base/src/org/netbeans/api/java/source/package.html
++index 578c71a88..cd9d9aa26 100644
++--- a/java.source.base/src/org/netbeans/api/java/source/package.html
+++++ b/java.source.base/src/org/netbeans/api/java/source/package.html
++@@ -1,42 +1,3 @@
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
++ <html>
++   <head>
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/JavaSourceUtilImpl.java b/java.source.base/src/org/netbeans/modules/java/source/JavaSourceUtilImpl.java
++index 6d8867e41..3ae8c5ba4 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/JavaSourceUtilImpl.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/JavaSourceUtilImpl.java
++@@ -42,56 +42,9 @@
++ 
++ package org.netbeans.modules.java.source;
++ 
++-import com.sun.tools.javac.api.JavacTaskImpl;
++-import java.io.ByteArrayInputStream;
++-import java.io.ByteArrayOutputStream;
++-import java.io.FileNotFoundException;
++ import java.io.IOException;
++-import java.io.InputStream;
++-import java.io.OutputStream;
++-import java.net.URI;
++-import java.util.Collections;
++-import java.util.HashMap;
++-import java.util.Iterator;
++-import java.util.Map;
++-import java.util.Set;
++-import java.util.function.Function;
++-import java.util.logging.Level;
++-import java.util.logging.Logger;
++-import java.util.stream.Collectors;
++-import java.util.stream.StreamSupport;
++-import javax.lang.model.element.TypeElement;
++-import javax.tools.Diagnostic;
++-import javax.tools.DiagnosticListener;
++-import javax.tools.JavaFileManager;
++-import javax.tools.JavaFileObject;
++-import javax.tools.StandardLocation;
++-import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.api.annotations.common.NullAllowed;
++-import org.netbeans.api.java.classpath.ClassPath;
++-import org.netbeans.api.java.platform.JavaPlatform;
++-import org.netbeans.api.java.queries.SourceLevelQuery;
++-import org.netbeans.api.java.source.ClasspathInfo;
++ import org.netbeans.api.java.source.JavaSource;
++-import org.netbeans.modules.java.source.classpath.AptSourcePath;
++-import org.netbeans.modules.java.source.classpath.CacheClassPath;
++-import org.netbeans.modules.java.source.indexing.APTUtils;
++-import org.netbeans.modules.java.source.indexing.FQN2Files;
++-import org.netbeans.modules.java.source.indexing.TransactionContext;
++-import org.netbeans.modules.java.source.parsing.CachingArchiveProvider;
++-import org.netbeans.modules.java.source.parsing.CachingFileManager;
++-import org.netbeans.modules.java.source.parsing.FileManagerTransaction;
++-import org.netbeans.modules.java.source.parsing.FileObjects;
++-import org.netbeans.modules.java.source.parsing.InferableJavaFileObject;
++-import org.netbeans.modules.java.source.parsing.JavacParser;
++-import org.netbeans.modules.java.source.parsing.ProcessorGenerated;
++-import org.netbeans.modules.java.source.usages.ClasspathInfoAccessor;
++-import org.netbeans.spi.java.classpath.ClassPathFactory;
++-import org.netbeans.spi.java.classpath.ClassPathImplementation;
++-import org.netbeans.spi.java.classpath.support.ClassPathSupport;
++ import org.openide.filesystems.FileObject;
++-import org.openide.filesystems.FileUtil;
++-import org.openide.util.Parameters;
++ 
++ /**
++  *
++@@ -99,297 +52,12 @@ import org.openide.util.Parameters;
++  */
++ @org.openide.util.lookup.ServiceProvider(service=org.netbeans.modules.java.preprocessorbridge.spi.JavaSourceUtilImpl.class)
++ public class JavaSourceUtilImpl extends org.netbeans.modules.java.preprocessorbridge.spi.JavaSourceUtilImpl {
++-    
++-    private static final Logger LOGGER = Logger.getLogger(JavaSourceUtilImpl.class.getName());
++ 
++     @Override
++     protected long createTaggedCompilationController(FileObject file, long currenTag, Object[] out) throws IOException {
++         assert file != null;
++         final JavaSource js = JavaSource.forFileObject(file);
++-        if (js == null) {
++-            throw new FileNotFoundException(
++-                    String.format("No java source for %s, exists: %b, file: %b",    //NOI18N
++-                        FileUtil.getFileDisplayName(file),
++-                        file.isValid(),
++-                        file.isData()
++-                    ));
++-        }
++         return JavaSourceAccessor.getINSTANCE().createTaggedCompilationController(js, currenTag, out);
++     }
++ 
++-    @Override
++-    @NonNull
++-    protected Map<String, byte[]> generate(
++-            @NonNull final FileObject srcRoot,
++-            @NonNull final FileObject file,
++-            @NullAllowed CharSequence content,
++-            @NullAllowed final DiagnosticListener<? super JavaFileObject> diagnostics) throws IOException {
++-        Parameters.notNull("srcRoot", srcRoot); //NOI18N
++-        Parameters.notNull("file", file);   //NOI18N        
++-        final String path = FileUtil.getRelativePath(srcRoot, file);
++-        if (path == null) {
++-            throw new IllegalArgumentException(String.format(
++-                    "File: %s not in root: %s", //NOI18N
++-                    file,
++-                    srcRoot));
++-        }        
++-        final String[] ncs = FileObjects.getPackageAndName(
++-            FileObjects.convertFolder2Package(FileObjects.stripExtension(path)));        
++-        final JavaFileObject toCompile = FileObjects.memoryFileObject(
++-                ncs[0],
++-                ncs[1]+'.'+file.getExt(),
++-                content);
++-        boolean success = false;
++-        final TransactionContext ctx = TransactionContext.beginTrans()
++-                .register(FileManagerTransaction.class, FileManagerTransaction.writeThrough())
++-                .register(ProcessorGenerated.class, ProcessorGenerated.create(srcRoot.toURL()));
++-        try {
++-            ClassPath src = ClassPath.getClassPath(srcRoot, ClassPath.SOURCE);
++-            if (src == null) {
++-                src = ClassPathSupport.createClassPath(srcRoot);
++-            }
++-            ClassPath boot = ClassPath.getClassPath(srcRoot, ClassPath.BOOT);
++-            if (boot == null) {
++-                boot = JavaPlatform.getDefault().getBootstrapLibraries();
++-            }
++-            ClassPath compile = ClassPath.getClassPath(srcRoot, ClassPath.COMPILE);
++-            if (compile == null) {
++-                compile = ClassPath.EMPTY;
++-            }
++-            final ClassPath srcFin = src;
++-            final Function<JavaFileManager.Location,JavaFileManager> jfmProvider =
++-                    (loc) -> {
++-                        return loc == StandardLocation.CLASS_OUTPUT ?
++-                                new OutputFileManager(
++-                                        CachingArchiveProvider.getDefault(),
++-                                        srcFin) :
++-                                null;
++-                    };
++-            final ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create(
++-                    boot,
++-                    compile,
++-                    src,
++-                    null,
++-                    true,
++-                    true,
++-                    false,
++-                    false,
++-                    jfmProvider);
++-            final APTUtils aptUtils = APTUtils.get(srcRoot);
++-            final SourceLevelQuery.Result r = SourceLevelQuery.getSourceLevel2(file);            
++-            final JavacTaskImpl  jt = JavacParser.createJavacTask(
++-                    cpInfo,
++-                    diagnostics != null ?
++-                            diagnostics :
++-                            new Diags(),
++-                    r.getSourceLevel(),
++-                    r.getProfile(),
++-                    null,
++-                    null,
++-                    null,
++-                    aptUtils);
++-            final Iterable<? extends JavaFileObject> generated = jt.generate(
++-                    StreamSupport.stream(jt.analyze(jt.enter(jt.parse(toCompile))).spliterator(), false)
++-                            .filter((e) -> e.getKind().isClass() || e.getKind().isInterface())
++-                            .map((e) -> (TypeElement)e)
++-                            .collect(Collectors.toList()));
++-            final Map<String,byte[]> result = new HashMap<>();
++-            for (JavaFileObject jfo : generated) {
++-                if (jfo instanceof OutputFileManager.MemOutFileObject) {
++-                    final OutputFileManager.MemOutFileObject mout = (OutputFileManager.MemOutFileObject) jfo;
++-                    result.put(mout.inferBinaryName(), mout.toByteArray());
++-                } else {
++-                    throw new IOException(String.format(
++-                            "Unexpected JavaFileObject: %s",  //NOI18N
++-                            jfo));
++-                }
++-            }
++-            success = true;
++-            return Collections.unmodifiableMap(result);
++-        } finally {
++-            if (success) {
++-                ctx.commit();
++-            } else {
++-                ctx.rollBack();
++-            }
++-        }
++-    }
++-    
++-    private static final class Diags implements DiagnosticListener<JavaFileObject> {
++-        @Override
++-        public void report(Diagnostic<? extends JavaFileObject> diagnostic) {
++-            LOGGER.log(
++-                    Level.FINE,
++-                    "{0}",  //NOI18N
++-                    diagnostic);
++-        }        
++-    }
++-    
++-    private static final class OutputFileManager implements JavaFileManager {
++-        private final JavaFileManager readDelegate;
++-        
++-        OutputFileManager(
++-                @NonNull final CachingArchiveProvider cap,
++-                @NonNull final ClassPath srcPath) {
++-            final ClassPathImplementation srcNoApt = AptSourcePath.sources(srcPath);
++-            final ClassPath out = CacheClassPath.forSourcePath (
++-                    ClassPathFactory.createClassPath(srcNoApt),
++-                    true);
++-            readDelegate = new CachingFileManager(cap, out, false, true);
++-        }
++-
++-        @Override
++-        public Iterable<JavaFileObject> list(Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse) throws IOException {
++-            assertLocation(location, false);
++-            return readDelegate.list(location, packageName, kinds, recurse);
++-        }
++-
++-        @Override
++-        public JavaFileObject getJavaFileForInput(Location location, String className, JavaFileObject.Kind kind) throws IOException {
++-            assertLocation(location, false);
++-            return readDelegate.getJavaFileForInput(location, className, kind);
++-        }
++-        
++-        @Override
++-        public javax.tools.FileObject getFileForInput(Location location, String packageName, String relativeName) throws IOException {
++-            assertLocation(location, false);
++-            return readDelegate.getFileForInput(location, packageName, relativeName);
++-        }
++-
++-        @Override
++-        public JavaFileObject getJavaFileForOutput(Location location, String className, JavaFileObject.Kind kind, javax.tools.FileObject sibling) throws IOException {
++-            assertLocation(location, true);
++-            final String[] ncs = FileObjects.getPackageAndName(className);
++-            return new MemOutFileObject(
++-                    ncs[0],
++-                    String.format("%s%s", ncs[1], kind.extension));
++-        }
++-
++-        @Override
++-        public javax.tools.FileObject getFileForOutput(Location location, String packageName, String relativeName, javax.tools.FileObject sibling) throws IOException {
++-            assertLocation(location, true);
++-            final String resourceName = FileObjects.resolveRelativePath(packageName, relativeName);
++-            final String[] ncs = FileObjects.getFolderAndBaseName(resourceName, FileObjects.NBFS_SEPARATOR_CHAR);
++-            return new MemOutFileObject(
++-                    FileObjects.convertFolder2Package(ncs[0]),
++-                    ncs[1]);
++-        }
++-        
++-        @Override
++-        public boolean isSameFile(javax.tools.FileObject a, javax.tools.FileObject b) {
++-            if (a == b) {
++-                return true;
++-            }
++-            return a.toUri().equals(b.toUri());
++-        }
++-        
++-        @Override
++-        public String inferBinaryName(Location location, JavaFileObject file) {
++-            if (hasLocation(location)) {
++-                return ((InferableJavaFileObject)file).inferBinaryName();
++-            }
++-            return null;
++-        }
++-
++-        @Override
++-        public void flush() throws IOException {
++-        }
++-
++-        @Override
++-        public void close() throws IOException {
++-        }
++-        
++-        @Override
++-        public boolean hasLocation(Location location) {
++-            return location == StandardLocation.CLASS_OUTPUT;
++-        }
++-
++-        @Override
++-        public int isSupportedOption(String string) {
++-            return -1;
++-        }
++-
++-        @Override
++-        public boolean handleOption (final String head, final Iterator<String> tail) {
++-            return false;
++-        }
++-        
++-        @Override
++-        public ClassLoader getClassLoader(Location location) {
++-            assertLocation(location, false);
++-            return null;
++-        }
++-        
++-        private static void assertLocation(
++-                Location l,
++-                boolean write) { 
++-            if (l instanceof StandardLocation)  {
++-                switch ((StandardLocation)l) {
++-                    case CLASS_OUTPUT:
++-                        return;
++-                    case CLASS_PATH:
++-                        if (!write) {
++-                            return;
++-                        }
++-                }
++-            }
++-            throw new IllegalStateException(String.valueOf(l));
++-        }
++-        
++-        private static final class MemOutFileObject extends FileObjects.Base {            
++-            private final ByteArrayOutputStream out;
++-            private long modified;
++-            
++-            MemOutFileObject(
++-                    @NonNull final String pkg,
++-                    @NonNull final String name) {
++-                super(pkg, name, null, true);
++-                modified = -1;
++-                out = new ByteArrayOutputStream();
++-            }
++-
++-            @Override
++-            public URI toUri() {
++-                return URI.create(String.format(
++-                        "%s/%s",    //NOI18N
++-                        FileObjects.convertPackage2Folder(getPackage()),
++-                        getName()));
++-            }
++-
++-            @Override
++-            public InputStream openInputStream() throws IOException {
++-                return new ByteArrayInputStream(out.toByteArray());
++-            }
++-
++-            @Override
++-            public OutputStream openOutputStream() throws IOException {
++-                modified = System.currentTimeMillis();
++-                out.reset();
++-                return out;
++-            }
++-
++-            @Override
++-            public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
++-                return encoding == null ?
++-                        new String(out.toByteArray()) :
++-                        new String(out.toByteArray(), encoding);
++-            }
++-
++-            @Override
++-            public long getLastModified() {
++-                return modified;
++-            }
++-
++-            @Override
++-            public boolean delete() {
++-                out.reset();
++-                return true;
++-            }
++-            
++-            byte[] toByteArray() {
++-                return out.toByteArray();
++-            }
++-        }
++-    }
++-
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/JavadocEnv.java b/java.source.base/src/org/netbeans/modules/java/source/JavadocEnv.java
++index f162ec150..23beccba0 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/JavadocEnv.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/JavadocEnv.java
++@@ -48,7 +48,6 @@ import com.sun.javadoc.ClassDoc;
++ import com.sun.source.util.TreePath;
++ import com.sun.tools.javac.code.Flags;
++ import com.sun.tools.javac.code.Kinds;
++-import com.sun.tools.javac.code.Symbol;
++ import com.sun.tools.javac.code.Symbol.ClassSymbol;
++ import com.sun.tools.javac.code.Symbol.MethodSymbol;
++ import com.sun.tools.javac.code.Symbol.PackageSymbol;
++@@ -430,14 +429,15 @@ public class JavadocEnv extends DocEnv {
++             TypeSymbol s = sym;
++             while(s != null && st.hasMoreTokens()) {
++                 Name clsName = nameTable.fromString(st.nextToken());
++-                TypeSymbol ts = null;
++-                for (Symbol symbol : s.members().getSymbolsByName(clsName)) {
++-                    if (symbol.kind == Kinds.Kind.TYP && (symbol.flags_field & Flags.SYNTHETIC) == 0) {
++-                        ts = (TypeSymbol)symbol;
+++                com.sun.tools.javac.code.Scope.Entry e = s.members().lookup(clsName);
+++                s = null;
+++                while (e.scope != null) {
+++                    if (e.sym.kind == Kinds.TYP && (e.sym.flags_field & Flags.SYNTHETIC) == 0) {
+++                        s = (TypeSymbol)e.sym;
++                         break;
++                     }
+++                    e = e.next();
++                 }
++-                s = ts;
++             }
++             return s instanceof ClassSymbol ? env.getClassDoc((ClassSymbol)s) : null;
++         }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java b/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java
++index c0b9cec3a..96e641b48 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java
++@@ -261,6 +261,8 @@ public class JavadocHelper {
++         public URL getLocation(@NonNull final RemoteJavadocPolicy rjp) throws RemoteJavadocException {
++             if (urls.isEmpty()) {
++                 return null;
+++            } else if (urls.size() == 1) {
+++                return urls.get(0);
++             } else {
++                 Integer index = jdocRoot == null ? null : jdocCache.get(jdocRoot);
++                 if (index == null || index >= urls.size()) {
++@@ -283,47 +285,42 @@ public class JavadocHelper {
++                             try (Reader reader = charset == null?
++                                     new InputStreamReader(this.openStream()) :
++                                     new InputStreamReader(this.openStream(), charset)){
++-                                if (urls.size() > 1) {
++-                                    final HTMLEditorKit.Parser parser = new ParserDelegator();
++-                                    final int[] state = {-1};
++-                                    try {
++-                                        parser.parse(
++-                                            reader,
++-                                            new HTMLEditorKit.ParserCallback() {
++-                                                @Override
++-                                                public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos) {
++-                                                    if (state[0] == -1) {
++-                                                        if (t == HTML.Tag.A) {
++-                                                            final String attrName = (String)a.getAttribute(HTML.Attribute.NAME);
++-                                                            if (attrName != null) {
++-                                                                if (docLet1.contains(attrName)) {
++-                                                                    state[0] = 0;
++-                                                                } else if (docLet2.contains(attrName)) {
++-                                                                    state[0] = 1;
++-                                                                }
+++                                final HTMLEditorKit.Parser parser = new ParserDelegator();
+++                                final int[] state = {-1};
+++                                try {
+++                                    parser.parse(
+++                                        reader,
+++                                        new HTMLEditorKit.ParserCallback() {
+++                                            @Override
+++                                            public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos) {
+++                                                if (state[0] == -1) {
+++                                                    if (t == HTML.Tag.A) {
+++                                                        final String attrName = (String)a.getAttribute(HTML.Attribute.NAME);
+++                                                        if (attrName != null) {
+++                                                            if (docLet1.contains(attrName)) {
+++                                                                state[0] = 0;
+++                                                            } else if (docLet2.contains(attrName)) {
+++                                                                state[0] = 1;
++                                                             }
++                                                         }
++                                                     }
++                                                 }
++-                                            },
++-                                            charset != null);
++-                                        index = state[0] == -1 ? 0 : state[0];
++-                                        if (jdocRoot != null) {
++-                                            jdocCache.put(jdocRoot,index);
++-                                        }
++-                                        break;
++-                                    } catch (ChangedCharSetException e) {
++-                                        if (charset == null) {
++-                                            charset = JavadocHelper.getCharSet(e);
++-                                            //restart with valid charset
++-                                        } else {
++-                                            throw new IOException(e);
++-                                        }
++-                                    }                            
++-                                } else {
++-                                    index = 0;
+++                                            }
+++                                        },
+++                                        charset != null);
+++                                    index = state[0] == -1 ? 0 : state[0];
+++                                    if (jdocRoot != null) {
+++                                        jdocCache.put(jdocRoot,index);
+++                                    }
++                                     break;
++-                                }
+++                                } catch (ChangedCharSetException e) {
+++                                    if (charset == null) {
+++                                        charset = JavadocHelper.getCharSet(e);
+++                                        //restart with valid charset
+++                                    } else {
+++                                        throw new IOException(e);
+++                                    }
+++                                }                            
++                             }
++                         }
++                     } catch (IOException e) {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/PostFlowAnalysis.java b/java.source.base/src/org/netbeans/modules/java/source/PostFlowAnalysis.java
++index df0229d5d..887ebeeff 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/PostFlowAnalysis.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/PostFlowAnalysis.java
++@@ -116,6 +116,14 @@ public class PostFlowAnalysis extends TreeScanner {
++         }
++     }
++     
+++    private void analyze(Element e) {
+++        if (e instanceof TypeSymbol) {
+++            Env<AttrContext> env = enter.getClassEnv((TypeSymbol)e);
+++            if (env != null)
+++                this.scan(env.toplevel);
+++        }
+++    }
+++
++     @Override
++     public void scan(JCTree tree) {
++         if (tree != null && tree.type != null && tree.type.constValue() != null) {
++@@ -144,7 +152,8 @@ public class PostFlowAnalysis extends TreeScanner {
++     @Override
++     public void visitMethodDef(JCMethodDecl tree) {
++         if (tree.name == names.init &&
++-            (currentClass.isInner() || currentClass.isLocal())) {
+++            (currentClass.isInner() ||
+++             (currentClass.owner.kind & (Kinds.VAR | Kinds.MTH)) != 0)) {
++             List<Pair<TypeSymbol, Symbol>> prevOuterThisStack = outerThisStack;
++             try {
++                 if (currentClass.hasOuterInstance())
++@@ -164,10 +173,12 @@ public class PostFlowAnalysis extends TreeScanner {
++             return;
++         }
++         Type type = types.erasure(tree.type);
++-        for (Symbol sym : s.getSymbolsByName(tree.name)) {
++-            if (sym != tree.sym &&
++-                types.isSameType(types.erasure(sym.type), type) && !sym.type.isErroneous() && !type.isErroneous()) {
++-                log.error(tree.pos(), "name.clash.same.erasure", tree.sym, sym); //NOI18N
+++        for (Scope.Entry e = s.lookup(tree.name);
+++             e.sym != null;
+++             e = e.next()) {
+++            if (e.sym != tree.sym &&
+++                types.isSameType(types.erasure(e.sym.type), type) && !e.sym.type.isErroneous() && !type.isErroneous()) {
+++                log.error(tree.pos(), "name.clash.same.erasure", tree.sym, e.sym); //NOI18N
++                 return;
++             }
++         }
++@@ -178,7 +189,7 @@ public class PostFlowAnalysis extends TreeScanner {
++         super.visitNewClass(tree);
++         Symbol c = tree.constructor != null ? tree.constructor.owner : null;
++         if (c != null && c.hasOuterInstance()) {
++-            if (tree.encl == null && c.isLocal()) {
+++            if (tree.encl == null && (c.owner.kind & (Kinds.MTH | Kinds.VAR)) != 0) {
++                 checkThis(tree.pos(), c.type.getEnclosingType().tsym);
++             }
++         }
++@@ -194,7 +205,7 @@ public class PostFlowAnalysis extends TreeScanner {
++                 Symbol c = meth.owner;
++                 if (c.hasOuterInstance()) {
++                     checkThis = false;
++-                    if (tree.meth.getTag() != JCTree.Tag.SELECT && (c.isLocal() || methName == names._this)) {
+++                    if (tree.meth.getTag() != JCTree.Tag.SELECT && ((c.owner.kind & (Kinds.MTH | Kinds.VAR)) != 0 || methName == names._this)) {
++                         checkThis(tree.meth.pos(), c.type.getEnclosingType().tsym);
++                     }
++                 }
++@@ -230,7 +241,7 @@ public class PostFlowAnalysis extends TreeScanner {
++                     }
++                     ot = ots.head;
++                 } while (ot.snd != otc);
++-                if (otc.owner.kind != Kinds.Kind.PCK && !otc.hasOuterInstance()) {
+++                if (otc.owner.kind != Kinds.PCK && !otc.hasOuterInstance()) {
++                     log.error(pos, "cant.ref.before.ctor.called", c); //NOI18N
++                     return;
++                 }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/TreeLoader.java b/java.source.base/src/org/netbeans/modules/java/source/TreeLoader.java
++index d009cd498..955b2bf3f 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/TreeLoader.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/TreeLoader.java
++@@ -414,7 +414,6 @@ public class TreeLoader extends LazyTreeLoader {
++             @NonNull final ClassSymbol clazz,
++             @NonNull final HashMap<ClassSymbol, JCClassDecl> syms2trees) throws IOException {
++         Log log = Log.instance(jti.getContext());
++-        JavaCompiler compiler = JavaCompiler.instance(jti.getContext());
++         JavaFileObject prevLogTo = log.useSource(null);
++         DiscardDiagnosticHandler discardDiagnosticHandler = new Log.DiscardDiagnosticHandler(log);
++         final TaskListener listener = new TaskListener() {
++@@ -430,16 +429,13 @@ public class TreeLoader extends LazyTreeLoader {
++             public void finished(TaskEvent e) {
++             }
++         };
++-        boolean oldSkipAP = compiler.skipAnnotationProcessing;
++         try {
++-            compiler.skipAnnotationProcessing = true;
++             jti.addTaskListener(listener);
++             jti.generate(Collections.singletonList(clazz));
++         } catch (InvalidSourcePath isp) {
++             LOGGER.log(Level.INFO, "InvalidSourcePath reported when writing sym file for class: {0}", clazz.flatname); // NOI18N
++         } finally {
++             jti.removeTaskListener(listener);
++-            compiler.skipAnnotationProcessing = oldSkipAP;
++             log.popDiagnosticHandler(discardDiagnosticHandler);
++             log.useSource(prevLogTo);
++         }
++@@ -667,11 +663,11 @@ public class TreeLoader extends LazyTreeLoader {
++                         assert methodName != null : "Null methodName. Signature: [" + signature + "], Names: [" + names + "]";
++                         assert paramTypes.size() == paramNames.size() : "Inconsistent param types/names. Signature: [" + signature + "], Names: [" + names + "]";
++                         if (paramNames.size() > 0) {
++-                            for (Symbol s : clazz.members().getSymbolsByName(isCtor
+++                            for (Scope.Entry e = clazz.members().lookup(isCtor
++                                     ? clazz.name.table.names.init
++-                                    : clazz.name.table.fromString(methodName))) {
++-                                if (s.kind == Kinds.Kind.MTH && s.owner == clazz) {
++-                                    MethodSymbol sym = (MethodSymbol)s;
+++                                    : clazz.name.table.fromString(methodName)); e.scope != null; e = e.next()) {
+++                                if (e.sym.kind == Kinds.MTH && e.sym.owner == clazz) {
+++                                    MethodSymbol sym = (MethodSymbol)e.sym;
++                                     List<VarSymbol> params = sym.params;
++                                     if (checkParamTypes(params, paramTypes)) {
++                                         for (String name : paramNames) {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/base/Bundle.properties b/java.source.base/src/org/netbeans/modules/java/source/base/Bundle.properties
++index 819020cf1..bf0762d16 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/base/Bundle.properties
+++++ b/java.source.base/src/org/netbeans/modules/java/source/base/Bundle.properties
++@@ -1,40 +1,3 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License.  When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ OpenIDE-Module-Display-Category=Java
++ OpenIDE-Module-Name=Java Source Base
++ LBL_HTTPJavadocDownload=Downloading HTTP Javadoc
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/builder/CommentHandlerService.java b/java.source.base/src/org/netbeans/modules/java/source/builder/CommentHandlerService.java
++index a97d8547e..6b08641d4 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/builder/CommentHandlerService.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/builder/CommentHandlerService.java
++@@ -83,8 +83,6 @@ public class CommentHandlerService implements CommentHandler {
++ 
++     private final Map<Tree, CommentSetImpl> map = new HashMap<Tree, CommentSetImpl>();
++     
++-    private boolean frozen;
++-    
++     private CommentHandlerService(Context context) {
++     }
++     
++@@ -99,20 +97,6 @@ public class CommentHandlerService implements CommentHandler {
++         return m;
++     }
++     
++-    public void freeze() {
++-        frozen = true;
++-        for (CommentSetImpl impl : map.values()) {
++-            impl.commentsFrozen(true);
++-        }
++-    }
++-
++-    public void unFreeze() {
++-        frozen = false;
++-        for (CommentSetImpl impl : map.values()) {
++-            impl.commentsFrozen(false);
++-        }
++-    }
++-    
++     public boolean hasComments(Tree tree) {
++         synchronized (map) {
++             return map.containsKey(tree);
++@@ -126,9 +110,6 @@ public class CommentHandlerService implements CommentHandler {
++                 // note - subsequent change to the CommentSetImpl will clone the old (empty) set of comments into CommentSetImpl
++                 // optimization NOT to retain empty CSImpls is not possible; the caller may modify the return value.
++                 cs = new CommentSetImpl();
++-                if (frozen) {
++-                    cs.commentsFrozen(frozen);
++-                }
++                 map.put(tree, cs);
++             }
++             return cs;
++@@ -159,9 +140,6 @@ public class CommentHandlerService implements CommentHandler {
++                 CommentSetImpl to = map.get(toTree);
++                 if (to == null) {
++                     map.put(toTree, to = new CommentSetImpl());
++-                    if (frozen) {
++-                        to.commentsFrozen(true);
++-                    }
++                 }
++                 for (RelativePosition pos : RelativePosition.values()) {
++                     int index = 0;
++@@ -187,7 +165,6 @@ public class CommentHandlerService implements CommentHandler {
++                     if (last == -1) {
++                         last = l.size() - 1;
++                     }
++-                    CopyEntry en = new CopyEntry();
++                     for (index = first; index <= last; index++) {
++                         Comment c = l.get(index);
++                         if (copied != null && !copied.add(c)) {
++@@ -200,12 +177,6 @@ public class CommentHandlerService implements CommentHandler {
++         }
++     }
++     
++-    private static class CopyEntry {
++-        private Tree target;
++-        private RelativePosition pos;
++-        private Collection<Comment> comments = new ArrayList();
++-    }
++-    
++     /**
++      * Add a comment to a tree's comment set.  If a comment set
++      * for the tree doesn't exist, one will be created.
++@@ -215,9 +186,6 @@ public class CommentHandlerService implements CommentHandler {
++             CommentSetImpl set = map.get(tree);
++             if (set == null) {
++                 set = new CommentSetImpl();
++-                if (frozen) {
++-                    set.commentsFrozen(frozen);
++-                }
++                 map.put(tree, set);
++             }
++             set.addPrecedingComment(c);
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/builder/CommentSetImpl.java b/java.source.base/src/org/netbeans/modules/java/source/builder/CommentSetImpl.java
++index 2a04b8368..4213087a1 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/builder/CommentSetImpl.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/builder/CommentSetImpl.java
++@@ -161,10 +161,10 @@ public final class CommentSetImpl implements Cloneable, CommentSet {
++      * was made after that point yet. When first change occurs, the original comment Map
++      * should be cloned and preserved for code generation phase.
++      * 
++-     * @return true, if this is the first comment change.
+++     * @return 
++      */
++     private boolean trackFirstChange() {
++-        return (commentsMapped || commentsFrozen) && !changed;
+++        return commentsMapped && !changed;
++     }
++     
++     /**
++@@ -277,22 +277,9 @@ public final class CommentSetImpl implements Cloneable, CommentSet {
++         return sb.toString();
++     }
++     
++-    /**
++-     * @return indicate that comments for this Tree were mapped in from source.
++-     */
++     public boolean areCommentsMapped() {
++         return commentsMapped;
++     }
++-
++-    /**
++-     * Temporary flag during comment replication, which makes CommentSet to pretend
++-     * it has all the comments already, so any change will result in comment cloning.
++-     */
++-    private boolean commentsFrozen;
++-    
++-    public void commentsFrozen(boolean freeze) {
++-        this.commentsFrozen = freeze;
++-    }
++     
++     public void commentsMapped() {
++         commentsMapped = true;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/builder/ElementsService.java b/java.source.base/src/org/netbeans/modules/java/source/builder/ElementsService.java
++index c33173d5e..40210487e 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/builder/ElementsService.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/builder/ElementsService.java
++@@ -49,7 +49,6 @@ import com.sun.tools.javac.code.Flags;
++ import com.sun.tools.javac.util.Name;
++ import com.sun.tools.javac.util.Names;
++ import com.sun.tools.javac.code.Scope;
++-import com.sun.tools.javac.code.Source;
++ import com.sun.tools.javac.code.Symbol;
++ import com.sun.tools.javac.code.Symbol.ClassSymbol;
++ import com.sun.tools.javac.code.Symbol.MethodSymbol;
++@@ -71,7 +70,6 @@ public class ElementsService {
++     private com.sun.tools.javac.code.Types jctypes;
++     private Names names;
++     private Types types;
++-    private final boolean allowDefaultMethods;
++     
++     private static final Context.Key<ElementsService> KEY =
++ 	    new Context.Key<ElementsService>();
++@@ -88,7 +86,6 @@ public class ElementsService {
++         jctypes = com.sun.tools.javac.code.Types.instance(context);
++         names = Names.instance(context);
++         types = JavacTypes.instance(context);
++-        allowDefaultMethods = Source.instance(context).allowDefaultMethods();
++     }
++ 
++     /** 
++@@ -124,10 +121,11 @@ public class ElementsService {
++         if ((m.flags() & Flags.STATIC) == 0) {
++             ClassSymbol owner = (ClassSymbol) m.owner;
++             for (Type sup = jctypes.supertype(m.owner.type);
++-                    sup.hasTag(TypeTag.CLASS);
++-                    sup = jctypes.supertype(sup)) {
++-                for (Symbol sym : sup.tsym.members().getSymbolsByName(m.name)) {
++-                    if (m.overrides(sym, owner, jctypes, true)) 
+++                 sup.hasTag(TypeTag.CLASS);
+++                 sup = jctypes.supertype(sup)) {
+++                for (Scope.Entry e = sup.tsym.members().lookup(m.name);
+++                     e.scope != null; e = e.next()) {
+++                    if (m.overrides(e.sym, owner, jctypes, true)) 
++                         return true;
++                 }
++             }
++@@ -143,8 +141,9 @@ public class ElementsService {
++         MethodSymbol m = (MethodSymbol)element;
++ 	TypeSymbol owner = (TypeSymbol) m.owner;
++ 	for (Type type : jctypes.interfaces(m.owner.type)) {
++-            for (Symbol sym : type.tsym.members().getSymbolsByName(m.name)) {
++-		if (m.overrides(sym, owner, jctypes, true)) 
+++	    for (Scope.Entry e = type.tsym.members().lookup(m.name);
+++		 e.scope != null; e = e.next()) {
+++		if (m.overrides(e.sym, owner, jctypes, true)) 
++ 		    return true;
++ 	    }
++ 	}
++@@ -156,11 +155,10 @@ public class ElementsService {
++         ClassSymbol clazz = (ClassSymbol)enclClass;
++         Scope scope = clazz.members();
++         Name n = names.fromString(name.toString());
++-        for (Symbol sym : scope.getSymbolsByName(n, Scope.LookupKind.NON_RECURSIVE)) {
++-            if(sym.type instanceof ExecutableType &&
++-                    types.isSubsignature(meth, (ExecutableType)sym.type))
+++        for(Scope.Entry e = scope.lookup(n); e.scope==scope; e = e.next())
+++            if(e.sym.type instanceof ExecutableType && 
+++               types.isSubsignature(meth, (ExecutableType)e.sym.type))
++                 return true;
++-        }
++         return false;
++     }
++     
++@@ -172,12 +170,11 @@ public class ElementsService {
++         for (TypeMirror tm : paramTypes) {
++             buff.append((Type)tm);
++         }
++-        for (Symbol sym : scope.getSymbolsByName(n, Scope.LookupKind.NON_RECURSIVE)) {
++-            if(sym.type instanceof ExecutableType &&
++-                    jctypes.containsTypeEquivalent(sym.type.asMethodType().getParameterTypes(), buff.toList()) &&
++-                    jctypes.isSameType(sym.type.asMethodType().getReturnType(), (Type)returnType))
+++        for(Scope.Entry e = scope.lookup(n); e.scope==scope; e = e.next())
+++            if(e.sym.type instanceof ExecutableType &&
+++               jctypes.containsTypeEquivalent(e.sym.type.asMethodType().getParameterTypes(), buff.toList()) &&
+++               jctypes.isSameType(e.sym.type.asMethodType().getReturnType(), (Type)returnType))
++                 return true;
++-        }
++         return false;
++     }
++     
++@@ -194,11 +191,12 @@ public class ElementsService {
++ 	// Check if this method overrides a deprecated method. 
++ 	TypeSymbol owner = sym.enclClass();
++ 	for (Type sup = jctypes.supertype(owner.type);
++-                sup.hasTag(TypeTag.CLASS);
++-                sup = jctypes.supertype(sup)) {
++-            for (Symbol symbol : sup.tsym.members().getSymbolsByName(sym.name)) {
++-		if (sym.overrides(symbol, owner, jctypes, true) &&
++-                        (symbol.flags() & Flags.DEPRECATED) != 0)
+++	     sup.hasTag(TypeTag.CLASS);
+++	     sup = jctypes.supertype(sup)) {
+++	    for (Scope.Entry e = sup.tsym.members().lookup(sym.name);
+++		 e.scope != null; e = e.next()) {
+++		if (sym.overrides(e.sym, owner, jctypes, true) &&
+++			(e.sym.flags() & Flags.DEPRECATED) != 0)
++ 		    return true;
++ 	    }
++ 	}
++@@ -215,49 +213,9 @@ public class ElementsService {
++             ((Symbol.ClassSymbol)element).fullname :
++             Symbol.TypeSymbol.formFullName(sym.name, sym.owner);
++     }
++-    
++-    private static boolean hasImplementation(MethodSymbol msym) {
++-        long f = msym.flags();
++-        return ((f & Flags.DEFAULT) != 0) || ((f & Flags.ABSTRACT) == 0);
++-    }
++ 
++     public Element getImplementationOf(ExecutableElement method, TypeElement origin) {
++-        MethodSymbol msym = (MethodSymbol)method;
++-        MethodSymbol implmethod = (msym).implementation((TypeSymbol)origin, jctypes, true);
++-        if ((msym.flags() & Flags.STATIC) != 0) {
++-            // return null if outside of hierarchy, or the method itself if origin extends method's class
++-            if (jctypes.isSubtype(((TypeSymbol)origin).type,  ((TypeSymbol)((MethodSymbol)method).owner).type)) {
++-                return method;
++-            } else {
++-                return null;
++-            }
++-        }
++-        if (implmethod == null || implmethod == method) {
++-            //look for default implementations
++-            if (allowDefaultMethods) {
++-                com.sun.tools.javac.util.List<MethodSymbol> candidates = jctypes.interfaceCandidates(((TypeSymbol) origin).type, (MethodSymbol) method);
++-                X: for (com.sun.tools.javac.util.List<MethodSymbol> ptr = candidates; ptr.head != null; ptr = ptr.tail) {
++-                    MethodSymbol prov = ptr.head;
++-                    if (prov != null && prov.overrides((MethodSymbol) method, (TypeSymbol) origin, jctypes, true) &&
++-                        hasImplementation(prov)) {
++-                        // PENDING: even if `prov' overrides the method, there may be a different method, in different interface, that overrides `method'
++-                        // 'prov' must override all such compatible methods in order to present a valid implementation of `method'.
++-                        for (com.sun.tools.javac.util.List<MethodSymbol> sibling = candidates; sibling.head != null; sibling = sibling.tail) {
++-                            MethodSymbol redeclare = sibling.head;
++-
++-                            // if the default method does not override the alternative candidate from an interface, then the default will be rejected
++-                            // as specified in JLS #8, par. 8.4.8
++-                            if (!prov.overrides(redeclare, (TypeSymbol)origin, jctypes, allowDefaultMethods)) {
++-                                break X;
++-                            }
++-                        }
++-                        implmethod = prov;
++-                        break;
++-                    }
++-                }
++-            }
++-        }
++-        return implmethod;
+++        return ((MethodSymbol)method).implementation((TypeSymbol)origin, jctypes, true);
++     }
++ 
++     public boolean isSynthetic(Element e) {
++@@ -266,41 +224,24 @@ public class ElementsService {
++     
++     public ExecutableElement getOverriddenMethod(ExecutableElement method) {
++         MethodSymbol m = (MethodSymbol)method;
++-        if ((m.flags() & Flags.STATIC) != 0) {
++-            return null;
++-        }
++ 	ClassSymbol origin = (ClassSymbol)m.owner;
++         MethodSymbol bridgeCandidate = null;
++-        for (Type t = jctypes.supertype(origin.type); t.hasTag(TypeTag.CLASS); t = jctypes.supertype(t)) {
++-            TypeSymbol c = t.tsym;
++-            for (Symbol sym : c.members().getSymbolsByName(m.name)) {
++-                if (m.overrides(sym, origin, jctypes, false)) {
++-                    if ((sym.flags() & Flags.BRIDGE) > 0) {
++-                        if (bridgeCandidate == null) {
++-                            bridgeCandidate = (MethodSymbol)sym;
++-                        }
++-                    } else {
++-                        return (MethodSymbol)sym;
++-                    }
++-                }
++-            }
++-        }
++-        if (allowDefaultMethods) {
++-            for (com.sun.tools.javac.util.List<MethodSymbol> candidates = jctypes.interfaceCandidates(((TypeSymbol) origin).type, (MethodSymbol) method);
++-                 candidates != null; candidates = candidates.tail) {
++-                MethodSymbol prov = candidates.head;
++-                if (prov != null && prov != method && m.overrides(prov, origin, jctypes, true) &&
++-                    hasImplementation(prov)) {
++-                    if ((prov.flags() & Flags.BRIDGE) > 0) {
+++	for (Type t = jctypes.supertype(origin.type); t.hasTag(TypeTag.CLASS); t = jctypes.supertype(t)) {
+++	    TypeSymbol c = t.tsym;
+++	    Scope.Entry e = c.members().lookup(m.name);
+++	    while (e.scope != null) {
+++		if (m.overrides(e.sym, origin, jctypes, false)) {
+++                    if ((e.sym.flags() & Flags.BRIDGE) > 0) {
++                         if (bridgeCandidate == null) {
++-                            bridgeCandidate = (MethodSymbol)prov;
+++                            bridgeCandidate = (MethodSymbol)e.sym;
++                         }
++                     } else {
++-                        return (MethodSymbol)prov;
+++                        return (MethodSymbol)e.sym;
++                     }
++                 }
++-            }
++-        }
+++		e = e.next();
+++	    }
+++	}
++         return bridgeCandidate;
++     }
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/builder/TreeFactory.java b/java.source.base/src/org/netbeans/modules/java/source/builder/TreeFactory.java
++index 359d777cb..1899a021d 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/builder/TreeFactory.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/builder/TreeFactory.java
++@@ -285,41 +285,27 @@ public class TreeFactory {
++         return Class(flags, (com.sun.tools.javac.util.List<JCAnnotation>) modifiers.getAnnotations(), simpleName, Collections.<TypeParameterTree>emptyList(), null, implementsClauses, memberDecls);
++     }
++     
++-    public CompilationUnitTree CompilationUnit(PackageTree packageDecl,
++-                                               List<? extends ImportTree> importDecls, 
++-                                               List<? extends Tree> typeDecls, 
++-                                               JavaFileObject sourceFile) {
++-
++-        ListBuffer<JCTree> defs = new ListBuffer<>();
++-        if (packageDecl != null) {
++-            defs.append((JCTree)packageDecl);
++-        }
++-        if (importDecls != null) {
++-            for (Tree t : importDecls) {
++-                defs.append((JCTree)t);
++-            }
++-        }
++-        if (typeDecls != null) {
++-            for (Tree t : typeDecls) {
++-                defs.append((JCTree)t);
++-            }
++-        }
++-        JCCompilationUnit unit = make.at(NOPOS).TopLevel(defs.toList());
++-        unit.sourcefile = sourceFile;
++-        return unit;
++-    }
++-    
++     public CompilationUnitTree CompilationUnit(@NonNull List<? extends AnnotationTree> packageAnnotations,
++                                                ExpressionTree packageDecl,
++                                                List<? extends ImportTree> importDecls, 
++                                                List<? extends Tree> typeDecls, 
++                                                JavaFileObject sourceFile) {
++ 
++-        ListBuffer<JCAnnotation> annotations = new ListBuffer<>();
+++        ListBuffer<JCAnnotation> annotations = new ListBuffer<JCAnnotation>();
++         for (AnnotationTree at : packageAnnotations) {
++             annotations.add((JCAnnotation) at);
++         }
++-        return CompilationUnit(packageDecl != null ? make.at(NOPOS).PackageDecl(annotations.toList(), (JCExpression) packageDecl) : null, importDecls, typeDecls, sourceFile);
+++        ListBuffer<JCTree> defs = new ListBuffer<JCTree>();
+++        if (importDecls != null)
+++            for (Tree t : importDecls)
+++                defs.append((JCTree)t);
+++        if (typeDecls != null) 
+++            for (Tree t : typeDecls)
+++                defs.append((JCTree)t);
+++        JCCompilationUnit unit = make.at(NOPOS).TopLevel(annotations.toList(),
+++                                                          (JCExpression)packageDecl, defs.toList());
+++        unit.sourcefile = sourceFile;
+++        return unit;
++     }
++     
++     public CompoundAssignmentTree CompoundAssignment(Kind operator, 
++@@ -414,14 +400,6 @@ public class TreeFactory {
++     }
++     
++     public IfTree If(ExpressionTree condition, StatementTree thenStatement, StatementTree elseStatement) {
++-        if (thenStatement != null &&
++-            thenStatement.getKind() == Tree.Kind.IF &&
++-            elseStatement != null && 
++-            ((IfTree)thenStatement).getElseStatement() == null) {
++-            // Issue #257910: special case - if `thenStatement' is just inserted into the source.
++-            // If the nested if contains `else' clause, it gets paired correctly.
++-            thenStatement = Block(Collections.singletonList(thenStatement), false);
++-        }
++         return make.at(NOPOS).If((JCExpression)condition, (JCStatement)thenStatement, (JCStatement)elseStatement);
++     }
++     
++@@ -630,13 +608,6 @@ public class TreeFactory {
++                              (JCClassDecl)classBody);
++     }
++     
++-    public PackageTree Package(List<? extends AnnotationTree> annotations, ExpressionTree pid) {
++-        ListBuffer<JCAnnotation> anns = new ListBuffer<JCAnnotation>();
++-        for (AnnotationTree t : annotations)
++-            anns.append((JCAnnotation)t);
++-        return make.at(NOPOS).PackageDecl(anns.toList(), (JCExpression)pid);
++-    }
++-    
++     public ParameterizedTypeTree ParameterizedType(Tree type,
++                                                    List<? extends Tree> typeArguments) {
++         ListBuffer<JCExpression> typeargs = new ListBuffer<JCExpression>();
++@@ -692,7 +663,7 @@ public class TreeFactory {
++     public ExpressionTree QualIdent(Element element) {
++         Symbol s = (Symbol) element;
++ 
++-        if (s.owner != null && (s.owner.kind == Kinds.Kind.MTH || s.owner.name.isEmpty())) {
+++        if (s.owner != null && (s.owner.kind == Kinds.MTH || s.owner.name.isEmpty())) {
++             JCIdent result = make.at(NOPOS).Ident(s);
++             result.setType(s.type);
++             return result;
++@@ -1686,7 +1657,7 @@ public class TreeFactory {
++         for (DocTree t : tags) {
++             tg.append((DCTree) t);
++         }
++-        return docMake.at(NOPOS).DocComment(fs.toList(), bd.toList(), tg.toList());
+++        return docMake.at(NOPOS).DocComment(null, fs.toList(), bd.toList(), tg.toList());
++     }
++     
++     public com.sun.source.doctree.ErroneousTree Erroneous(String text, DiagnosticSource diagSource, String code, Object... args) {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/APTUtils.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/APTUtils.java
++index 3d00a2914..2e349a765 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/APTUtils.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/APTUtils.java
++@@ -52,26 +52,19 @@ import java.lang.ref.Reference;
++ import java.lang.ref.SoftReference;
++ import java.lang.ref.WeakReference;
++ import java.net.URL;
++-import java.net.URLConnection;
++ import java.util.Arrays;
++ import java.util.Collection;
++ import java.util.Collections;
++ import java.util.Enumeration;
++ import java.util.HashMap;
++-import java.util.HashSet;
++ import java.util.Iterator;
++ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.Map;
++-import java.util.Optional;
++-import java.util.Set;
++ import java.util.WeakHashMap;
++ import java.util.concurrent.atomic.AtomicReference;
++-import java.util.function.Consumer;
++-import java.util.function.Predicate;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++-import java.util.stream.Collectors;
++ import javax.annotation.processing.Processor;
++ import javax.swing.event.ChangeEvent;
++ import javax.swing.event.ChangeListener;
++@@ -81,12 +74,10 @@ import org.netbeans.api.annotations.common.NullAllowed;
++ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.api.java.classpath.JavaClassPathConstants;
++ import org.netbeans.api.java.queries.AnnotationProcessingQuery;
++-import org.netbeans.api.java.queries.SourceForBinaryQuery;
++ import org.netbeans.api.java.queries.SourceLevelQuery;
++ import org.netbeans.api.project.Project;
++ import org.netbeans.api.project.ui.OpenProjects;
++ import org.netbeans.modules.java.source.parsing.CachingArchiveClassLoader;
++-import org.netbeans.modules.java.source.usages.LongHashMap;
++ import org.netbeans.modules.parsing.api.indexing.IndexingManager;
++ import org.netbeans.modules.parsing.impl.indexing.PathRegistry;
++ import org.openide.filesystems.FileObject;
++@@ -95,7 +86,6 @@ import org.openide.util.Exceptions;
++ import org.openide.util.Lookup;
++ import org.openide.util.RequestProcessor;
++ import org.openide.util.BaseUtilities;
++-import org.openide.util.Pair;
++ import org.openide.util.WeakListeners;
++ import org.openide.util.lookup.Lookups;
++ 
++@@ -110,11 +100,9 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++     private static final String BOOT_PATH = "bootPath"; //NOI18N
++     private static final String COMPILE_PATH = "compilePath";   //NOI18N
++     private static final String APT_ENABLED = "aptEnabled"; //NOI18N
++-    private static final String APT_DIRTY = "aptDirty"; //NOI18N
++     private static final String ANNOTATION_PROCESSORS = "annotationProcessors"; //NOI18N
++     private static final String SOURCE_LEVEL_ROOT = "sourceLevel"; //NOI18N
++     private static final String JRE_PROFILE = "jreProfile";        //NOI18N
++-    private static final int PATH_FLAG_EXISTS = 1;
++     private static final Map<URL, APTUtils> knownSourceRootsMap = new HashMap<URL, APTUtils>();
++     private static final Map<FileObject, Reference<APTUtils>> auxiliarySourceRootsMap = new WeakHashMap<FileObject, Reference<APTUtils>>();
++     private static final Lookup HARDCODED_PROCESSORS = Lookups.forPath("Editors/text/x-java/AnnotationProcessors");
++@@ -128,7 +116,6 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++     private final AnnotationProcessingQuery.Result aptOptions;
++     private final SourceLevelQuery.Result sourceLevel;
++     private final RequestProcessor.Task slidingRefresh;
++-    private final UsedRoots usedRoots;
++     private volatile ClassLoaderRef classLoaderCache;
++ 
++     private APTUtils(@NonNull final FileObject root) {
++@@ -138,7 +125,7 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++         processorPath = new AtomicReference<>(ClassPath.getClassPath(root, JavaClassPathConstants.PROCESSOR_PATH));
++         aptOptions = AnnotationProcessingQuery.getAnnotationProcessingOptions(root);
++         sourceLevel = SourceLevelQuery.getSourceLevel2(root);
++-        slidingRefresh = RP.create(new Runnable() {
+++        this.slidingRefresh = RP.create(new Runnable() {
++             @Override
++             public void run() {
++                 IndexingManager.getDefault().refreshIndex(
++@@ -147,14 +134,14 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++                     false);
++             }
++         });
++-        usedRoots = new UsedRoots(root.toURL());
++     }
++ 
++-    @CheckForNull
+++    @NonNull
++     public static APTUtils get(final FileObject root) {
++         if (root == null) {
++             return null;
++         }
+++
++         final URL rootUrl = root.toURL();
++         if (knownSourceRootsMap.containsKey(rootUrl)) {
++             APTUtils utils = knownSourceRootsMap.get(rootUrl);
++@@ -168,15 +155,11 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++ 
++         Reference<APTUtils> utilsRef = auxiliarySourceRootsMap.get(root);
++         APTUtils utils = utilsRef != null ? utilsRef.get() : null;
++-        if (utils != null) {
++-            return utils;
++-        }
++ 
++-        if (isAptBuildGeneratedFolder(root)) {
++-            return null;
+++        if (utils == null) {
+++            auxiliarySourceRootsMap.put(root, new WeakReference<APTUtils>(utils = create(root)));
++         }
++ 
++-        auxiliarySourceRootsMap.put(root, new WeakReference<APTUtils>(utils = create(root)));
++         return utils;
++     }
++ 
++@@ -235,19 +218,6 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++         return utils;
++     }
++ 
++-    private static boolean isAptBuildGeneratedFolder(@NonNull final FileObject root) {
++-        final ClassPath scp = ClassPath.getClassPath(root, ClassPath.SOURCE);
++-        if (scp != null) {
++-            for (FileObject srcRoot : scp.getRoots()) {
++-                if (root.toURL().equals(
++-                        AnnotationProcessingQuery.getAnnotationProcessingOptions(srcRoot).sourceOutputDirectory())) {
++-                   return true;
++-                }
++-            }
++-        }
++-        return false;
++-    }
++-
++     public boolean aptEnabledOnScan() {
++         return aptOptions.annotationProcessingEnabled().contains(AnnotationProcessingQuery.Trigger.ON_SCAN);
++     }
++@@ -269,10 +239,7 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++             if (pp == null) {
++                 pp = ClassPath.EMPTY;
++             }
++-            cl = CachingArchiveClassLoader.forClassPath(
++-                    pp,
++-                    new BypassOpenIDEUtilClassLoader(Context.class.getClassLoader()),
++-                    usedRoots);
+++            cl = CachingArchiveClassLoader.forClassPath(pp, new BypassOpenIDEUtilClassLoader(Context.class.getClassLoader()));
++             classLoaderCache = !DISABLE_CLASSLOADER_CACHE ? new ClassLoaderRef(cl, root) : null;
++         }
++         Collection<Processor> result = lookupProcessors(cl, onScan);
++@@ -294,10 +261,11 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++     public void propertyChange(PropertyChangeEvent evt) {
++         if (ClassPath.PROP_ROOTS.equals(evt.getPropertyName())) {
++             classLoaderCache = null;
++-            if (verifyProcessorPath(root, usedRoots)) {
++-                slidingRefresh.schedule(SLIDING_WINDOW);
++-            }
++         }
+++        if (verifyAttributes(root, true)) {
+++            slidingRefresh.schedule(SLIDING_WINDOW);
+++
+++        }        
++     }
++ 
++     private void listen() {
++@@ -356,41 +324,35 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++         return result;
++     }
++ 
++-    @NonNull
++-    private Iterable<? extends String> getProcessorNames(@NonNull final ClassLoader cl) {
+++    private Iterable<? extends String> getProcessorNames(ClassLoader cl) {
+++        Collection<String> result = new LinkedList<String>();
++         try {
++-            return CachingArchiveClassLoader.readAction(() -> {
++-                Collection<String> result = new LinkedList<>();
++-                Enumeration<URL> resources = cl.getResources("META-INF/services/" + Processor.class.getName()); //NOI18N
++-                while (resources.hasMoreElements()) {
++-                    BufferedReader ins = null;
++-                    try {
++-                        final URLConnection uc = resources.nextElement().openConnection();
++-                        uc.setUseCaches(false);
++-                        ins = new BufferedReader(new InputStreamReader(uc.getInputStream(), "UTF-8")); //NOI18N
++-                        String line;
++-                        while ((line = ins.readLine()) != null) {
++-                            int hash = line.indexOf('#');
++-                            line = hash != (-1) ? line.substring(0, hash) : line;
++-                            line = line.trim();
++-                            if (line.length() > 0) {
++-                                result.add(line);
++-                            }
++-                        }
++-                    } catch (IOException ex) {
++-                        LOG.log(Level.FINE, null, ex);
++-                    } finally {
++-                        if (ins != null) {
++-                            ins.close();
+++            Enumeration<URL> resources = cl.getResources("META-INF/services/" + Processor.class.getName()); //NOI18N
+++            while (resources.hasMoreElements()) {
+++                BufferedReader ins = null;
+++                try {
+++                    ins = new BufferedReader(new InputStreamReader(resources.nextElement().openStream(), "UTF-8")); //NOI18N
+++                    String line;
+++                    while ((line = ins.readLine()) != null) {
+++                        int hash = line.indexOf('#');
+++                        line = hash != (-1) ? line.substring(0, hash) : line;
+++                        line = line.trim();
+++                        if (line.length() > 0) {
+++                            result.add(line);
++                         }
++                     }
+++                } catch (IOException ex) {
+++                    LOG.log(Level.FINE, null, ex);
+++                } finally {
+++                    if (ins != null) {
+++                        ins.close();
+++                    }
++                 }
++-                return result;
++-            });
++-        }  catch (Exception ex) {
+++            }
+++        } catch (IOException ex) {
++             LOG.log(Level.FINE, null, ex);
++-            return Collections.emptySet();
++         }
+++        return result;
++     }
++ 
++     boolean verifyAttributes(FileObject fo, boolean checkOnly) {
++@@ -400,15 +362,6 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++         try {
++             final ClassPath pp = validatePaths();
++             final URL url = fo.toURL();
++-            String val = JavaIndex.getAttribute(url, APT_DIRTY, null);
++-            if (Boolean.parseBoolean(val)) {
++-                JavaIndex.LOG.fine("forcing reindex due to processors dirty"); //NOI18N
++-                vote = true;
++-                if (checkOnly) {
++-                    return vote;
++-                }
++-                JavaIndex.setAttribute(url, APT_DIRTY, null);
++-            }
++             if (JavaIndex.ensureAttributeValue(url, SOURCE_LEVEL_ROOT, sourceLevel.getSourceLevel(), checkOnly)) {
++                 JavaIndex.LOG.fine("forcing reindex due to source level change"); //NOI18N
++                 vote = true;
++@@ -423,14 +376,14 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++                     return vote;
++                 }
++             }
++-            if (JavaIndex.ensureAttributeValue(url, BOOT_PATH, pathToString(bootPath), checkOnly)) {
+++            if (JavaIndex.ensureAttributeValue(url, BOOT_PATH, pathToString(bootPath),checkOnly)) {
++                 JavaIndex.LOG.fine("forcing reindex due to boot path change"); //NOI18N
++                 vote = true;
++                 if (checkOnly) {
++                     return vote;
++                 }
++             }
++-            if (JavaIndex.ensureAttributeValue(url, COMPILE_PATH, pathToString(compilePath), checkOnly)) {
+++            if (JavaIndex.ensureAttributeValue(url, COMPILE_PATH, pathToString(compilePath),checkOnly)) {
++                 JavaIndex.LOG.fine("forcing reindex due to compile path change"); //NOI18N
++                 vote = true;
++                 if (checkOnly) {
++@@ -449,7 +402,7 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++                 //no need to check further:
++                 return vote;
++             }
++-            if (JavaIndex.ensureAttributeValue(url, PROCESSOR_PATH, pathToFlaggedString(pp, false), checkOnly)) {
+++            if (JavaIndex.ensureAttributeValue(url, PROCESSOR_PATH, pathToString(pp), checkOnly)) {
++                 JavaIndex.LOG.fine("forcing reindex due to processor path change"); //NOI18N
++                 vote = true;
++                 if (checkOnly) {
++@@ -469,115 +422,6 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++         return vote;
++     }
++ 
++-    private boolean verifyProcessorPath(
++-        @NonNull final FileObject root,
++-        @NonNull final UsedRoots usedRoots) {
++-        try {
++-            final LongHashMap<? extends File> used = usedRoots.getRoots();
++-            final URL url = root.toURL();
++-            final ClassPath pp = validatePaths();
++-            final Set<File> currentExitingFiles = pp.entries().stream()
++-                    .map((e) -> e.getRoot())
++-                    .filter((fo) -> fo != null && fo.isValid())
++-                    .map((fo) -> FileUtil.isArchiveArtifact(fo) ? FileUtil.getArchiveFile(fo) : fo)
++-                    .filter((fo) -> fo != null && fo.isValid())
++-                    .map(FileUtil::toFile)
++-                    .filter((file) -> file != null)
++-                    .collect(Collectors.toSet());
++-            final Set<File> currentAllFiles = pp.entries().stream()
++-                    .map((e) -> FileUtil.archiveOrDirForURL(e.getURL()))
++-                    .filter((file) -> file != null)
++-                    .collect(Collectors.toSet());
++-
++-            final Set<File> oldExistingFiles = new HashSet<>();
++-            final Set<File> oldAllFiles = new HashSet<>();
++-            final String raw = JavaIndex.getAttribute(url, PROCESSOR_PATH, ""); //NOI18N
++-            if (!raw.isEmpty()) {
++-                final String[] parts = raw.split(File.pathSeparator);
++-                for (int i=0; i < parts.length; i+=2) {
++-                    final File f = new File(parts[i]);
++-                    int flags = PATH_FLAG_EXISTS;
++-                    try {
++-                        if (i+1 < parts.length) {
++-                            flags = Integer.parseInt(parts[i+1]);
++-                        }
++-                    } catch (NumberFormatException nfe) {
++-                        //pass with PATH_FLAG_USED set
++-                    }
++-                    oldAllFiles.add(f);
++-                    if ((flags & PATH_FLAG_EXISTS) == PATH_FLAG_EXISTS) {
++-                        oldExistingFiles.add(f);
++-                    }
++-                }
++-            }
++-            Set<File> added = new HashSet<>(currentExitingFiles);
++-            added.removeAll(oldExistingFiles);
++-            Set<File> removed = new HashSet<>(oldExistingFiles);
++-            removed.removeAll(currentExitingFiles);
++-            LOG.log(Level.FINEST, "Added: {0}", added);     //NOI18N
++-            LOG.log(Level.FINEST, "Removed: {0}", removed); //NOI18N
++-            if (!added.isEmpty() || !removed.isEmpty()) {
++-                JavaIndex.setAttribute(url, PROCESSOR_PATH, pathToFlaggedString(pp, true));
++-            }
++-            boolean res = false;
++-
++-            for (Iterator<File> it = removed.iterator(); it.hasNext();) {
++-                File f = it.next();
++-                if (!currentAllFiles.contains(f)) {
++-                    LOG.log(Level.FINEST, "Removed from path: {0}", f);  //NOI18N
++-                    it.remove();
++-                    usedRoots.remove(f);
++-                    res = true;
++-                }
++-            }
++-            final Predicate<File> pUsed = (f) -> used == null || used.containsKey(f);
++-            final Predicate<Pair<File,Long>> pModified = (p) -> used == null || p.second() == -1 || used.get(p.first()) != p.second();
++-            final Predicate<File> pNotProjDep = (f) -> {
++-                final URL furl = FileUtil.urlForArchiveOrDir(f);
++-                return furl == null ?
++-                        true :
++-                        !hasSourceCache(furl);
++-            };
++-            removed = removed.stream()
++-                    .filter(pUsed)
++-                    .filter(pNotProjDep)
++-                    .collect(Collectors.toSet());
++-            if (!removed.isEmpty()) {
++-                LOG.log(Level.FINEST, "Important deleted: {0}", removed);    //NOI18N
++-                res = true;
++-            }
++-
++-            for (Iterator<File> it = added.iterator(); it.hasNext();) {
++-                final File f = it.next();
++-                if(!oldAllFiles.contains(f)) {
++-                    LOG.log(Level.FINEST, "Added to path: {0}", f);  //NOI18N
++-                    it.remove();
++-                    res = true;
++-                }
++-            }
++-            final Collection<Pair<File,Long>> times = added.stream()
++-                    .filter(pUsed)
++-                    .map((f) -> Pair.of(f, f.isFile() ? f.length() : -1))
++-                    .filter(pModified)
++-                    .collect(Collectors.toList());
++-            if (!times.isEmpty()) {
++-                LOG.log(Level.FINEST, "Important changed: {0}", times);    //NOI18N
++-                for (Pair<File,Long> p : times) {
++-                    usedRoots.update(p.first(), p.second());
++-                }
++-                res = true;
++-            }
++-            if (res) {
++-                JavaIndex.setAttribute(url, APT_DIRTY, Boolean.TRUE.toString());
++-                JavaIndex.LOG.fine("forcing reindex due to processor path change"); //NOI18N
++-            }
++-            return res;
++-        } catch (IOException ioe) {
++-            Exceptions.printStackTrace(ioe);
++-            return false;
++-        }
++-    }
++-
++     @NonNull
++     private static String pathToString(@NullAllowed ClassPath cp) {
++         final StringBuilder b = new StringBuilder();
++@@ -588,43 +432,24 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++             final FileObject fo = cpe.getRoot();
++             if (fo != null) {
++                 final URL u = fo.toURL();
++-                append(b, u);
++-            } else if (hasSourceCache(cpe.getURL())) {
++-                final URL u = cpe.getURL();
++-                append(b,u);
+++                final File f = FileUtil.archiveOrDirForURL(u);
+++                if (f != null) {
+++                    if (b.length() > 0) {
+++                        b.append(File.pathSeparatorChar);
+++                    }
+++                    b.append(f.getAbsolutePath());
+++                } else {
+++                    if (b.length() > 0) {
+++                        b.append(File.pathSeparatorChar);
+++                    }
+++                    b.append(u);
+++                }
++             }
++         }
++         return b.toString();
++     }
++ 
++-    /**
++-     * Translated classpath to String (ENTRY PATH_SEPARATOR FLAGS) (PATH_SEPARATOR ENTRY PATH_SEPARATOR FLAGS)*
++-     * @param cp the classpath to translate
++-     * @return the translated classpath
++-     */
++-    @NonNull
++-    private static String pathToFlaggedString(
++-            @NullAllowed ClassPath cp,
++-            final boolean checkArchiveFile) {
++-        final StringBuilder b = new StringBuilder();
++-        if (cp == null) {
++-            cp = ClassPath.EMPTY;
++-        }
++-        for (final ClassPath.Entry cpe : cp.entries()) {
++-            //Entry.getRoot() returns root which is valid for deleted jar
++-            //in ClassPath.PROP_ROOTS event
++-            final boolean exists = Optional.ofNullable(cpe.getRoot())
++-                    .map((fo) -> (checkArchiveFile && FileUtil.isArchiveArtifact(fo)) ? FileUtil.getArchiveFile(fo) : fo)
++-                    .map((fo) -> checkArchiveFile ? fo.isValid() : true)
++-                    .orElse(Boolean.FALSE);
++-            append(b,cpe.getURL())
++-                    .append(File.pathSeparatorChar)
++-                    .append(exists ? PATH_FLAG_EXISTS : 0);
++-        }
++-        return b.toString();
++-    }
++-
++-    private static String encodeToStirng(Iterable<? extends String> strings) {
+++    private String encodeToStirng(Iterable<? extends String> strings) {
++         if (strings == null)
++             return null;
++         StringBuilder sb = new StringBuilder();
++@@ -636,29 +461,6 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++         return sb.length() > 0 ? sb.toString() : null;
++     }
++ 
++-    @NonNull
++-    private static StringBuilder append (
++-            @NonNull final StringBuilder builder,
++-            @NonNull final URL url) {
++-        final File f = FileUtil.archiveOrDirForURL(url);
++-        if (f != null) {
++-            if (builder.length() > 0) {
++-                builder.append(File.pathSeparatorChar);
++-            }
++-            builder.append(f.getAbsolutePath());
++-        } else {
++-            if (builder.length() > 0) {
++-                builder.append(File.pathSeparatorChar);
++-            }
++-            builder.append(url);
++-        }
++-        return builder;
++-    }
++-
++-    private static boolean hasSourceCache(@NonNull final URL root) {
++-        return SourceForBinaryQuery.findSourceRoots2(root).preferSources();
++-    }
++-
++     //keep synchronized with libs.javacapi/manifest.mf and libs.javacimpl/manifest.mf
++     //when adding new packages, double-check the quick path in loadClass below:
++     private static final Iterable<? extends String> javacPackages = Arrays.asList("com.sun.javadoc.", "com.sun.source.", "javax.annotation.processing.", "javax.lang.model.", "javax.tools.", "com.sun.tools.javac.", "com.sun.tools.javadoc.", "com.sun.tools.classfile.", "com.sun.tools.hc.");
++@@ -716,166 +518,4 @@ public class APTUtils implements ChangeListener, PropertyChangeListener {
++             return archiveFile != null ? root.lastModified().getTime() : -1L;
++         }
++     }
++-
++-    private static final class UsedRoots implements Consumer<URL> {
++-        private static final String ATTR_USED_PROC = "apUsed";  //NOI18N
++-        private static final int DEFERRED_SAVE = 2_500;    //ms
++-        private static final LongHashMap<File> TOMBSTONE = new LongHashMap<>();
++-        private static final RequestProcessor SAVER = new RequestProcessor(
++-                UsedRoots.class.getName(),
++-                1,
++-                false,
++-                false);
++-        private final URL root;
++-        private final RequestProcessor.Task saveTask;
++-        //@GuardedBy("this")
++-        private LongHashMap<File> used;
++-
++-        UsedRoots(@NonNull final URL root) {
++-            this.root = root;
++-            this.saveTask = SAVER.create(()->save());
++-        }
++-
++-        @Override
++-        public void accept(@NonNull final URL url) {
++-            synchronized (this) {
++-                load();
++-                if (used == null || used == TOMBSTONE) {
++-                    used = new LongHashMap<>();
++-                }
++-                final File f = FileUtil.archiveOrDirForURL(url);
++-                if (f != null) {
++-                    final long size = f.isFile() ?
++-                            f.length() :
++-                            -1;
++-                    if (!used.containsKey(f)) {
++-                        used.put(f, size);
++-                        saveTask.schedule(DEFERRED_SAVE);
++-                    }
++-                }
++-            }
++-        }
++-
++-        void update(
++-                @NonNull final File file,
++-                final long size) {
++-            synchronized (this) {
++-                load();
++-                if (used == null || used == TOMBSTONE) {
++-                    used = new LongHashMap<>();
++-                }
++-                if (used.put(file, size) != size) {
++-                    saveTask.schedule(DEFERRED_SAVE);
++-                }
++-            }
++-        }
++-
++-        void remove(@NonNull final File file) {
++-            synchronized (this) {
++-                load();
++-                if (used == null || used == TOMBSTONE) {
++-                    return;
++-                }
++-                if (used.remove(file) != LongHashMap.NO_VALUE) {
++-                    saveTask.schedule(DEFERRED_SAVE);
++-                }
++-            }
++-        }
++-
++-        void reset() {
++-            synchronized (this) {
++-                used = TOMBSTONE;
++-            }
++-        }
++-
++-        @CheckForNull
++-        LongHashMap<? extends File> getRoots() {
++-            final LongHashMap<File> res = load();
++-            return res == TOMBSTONE ?
++-                    null :
++-                    res;
++-        }
++-
++-        @NonNull
++-        private synchronized LongHashMap<File> load() {
++-            if (used == null) {
++-                try {
++-                    final String raw = JavaIndex.getAttribute(
++-                            root,
++-                            ATTR_USED_PROC,
++-                            null);
++-                    if (raw != null && !raw.isEmpty()) {
++-                        LongHashMap<File> s = new LongHashMap<>();
++-                        final String[] parts = raw.split(File.pathSeparator);
++-                        for (int i = 0; i < parts.length; i+=2) {
++-                            final File f = new File(parts[i]);
++-                            long size = -1;
++-                            if (i+1 < parts.length) {
++-                                try {
++-                                    size = Long.parseLong(parts[i+1]);
++-                                } catch (NumberFormatException e) {
++-                                    LOG.log(
++-                                            parts[i+1].isEmpty() ?
++-                                                Level.FINE :
++-                                                Level.WARNING,
++-                                            "Wrong size of {0}: {1}",   //NOI18N
++-                                            new Object[]{
++-                                                f.getAbsolutePath(),
++-                                                parts[i+1]
++-                                            });
++-                                }
++-                            }
++-                            s.put(f, size);
++-                        }
++-                        used = s;
++-                    } else {
++-                        used = TOMBSTONE;
++-                    }
++-                } catch (IOException ioe) {
++-                    Exceptions.printStackTrace(ioe);
++-                    used = TOMBSTONE;
++-                }
++-            }
++-            assert used != null;
++-            return used;
++-        }
++-
++-        private void save() {
++-            final LongHashMap<File> toSave;
++-            synchronized (this) {
++-                toSave = used == TOMBSTONE ?
++-                        null :
++-                        new LongHashMap<File>(used);
++-            }
++-            final String val;
++-            if (toSave == null) {
++-                val = null;
++-            } else {
++-                final StringBuilder raw = new StringBuilder();
++-                for (LongHashMap.Entry<File> e : toSave.entrySet()) {
++-                    if (raw.length() != 0) {
++-                        raw.append(File.pathSeparatorChar);
++-                    }
++-                    raw.append(e.getKey().getAbsolutePath());
++-                    raw.append(File.pathSeparator);
++-                    raw.append(e.getValue());
++-                }
++-                val = raw.toString();
++-            }
++-            try {
++-                JavaIndex.setAttribute(
++-                        root,
++-                        ATTR_USED_PROC,
++-                        val);
++-            } catch (IOException ioe) {
++-                Exceptions.printStackTrace(ioe);
++-            } finally {
++-                synchronized (this) {
++-                    if (used == TOMBSTONE) {
++-                        used = null;
++-                    }
++-                }
++-            }
++-        }
++-    }
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/COSSynchronizingIndexer.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/COSSynchronizingIndexer.java
++index 34aaca19a..03e24e994 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/COSSynchronizingIndexer.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/COSSynchronizingIndexer.java
++@@ -54,7 +54,6 @@ import java.util.Set;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++ import org.netbeans.api.java.classpath.ClassPath;
++-import org.netbeans.modules.java.preprocessorbridge.spi.CompileOnSaveAction;
++ import org.netbeans.modules.java.source.usages.BuildArtifactMapperImpl;
++ import org.netbeans.modules.parsing.impl.indexing.IndexerCache;
++ import org.netbeans.modules.parsing.impl.indexing.IndexerCache.IndexerInfo;
++@@ -81,7 +80,7 @@ public class COSSynchronizingIndexer extends CustomIndexer {
++         if (FileUtil.getArchiveFile(rootURL) != null) {
++             return;
++         }
++-        if (!BuildArtifactMapperImpl.isUpdateResources(rootURL)) {
+++        if (!BuildArtifactMapperImpl.isUpdateResources(BuildArtifactMapperImpl.getTargetFolder(rootURL))) {
++             return ;
++         }
++ 
++@@ -157,11 +156,7 @@ public class COSSynchronizingIndexer extends CustomIndexer {
++ 
++         @Override
++         public void filesDeleted(Iterable<? extends Indexable> deleted, Context context) {
++-            final File target = CompileOnSaveAction.Context.getTarget(context.getRootURI());
++-            if (target == null) {
++-                return;
++-            }            
++-            if (!BuildArtifactMapperImpl.isUpdateClasses(context.getRootURI())) {
+++            if (BuildArtifactMapperImpl.getTargetFolder(context.getRootURI()) == null) {
++                 return ;
++             }
++ 
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/FQN2Files.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/FQN2Files.java
++index 88c7516d5..182b0f093 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/FQN2Files.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/FQN2Files.java
++@@ -42,7 +42,6 @@
++ package org.netbeans.modules.java.source.indexing;
++ 
++ import com.sun.tools.javac.api.DuplicateClassChecker;
++-import com.sun.tools.javac.code.Symbol;
++ import java.io.BufferedInputStream;
++ import java.io.BufferedOutputStream;
++ import java.io.File;
++@@ -56,12 +55,9 @@ import java.net.URL;
++ import java.util.Properties;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++-import javax.lang.model.element.ElementVisitor;
++ import javax.lang.model.element.Name;
++ import javax.lang.model.element.TypeElement;
++-import javax.lang.model.util.ElementScanner9;
++ import javax.tools.JavaFileObject;
++-import org.openide.filesystems.FileObject;
++ import org.openide.util.Exceptions;
++ 
++ /**
++@@ -86,20 +82,13 @@ public final class FQN2Files implements DuplicateClassChecker {
++     }
++ 
++     public void set(final Iterable<? extends TypeElement> topLevelElements, final URL file) {
++-        new ElementScanner9() {
++-            @Override
++-            public Object visitType(TypeElement e, Object p) {
++-                String fqn = e instanceof Symbol.TypeSymbol
++-                        ? ((Symbol.TypeSymbol)e).flatName().toString()
++-                        : e.getQualifiedName().toString();
++-                String value = props.getProperty(fqn);
++-                if (value == null) {
++-                    props.setProperty(fqn, file.toExternalForm());
++-                }
++-                return super.visitType(e, p);
+++        for (TypeElement element : topLevelElements) {
+++            String fqn = element.getQualifiedName().toString();
+++            String value = props.getProperty(fqn);
+++            if (value == null) {
+++                props.setProperty(fqn, file.toExternalForm());
++             }
++-            
++-        }.scan(topLevelElements, null);
+++        }
++     }
++ 
++     public boolean remove(final String fqn, final URL file) {
++@@ -142,9 +131,4 @@ public final class FQN2Files implements DuplicateClassChecker {
++             return false;
++         }
++     }
++-
++-    public boolean check(final String fqn, final URL url) {
++-        String value = props.getProperty(fqn);
++-        return value != null && !value.equals(url.toExternalForm());
++-    }
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaBinaryIndexer.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaBinaryIndexer.java
++index a4bbc2178..20847e73e 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaBinaryIndexer.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaBinaryIndexer.java
++@@ -43,7 +43,6 @@
++ package org.netbeans.modules.java.source.indexing;
++ 
++ import com.sun.tools.javac.api.JavacTaskImpl;
++-import com.sun.tools.javac.model.JavacElements;
++ 
++ import java.io.File;
++ import java.io.IOException;
++@@ -134,8 +133,10 @@ public class JavaBinaryIndexer extends BinaryIndexer {
++                     }
++                 }
++             }
++-        } catch (IllegalArgumentException | IOException e) {
++-            Exceptions.printStackTrace(e);
+++        } catch (IllegalArgumentException iae) {
+++            Exceptions.printStackTrace(iae);
+++        } catch (IOException ioe) {
+++            Exceptions.printStackTrace(ioe);
++         }
++     }
++ 
++@@ -208,8 +209,7 @@ public class JavaBinaryIndexer extends BinaryIndexer {
++             true,
++             true,
++             false,
++-            false,
++-            null);
+++            false);
++         final JavacTaskImpl jt = JavacParser.createJavacTask(cpInfo, new DevNullDiagnosticListener(), null, null, null, null, null, null);
++         TreeLoader.preRegister(jt.getContext(), cpInfo, true);
++         //Force JTImpl.prepareCompiler to get JTImpl into Context
++@@ -218,7 +218,7 @@ public class JavaBinaryIndexer extends BinaryIndexer {
++         } catch (IOException ex) {
++             Exceptions.printStackTrace(ex);
++         }
++-        TypeElement jc = (TypeElement) ((JavacElements)jt.getElements()).getTypeElementByBinaryName(fqn);
+++        TypeElement jc = (TypeElement) jt.getElements().getTypeElementByBinaryName(fqn);
++         if (jc != null) {
++             List<ExecutableElement> methods = ElementFilter.methodsIn(jt.getElements().getAllMembers(jc));
++             for (ExecutableElement method : methods) {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java
++index 02e725867..d566a5d48 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java
++@@ -48,8 +48,6 @@ import java.io.FileInputStream;
++ import java.io.FilenameFilter;
++ import java.io.IOException;
++ import java.io.InputStreamReader;
++-import java.lang.management.ManagementFactory;
++-import java.lang.reflect.Method;
++ import java.net.MalformedURLException;
++ import java.net.URI;
++ import java.net.URISyntaxException;
++@@ -68,7 +66,6 @@ import java.util.LinkedList;
++ import java.util.List;
++ import java.util.Locale;
++ import java.util.Map;
++-import java.util.Optional;
++ import java.util.Queue;
++ import java.util.Set;
++ import java.util.concurrent.Callable;
++@@ -76,15 +73,12 @@ import java.util.concurrent.ExecutionException;
++ import java.util.concurrent.atomic.AtomicBoolean;
++ import java.util.logging.Level;
++ import java.util.regex.Pattern;
++-import java.util.stream.Collectors;
++ 
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.TypeElement;
++-import javax.management.MBeanServer;
++ import javax.tools.Diagnostic;
++ import javax.tools.Diagnostic.Kind;
++ import javax.tools.JavaFileObject;
++-import org.netbeans.api.annotations.common.CheckForNull;
++ 
++ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.annotations.common.NullAllowed;
++@@ -141,9 +135,7 @@ import org.openide.util.Lookup;
++ public class JavaCustomIndexer extends CustomIndexer {
++ 
++             static       boolean NO_ONE_PASS_COMPILE_WORKER = Boolean.getBoolean(JavaCustomIndexer.class.getName() + ".no.one.pass.compile.worker");
++-    private static final String DUMP_ON_LOW_MEM = System.getProperty(JavaCustomIndexer.class.getName() + ".dump.on.low.mem");    //NOI18N
++     private static final String SOURCE_PATH = "sourcePath"; //NOI18N
++-    private static final String APT_SOURCE_OUTPUT = "apSrcOut"; //NOI18N
++     private static final Pattern ANONYMOUS = Pattern.compile("\\$[0-9]"); //NOI18N
++     private static final ClassPath EMPTY = ClassPathSupport.createClassPath(new URL[0]);
++     private static final int TRESHOLD = 500;
++@@ -178,11 +170,9 @@ public class JavaCustomIndexer extends CustomIndexer {
++             }
++             if (isAptBuildGeneratedFolder(context.getRootURI(),sourcePath)) {
++                 txCtx.get(CacheAttributesTransaction.class).setInvalid(true);
++-                JavaIndex.setAttribute(context.getRootURI(), APT_SOURCE_OUTPUT, Boolean.TRUE.toString());
++                 JavaIndex.LOG.fine("Ignoring annotation processor build generated folder"); //NOI18N
++                 return;
++             }
++-            JavaIndex.setAttribute(context.getRootURI(), APT_SOURCE_OUTPUT, null);
++             if (!files.iterator().hasNext() && !context.isAllFilesIndexing()) {
++                 boolean success = false;
++                 try {
++@@ -262,9 +252,6 @@ public class JavaCustomIndexer extends CustomIndexer {
++                             if (compileResult == null || context.isCancelled()) {
++                                 return; // cancelled, IDE is sutting down
++                             }
++-                            if (compileResult.lowMemory) {
++-                                w.freeMemory(false);
++-                            }
++                             if (compileResult.success) {
++                                 break;
++                             }
++@@ -285,7 +272,7 @@ public class JavaCustomIndexer extends CustomIndexer {
++                         }
++                     }
++                     finished = compileResult.success;
++-
+++                    
++                     if (compileResult.lowMemory) {
++                         final String rootName = FileUtil.getFileDisplayName(context.getRoot());
++                         JavaIndex.LOG.log(
++@@ -296,20 +283,8 @@ public class JavaCustomIndexer extends CustomIndexer {
++                         if (uip != null) {
++                             uip.notifyLowMemory(rootName);
++                         }
++-                        if (DUMP_ON_LOW_MEM != null) {
++-                            final File heapDump = dumpHeap(DUMP_ON_LOW_MEM);
++-                            if (heapDump != null) {
++-                                JavaIndex.LOG.log(
++-                                    Level.INFO,
++-                                    "Heap dump generated into: {0}.",     //NOI18N
++-                                    heapDump.getAbsolutePath());
++-                            } else {
++-                                JavaIndex.LOG.log(
++-                                    Level.WARNING,
++-                                    "Cannot generate heap dump.");     //NOI18N
++-                            }
++-                        }
++                     }
+++                    
++                 } finally {
++                     try {
++                         javaContext.finish();
++@@ -422,48 +397,52 @@ public class JavaCustomIndexer extends CustomIndexer {
++         return fo != null ? new CompileTuple(FileObjects.sourceFileObject(fo, context.getRoot()), indexable) : null;
++     }
++ 
++-    private static void clearFiles(final Context context, final Iterable<? extends Indexable> files) throws IOException {
+++    private static void clearFiles(final Context context, final Iterable<? extends Indexable> files) {
++         final TransactionContext txCtx =  TransactionContext.get();
++         assert txCtx != null;
++         final FileManagerTransaction fmTx = txCtx.get(FileManagerTransaction.class);
++         assert fmTx != null;
++         final ClassIndexEventsTransaction ciTx = txCtx.get(ClassIndexEventsTransaction.class);
++         assert ciTx != null;
++-        final JavaParsingContext javaContext = new JavaParsingContext(context, true);
++         try {
++-            if (javaContext.getClassIndexImpl() == null)
++-                return; //IDE is exiting, indeces are already closed.
++-            if (javaContext.getClassIndexImpl().getType() == ClassIndexImpl.Type.EMPTY)
++-                return; //No java no need to continue
++-            final Set<ElementHandle<TypeElement>> removedTypes = new HashSet <ElementHandle<TypeElement>> ();
++-            final Set<File> removedFiles = new HashSet<File> ();
++-            for (Indexable i : files) {
++-                clear(context, javaContext, i, removedTypes, removedFiles, fmTx);
++-                ErrorsCache.setErrors(context.getRootURI(), i, Collections.<Diagnostic<?>>emptyList(), ERROR_CONVERTOR);
++-                ExecutableFilesIndex.DEFAULT.setMainClass(context.getRootURI(), i.getURL(), false);
++-                javaContext.getCheckSums().remove(i.getURL());
++-            }
++-            for (Map.Entry<URL, Set<URL>> entry : findDependent(context.getRootURI(), removedTypes, false).entrySet()) {
++-                context.addSupplementaryFiles(entry.getKey(), entry.getValue());
++-            }
+++            final JavaParsingContext javaContext = new JavaParsingContext(context, true);
++             try {
++-                javaContext.store();
++-            } catch (JavaParsingContext.BrokenIndexException bi) {
++-                JavaIndex.LOG.log(
++-                    Level.WARNING,
++-                    "Broken index for root: {0} reason: {1}, recovering.",  //NOI18N
++-                    new Object[] {
++-                        context.getRootURI(),
++-                        bi.getMessage()
++-                    });
++-                final PersistentIndexTransaction piTx = txCtx.get(PersistentIndexTransaction.class);
++-                assert piTx != null;
++-                piTx.setBroken();
+++                if (javaContext.getClassIndexImpl() == null)
+++                    return; //IDE is exiting, indeces are already closed.
+++                if (javaContext.getClassIndexImpl().getType() == ClassIndexImpl.Type.EMPTY)
+++                    return; //No java no need to continue
+++                final Set<ElementHandle<TypeElement>> removedTypes = new HashSet <ElementHandle<TypeElement>> ();
+++                final Set<File> removedFiles = new HashSet<File> ();
+++                for (Indexable i : files) {
+++                    clear(context, javaContext, i, removedTypes, removedFiles, fmTx);
+++                    ErrorsCache.setErrors(context.getRootURI(), i, Collections.<Diagnostic<?>>emptyList(), ERROR_CONVERTOR);
+++                    ExecutableFilesIndex.DEFAULT.setMainClass(context.getRootURI(), i.getURL(), false);
+++                    javaContext.getCheckSums().remove(i.getURL());
+++                }
+++                for (Map.Entry<URL, Set<URL>> entry : findDependent(context.getRootURI(), removedTypes, false).entrySet()) {
+++                    context.addSupplementaryFiles(entry.getKey(), entry.getValue());
+++                }
+++                try {
+++                    javaContext.store();
+++                } catch (JavaParsingContext.BrokenIndexException bi) {
+++                    JavaIndex.LOG.log(
+++                        Level.WARNING,
+++                        "Broken index for root: {0} reason: {1}, recovering.",  //NOI18N
+++                        new Object[] {
+++                            context.getRootURI(),
+++                            bi.getMessage()
+++                        });
+++                    final PersistentIndexTransaction piTx = txCtx.get(PersistentIndexTransaction.class);
+++                    assert piTx != null;
+++                    piTx.setBroken();
+++                }
+++                ciTx.removedCacheFiles(context.getRootURI(), removedFiles);
+++                ciTx.removedTypes(context.getRootURI(), removedTypes);
+++            } finally {
+++                javaContext.finish();
++             }
++-            ciTx.removedCacheFiles(context.getRootURI(), removedFiles);
++-            ciTx.removedTypes(context.getRootURI(), removedTypes);
++-        } finally {
++-            javaContext.finish();
+++        } catch (IOException ex) {
+++            Exceptions.printStackTrace(ex);
++         }
++     }
++ 
++@@ -528,7 +507,7 @@ public class JavaCustomIndexer extends CustomIndexer {
++                 fmTx.delete(file);
++             }
++             if (cont && (file = new File(classFolder, withoutExt + '.' + FileObjects.SIG)).exists()) {
++-                if (!javaContext.getFQNs().check(FileObjects.getBinaryName(file, classFolder), relURLPair.second())) {
+++                if (javaContext.getFQNs().remove(FileObjects.getBinaryName(file, classFolder), relURLPair.second())) {
++                     String fileName = file.getName();
++                     fileName = fileName.substring(0, fileName.lastIndexOf('.'));
++                     final String[][] patterns = new String[][]{
++@@ -557,7 +536,6 @@ public class JavaCustomIndexer extends CustomIndexer {
++                     if (children != null) {
++                         for (File f : children) {
++                             String className = FileObjects.getBinaryName(f, classFolder);
++-                            javaContext.getFQNs().remove(className, relURLPair.second());
++                             toDelete.add(Pair.<String, String>of(className, null));
++                             removedTypes.add(ElementHandleAccessor.getInstance().create(ElementKind.OTHER, className));
++                             removedFiles.add(f);
++@@ -1000,13 +978,7 @@ public class JavaCustomIndexer extends CustomIndexer {
++         @Override
++         public void filesDeleted(Iterable<? extends Indexable> deleted, Context context) {
++             JavaIndex.LOG.log(Level.FINE, "filesDeleted({0})", deleted); //NOI18N
++-            try {
++-                if(!Boolean.parseBoolean(JavaIndex.getAttribute(context.getRootURI(), APT_SOURCE_OUTPUT, null))) {
++-                    clearFiles(context, deleted);
++-                }
++-            } catch (IOException ioe) {
++-                Exceptions.printStackTrace(ioe);
++-            }
+++            clearFiles(context, deleted);
++         }
++ 
++         @Override
++@@ -1182,46 +1154,6 @@ public class JavaCustomIndexer extends CustomIndexer {
++             "compiler.warn.diamond.redundant.args.1",
++             "compiler.note.potential.lambda.found"));
++ 
++-    @CheckForNull
++-    private static File dumpHeap(@NonNull final String path) {
++-        try {
++-            if (heapDumper == null) {
++-                final Class<?> clz = Class.forName("com.sun.management.HotSpotDiagnosticMXBean");   //NOI18N
++-                final MBeanServer server = ManagementFactory.getPlatformMBeanServer();
++-                final Object bean = ManagementFactory.newPlatformMXBeanProxy(
++-                    server,
++-                    "com.sun.management:type=HotSpotDiagnostic",    //NOI18N
++-                    clz);
++-                final Method m = clz.getDeclaredMethod("dumpHeap", String.class, Boolean.TYPE);
++-                heapDumper = Pair.of(bean,m);
++-            }
++-            final File folder = new File(path);
++-            final File[] children = folder.listFiles();
++-            if (children != null) {
++-                final String namePattern = "heapdump_"; //NOI18N
++-                final Set<String> names = Arrays.stream(children)
++-                        .map((f) -> f.getName())
++-                        .filter((n) -> n.startsWith(namePattern))
++-                        .collect(Collectors.toSet());
++-                int index = 1;
++-                while (true) {
++-                    if (!names.contains(namePattern + index)) {
++-                        break;
++-                    }
++-                    index++;
++-                }
++-                final File file = new File(folder, namePattern + index);
++-                heapDumper.second().invoke(heapDumper.first(), file.getAbsolutePath(), true);
++-                return file;
++-            }
++-        } catch (Exception e) {
++-            //pass
++-        }
++-        return null;
++-    }
++-
++-    private static Pair<Object,Method> heapDumper;
++-
++     private static class FilterOutJDK7AndLaterWarnings implements Comparable<Diagnostic<? extends JavaFileObject>> {
++         @Override public int compareTo(Diagnostic<? extends JavaFileObject> o) {
++             return JDK7AndLaterWarnings.contains(o.getCode()) ? 0 : -1;
++@@ -1321,9 +1253,7 @@ public class JavaCustomIndexer extends CustomIndexer {
++             if (root == null) {
++                 return vote;
++             }
++-            if (Optional.ofNullable(APTUtils.get(root))
++-                    .map((apt) -> apt.verifyAttributes(ctx.getRoot(), false))
++-                    .orElse(Boolean.FALSE)) {
+++            if (APTUtils.get(root).verifyAttributes(ctx.getRoot(), false)) {
++                 vote = false;
++             }
++             if (ensureSourcePath(root)) {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaIndex.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaIndex.java
++index bbd912186..9ff55dd9c 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaIndex.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaIndex.java
++@@ -216,16 +216,13 @@ public final class JavaIndex {
++     }
++ 
++     public static void setAttribute(URL root, String attributeName, String attributeValue) throws IOException {
++-        boolean store;
++         Properties p = loadProperties(root);
++         if (attributeValue != null) {
++-            store = !attributeValue.equals(p.setProperty(attributeName, attributeValue));
+++            p.setProperty(attributeName, attributeValue);
++         } else {
++-            store = p.remove(attributeName) != null;
++-        }
++-        if (store) {
++-            storeProperties(root, p, true);
+++            p.remove(attributeName);
++         }
+++        storeProperties(root, p, true);
++     }
++ 
++     public static String getAttribute(URL root, String attributeName, String defaultValue) throws IOException {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaParsingContext.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaParsingContext.java
++index 1a530688a..e6712ae57 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaParsingContext.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaParsingContext.java
++@@ -129,8 +129,7 @@ final class JavaParsingContext {
++                 true,
++                 context.isSourceForBinaryRootIndexing(),
++                 false,
++-                context.checkForEditorModifications(),
++-                null);
+++                context.checkForEditorModifications());
++         } else {
++             cpInfo = null;
++         }
++@@ -143,7 +142,7 @@ final class JavaParsingContext {
++         uq = ClassIndexManager.getDefault().createUsagesQuery(context.getRootURI(), true);
++         cpInfo = ClasspathInfoAccessor.getINSTANCE().create(bootPath,compilePath, sourcePath,
++                 filter, true, context.isSourceForBinaryRootIndexing(),
++-                !virtualSources.isEmpty(), context.checkForEditorModifications(), null);
+++                !virtualSources.isEmpty(), context.checkForEditorModifications());
++         registerVirtualSources(cpInfo, virtualSources);
++     }
++     
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/MultiPassCompileWorker.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/MultiPassCompileWorker.java
++index 92fd9784c..e87e3a60c 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/MultiPassCompileWorker.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/MultiPassCompileWorker.java
++@@ -81,6 +81,7 @@ import org.netbeans.modules.java.source.parsing.FileObjects;
++ import org.netbeans.modules.java.source.parsing.JavacParser;
++ import org.netbeans.modules.java.source.parsing.OutputFileManager;
++ import org.netbeans.modules.java.source.usages.ClassNamesForFileOraculumImpl;
+++import org.netbeans.modules.java.source.usages.ClasspathInfoAccessor;
++ import org.netbeans.modules.java.source.usages.ExecutableFilesIndex;
++ import org.netbeans.modules.parsing.spi.indexing.Context;
++ import org.netbeans.modules.parsing.spi.indexing.Indexable;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/OnePassCompileWorker.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/OnePassCompileWorker.java
++index cc5221b7b..00af58518 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/OnePassCompileWorker.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/OnePassCompileWorker.java
++@@ -76,6 +76,7 @@ import org.netbeans.modules.java.source.parsing.JavacParser;
++ import org.netbeans.modules.java.source.parsing.OutputFileManager;
++ import org.netbeans.modules.java.source.usages.ClassNamesForFileOraculumImpl;
++ import org.netbeans.modules.java.source.usages.ExecutableFilesIndex;
+++import org.netbeans.modules.parsing.lucene.support.LowMemoryWatcher;
++ import org.netbeans.modules.parsing.spi.indexing.Context;
++ import org.netbeans.modules.parsing.spi.indexing.Indexable;
++ import org.netbeans.modules.parsing.spi.indexing.SuspendStatus;
++@@ -125,7 +126,6 @@ final class OnePassCompileWorker extends CompileWorker {
++                             if (isLowMemory(null)) {
++                                 jt = null;
++                                 units = null;
++-                                jfo2units.clear();
++                                 dc.cleanDiagnostics();
++                                 freeMemory(false);
++                             }
++@@ -202,10 +202,8 @@ final class OnePassCompileWorker extends CompileWorker {
++         }
++ 
++         CompileTuple active = null;
++-        final boolean aptEnabled = Optional.ofNullable(jt)
++-                .map((jtask) -> jtask.getProcessors())
++-                .map((it) -> it.iterator().hasNext())
++-                .orElse(Boolean.FALSE);
+++        Iterable<? extends Processor> processors = jt != null ? jt.getProcessors() : null;
+++        boolean aptEnabled = processors != null && processors.iterator().hasNext();
++         final boolean[] flm = {true};
++         try {
++             final Queue<Future<Void>> barriers = new ArrayDeque<>();
++@@ -219,6 +217,8 @@ final class OnePassCompileWorker extends CompileWorker {
++                     continue;
++                 }
++                 if (isLowMemory(flm)) {
+++                    units = null;
+++                    freeMemory(false);
++                     return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++                 }
++                 final Iterable<? extends TypeElement> types = jt.enterTrees(Collections.singletonList(unit.first()));
++@@ -258,6 +258,8 @@ final class OnePassCompileWorker extends CompileWorker {
++                     }
++                 }
++                 if (isLowMemory(flm)) {
+++                    units = null;
+++                    freeMemory(false);
++                     return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++                 }
++                 jt.analyze(types);
++@@ -265,6 +267,8 @@ final class OnePassCompileWorker extends CompileWorker {
++                     JavaCustomIndexer.addAptGenerated(context, javaContext, active, aptGenerated);
++                 }
++                 if (isLowMemory(flm)) {
+++                    units = null;
+++                    freeMemory(false);
++                     return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++                 }
++                 javaContext.getFQNs().set(types, active.indexable.getURL());
++@@ -339,6 +343,8 @@ final class OnePassCompileWorker extends CompileWorker {
++             JavaCustomIndexer.brokenPlatform(context, files, mpe.getDiagnostic());
++         } catch (CancelAbort ca) {
++             if (isLowMemory(flm)) {
+++                units = null;
+++                freeMemory(false);
++                 return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++             } else if (JavaIndex.LOG.isLoggable(Level.FINEST)) {
++                 JavaIndex.LOG.log(Level.FINEST, "OnePassCompileWorker was canceled in root: " + FileUtil.getFileDisplayName(context.getRoot()), ca);  //NOI18N
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/indexing/SuperOnePassCompileWorker.java b/java.source.base/src/org/netbeans/modules/java/source/indexing/SuperOnePassCompileWorker.java
++index 895ea5981..f30633883 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/indexing/SuperOnePassCompileWorker.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/indexing/SuperOnePassCompileWorker.java
++@@ -127,7 +127,6 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++                             if (isLowMemory(flm)) {
++                                 jt = null;
++                                 units = null;
++-                                trees.clear();
++                                 dc.cleanDiagnostics();
++                                 freeMemory(false);
++                             }
++@@ -147,8 +146,8 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++                                     tuple.aptGenerated ? null : APTUtils.get(context.getRoot()));
++                             }
++                             for (CompilationUnitTree cut : jt.parse(tuple.jfo)) { //TODO: should be exactly one
+++                                trees.add(cut);
++                                 if (units != null) {
++-                                    trees.add(cut);
++                                     units.put(cut, tuple);
++                                 }
++                                 computeFQNs(file2FQNs, cut, tuple);
++@@ -203,6 +202,8 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++             return null;
++         }
++         if (isLowMemory(null)) {
+++            units = null;
+++            freeMemory(false);
++             return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++         }
++         Iterable<? extends Processor> processors = jt.getProcessors();
++@@ -213,6 +214,8 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++                 return null;
++             }
++             if (isLowMemory(null)) {
+++                units = null;
+++                freeMemory(false);
++                 return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++             }
++             final Map<TypeElement, CompileTuple> clazz2Tuple = new IdentityHashMap<TypeElement, CompileTuple>();
++@@ -230,6 +233,8 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++                 return null;
++             }
++             if (isLowMemory(null)) {
+++                units = null;
+++                freeMemory(false);
++                 return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++             }
++             for (Entry<CompilationUnitTree, CompileTuple> unit : units.entrySet()) {
++@@ -262,6 +267,8 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++                 return null;
++             }
++             if (isLowMemory(null)) {
+++                units = null;
+++                freeMemory(false);
++                 return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++             }
++             final JavacTaskImpl jtFin = jt;
++@@ -322,6 +329,8 @@ final class SuperOnePassCompileWorker extends CompileWorker {
++             JavaCustomIndexer.brokenPlatform(context, files, mpe.getDiagnostic());
++         } catch (CancelAbort ca) {
++             if (isLowMemory(null)) {
+++                units = null;
+++                freeMemory(false);
++                 return ParsingOutput.lowMemory(file2FQNs, addedTypes, createdFiles, finished, modifiedTypes, aptGenerated);
++             } else if (JavaIndex.LOG.isLoggable(Level.FINEST)) {
++                 JavaIndex.LOG.log(Level.FINEST, "SuperOnePassCompileWorker was canceled in root: " + FileUtil.getFileDisplayName(context.getRoot()), ca);  //NOI18N
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveClassLoader.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveClassLoader.java
++index 50e8d1455..d4df87c29 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveClassLoader.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveClassLoader.java
++@@ -51,11 +51,9 @@ import java.util.ArrayList;
++ import java.util.Enumeration;
++ import java.util.Iterator;
++ import java.util.List;
++-import java.util.Optional;
++ import java.util.Vector;
++ import java.util.concurrent.Callable;
++ import java.util.concurrent.locks.ReentrantReadWriteLock;
++-import java.util.function.Consumer;
++ import java.util.logging.Level;
++ import java.util.logging.Logger;
++ import javax.tools.FileObject;
++@@ -64,7 +62,6 @@ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.annotations.common.NullAllowed;
++ import org.netbeans.api.java.classpath.ClassPath;
++ import org.openide.util.Exceptions;
++-import org.openide.util.Pair;
++ import org.openide.util.Parameters;
++ 
++ /**
++@@ -72,24 +69,19 @@ import org.openide.util.Parameters;
++  * @author Tomas Zezula
++  */
++ public final class CachingArchiveClassLoader extends ClassLoader {
++-    private static final String RES_PROCESSORS = "META-INF/services/javax.annotation.processing.Processor";    //NOI18N
+++
++     private static final int INI_SIZE = 16384;
++     private static final Logger LOG = Logger.getLogger(CachingArchiveClassLoader.class.getName());
++     //Todo: Performance Trie<File,ReentrantReadWriteLock>
++     private static final ReentrantReadWriteLock LOCK = new ReentrantReadWriteLock();
++ 
++-    private final List<Pair<URL,Archive>> archives;
++-    private final Optional<Consumer<? super URL>> usedRoots;
+++    private final Archive[] archives;
++     private byte[] buffer;
++ 
++-    private CachingArchiveClassLoader(
++-            @NonNull final List<Pair<URL,Archive>> archives,
++-            @NullAllowed final ClassLoader parent,
++-            @NullAllowed final Consumer<? super URL> usedRoots) {
+++    private CachingArchiveClassLoader(final @NonNull Archive[] archives, final ClassLoader parent) {
++         super (parent);
++         assert archives != null;
++         this.archives = archives;
++-        this.usedRoots = Optional.<Consumer<? super URL>>ofNullable(usedRoots);
++     }
++ 
++     @Override
++@@ -166,14 +158,10 @@ public final class CachingArchiveClassLoader extends ClassLoader {
++                 public Enumeration<URL> call() throws Exception {
++                     @SuppressWarnings("UseOfObsoleteCollectionType")
++                     final Vector<URL> v = new Vector<URL>();
++-                    for (final Pair<URL,Archive> p : archives) {
++-                        final Archive archive = p.second();
+++                    for (Archive archive : archives) {
++                         final FileObject file = archive.getFile(name);
++                         if (file != null) {
++                             v.add(file.toUri().toURL());
++-                            usedRoots
++-                                    .map((c) -> RES_PROCESSORS.equals(name) ? null : c)
++-                                    .ifPresent((c) -> c.accept(p.first()));
++                         }
++                     }
++                     return v.elements();
++@@ -213,12 +201,10 @@ public final class CachingArchiveClassLoader extends ClassLoader {
++ 
++     private FileObject findFileObject(final String resName) {
++         assert LOCK.getReadLockCount() > 0;
++-        for (final Pair<URL,Archive> p : archives) {
++-            final Archive archive = p.second();
+++        for (Archive archive : archives) {
++             try {
++                 final FileObject file = archive.getFile(resName);
++                 if (file != null) {
++-                    usedRoots.ifPresent((c) -> c.accept(p.first()));
++                     return file;
++                 }
++             } catch (IOException ex) {
++@@ -231,10 +217,8 @@ public final class CachingArchiveClassLoader extends ClassLoader {
++         return null;
++     }
++ 
++-    public static ClassLoader forClassPath(
++-            @NonNull final ClassPath classPath,
++-            @NullAllowed final ClassLoader parent,
++-            @NullAllowed final Consumer<? super URL> usedRoots) {
+++    public static ClassLoader forClassPath(final @NonNull ClassPath classPath,
+++            final @NullAllowed ClassLoader parent) {
++         Parameters.notNull("classPath", classPath); //NOI18N
++         final List<ClassPath.Entry> entries = classPath.entries();
++         final URL[] urls = new URL[entries.size()];
++@@ -242,25 +226,20 @@ public final class CachingArchiveClassLoader extends ClassLoader {
++         for (int i=0; eit.hasNext(); i++) {
++             urls[i] = eit.next().getURL();
++         }
++-        return forURLs(urls, parent, usedRoots);
+++        return forURLs(urls, parent);
++     }
++ 
++-    public static ClassLoader forURLs(
++-            @NonNull final URL[] urls,
++-            @NullAllowed final ClassLoader parent,
++-            @NullAllowed final Consumer<? super URL> usedRoots) {
+++    public static ClassLoader forURLs(final @NonNull URL[] urls,
+++            final @NullAllowed ClassLoader parent) {
++         Parameters.notNull("urls", urls);       //NOI18N
++-        final List<Pair<URL,Archive>> archives = new ArrayList<>(urls.length);
+++        final List<Archive> archives = new ArrayList<Archive>(urls.length);
++         for (URL url : urls) {
++             final Archive arch = CachingArchiveProvider.getDefault().getArchive(url, false);
++             if (arch != null) {
++-                archives.add(Pair.of(url,arch));
+++                archives.add(arch);
++             }
++         }
++-        return new CachingArchiveClassLoader(
++-                archives,
++-                parent,
++-                usedRoots);
+++        return new CachingArchiveClassLoader(archives.toArray(new Archive[archives.size()]), parent);
++     }
++ 
++     public static <T> T readAction(@NonNull final Callable<T> action) throws Exception {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveProvider.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveProvider.java
++index 45674457a..4c598cae8 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveProvider.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingArchiveProvider.java
++@@ -52,7 +52,6 @@ import java.net.MalformedURLException;
++ import java.net.URI;
++ import java.net.URISyntaxException;
++ import java.net.URL;
++-import java.nio.file.Path;
++ import java.util.ArrayList;
++ import java.util.HashMap;
++ import java.util.Iterator;
++@@ -133,7 +132,7 @@ public final class CachingArchiveProvider {
++             archive = archives.get(rootURI);
++         }
++         if (archive == null) {
++-            final Pair<Archive,URI> becomesArchive = create(Pair.of(root, rootURI), cacheFile);
+++            final Pair<Archive,URI> becomesArchive = create(root, cacheFile);
++             archive = becomesArchive.first();
++             URI uriToCtSym = becomesArchive.second();
++             if (archive != null) {
++@@ -262,10 +261,10 @@ public final class CachingArchiveProvider {
++     /** Creates proper archive for given file.
++      */
++     @NonNull
++-    private Pair<Archive,URI> create( Pair<URL,URI> root, boolean cacheFile ) {
++-        String protocol = root.first().getProtocol();
+++    private Pair<Archive,URI> create( URL root, boolean cacheFile ) {
+++        String protocol = root.getProtocol();
++         if ("file".equals(protocol)) {      //NOI18N
++-            File f = BaseUtilities.toFile(root.second());
+++            File f = BaseUtilities.toFile(URI.create(root.toExternalForm()));
++             if (f.isDirectory()) {
++                 return Pair.<Archive,URI>of(new FolderArchive (f), null);
++             }
++@@ -274,7 +273,7 @@ public final class CachingArchiveProvider {
++             }
++         }
++         if ("jar".equals(protocol)) {       //NOI18N
++-            URL inner = FileUtil.getArchiveFile(root.first());
+++            URL inner = FileUtil.getArchiveFile(root);
++             protocol = inner.getProtocol();
++             if ("file".equals(protocol)) {  //NOI18N
++                 File f = BaseUtilities.toFile(URI.create(inner.toExternalForm()));
++@@ -308,20 +307,12 @@ public final class CachingArchiveProvider {
++                 }
++             }
++         }
++-        final FileObject fo = URLMapper.findFileObject(root.first());
+++        //Slow
+++        FileObject fo = URLMapper.findFileObject(root);
++         if (fo != null) {
++-            final Object attr = fo.getAttribute(Path.class.getName());
++-            if (attr instanceof Path) {
++-                return Pair.<Archive,URI>of(
++-                        cacheFile ?
++-                            new CachingPathArchive((Path)attr, root.second()) :
++-                            new PathArchive((Path)attr, root.second()),
++-                        null);
++-            } else {
++-                //Slow
++-                return Pair.<Archive,URI>of(new FileObjectArchive (fo), null);
++-            }
++-        } else {
+++            return Pair.<Archive,URI>of(new FileObjectArchive (fo), null);
+++        }
+++        else {
++             return EMPTY;
++         }
++     }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingPathArchive.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingPathArchive.java
++deleted file mode 100644
++index ed9e188ad..000000000
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingPathArchive.java
+++++ /dev/null
++@@ -1,241 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2015 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2015 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.parsing;
++-
++-import java.io.IOException;
++-import java.io.UnsupportedEncodingException;
++-import java.net.URI;
++-import java.nio.file.FileVisitResult;
++-import java.nio.file.FileVisitor;
++-import java.nio.file.Files;
++-import java.nio.file.Path;
++-import java.nio.file.attribute.BasicFileAttributes;
++-import java.util.ArrayDeque;
++-import java.util.ArrayList;
++-import java.util.Arrays;
++-import java.util.Collections;
++-import java.util.Deque;
++-import java.util.HashMap;
++-import java.util.List;
++-import java.util.Map;
++-import java.util.Set;
++-import javax.tools.JavaFileObject;
++-import org.netbeans.api.annotations.common.CheckForNull;
++-import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.api.annotations.common.NullAllowed;
++-import org.netbeans.api.java.classpath.ClassPath;
++-import org.netbeans.modules.java.preprocessorbridge.spi.JavaFileFilterImplementation;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public class CachingPathArchive implements Archive {
++-
++-    private static final int[] EMPTY_FOLDER = new int[0];
++-    private static final byte[] EMPTY_NAMES = new byte[0];
++-
++-    private final Path root;
++-    private final String rootURI;
++-    private final char separator;
++-    //@GuardedBy("this")
++-    private Map<String,int[]> data;
++-    //@GuardedBy("this")
++-    private byte[] packedNames;
++-    //@GuardedBy("this")
++-    private int nameIndex;
++-
++-    CachingPathArchive(
++-            @NonNull final Path root,
++-            @NullAllowed final URI rootURI) {
++-        assert root != null;
++-        this.root = root;
++-        this.rootURI = rootURI == null ? null : rootURI.toString();
++-        final String sep = root.getFileSystem().getSeparator();
++-        if (sep.length() != 1) {
++-            throw new IllegalArgumentException("Multi character separators are unsupported");   //NOI18N
++-        }
++-        this.separator = sep.charAt(0);
++-        this.packedNames = EMPTY_NAMES;
++-    }
++-
++-    @Override
++-    @NonNull
++-    public synchronized Iterable<JavaFileObject> getFiles(
++-            @NonNull String folderName,
++-            @NullAllowed final ClassPath.Entry entry,
++-            @NullAllowed Set<JavaFileObject.Kind> kinds,
++-            @NullAllowed JavaFileFilterImplementation filter) throws IOException {
++-        init();
++-        final int[] pkgContent = data.get(folderName);
++-        if (pkgContent == null || pkgContent == EMPTY_FOLDER) {
++-            return Collections.emptyList();
++-        }
++-        final List<JavaFileObject> res = new ArrayList<>(pkgContent.length>>>1);
++-        for (int i = 0; i < pkgContent.length; i+=2) {
++-            final String name = getName(pkgContent[i], pkgContent[i+1]);
++-            if (kinds == null || kinds.contains(FileObjects.getKind(FileObjects.getExtension(name)))) {
++-                res.add(FileObjects.pathFileObject(
++-                        folderName,
++-                        name,
++-                        root,
++-                        rootURI,
++-                        null));
++-            }
++-        }
++-        return res;
++-    }
++-
++-    @Override
++-    @CheckForNull
++-    public synchronized JavaFileObject getFile(@NonNull final String name) throws IOException {
++-        init();
++-        final String[] fnPair = FileObjects.getFolderAndBaseName(name, FileObjects.NBFS_SEPARATOR_CHAR);
++-        final int[] pkgContent = data.get(fnPair[0]);
++-        if (pkgContent != null) {
++-            for (int i = 0; i < pkgContent.length; i+=2) {
++-                final String baseName = getName(pkgContent[i], pkgContent[i+1]);
++-                if (fnPair[1].equals(baseName)) {
++-                    return FileObjects.pathFileObject(
++-                            fnPair[0],
++-                            fnPair[1],
++-                            root,
++-                            rootURI,
++-                            null);
++-                }
++-            }
++-        }
++-        return null;
++-    }
++-
++-    @Override
++-    public synchronized void clear() {
++-        data = null;
++-        packedNames = EMPTY_NAMES;
++-        nameIndex = 0;
++-    }
++-
++-    @Override
++-    public JavaFileObject create(String relativeName, JavaFileFilterImplementation filter) throws UnsupportedOperationException {
++-        throw new UnsupportedOperationException("Write not supported");   //NOI18N
++-    }
++-
++-    private int putName(@NonNull final byte[] name) {
++-        if (packedNames.length < nameIndex + name.length) {
++-            packedNames = Arrays.copyOfRange(packedNames, 0, name.length + packedNames.length<<1);
++-        }
++-        final int start = nameIndex;
++-        System.arraycopy(name, 0, packedNames, start, name.length);
++-        nameIndex+=name.length;
++-        return start;
++-    }
++-
++-    private String getName(final int start, final int len) {
++-        try {
++-            return new String(packedNames, start, len, "UTF-8");    //NOI18N
++-        } catch (UnsupportedEncodingException ue) {
++-            throw new IllegalStateException(ue);
++-        }
++-    }
++-
++-    @NonNull
++-    private String getResourceName(@NonNull final Path path) {
++-        return root.relativize(path).toString().replace(separator, FileObjects.NBFS_SEPARATOR_CHAR);
++-    }
++-
++-    private void init () throws IOException {
++-        assert Thread.holdsLock(this);
++-        if (data == null) {
++-            data = new HashMap<>();
++-            Files.walkFileTree(root, new FileVisitor<Path>() {
++-                private final Deque<State> states = new ArrayDeque<>();
++-
++-                @Override
++-                public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
++-                    states.offer(new State());
++-                    return FileVisitResult.CONTINUE;
++-                }
++-
++-                @Override
++-                public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
++-                    final State state = states.getLast();
++-                    int[] cf = state.currentFolder;
++-                    int co = state.currentOffset;
++-                    if (cf.length < co+2) {
++-                        cf = state.currentFolder = Arrays.copyOfRange(cf, 0, 2 + cf.length<<1);
++-                    }
++-                    final byte[] name = file.getFileName().toString().getBytes("UTF-8");
++-                    cf[co] = putName(name);
++-                    cf[co+1] = name.length;
++-                    state.currentOffset+=2;
++-                    return FileVisitResult.CONTINUE;
++-                }
++-
++-                @Override
++-                public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
++-                    return FileVisitResult.CONTINUE;
++-                }
++-
++-                @Override
++-                public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
++-                    final State state = states.removeLast();
++-                    if (state.currentFolder != EMPTY_FOLDER) {
++-                        data.put(
++-                            getResourceName(dir),
++-                            Arrays.copyOfRange(state.currentFolder, 0, state.currentOffset));
++-                    }
++-                    return FileVisitResult.CONTINUE;
++-                }
++-            });
++-            packedNames = Arrays.copyOfRange(packedNames, 0, nameIndex);
++-        }
++-    }
++-
++-    private static class State {
++-        int[] currentFolder;
++-        int currentOffset;
++-        State() {
++-            currentFolder = EMPTY_FOLDER;
++-        }
++-    }
++-
++-}
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/ClassParser.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/ClassParser.java
++index 6b6af1b13..6d480bf62 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/ClassParser.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/ClassParser.java
++@@ -100,8 +100,8 @@ public class ClassParser extends Parser {
++         final FileObject file = source.getFileObject();
++         assert file != null;
++         if (info == null) {
++-            if ((task instanceof ClasspathInfo.Provider)) {
++-                info =((ClasspathInfo.Provider)task).getClasspathInfo();
+++            if ((task instanceof ClasspathInfoProvider)) {
+++                info =((ClasspathInfoProvider)task).getClasspathInfo();
++             }
++             if (info == null) {
++                 ClassPath bootPath = ClassPath.getClassPath(file, ClassPath.BOOT);
++@@ -167,8 +167,8 @@ public class ClassParser extends Parser {
++             } else {
++                 requiredPhase = JavaSource.Phase.RESOLVED;
++             }
++-            if (task instanceof ClasspathInfo.Provider) {
++-                final ClasspathInfo taskProvidedCpInfo = ((ClasspathInfo.Provider)task).getClasspathInfo();
+++            if (task instanceof ClasspathInfoProvider) {
+++                final ClasspathInfo taskProvidedCpInfo = ((ClasspathInfoProvider)task).getClasspathInfo();
++                 if (taskProvidedCpInfo != null && !taskProvidedCpInfo.equals(info)) {
++                     assert info != null;
++                     assert wl != null;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/ClasspathInfoProvider.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/ClasspathInfoProvider.java
++index 57f2c78a2..1bb6edefb 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/ClasspathInfoProvider.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/ClasspathInfoProvider.java
++@@ -48,5 +48,6 @@ import org.netbeans.api.java.source.ClasspathInfo;
++  *
++  * @author Tomas Zezula
++  */
++-public interface ClasspathInfoProvider extends ClasspathInfo.Provider {
+++public interface ClasspathInfoProvider {
+++    public ClasspathInfo getClasspathInfo ();
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/CompilationInfoImpl.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/CompilationInfoImpl.java
++index 19224f18c..66c0c08f4 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/CompilationInfoImpl.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/CompilationInfoImpl.java
++@@ -54,15 +54,14 @@ import java.io.IOException;
++ import java.util.ArrayList;
++ import java.util.Arrays;
++ import java.util.Collection;
+++import java.util.Collections;
++ import java.util.EnumMap;
++ import java.util.HashMap;
++-import java.util.HashSet;
++ import java.util.Iterator;
++ import java.util.List;
++ import java.util.Locale;
++ import java.util.Map;
++ import java.util.Map.Entry;
++-import java.util.SortedMap;
++ import java.util.TreeMap;
++ 
++ import javax.swing.text.Document;
++@@ -263,12 +262,12 @@ public final class CompilationInfoImpl {
++         if (this.jfo == null) {
++             throw new IllegalStateException ();
++         }
++-        DiagnosticListenerImpl.Diagnostics errors = ((DiagnosticListenerImpl)diagnosticListener).getErrors(jfo);
+++        Collection<Collection<Diagnostic<? extends JavaFileObject>>> errors = ((DiagnosticListenerImpl)diagnosticListener).getErrors(jfo).values();
++         List<Diagnostic<? extends JavaFileObject>> partialReparseErrors = ((DiagnosticListenerImpl)diagnosticListener).partialReparseErrors;
++         List<Diagnostic<? extends JavaFileObject>> affectedErrors = ((DiagnosticListenerImpl)diagnosticListener).affectedErrors;
++         int errorsSize = 0;
++ 
++-        for (Collection<DiagnosticListenerImpl.DiagNode> err : errors.values()) {
+++        for (Collection<Diagnostic<? extends JavaFileObject>> err : errors) {
++             errorsSize += err.size();
++         }
++ 
++@@ -277,10 +276,10 @@ public final class CompilationInfoImpl {
++                 (affectedErrors == null ? 0 : affectedErrors.size()));
++         DiagnosticFormatter<JCDiagnostic> formatter = Log.instance(javacTask.getContext()).getDiagnosticFormatter();
++         
++-        DiagnosticListenerImpl.DiagNode node = errors.first;
++-        while(node != null) {
++-            localErrors.add(RichDiagnostic.wrap(node.diag, formatter));
++-            node = node.next;
+++        for (Collection<Diagnostic<? extends JavaFileObject>> err : errors) {
+++            for (Diagnostic<? extends JavaFileObject> d : err) {
+++                localErrors.add(RichDiagnostic.wrap(d, formatter));
+++            }
++         }
++         if (partialReparseErrors != null) {
++             for (Diagnostic<? extends JavaFileObject> d : partialReparseErrors) {
++@@ -376,9 +375,11 @@ public final class CompilationInfoImpl {
++                 setPhase(phase);
++                 if (currentPhase == JavaSource.Phase.MODIFIED)
++                     getJavacTask().parse(); // Ensure proper javac initialization
+++                currentPhase = phase;
++             }
++-            return phase;
++-        } else {
+++            return currentPhase;
+++        }
+++        else {
++             JavaSource.Phase currentPhase = parser.moveToPhase(phase, this, false);
++             return currentPhase.compareTo (phase) < 0 ? currentPhase : phase;
++         }
++@@ -475,7 +476,7 @@ public final class CompilationInfoImpl {
++     @Trusted
++     static class DiagnosticListenerImpl implements DiagnosticListener<JavaFileObject> {
++         
++-        private final Map<JavaFileObject, Diagnostics> source2Errors;
+++        private final Map<JavaFileObject, TreeMap<Integer, Collection<Diagnostic<? extends JavaFileObject>>>> source2Errors;
++         private final FileObject root;
++         private final JavaFileObject jfo;
++         private final ClasspathInfo cpInfo;
++@@ -507,32 +508,41 @@ public final class CompilationInfoImpl {
++                     }
++                 }
++             } else {
++-                Diagnostics errors = getErrors(message.getSource());
++-                errors.add((int) message.getPosition(), message);
+++                TreeMap<Integer, Collection<Diagnostic<? extends JavaFileObject>>> errors = getErrors(message.getSource());
+++                Collection<Diagnostic<? extends JavaFileObject>> diags = errors.get((int) message.getPosition());
+++
+++                if (diags == null) {
+++                    errors.put((int) message.getPosition(), diags = new ArrayList<>());
+++                }
+++                diags.add(message);
++             }
++         }
++ 
++-        private Diagnostics getErrors(JavaFileObject file) {
++-            Diagnostics errors;
+++        private TreeMap<Integer, Collection<Diagnostic<? extends JavaFileObject>>> getErrors(JavaFileObject file) {
+++            TreeMap<Integer, Collection<Diagnostic<? extends JavaFileObject>>> errors;
++             if (isIncompleteClassPath()) {
++                 if (root != null && JavaIndex.hasSourceCache(root.toURL(), false)) {
++                     errors = source2Errors.get(file);
++                     if (errors == null) {
++-                        source2Errors.put(file, errors = new Diagnostics());
+++                        source2Errors.put(file, errors = new TreeMap<>());
++                         if (this.jfo != null && this.jfo == file) {
++-                            errors.add(-1, new IncompleteClassPath(this.jfo));
+++                            final List l;
+++                            errors.put(-1, l = new ArrayList<>());
+++                            l.add(new IncompleteClassPath(this.jfo));
++                         }
++                     }
++                 } else {
++-                    errors = new Diagnostics();
+++                    errors = new TreeMap<>();
++                     if (this.jfo != null && this.jfo == file) {
++-                        errors.add(-1, new IncompleteClassPath(this.jfo));
+++                        final List l;
+++                        errors.put(-1, l = new ArrayList<>());
+++                        l.add(new IncompleteClassPath(this.jfo));
++                     }
++                 }
++             } else {
++                 errors = source2Errors.get(file);
++                 if (errors == null) {
++-                    source2Errors.put(file, errors = new Diagnostics());
+++                    source2Errors.put(file, errors = new TreeMap<>());
++                 }
++             }
++             return errors;
++@@ -545,36 +555,21 @@ public final class CompilationInfoImpl {
++         
++         final void startPartialReparse (int from, int to) {
++             if (partialReparseErrors == null) {
++-                partialReparseErrors = new ArrayList<>();
++-                Diagnostics errors = getErrors(jfo);
++-                SortedMap<Integer, Collection<DiagNode>> subMap = errors.subMap(from, to);
++-                subMap.values().forEach((value) -> {
++-                    value.forEach((node) -> {
++-                        errors.unlink(node);
++-                    });
++-                });
++-                subMap.clear();       //Remove errors in changed method durring the partial reparse
++-                Map<Integer, Collection<DiagNode>> tail = errors.tailMap(to);
++-                this.affectedErrors = new ArrayList<>(tail.size());
++-                HashSet<DiagNode> tailNodes = new HashSet<>();
++-                for (Iterator<Entry<Integer,Collection<DiagNode>>> it = tail.entrySet().iterator(); it.hasNext();) {
++-                    Entry<Integer, Collection<DiagNode>> e = it.next();
++-                    for (DiagNode d : e.getValue()) {
++-                        tailNodes.add(d);
++-                    }
++-                    it.remove();
++-                }
++-                DiagNode node = errors.first;
++-                while(node != null) {
++-                    if (tailNodes.contains(node)) {
++-                        errors.unlink(node);
++-                        final JCDiagnostic diagnostic = (JCDiagnostic) node.diag;
+++                partialReparseErrors = new ArrayList<Diagnostic<? extends JavaFileObject>>();
+++                TreeMap<Integer, Collection<Diagnostic<? extends JavaFileObject>>> errors = getErrors(jfo);
+++                errors.subMap(from, to).clear();       //Remove errors in changed method durring the partial reparse
+++                Map<Integer, Collection<Diagnostic<? extends JavaFileObject>>> tail = errors.tailMap(to);
+++                this.affectedErrors = new ArrayList<Diagnostic<? extends JavaFileObject>>(tail.size());
+++                for (Iterator<Entry<Integer,Collection<Diagnostic<? extends JavaFileObject>>>> it = tail.entrySet().iterator(); it.hasNext();) {
+++                    Entry<Integer, Collection<Diagnostic<? extends JavaFileObject>>> e = it.next();
+++                    for (Diagnostic<? extends JavaFileObject> d : e.getValue()) {
+++                        final JCDiagnostic diagnostic = (JCDiagnostic) d;
++                         if (diagnostic == null) {
++                             throw new IllegalStateException("#184910: diagnostic == null " + mapArraysToLists(Thread.getAllStackTraces())); //NOI18N
++                         }
++                         this.affectedErrors.add(new D (diagnostic));
++                     }
++-                    node = node.next;
+++                    it.remove();
++                 }
++             }
++             else {
++@@ -724,53 +719,6 @@ public final class CompilationInfoImpl {
++                     "ERR_IncompleteClassPath");
++             }
++         }
++-        
++-        private static final class Diagnostics extends TreeMap<Integer, Collection<DiagNode>> {
++-            private DiagNode first;
++-            private DiagNode last;
++-
++-            public void add(int pos, Diagnostic<? extends JavaFileObject> diag) {
++-                Collection<DiagNode> nodes = get((int)diag.getPosition());
++-                if (nodes == null) {
++-                    put((int) diag.getPosition(), nodes = new ArrayList<>());
++-                }
++-                DiagNode node = new DiagNode(last, diag, null);
++-                nodes.add(node);
++-                if (last != null) {
++-                    last.next = node;
++-                }
++-                last = node;
++-                if (first == null) {
++-                    first = node;
++-                }
++-            }
++-            
++-            private void unlink(DiagNode node) {
++-                if (node.next == null) {
++-                    last = node.prev;
++-                } else {
++-                    node.next.prev = node.prev;
++-
++-                }
++-                if (node.prev == null) {
++-                    first = node.next;
++-                } else {
++-                    node.prev.next = node.next;
++-                }
++-            }
++-        }
++-        
++-        private static final class DiagNode {
++-            private Diagnostic<? extends JavaFileObject> diag;
++-            private DiagNode next;
++-            private DiagNode prev;
++-
++-            private DiagNode(DiagNode prev, Diagnostic<? extends JavaFileObject> diag, DiagNode next) {
++-                this.diag = diag;
++-                this.next = next;
++-                this.prev = prev;
++-            }            
++-        }
++     }
++ 
++     static final class RichDiagnostic implements Diagnostic {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjectArchive.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjectArchive.java
++index 6c9c5df67..44d6ef84f 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjectArchive.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjectArchive.java
++@@ -50,7 +50,6 @@ import java.util.Collections;
++ import java.util.List;
++ import java.util.Set;
++ import javax.tools.JavaFileObject;
++-import javax.tools.JavaFileObject.Kind;
++ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.modules.java.preprocessorbridge.spi.JavaFileFilterImplementation;
++ import org.openide.filesystems.FileObject;
++@@ -68,9 +67,9 @@ public class FileObjectArchive implements Archive {
++     public FileObjectArchive (final FileObject root) {
++         this.root = root;
++     }
++-
+++    
++     public Iterable<JavaFileObject> getFiles(String folderName, ClassPath.Entry entry, Set<JavaFileObject.Kind> kinds, JavaFileFilterImplementation filter) throws IOException {
++-        FileObject folder = root.getFileObject(folderName);
+++        FileObject folder = root.getFileObject(folderName);        
++         if (folder == null || !(entry == null || entry.includes(folder))) {
++             return Collections.<JavaFileObject>emptySet();
++         }
++@@ -78,15 +77,8 @@ public class FileObjectArchive implements Archive {
++         List<JavaFileObject> result = new ArrayList<JavaFileObject>(children.length);
++         for (FileObject fo : children) {
++             if (fo.isData() && (entry == null || entry.includes(fo))) {
++-                final Kind kind = FileObjects.getKind(fo.getExt());
++-                if (kinds == null || kinds.contains (kind)) {
++-                    JavaFileObject file;
++-                    if (kind == Kind.CLASS) {
++-                        file = FileObjects.fileObjectFileObject(fo, root, filter, null);
++-                    } else {
++-                        file = FileObjects.sourceFileObject(fo, root, filter,false);
++-                    }
++-                    result.add(file);
+++                if (kinds == null || kinds.contains (FileObjects.getKind(fo.getExt()))) {
+++                    result.add(FileObjects.sourceFileObject(fo, root, filter,false));
++                 }
++             }
++         }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjects.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjects.java
++index 636dc8bcf..fbe730347 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjects.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/FileObjects.java
++@@ -72,8 +72,6 @@ import java.net.URLEncoder;
++ import java.nio.CharBuffer;
++ import java.nio.channels.CompletionHandler;
++ import java.nio.charset.Charset;
++-import java.nio.file.Files;
++-import java.nio.file.Path;
++ import java.util.Arrays;
++ import java.util.Comparator;
++ import java.util.HashSet;
++@@ -145,8 +143,7 @@ public class FileObjects {
++ 
++     public static final String RESOURCES = "resouces." + FileObjects.RES;  //NOI18N
++ 
++-    private static final Charset SYSTEM_ENCODING = Charset.defaultCharset();
++-    private static final Charset UTF8_ENCODING = Charset.forName("UTF-8");  //NOI18N
+++    private static final String encodingName = new OutputStreamWriter(new ByteArrayOutputStream()).getEncoding();
++     //todo: If more clients than btrace will need this, create a SPI.
++     private static final Set<String> javaFlavorExt = new HashSet<String>();
++     static {
++@@ -231,23 +228,6 @@ public class FileObjects {
++     }
++ 
++     /**
++-     * Creates {@link JavaFileObject} for a  {@link FileObject}
++-     * @param file for which the {@link JavaFileObject} should be created
++-     * @param root - the classpath root owning the file
++-     * @param filter the preprocessor filter or null
++-     * @param encoding - the file's encoding or null for non source file
++-     * @return {@link JavaFileObject}, never returns null
++-     */
++-    @NonNull
++-    public static PrefetchableJavaFileObject fileObjectFileObject( final @NonNull FileObject file, final @NonNull FileObject root,
++-            final @NullAllowed JavaFileFilterImplementation filter, final @NullAllowed Charset encoding) {
++-        assert file != null;
++-        assert root != null;
++-        final String[] pkgNamePair = getFolderAndBaseName(FileUtil.getRelativePath(root,file), NBFS_SEPARATOR_CHAR);
++-        return new FileObjectBase(file, convertFolder2Package(pkgNamePair[0], NBFS_SEPARATOR_CHAR), pkgNamePair[1], filter, encoding);
++-    }
++-
++-    /**
++      * Creates {@link JavaFileObject} for a regular {@link File}
++      * @param file for which the {@link JavaFileObject} should be created
++      * @param root - the classpath root owning the file
++@@ -539,65 +519,6 @@ public class FileObjects {
++     }
++ 
++     /**
++-     * Creates an {@link InferableJavaFileObject} for NIO {@link Path}.
++-     * @param file the {@link Path} to create file object for
++-     * @param root the root
++-     * @param rootUri the root {@link URI} or null if the {@link URI} should be taken from file
++-     * @param encoding the optional encoding or null for system encoding
++-     * @return the {@link InferableJavaFileObject}
++-     */
++-    @NonNull
++-    public static InferableJavaFileObject pathFileObject(
++-        @NonNull final Path file,
++-        @NonNull final Path root,
++-        @NullAllowed final String rootUri,
++-        @NullAllowed Charset encoding) {
++-        final char separator = file.getFileSystem().getSeparator().charAt(0);
++-        final Path relPath = root.relativize(file);
++-        final String[] path = getFolderAndBaseName(relPath.toString(), separator);
++-        String fileUri;
++-        if (rootUri != null) {
++-            fileUri = relPath.toUri().getRawPath();
++-            if (fileUri.charAt(0) == FileObjects.NBFS_SEPARATOR_CHAR) {
++-                fileUri = fileUri.substring(1);
++-            }
++-            fileUri = rootUri + fileUri;
++-        } else {
++-            fileUri = null;
++-        }
++-        return new PathFileObject(
++-                file,
++-                convertFolder2Package(path[0], separator),
++-                path[1],
++-                fileUri,
++-                encoding);
++-    }
++-
++-    /**
++-     * Creates an {@link InferableJavaFileObject} for NIO {@link Path}.
++-     * @param folder the folder
++-     * @param baseName the file basename with extension
++-     * @param root the classpath root
++-     * @param rootUri the root {@link URI} or null if the {@link URI} should be taken from file
++-     * @param encoding the optional encoding or null for system encoding
++-     * @return the {@link InferableJavaFileObject}
++-     */
++-    @NonNull
++-    public static InferableJavaFileObject pathFileObject(
++-        @NonNull final String folder,
++-        @NonNull final String baseName,
++-        @NonNull final Path root,
++-        @NullAllowed final String rootUri,
++-        @NullAllowed Charset encoding) {
++-        return new LazyPathFileObject(
++-                convertFolder2Package(folder),
++-                baseName,
++-                root,
++-                rootUri,
++-                encoding);
++-    }
++-
++-    /**
++      * Removes extension from fileName
++      * @param fileName to remove extension from
++      * @return the fileName without extension
++@@ -986,14 +907,8 @@ public class FileObjects {
++         protected final String pkgName;
++         protected final String nameWithoutExt;
++         protected final String ext;
++-        protected final Charset encoding;
++-        protected final boolean caseSensitive;
++ 
++-        protected Base (
++-                final String pkgName,
++-                final String name,
++-                final Charset encoding,
++-                final boolean caseSensitive) {
+++        protected Base (final String pkgName, final String name) {
++             assert pkgName != null;
++             assert name != null;
++             this.pkgName = pkgName;
++@@ -1001,8 +916,6 @@ public class FileObjects {
++             this.nameWithoutExt = res[0];
++             this.ext = res[1];
++             this.kind = FileObjects.getKind (this.ext);
++-            this.encoding = encoding;
++-            this.caseSensitive = caseSensitive;
++         }
++ 
++         @Override
++@@ -1012,8 +925,7 @@ public class FileObjects {
++ 
++         @Override
++         public boolean isNameCompatible (String simplename, JavaFileObject.Kind k) {
++-            return this.kind == k &&
++-                (caseSensitive ? nameWithoutExt.equals(simplename) : nameWithoutExt.equalsIgnoreCase(simplename));
+++            return this.kind == k && nameWithoutExt.equals(simplename);
++ 	}
++ 
++         @Override
++@@ -1083,28 +995,6 @@ public class FileObjects {
++             return sb.toString();
++         }
++ 
++-        @Override
++-	public Reader openReader(boolean b) throws IOException {
++-            if (this.getKind() == JavaFileObject.Kind.CLASS) {
++-                throw new UnsupportedOperationException();
++-            } else {
++-                return encoding == null ?
++-                    new InputStreamReader(openInputStream()):
++-                    new InputStreamReader(openInputStream(), encoding);
++-            }
++-	}
++-
++-        @Override
++-	public Writer openWriter() throws IOException {
++-            if (this.getKind() == JavaFileObject.Kind.CLASS) {
++-                throw new UnsupportedOperationException();
++-            } else {
++-                return encoding != null ?
++-                    new OutputStreamWriter(openOutputStream(), encoding) :
++-                    new OutputStreamWriter(openOutputStream());
++-            }
++-	}
++-
++         private static String[] getNameExtPair (String name) {
++             int index = name.lastIndexOf ('.');
++             String namenx;
++@@ -1129,64 +1019,26 @@ public class FileObjects {
++         }
++     }
++ 
++-    public static abstract class PrefetchableBase extends Base implements PrefetchableJavaFileObject {
++-
++-        private volatile CharSequence data;
++-
++-        protected PrefetchableBase(
++-                @NonNull final String pkgName,
++-                @NonNull final String name,
++-                @NullAllowed final Charset encoding,
++-                final boolean caseSensitive) {
++-            super(pkgName, name, encoding, caseSensitive);
++-        }
++-
++-        @Override
++-	public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
++-            CharSequence res = data;
++-            if (res == null) {
++-                res = getCharContentImpl(ignoreEncodingErrors);
++-            }
++-            return res;
++-        }
++-
++-        @Override
++-        public int prefetch() throws IOException {
++-            final CharSequence chc = getCharContentImpl(true);
++-            data = chc;
++-            return chc.length();
++-        }
++-
++-        @Override
++-        public int dispose() {
++-            final CharSequence _data = data;
++-            if (_data != null) {
++-                data = null;
++-                return _data.length();
++-            } else {
++-                return 0;
++-            }
++-        }
++-
++-        protected abstract CharSequence getCharContentImpl(boolean ignoreEncodingErrors) throws IOException;
++-    }
++-
++     @Trusted
++-    public static class FileBase extends PrefetchableBase {
+++    public static class FileBase extends Base implements PrefetchableJavaFileObject {
++ 
+++        private static final boolean isWindows = BaseUtilities.isWindows();
++         protected final File f;
++         protected final JavaFileFilterImplementation filter;
++-        private volatile URI uriCache;
+++        protected final Charset encoding;
+++        URI uriCache;
+++        private volatile CharSequence data;
++ 
++         protected FileBase (final File file,
++                 final String pkgName,
++                 final String name,
++                 final JavaFileFilterImplementation filter,
++                 final Charset encoding) {
++-            super (pkgName, name, encoding, !BaseUtilities.isWindows());
+++            super (pkgName, name);
++             assert file != null;
++             this.f = file;
++             this.filter = filter;
+++            this.encoding = encoding;
++         }
++ 
++         public File getFile () {
++@@ -1199,6 +1051,13 @@ public class FileObjects {
++ 	}
++ 
++         @Override
+++	public Reader openReader (boolean b) throws IOException {
+++	    return encoding == null ?
+++                new InputStreamReader(openInputStream()):
+++                new InputStreamReader(openInputStream(), encoding);
+++	}
+++
+++        @Override
++ 	public OutputStream openOutputStream() throws IOException {
++             final File parent = f.getParentFile();
++             if (!parent.exists()) {
++@@ -1208,93 +1067,48 @@ public class FileObjects {
++ 	}
++ 
++         @Override
++-        public URI toUri () {
++-            if (this.uriCache == null) {
++-                this.uriCache = BaseUtilities.toURI(f);
+++	public Writer openWriter() throws IOException {
+++            if (encoding != null) {
+++                return new OutputStreamWriter(openOutputStream(), encoding);
+++            } else {
+++                return new OutputStreamWriter(openOutputStream());
++             }
++-            return this.uriCache;
++-        }
++-
++-        @Override
++-        public long getLastModified() {
++-	    return f.lastModified();
++ 	}
++ 
++         @Override
++-	public boolean delete() {
++-	    return f.delete();
++-	}
++-
++-	@Override
++-	public boolean equals(final Object other) {
++-	    if (!(other instanceof FileBase))
++-		return false;
++-	    final FileBase o = (FileBase) other;
++-	    return f.equals(o.f);
++-	}
++-
++-	@Override
++-	public int hashCode() {
++-	    return f.hashCode();
++-	}
++-
++-        @Override
++-        protected CharSequence getCharContentImpl(boolean ignoreEncodingErrors) throws IOException {
++-            return FileObjects.getCharContent(openInputStream(), encoding, filter, f.length(), ignoreEncodingErrors);
++-        }
++-    }
++-
++-    @Trusted
++-    public static class FileObjectBase extends PrefetchableBase {
++-
++-        protected final FileObject f;
++-        protected final JavaFileFilterImplementation filter;
++-        private volatile URI uriCache;
++-
++-        protected FileObjectBase (final FileObject file,
++-                final String pkgName,
++-                final String name,
++-                final JavaFileFilterImplementation filter,
++-                final Charset encoding) {
++-            super (pkgName, name, encoding, !BaseUtilities.isWindows());
++-            assert file != null;
++-            this.f = file;
++-            this.filter = filter;
++-        }
++-
++-        @Override
++-        public InputStream openInputStream() throws IOException {
++-	    return new BufferedInputStream (f.getInputStream());
++-	}
++-
++-        @Override
++-	public OutputStream openOutputStream() throws IOException {
++-            throw new UnsupportedOperationException();
+++	public boolean isNameCompatible(String simplename, JavaFileObject.Kind kind) {
+++            return isWindows ?
+++                this.kind == kind && nameWithoutExt.equalsIgnoreCase(simplename) :
+++                super.isNameCompatible(simplename, kind);
++ 	}
++ 
++         @Override
++         public URI toUri () {
++             if (this.uriCache == null) {
++-                this.uriCache = f.toURI();
+++                this.uriCache = BaseUtilities.toURI(f);
++             }
++             return this.uriCache;
++         }
++ 
++         @Override
++         public long getLastModified() {
++-	    return f.lastModified().getTime();
+++	    return f.lastModified();
++ 	}
++ 
++         @Override
++ 	public boolean delete() {
++-            try {
++-                f.delete();
++-                return true;
++-            } catch (IOException ex) {
++-                return false;
++-            }
+++	    return f.delete();
++ 	}
++ 
+++        @Override
+++	public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
+++            CharSequence res = data;
+++            if (res == null) {
+++                res = getCharContentImpl(ignoreEncodingErrors);
+++            }
+++            return res;
+++        }
+++
++ 	@Override
++ 	public boolean equals(final Object other) {
++ 	    if (!(other instanceof FileBase))
++@@ -1309,168 +1123,25 @@ public class FileObjects {
++ 	}
++ 
++         @Override
++-        protected CharSequence getCharContentImpl(boolean ignoreEncodingErrors) throws IOException {
++-            return FileObjects.getCharContent(openInputStream(), encoding, filter, f.getSize(), ignoreEncodingErrors);
++-        }
++-    }
++-
++-    private static abstract class PathBase extends Base {
++-
++-        private volatile URI uriCache;
++-
++-        protected PathBase(
++-                @NonNull final String pkgName,
++-                @NonNull final String name,
++-                @NullAllowed final Charset encoding) {
++-            super(
++-                pkgName,
++-                name,
++-                encoding,
++-                !BaseUtilities.isWindows());
++-        }
++-
++-        @Override
++-        public final URI toUri() {
++-            URI res = uriCache;
++-            if (res == null) {
++-                res = uriCache = resolveURI();
++-            }
++-            return res;
++-        }
++-
++-        @Override
++-        public final InputStream openInputStream() throws IOException {
++-            return Files.newInputStream(resolvePath());
++-        }
++-
++-        @Override
++-        public final CharSequence getCharContent(final boolean ignoreEncodingErrors) throws IOException {
++-            final long len = Files.size(resolvePath());
++-            return FileObjects.getCharContent(
++-                    openInputStream(),
++-                    encoding,
++-                    null,
++-                    len,
++-                    ignoreEncodingErrors);
++-        }
++-
++-        @Override
++-        public final long getLastModified() {
++-            try {
++-                return Files.getLastModifiedTime(resolvePath()).toMillis();
++-            } catch (IOException ioe) {
++-                return 0L;
++-            }
++-        }
++-
++-        @Override
++-        public final OutputStream openOutputStream() throws IOException {
++-            throw new UnsupportedOperationException("Write not supported");
++-        }
++-
++-        @Override
++-        public final boolean delete() {
++-            throw new UnsupportedOperationException("Delete not supported");
++-        }
++-
++-        @NonNull
++-        protected abstract Path resolvePath();
++-
++-        @NonNull
++-        protected abstract URI resolveURI();
++-    }
++-
++-    @Trusted
++-    private static final class PathFileObject extends PathBase {
++-
++-        private final Path path;
++-        private final String rawUri;
++-
++-        PathFileObject(
++-                @NonNull final Path file,
++-                @NonNull final String pkgName,
++-                @NonNull final String name,
++-                @NullAllowed final String rawUri,
++-                @NullAllowed final Charset encoding) {
++-            super(
++-                pkgName,
++-                name,
++-                encoding);
++-            assert file != null;
++-            this.path = file;
++-            this.rawUri = rawUri;
++-        }
++-
++-        @Override
++-        protected Path resolvePath() {
++-            return path;
++-        }
++-
++-        @Override
++-        @NonNull
++-        protected URI resolveURI() {
++-            return rawUri == null ?
++-                resolvePath().toUri() :
++-                URI.create(rawUri);
++-        }
++-    }
++-
++-    @Trusted
++-    private static final class LazyPathFileObject extends PathBase {
++-        private final Path root;
++-        private final String rootUri;
++-        private volatile Path fileCache;
++-
++-        LazyPathFileObject(
++-                @NonNull final String pkgName,
++-                @NonNull final String name,
++-                @NonNull final Path root,
++-                @NullAllowed final String rootUri,
++-                @NullAllowed final Charset encoding) {
++-            super(
++-                pkgName,
++-                name,
++-                encoding);
++-            assert root != null;
++-            this.root = root;
++-            this.rootUri = rootUri;
+++        public int prefetch() throws IOException {
+++            final CharSequence chc = getCharContentImpl(true);
+++            data = chc;
+++            return chc.length();
++         }
++ 
++         @Override
++-        @NonNull
++-        protected Path resolvePath() {
++-            Path file = fileCache;
++-            if (file == null) {
++-                final char sep = root.getFileSystem().getSeparator().charAt(0);
++-                final StringBuilder relPath = new StringBuilder();
++-                if (!pkgName.isEmpty()) {
++-                    relPath.append(convertPackage2Folder(pkgName,sep)).
++-                            append(sep);
++-                }
++-                relPath.append(nameWithoutExt).
++-                        append('.').
++-                        append(ext);
++-                file = fileCache = root.resolve(relPath.toString());
+++        public int dispose() {
+++            final CharSequence _data = data;
+++            if (_data != null) {
+++                data = null;
+++                return _data.length();
+++            } else {
+++                return 0;
++             }
++-            return file;
++         }
++ 
++-        @Override
++-        @NonNull
++-        protected URI resolveURI() {
++-            if (rootUri == null) {
++-                return resolvePath().toUri();
++-            }
++-            final StringBuilder sb = new StringBuilder().
++-                    append(rootUri);
++-            if (!pkgName.isEmpty()) {
++-                sb.append(convertPackage2Folder(pkgName)).
++-                        append(NBFS_SEPARATOR_CHAR);
++-            }
++-            sb.append(nameWithoutExt).
++-                    append('.').    //NOI18N
++-                    append(ext);
++-            return URI.create(sb.toString());
+++        private CharSequence getCharContentImpl(boolean ignoreEncodingErrors) throws IOException {
+++            return FileObjects.getCharContent(openInputStream(), encoding, filter, f.length(), ignoreEncodingErrors);
++         }
++     }
++ 
++@@ -1546,7 +1217,7 @@ public class FileObjects {
++                 @NonNull final String folderName,
++                 @NonNull final String baseName,
++                 final long mtime) {
++-            super (convertFolder2Package(folderName), baseName, FileObjects.SYSTEM_ENCODING, true);
+++            super (convertFolder2Package(folderName),baseName);
++             assert pathToRootInArchive == null || pathToRootInArchive.charAt(pathToRootInArchive.length()-1) == NBFS_SEPARATOR_CHAR;
++             this.mtime = mtime;
++             if (folderName.length() == 0) {
++@@ -1581,6 +1252,21 @@ public class FileObjects {
++ 	}
++ 
++         @Override
+++	public Reader openReader(boolean b) throws IOException {
+++            if (this.getKind() == JavaFileObject.Kind.CLASS) {
+++                throw new UnsupportedOperationException();
+++            }
+++            else {
+++                return new InputStreamReader (openInputStream(),FileObjects.encodingName);
+++            }
+++	}
+++
+++        @Override
+++        public Writer openWriter() throws IOException {
+++	    throw new UnsupportedOperationException();
+++	}
+++
+++        @Override
++         public long getLastModified() {
++ 	    return mtime;
++ 	}
++@@ -1591,13 +1277,32 @@ public class FileObjects {
++ 	}
++ 
++         @Override
++-	public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
++-	    return FileObjects.getCharContent(
++-                openInputStream(),
++-                encoding,
++-                null,
++-                (int)this.getSize(),
++-                ignoreEncodingErrors);
+++        @SuppressWarnings("empty-statement")
+++	public CharBuffer getCharContent(boolean ignoreEncodingErrors) throws IOException {
+++	    Reader r = openReader(ignoreEncodingErrors);
+++            try {
+++                int red = 0, rv;
+++
+++                int len = (int)this.getSize();
+++                char[] result = new char [len+1];
+++                while ((rv=r.read(result,red,len-red))>0 && (red=red+rv)<len);
+++
+++                int j=0;
+++                for (int i=0; i<red;i++) {
+++                    if (result[i] =='\r') {                                          //NOI18N
+++                        if (i+1>=red || result[i+1]!='\n') {                         //NOI18N
+++                            result[j++] = '\n';                                      //NOI18N
+++                        }
+++                    }
+++                    else {
+++                        result[j++] = result[i];
+++                    }
+++                }
+++                result[j]='\n';                                                      //NOI18N
+++                return CharBuffer.wrap (result,0,j);
+++            } finally {
+++                r.close();
+++            }
++ 	}
++ 
++         @Override
++@@ -1838,7 +1543,7 @@ public class FileObjects {
++ 
++         public MemoryFileObject(final String packageName, final String fileName,
++                 final URI uri, final long lastModified, final CharBuffer cb ) {
++-            super (packageName, fileName, UTF8_ENCODING, true);    //NOI18N
+++            super (packageName, fileName);    //NOI18N
++             this.cb = cb;
++             this.lastModified = lastModified;
++             this.uri = uri;
++@@ -1891,7 +1596,7 @@ public class FileObjects {
++          */
++         @Override
++         public InputStream openInputStream() throws java.io.IOException {
++-            return new ByteArrayInputStream(cb.toString().getBytes(encoding));
+++            return new ByteArrayInputStream(cb.toString().getBytes("UTF-8"));
++         }
++ 
++         /**
++@@ -1949,6 +1654,9 @@ public class FileObjects {
++         public int dispose() {
++             return 0;
++         }
+++
+++
+++
++     }
++ 
++     @Trusted
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/Hacks.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/Hacks.java
++index 43a9711e9..c7a8f6fa7 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/Hacks.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/Hacks.java
++@@ -96,26 +96,4 @@ public class Hacks {
++         }
++         return null;
++     }
++-    
++-    /**
++-     * Extracts diagnostic params from a diagnostic. Gets under hood of Javac
++-     * Diagnostic objects and extracts parameters which are otherwise just used
++-     * to produce a message. <b>Keep in mind that the positions and types of parameters
++-     * may change in each nbjavac update!</b>
++-     * @param d diagnostic
++-     * @param index parameter index to extract
++-     * @return parameter value, null if index is out of range
++-     */
++-    public static Object getDiagnosticParam(Diagnostic<?> d, int index) {
++-        JCDiagnostic jcd = getJCDiagnostic(d);
++-        if (jcd == null) {
++-            return null;
++-        }
++-        Object[] args = jcd.getArgs();
++-        if (args == null || args.length <= index) {
++-            return null;
++-        }
++-        return args[index];
++-    }
++-    
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/JavacParser.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/JavacParser.java
++index ffefc4b4c..9f140c6aa 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/JavacParser.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/parsing/JavacParser.java
++@@ -69,7 +69,6 @@ import com.sun.tools.javac.util.CouplingAbort;
++ import com.sun.tools.javac.util.Log;
++ import com.sun.tools.javac.util.Options;
++ import com.sun.tools.javac.util.Position.LineMapImpl;
++-import com.sun.tools.javadoc.JavadocClassFinder;
++ 
++ import java.io.File;
++ import java.io.FileOutputStream;
++@@ -257,7 +256,7 @@ public class JavacParser extends Parser {
++     }
++ 
++     private void init (final Snapshot snapshot, final Task task, final boolean singleSource) {
++-        final boolean explicitCpInfo = (task instanceof ClasspathInfo.Provider) && ((ClasspathInfo.Provider)task).getClasspathInfo() != null;
+++        final boolean explicitCpInfo = (task instanceof ClasspathInfoProvider) && ((ClasspathInfoProvider)task).getClasspathInfo() != null;
++         if (!initialized) {
++             final Source source = snapshot.getSource();
++             final FileObject sourceFile = source.getFileObject();
++@@ -265,7 +264,7 @@ public class JavacParser extends Parser {
++             this.file = sourceFile;
++             final ClasspathInfo oldInfo = this.cpInfo;
++             if (explicitCpInfo) {
++-                cpInfo = ((ClasspathInfo.Provider)task).getClasspathInfo();
+++                cpInfo = ((ClasspathInfoProvider)task).getClasspathInfo();
++             }
++             else {
++                 cpInfo = ClasspathInfo.create(sourceFile);
++@@ -318,8 +317,8 @@ public class JavacParser extends Parser {
++     private void init(final Task task) {
++         if (!initialized) {
++             ClasspathInfo _tmpInfo = null;
++-            if (task instanceof ClasspathInfo.Provider &&
++-                (_tmpInfo = ((ClasspathInfo.Provider)task).getClasspathInfo()) != null) {
+++            if (task instanceof ClasspathInfoProvider &&
+++                (_tmpInfo = ((ClasspathInfoProvider)task).getClasspathInfo()) != null) {
++                 if (cpInfo != null && weakCpListener != null) {
++                     cpInfo.removeChangeListener(weakCpListener);
++                     this.weakCpListener = null;
++@@ -448,7 +447,7 @@ public class JavacParser extends Parser {
++         final boolean isJavaParserResultTask = task instanceof JavaParserResultTask;
++         final boolean isParserResultTask = task instanceof ParserResultTask;
++         final boolean isUserTask = task instanceof UserTask;
++-        final boolean isClasspathInfoProvider = task instanceof ClasspathInfo.Provider;
+++        final boolean isClasspathInfoProvider = task instanceof ClasspathInfoProvider;
++ 
++         //Assumes that caller is synchronized by the Parsing API lock
++         if (invalid || isClasspathInfoProvider) {
++@@ -456,7 +455,7 @@ public class JavacParser extends Parser {
++                 LOGGER.fine ("Invalid, reparse");    //NOI18N
++             }
++             if (isClasspathInfoProvider) {
++-                final ClasspathInfo providedInfo = ((ClasspathInfo.Provider)task).getClasspathInfo();
+++                final ClasspathInfo providedInfo = ((ClasspathInfoProvider)task).getClasspathInfo();
++                 if (providedInfo != null && !providedInfo.equals(cpInfo)) {
++                     if (sourceCount != 0) {
++                         LOGGER.log (Level.FINE, "Task {0} has changed ClasspathInfo form: {1} to:{2}", new Object[]{task, cpInfo, providedInfo}); //NOI18N
++@@ -821,8 +820,7 @@ public class JavacParser extends Parser {
++         if (aptEnabled) {
++             task.setProcessors(processors);
++         }
++-        NBClassReader.preRegister(context);
++-        JavadocClassFinder.preRegister(context, !backgroundCompilation);
+++        NBClassReader.preRegister(context, !backgroundCompilation);
++         if (cnih != null) {
++             context.put(ClassNamesForFileOraculum.class, cnih);
++         }
++@@ -869,7 +867,7 @@ public class JavacParser extends Parser {
++             warnLevel = Level.WARNING;
++         }
++         for (com.sun.tools.javac.code.Source source : sources) {
++-            if (source == com.sun.tools.javac.code.Source.lookup(sourceLevel)) {
+++            if (source.name.equals(sourceLevel)) {
++                 if (DISABLE_SOURCE_LEVEL_DOWNGRADE) {
++                     return source;
++                 }
++@@ -911,14 +909,6 @@ public class JavacParser extends Parser {
++                                new Object[]{cpInfo.getClassPath(PathKind.SOURCE), sourceLevel, bootClassPath}); //NOI18N
++                     return com.sun.tools.javac.code.Source.JDK1_7;
++                 }
++-                if (source.compareTo(com.sun.tools.javac.code.Source.JDK1_9) >= 0 &&
++-                    !hasResource("java/util/zip/CRC32C", bootClassPath, classPath, srcClassPath)) { //NOI18N
++-                    LOGGER.log(warnLevel,
++-                               "Even though the source level of {0} is set to: {1}, java.util.zip.CRC32C cannot be found on the bootclasspath: {2}\n" +   //NOI18N
++-                               "Changing source level to 1.8",  //NOI18N
++-                               new Object[]{cpInfo.getClassPath(PathKind.SOURCE), sourceLevel, bootClassPath}); //NOI18N
++-                    return com.sun.tools.javac.code.Source.JDK1_8;
++-                }
++                 return source;
++             }
++         }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/parsing/PathArchive.java b/java.source.base/src/org/netbeans/modules/java/source/parsing/PathArchive.java
++deleted file mode 100644
++index 29ae8919f..000000000
++--- a/java.source.base/src/org/netbeans/modules/java/source/parsing/PathArchive.java
+++++ /dev/null
++@@ -1,148 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2015 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2015 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.parsing;
++-
++-import java.io.IOException;
++-import java.net.URI;
++-import java.nio.file.DirectoryStream;
++-import java.nio.file.Files;
++-import java.nio.file.NoSuchFileException;
++-import java.nio.file.NotDirectoryException;
++-import java.nio.file.Path;
++-import java.util.ArrayList;
++-import java.util.Collections;
++-import java.util.List;
++-import java.util.Set;
++-import javax.tools.JavaFileObject;
++-import org.netbeans.api.annotations.common.CheckForNull;
++-import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.api.annotations.common.NullAllowed;
++-import org.netbeans.api.java.classpath.ClassPath;
++-import org.netbeans.modules.java.preprocessorbridge.spi.JavaFileFilterImplementation;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public final class PathArchive implements Archive {
++-
++-    private final Path root;
++-    private final String rootURI;
++-    private final char separator;
++-
++-    PathArchive(
++-            @NonNull final Path root,
++-            @NullAllowed final URI rootURI) {
++-        assert root != null;
++-        this.root = root;
++-        this.rootURI = rootURI == null ? null : rootURI.toString();
++-        final String separator = root.getFileSystem().getSeparator();
++-        if (separator.length() != 1) {
++-            throw new IllegalArgumentException("Multi character separators are unsupported");
++-        }
++-        this.separator = separator.charAt(0);
++-    }
++-
++-    @Override
++-    @NonNull
++-    public Iterable<JavaFileObject> getFiles(
++-            @NonNull String folderName,
++-            @NullAllowed final ClassPath.Entry entry,
++-            @NullAllowed final Set<JavaFileObject.Kind> kinds,
++-            @NullAllowed final JavaFileFilterImplementation filter) throws IOException {
++-        if (separator != FileObjects.NBFS_SEPARATOR_CHAR) {
++-            folderName = folderName.replace(FileObjects.NBFS_SEPARATOR_CHAR, separator);
++-        }
++-        final Path target = root.resolve(folderName);
++-        try (DirectoryStream<Path> dir = Files.newDirectoryStream(target, new KindFilter(kinds))) {
++-            final List<JavaFileObject> res = new ArrayList<>();
++-            for (Path dirEnt : dir) {
++-                res.add(FileObjects.pathFileObject(dirEnt, root, rootURI, null));
++-            }
++-            return res;
++-        } catch (NotDirectoryException | NoSuchFileException e) {
++-            return Collections.emptyList();
++-        }
++-    }
++-
++-    @Override
++-    @CheckForNull
++-    public JavaFileObject getFile(@NonNull String name) throws IOException {
++-        if (separator != FileObjects.NBFS_SEPARATOR_CHAR) {
++-            name = name.replace(FileObjects.NBFS_SEPARATOR_CHAR, separator);
++-        }
++-        final Path target = root.resolve(name);
++-        return Files.exists(target) ?
++-                FileObjects.pathFileObject(target, root, rootURI, null) :
++-                null;
++-    }
++-
++-    @Override
++-    public JavaFileObject create(String relativeName, JavaFileFilterImplementation filter) throws UnsupportedOperationException {
++-        throw new UnsupportedOperationException("Write not supported");   //NOI18N
++-    }
++-
++-    @Override
++-    public void clear() {
++-    }
++-
++-
++-    private static final class KindFilter implements DirectoryStream.Filter<Path> {
++-        private final Set<JavaFileObject.Kind> kinds;
++-
++-        KindFilter(@NullAllowed final Set<JavaFileObject.Kind> kinds) {
++-            this.kinds = kinds;
++-        }
++-
++-        @Override
++-        public boolean accept(Path entry) throws IOException {
++-            if (Files.isDirectory(entry)) {
++-                return false;
++-            }
++-            if (kinds == null) {
++-                return true;
++-            }
++-            return kinds.contains(FileObjects.getKind(
++-                    FileObjects.getExtension(entry.getFileName().toString())));
++-        }
++-    }
++-}
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java b/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java
++index 129870b44..8e6f52b1a 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java
++@@ -44,7 +44,6 @@
++ package org.netbeans.modules.java.source.pretty;
++ 
++ import com.sun.source.tree.BlockTree;
++-import com.sun.source.tree.CaseTree;
++ import com.sun.source.tree.ClassTree;
++ import com.sun.source.tree.CompilationUnitTree;
++ import com.sun.source.tree.LambdaExpressionTree.BodyKind;
++@@ -89,13 +88,13 @@ import com.sun.source.doctree.UnknownBlockTagTree;
++ import com.sun.source.doctree.UnknownInlineTagTree;
++ import com.sun.source.doctree.ValueTree;
++ import com.sun.source.doctree.VersionTree;
+++import com.sun.source.tree.CaseTree;
++ 
++ import com.sun.tools.javac.api.JavacTaskImpl;
++ import com.sun.tools.javac.api.JavacTrees;
++ import com.sun.tools.javac.code.*;
++ import static com.sun.tools.javac.code.Flags.*;
++ import com.sun.tools.javac.code.Symbol.*;
++-import com.sun.tools.javac.comp.Operators;
++ import com.sun.tools.javac.main.JavaCompiler;
++ import com.sun.tools.javac.tree.DCTree;
++ import com.sun.tools.javac.tree.DCTree.DCReference;
++@@ -152,7 +151,9 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ 
++     private final Names names;
++     private final CommentHandler commentHandler;
++-    private final Operators operators;
+++    private final Symtab symbols;
+++    private final Types types;
+++    private final TreeInfo treeinfo;
++     private final WidthEstimator widthEstimator;
++     private final DanglingElseChecker danglingElseChecker;
++ 
++@@ -169,6 +170,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ 
++     private int fromOffset = -1;
++     private int toOffset = -1;
+++    private boolean containsError = false;
++     private boolean insideAnnotation = false;
++ 
++     private final Map<Tree, ?> tree2Tag;
++@@ -199,7 +201,9 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ 	names = Names.instance(context);
++ 	enclClass = null;
++         commentHandler = CommentHandlerService.instance(context);
++-        operators = Operators.instance(context);
+++	symbols = Symtab.instance(context);
+++        types = Types.instance(context);
+++	treeinfo = TreeInfo.instance(context);
++ 	widthEstimator = new WidthEstimator(context);
++         danglingElseChecker = new DanglingElseChecker();
++         prec = TreeInfo.notExpression;
++@@ -724,7 +728,8 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ 
++     @Override
++     public void visitTopLevel(JCCompilationUnit tree) {
++-        print(tree.getPackage());
+++        printAnnotations(tree.getPackageAnnotations());
+++        printPackage(tree.pid);
++         List<JCTree> l = tree.defs;
++         ArrayList<JCImport> imports = new ArrayList<JCImport>();
++         while (l.nonEmpty() && l.head.getTag() == JCTree.Tag.IMPORT){
++@@ -739,14 +744,6 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++     }
++ 
++     @Override
++-    public void visitPackageDef(JCPackageDecl tree) {
++-        if (tree != null) {
++-            printAnnotations(tree.getAnnotations());
++-            printPackage(tree.pid);
++-        }
++-    }
++-    
++-    @Override
++     public void visitImport(JCImport tree) {
++         print("import ");
++         if (tree.staticImport)
++@@ -1549,7 +1546,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ 	printExpr(tree.lhs, TreeInfo.assignopPrec + 1);
++ 	if (cs.spaceAroundAssignOps())
++             print(' ');
++-	print(operators.operatorName(tree.getTag().noAssignOp()));
+++	print(treeinfo.operatorName(tree.getTag().noAssignOp()));
++         print('=');
++ 	int rm = cs.getRightMargin();
++         switch(cs.wrapAssignOps()) {
++@@ -1578,7 +1575,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++         switch (tree.getTag()) {
++             case POS: opname = names.fromString("+"); break;
++             case NEG: opname = names.fromString("-"); break;
++-            default: opname = operators.operatorName(tree.getTag()); break;
+++            default: opname = treeinfo.operatorName(tree.getTag()); break;
++         }
++ 	if (tree.getTag().ordinal() <= JCTree.Tag.PREDEC.ordinal()) { //XXX: comparing ordinals!
++             if (cs.spaceAroundUnaryOps()) {
++@@ -1608,7 +1605,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++     @Override
++     public void visitBinary(JCBinary tree) {
++ 	int ownprec = TreeInfo.opPrec(tree.getTag());
++-	Name opname = operators.operatorName(tree.getTag());
+++	Name opname = treeinfo.operatorName(tree.getTag());
++         int col = out.col;
++ 	printExpr(tree.lhs, ownprec);
++ 	if(cs.spaceAroundBinaryOps())
++@@ -1663,11 +1660,6 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++     }
++ 
++     @Override
++-    public void visitTypeIntersection(JCTypeIntersection tree) {
++-        printExprs(tree.bounds, " & ");
++-    }
++-
++-    @Override
++     public void visitTypeTest(JCInstanceOf tree) {
++ 	printExpr(tree.expr, TreeInfo.ordPrec);
++ 	print(" instanceof ");
++@@ -1811,7 +1803,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ 
++     @Override
++     public void visitWildcard(JCWildcard tree) {
++-	print(String.valueOf(tree.kind));
+++	print("" + tree.kind.kind);
++ 	if (tree.kind.kind != BoundKind.UNBOUND)
++ 	    printExpr(tree.inner);
++     }
++@@ -1875,6 +1867,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++     @Override
++     public void visitErroneous(JCErroneous tree) {
++ 	print("(ERROR)");
+++        containsError = true;
++     }
++ 
++     @Override
++@@ -2511,11 +2504,8 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++ 
++         str = str.trim().replaceAll("\n", "\n" + whitespace(col));
++ 
++-        try {
++-            adjustSpans(annotations, str);
++-        } catch (Exception e) {
++-            return false;
++-        }
+++        adjustSpans(annotations, str);
+++
++         str = str.substring(0, str.lastIndexOf("class")).trim();
++ 
++         print(str);
++@@ -2640,7 +2630,7 @@ public final class VeryPretty extends JCTree.Visitor implements DocTreeVisitor<V
++         boolean hasImports = !imports.isEmpty();
++         CodeStyle.ImportGroups importGroups = null;
++         if (hasImports) {
++-            blankLines(Math.max(cs.getBlankLinesBeforeImports(), diffContext.origUnit.getPackageName() != null ? cs.getBlankLinesAfterPackage() : 0));
+++            blankLines(Math.max(cs.getBlankLinesBeforeImports(), diffContext.origUnit.pid != null ? cs.getBlankLinesAfterPackage() : 0));
++             if (cs.separateImportGroups())
++                 importGroups = cs.getImportGroups();
++         }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/pretty/WidthEstimator.java b/java.source.base/src/org/netbeans/modules/java/source/pretty/WidthEstimator.java
++index 34be96431..80151f4b0 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/pretty/WidthEstimator.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/pretty/WidthEstimator.java
++@@ -46,7 +46,6 @@ package org.netbeans.modules.java.source.pretty;
++ import com.sun.tools.javac.util.*;
++ import com.sun.tools.javac.code.*;
++ import com.sun.tools.javac.code.Symbol.*;
++-import com.sun.tools.javac.comp.Operators;
++ import com.sun.tools.javac.tree.JCTree;
++ import com.sun.tools.javac.tree.JCTree.*;
++ import com.sun.tools.javac.tree.TreeInfo;
++@@ -60,11 +59,11 @@ public class WidthEstimator extends JCTree.Visitor {
++     private int prec;
++     private int maxwidth;
++     private final Symtab symbols;
++-    private final Operators operators;
+++    private final TreeInfo treeinfo;
++ 
++     public WidthEstimator(Context context) {
++ 	symbols = Symtab.instance(context);
++-        operators = Operators.instance(context);
+++	treeinfo = TreeInfo.instance(context);
++     }
++ 
++     public int estimateWidth(JCTree t, int maxwidth) {
++@@ -233,7 +232,7 @@ System.err.println("Need width calc for "+tree);
++     public void visitAssignop(JCAssignOp tree) {
++ 	open(prec, TreeInfo.assignopPrec);
++ 	width+=3;
++-	width(operators.operatorName(tree.getTag()));
+++	width(treeinfo.operatorName(tree.getTag()));
++ 	width(tree.lhs, TreeInfo.assignopPrec + 1);
++ 	width(tree.rhs, TreeInfo.assignopPrec);
++     }
++@@ -244,15 +243,15 @@ System.err.println("Need width calc for "+tree);
++ 	width(tree.rhs, TreeInfo.assignPrec);
++     }
++     public void visitUnary(JCUnary tree) {
++-	int ownprec = TreeInfo.opPrec(tree.getTag());
++-	Name opname = operators.operatorName(tree.getTag());
+++	int ownprec = treeinfo.opPrec(tree.getTag());
+++	Name opname = treeinfo.operatorName(tree.getTag());
++ 	open(prec, ownprec);
++ 	width(opname);
++ 	width(tree.arg, ownprec);
++     }
++     public void visitBinary(JCBinary tree) {
++-	int ownprec = TreeInfo.opPrec(tree.getTag());
++-	Name opname = operators.operatorName(tree.getTag());
+++	int ownprec = treeinfo.opPrec(tree.getTag());
+++	Name opname = treeinfo.operatorName(tree.getTag());
++ 	open(prec, ownprec);
++ 	width(opname);
++ 	width+=2;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java b/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java
++index b084b5061..d72ba91b9 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java
++@@ -121,7 +121,6 @@ import com.sun.tools.javac.tree.JCTree.JCMethodInvocation;
++ import com.sun.tools.javac.tree.JCTree.JCModifiers;
++ import com.sun.tools.javac.tree.JCTree.JCNewArray;
++ import com.sun.tools.javac.tree.JCTree.JCNewClass;
++-import com.sun.tools.javac.tree.JCTree.JCPackageDecl;
++ import com.sun.tools.javac.tree.JCTree.JCParens;
++ import com.sun.tools.javac.tree.JCTree.JCPrimitiveTypeTree;
++ import com.sun.tools.javac.tree.JCTree.JCReturn;
++@@ -147,8 +146,6 @@ import com.sun.tools.javac.util.Context;
++ import com.sun.tools.javac.util.Name;
++ import com.sun.tools.javac.util.Names;
++ import com.sun.tools.javac.util.Position;
++-import java.io.PrintWriter;
++-import java.io.StringWriter;
++ import java.lang.reflect.Method;
++ import java.util.*;
++ import java.util.Map.Entry;
++@@ -505,7 +502,7 @@ public class CasualDiff {
++         td.oldTopLevel = diffContext.origUnit;
++         // TODO: the package name actually ends at the end of the name, so the semicolon could be treated as part
++         // of the diffed list
++-        int start = td.oldTopLevel.getPackage() != null ? td.endPos(td.oldTopLevel.getPackage()) : 0;
+++        int start = td.oldTopLevel.getPackageName() != null ? td.endPos(td.oldTopLevel.getPackageName()) : 0;
++ 
++         List<JCImport> originalJC = new LinkedList<JCImport>();
++         List<JCImport> nueJC = new LinkedList<JCImport>();
++@@ -562,8 +559,24 @@ public class CasualDiff {
++             return -1;
++         return endPos(trees.get(trees.size()-1));
++     }
++-    
++-    private int checkLocalPointer(JCTree oldT, JCTree newT, int localPointer) {
+++
+++    protected void diffTopLevel(JCCompilationUnit oldT, JCCompilationUnit newT, int[] elementBounds) {
+++        final int start = elementBounds[0];
+++        int packageKeywordStart = start;
+++        if (oldT.pid != null) {
+++            tokenSequence.move(oldT.pid.getStartPosition());
+++            moveToSrcRelevant(tokenSequence, Direction.BACKWARD);
+++            packageKeywordStart = tokenSequence.offset();
+++        }
+++        //when adding first annotation, skip initial comments (typically a license):
+++        int localPointer = oldT.packageAnnotations.isEmpty() && !newT.packageAnnotations.isEmpty() ? packageKeywordStart : start;
+++        oldTopLevel = oldT;
+++        localPointer = diffAnnotationsLists(oldT.packageAnnotations, newT.packageAnnotations, localPointer, start);
+++        localPointer = diffPackageStatement(oldT, newT, packageKeywordStart, localPointer);
+++        PositionEstimator est = EstimatorFactory.imports(oldT.getImports(), newT.getImports(), diffContext);
+++        localPointer = diffList(oldT.getImports(), newT.getImports(), localPointer, est, Measure.DEFAULT, printer);
+++        est = EstimatorFactory.toplevel(oldT.getTypeDecls(), newT.getTypeDecls(), diffContext);
+++        localPointer = diffList(oldT.getTypeDecls(), newT.getTypeDecls(), localPointer, est, Measure.REAL_MEMBER, printer);
++         // diagnostics for defect #226498: log the tres iff the localPointer is bad
++         if (localPointer < 0 || localPointer > origText.length()) {
++             LOG.warning("Invalid localPointer (" + localPointer + "), see defect #226498 and report the log to the issue");
++@@ -571,21 +584,7 @@ public class CasualDiff {
++             LOG.warning("NewT:" + newT);
++             LOG.warning("CodeStyle: " + printCodeStyle(diffContext.style));
++             LOG.warning("origText(" + origText.length() + "): " + origText);
++-            StringWriter sw = new StringWriter();
++-            new Throwable().printStackTrace(new PrintWriter(sw));
++-            LOG.warning("Stacktrace: " + sw.toString());
++         }
++-        return localPointer;
++-    }
++-
++-    protected void diffTopLevel(JCCompilationUnit oldT, JCCompilationUnit newT, int[] elementBounds) {
++-        oldTopLevel = oldT;
++-        int localPointer = diffPackage(oldT.getPackage(), newT.getPackage(), elementBounds[0]);
++-        PositionEstimator est = EstimatorFactory.imports(oldT.getImports(), newT.getImports(), diffContext);
++-        localPointer = diffList(oldT.getImports(), newT.getImports(), localPointer, est, Measure.DEFAULT, printer);
++-        est = EstimatorFactory.toplevel(oldT.getTypeDecls(), newT.getTypeDecls(), diffContext);
++-        localPointer = diffList(oldT.getTypeDecls(), newT.getTypeDecls(), localPointer, est, Measure.REAL_MEMBER, printer);
++-        checkLocalPointer(oldT, newT, localPointer);
++         printer.print(origText.substring(localPointer));
++     }
++     
++@@ -677,38 +676,25 @@ public class CasualDiff {
++         }
++     }
++ 
++-    protected int diffPackage(JCPackageDecl oldT, JCPackageDecl newT, int start) {
++-        int packageKeywordStart = start;
++-        JCExpression oldTPid = oldT != null ? oldT.pid : null;
++-        JCExpression newTPid = newT != null ? newT.pid : null;
++-        if (oldTPid != null) {
++-            tokenSequence.move(oldTPid.getStartPosition());
++-            moveToSrcRelevant(tokenSequence, Direction.BACKWARD);
++-            packageKeywordStart = tokenSequence.offset();
++-        }
++-        com.sun.tools.javac.util.List<JCAnnotation> oldTAnnotations = oldT != null ? oldT.annotations : com.sun.tools.javac.util.List.<JCAnnotation>nil();
++-        com.sun.tools.javac.util.List<JCAnnotation> newTAnnotations = newT != null ? newT.annotations : com.sun.tools.javac.util.List.<JCAnnotation>nil();
++-        //when adding first annotation, skip initial comments (typically a license):
++-        int localPointer = oldTAnnotations.isEmpty() && !newTAnnotations.isEmpty() ? packageKeywordStart : start;
++-        localPointer = diffAnnotationsLists(oldTAnnotations, newTAnnotations, localPointer, start);
++-        ChangeKind change = getChangeKind(oldTPid, newTPid);
+++    private int diffPackageStatement(JCCompilationUnit oldT, JCCompilationUnit newT, int packageKeywordStart, int localPointer) {
+++        ChangeKind change = getChangeKind(oldT.pid, newT.pid);
++         switch (change) {
++             // packages are the same or not available, i.e. both are null
++             case NOCHANGE:
++-                if (oldTPid != null) {
++-                    localPointer = copyUpTo(localPointer, endPos(oldTPid));
+++                if (oldT.pid != null) {
+++                    localPointer = copyUpTo(localPointer, endPos(oldT.pid));
++                 }
++                 break;
++ 
++             // package statement is new, print the keyword and semicolon
++             case INSERT:
++-                printer.printPackage(newTPid);
+++                printer.printPackage(newT.pid);
++                 break;
++ 
++             // package statement was deleted.
++             case DELETE:
++                 copyTo(localPointer, packageKeywordStart);
++-                tokenSequence.move(endPos(oldTPid));
+++                tokenSequence.move(endPos(oldT.pid));
++                 moveToSrcRelevant(tokenSequence, Direction.FORWARD);
++                 localPointer = tokenSequence.offset() + 1;
++                 // todo (#pf): check the declaration:
++@@ -717,10 +703,10 @@ public class CasualDiff {
++ 
++             // package statement was modified.
++             case MODIFY:
++-                copyTo(localPointer, getOldPos(oldTPid));
++-                localPointer = endPos(oldTPid);
++-                printer.print(newTPid);
++-                diffInfo.put(getOldPos(oldTPid), NbBundle.getMessage(CasualDiff.class,"TXT_UpdatePackageStatement"));
+++                copyTo(localPointer, getOldPos(oldT.pid));
+++                localPointer = endPos(oldT.pid);
+++                printer.print(newT.pid);
+++                diffInfo.put(getOldPos(oldT.pid), NbBundle.getMessage(CasualDiff.class,"TXT_UpdatePackageStatement"));
++                 break;
++         }
++         return localPointer;
++@@ -1021,23 +1007,7 @@ public class CasualDiff {
++                 // constructor use whole tree start.
++                 int oldPos = getOldPos(oldT.mods);
++                 copyTo(localPointer, oldPos);
++-                if (oldT.typarams.isEmpty()) {
++-                    if (oldT.restype != null) {
++-                        localPointer = getOldPos(oldT.restype);
++-                    } else {
++-                        localPointer = oldT.pos;
++-                    }
++-                } else {
++-                    int firstTyParam = getOldPos(oldT.typarams.head);
++-                    tokenSequence.move(firstTyParam);
++-                    JavaTokenId id = moveToSrcRelevant(tokenSequence, Direction.BACKWARD);
++-                    if (id == JavaTokenId.LT) {
++-                        localPointer = tokenSequence.offset();
++-                    } else {
++-                        // fallback
++-                        localPointer = firstTyParam;
++-                    }
++-                }
+++                localPointer = oldT.restype != null ? getOldPos(oldT.restype) : oldT.pos;
++             }
++         }
++         // compute the position for type parameters - if type param is empty,
++@@ -2669,7 +2639,7 @@ public class CasualDiff {
++                 localpointer = bounds[0];
++             }
++             if (oldT.isEnum()) {
++-                int pos = diffParameterList(oldT.getVariables(), newT.getVariables(), oldT, null, localpointer, Measure.ARGUMENT, diffContext.style.spaceBeforeComma(), diffContext.style.spaceAfterComma(), true, ",");  //NOI18N
+++                int pos = diffParameterList(oldT.getVariables(), newT.getVariables(), null, localpointer, Measure.ARGUMENT, diffContext.style.spaceBeforeComma(), diffContext.style.spaceAfterComma(), true, ",");  //NOI18N
++                 copyTo(pos, bounds[1]);
++                 return bounds[1];
++             } else {
++@@ -3272,7 +3242,6 @@ public class CasualDiff {
++                     } else {
++                         end = bounds[1];
++                     }
++-                    start = Math.max(start, pos);
++                     copyTo(start, pos = end, printer);
++                     wasLeadingDelete = false;
++                     break;
++@@ -3875,28 +3844,13 @@ public class CasualDiff {
++                 localPointer);
++     }
++     
++-    private DocCommentTree getDocComment(JCTree t, boolean old) {
++-        if (t instanceof FieldGroupTree) {
++-            FieldGroupTree fgt = (FieldGroupTree)t;
++-            List<JCVariableDecl> vars = fgt.getVariables();
++-            t = vars.get(0);
++-        }
++-        return old ?  oldTopLevel.docComments.getCommentTree(t) : tree2Doc.get(t);
++-    }
++-    
++     // note: the oldTreeStartPos must be the real start, without preceding comments.
++     protected int diffPrecedingComments(JCTree oldT, JCTree newT, int oldTreeStartPos, int localPointer, boolean doNotDelete) {
++-        if (parent instanceof FieldGroupTree) {
++-            FieldGroupTree fgt = (FieldGroupTree)parent;
++-            if (!fgt.getVariables().isEmpty() && fgt.getVariables().get(0) == oldT) {
++-                return localPointer;
++-            }
++-        }
++         CommentSet cs = getCommentsForTree(newT, true);
++         CommentSet old = getCommentsForTree(oldT, true);
++         List<Comment> oldPrecedingComments = cs == old ? ((CommentSetImpl)cs).getOrigComments(CommentSet.RelativePosition.PRECEDING) : old.getComments(CommentSet.RelativePosition.PRECEDING);
++         List<Comment> newPrecedingComments = cs.getComments(CommentSet.RelativePosition.PRECEDING);
++-        DocCommentTree newD = getDocComment(newT, false);
+++        DocCommentTree newD = tree2Doc.get(newT);
++         if (sameComments(oldPrecedingComments, newPrecedingComments) && newD == null) {
++             if (oldPrecedingComments.isEmpty()) {
++                 return localPointer;
++@@ -3910,7 +3864,7 @@ public class CasualDiff {
++             }
++             
++         }
++-        DocCommentTree oldD = getDocComment(oldT, true);
+++        DocCommentTree oldD = oldTopLevel.docComments.getCommentTree(oldT);
++         return diffCommentLists(oldTreeStartPos, oldPrecedingComments, newPrecedingComments, oldD, newD, false, true, false,
++                 doNotDelete,
++                 localPointer);
++@@ -3924,8 +3878,7 @@ public class CasualDiff {
++         
++         List<Comment> oldTrailingComments = cs == old ? ((CommentSetImpl)cs).getOrigComments(CommentSet.RelativePosition.TRAILING) : old.getComments(CommentSet.RelativePosition.TRAILING);
++         List<Comment> newTrailingComments = cs.getComments(CommentSet.RelativePosition.TRAILING);
++-        boolean sameInline = sameComments(oldInlineComments, newInlineComments);
++-        if (sameInline && sameComments(oldTrailingComments, newTrailingComments)) {
+++        if (sameComments(oldInlineComments, newInlineComments) && sameComments(oldTrailingComments, newTrailingComments)) {
++             // copy the comments
++             if (oldInlineComments.isEmpty() && oldTrailingComments.isEmpty()) {
++                 return localPointer;
++@@ -3935,27 +3888,27 @@ public class CasualDiff {
++         }
++ 
++         //XXX: hack: the upper diff might already add '\n' to the result, need to skip it if diffing inline comments
++-        if (!sameInline) {
++-            while (printer.out.isWhitespaceLine()) {
+++        if (!sameComments(oldInlineComments, newInlineComments)) {
+++            while (printer.out.isWhitespaceLine())
++                 printer.eatChars(1);
++-            }
++-            localPointer = diffCommentLists(getOldPos(oldT), oldInlineComments, newInlineComments, null, null, false, false, false, false, localPointer);
++-            boolean containedEmbeddedNewLine = false;
++-            boolean containsEmbeddedNewLine = false;
++-
++-            for (Comment oldComment : oldInlineComments) {
++-                if (oldComment.style() == Style.LINE) containedEmbeddedNewLine = true;
++-            }
+++        }
+++        
+++        localPointer = diffCommentLists(getOldPos(oldT), oldInlineComments, newInlineComments, null, null, false, false, false, false, localPointer);
++ 
++-            for (Comment nueComment : newInlineComments) {
++-                if (nueComment.style() == Style.LINE) containsEmbeddedNewLine = true;
++-            }
+++        boolean containedEmbeddedNewLine = false;
+++        boolean containsEmbeddedNewLine = false;
++ 
++-            if (containedEmbeddedNewLine  && !containsEmbeddedNewLine) {
++-                printer.print("\n");
++-            }
+++        for (Comment oldComment : oldInlineComments) {
+++            if (oldComment.style() == Style.LINE) containedEmbeddedNewLine = true;
+++        }
+++        
+++        for (Comment nueComment : newInlineComments) {
+++            if (nueComment.style() == Style.LINE) containsEmbeddedNewLine = true;
++         }
++ 
+++        if (containedEmbeddedNewLine  && !containsEmbeddedNewLine) {
+++            printer.print("\n");
+++        }
++         int lp = diffCommentLists(getOldPos(oldT), oldTrailingComments, newTrailingComments, null, null, true, false, false, false, localPointer);
++         boolean commentsCreated = oldInlineComments.isEmpty() && oldTrailingComments.isEmpty();
++         // if comments were added, it may be possible that the immediately following newline
++@@ -3970,11 +3923,6 @@ public class CasualDiff {
++                     printer.eatChars(1);
++                 }
++             }
++-            // we have created a comment; if the local pointer is at the beginning of a new line,
++-            // we should reset the printer to the line start as well
++-            if (lp > 0 && diffContext.origText.charAt(lp - 1) == '\n') {
++-                printer.out.toLineStart();
++-            }
++         }
++         return lp;
++     }
++@@ -4825,7 +4773,7 @@ public class CasualDiff {
++      * @return position in original source
++      */
++     protected int diffTree(JCTree oldT, JCTree newT, int[] elementBounds) {
++-        return checkLocalPointer(oldT, newT, diffTree(oldT, newT, null, elementBounds));
+++        return diffTree(oldT, newT, null, elementBounds);
++     }
++     
++     /**
++@@ -4919,16 +4867,11 @@ public class CasualDiff {
++      * diffTreeImpl will print the comments. At the end, the flag is reset to the original value
++      */
++     private boolean innerCommentsProcessed;
++-    
++-    private JCTree parent;
++ 
++     protected int diffTreeImpl(JCTree oldT, JCTree newT, JCTree parent /*used only for modifiers*/, int[] elementBounds) {
++         boolean saveInnerComments = this.innerCommentsProcessed;
++-        JCTree saveParent = this.parent;
++-        this.parent = parent;
++         int ret = diffTreeImpl0(oldT, newT, parent, elementBounds);
++         this.innerCommentsProcessed = saveInnerComments;
++-        this.parent = saveParent;
++         return ret;
++     }
++     
++@@ -5007,9 +4950,6 @@ public class CasualDiff {
++           case TOPLEVEL:
++               diffTopLevel((JCCompilationUnit)oldT, (JCCompilationUnit)newT, elementBounds);
++               break;
++-          case PACKAGEDEF:
++-              retVal = diffPackage((JCPackageDecl)oldT, (JCPackageDecl)newT, getOldPos(oldT));
++-              break;
++           case IMPORT:
++               retVal = diffImport((JCImport)oldT, (JCImport)newT, elementBounds);
++               break;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java b/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java
++index 8d10fbd23..904f895f7 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java
++@@ -692,7 +692,7 @@ public class Reformatter implements ReformatTask {
++                         accept(INTERFACE);
++                     space();
++                     if (!ERROR.contentEquals(node.getSimpleName()))
++-                        accept(IDENTIFIER, UNDERSCORE);
+++                        accept(IDENTIFIER);
++                     List<? extends TypeParameterTree> tparams = node.getTypeParameters();
++                     if (tparams != null && !tparams.isEmpty()) {
++                         if (LT == accept(LT))
++@@ -918,11 +918,11 @@ public class Reformatter implements ReformatTask {
++             boolean old = continuationIndent;
++             try {
++                 Tree parent = getCurrentPath().getParentPath().getLeaf();
++-                boolean insideForTryOrCatch = EnumSet.of(Tree.Kind.FOR_LOOP, Tree.Kind.TRY, Tree.Kind.CATCH).contains(parent.getKind());
+++                boolean insideForOrCatch = EnumSet.of(Tree.Kind.FOR_LOOP, Tree.Kind.CATCH).contains(parent.getKind());
++                 ModifiersTree mods = node.getModifiers();
++                 if (mods != null && !fieldGroup && sp.getStartPosition(root, mods) < sp.getEndPosition(root, mods)) {
++                     if (scan(mods, p)) {
++-                        if (!insideForTryOrCatch) {
+++                        if (!insideForOrCatch) {
++                             continuationIndent = true;
++                             if (cs.placeNewLineAfterModifiers())
++                                 newline();
++@@ -954,7 +954,7 @@ public class Reformatter implements ReformatTask {
++                 }
++                 if (isEnumerator(node)) {
++                     continuationIndent = true;
++-                    accept(IDENTIFIER, UNDERSCORE);
+++                    accept(IDENTIFIER);
++                     ExpressionTree init = node.getInitializer();
++                     if (init != null && init.getKind() == Tree.Kind.NEW_CLASS) {
++                         NewClassTree nct = (NewClassTree)init;
++@@ -992,14 +992,14 @@ public class Reformatter implements ReformatTask {
++                             scan(body, p);
++                     }
++                 } else {
++-                    if (!insideForTryOrCatch)
+++                    if (!insideForOrCatch)
++                         continuationIndent = true;
++                     if (node.getType() == null || scan(node.getType(), p)) {
++                         if (node.getType() != null) {
++                             spaces(1, fieldGroup);
++                         }
++                         if (!ERROR.contentEquals(node.getName()))
++-                            accept(IDENTIFIER, UNDERSCORE);
+++                            accept(IDENTIFIER);
++                     }
++                     ExpressionTree init = node.getInitializer();
++                     if (init != null) {
++@@ -1086,7 +1086,7 @@ public class Reformatter implements ReformatTask {
++                     spaces(1, true);
++                 }
++                 if (!ERROR.contentEquals(node.getName()))
++-                    accept(IDENTIFIER, UNDERSCORE);
+++                    accept(IDENTIFIER);
++                 continuationIndent = true;
++                 spaces(cs.spaceBeforeMethodDeclParen() ? 1 : 0);
++                 accept(LPAREN);
++@@ -1274,7 +1274,7 @@ public class Reformatter implements ReformatTask {
++                             lastBlankLinesTokenIndex = -1;
++                             lastBlankLinesDiff = null;
++                         } else {
++-                            accept(IDENTIFIER, UNDERSCORE, STAR, THIS, SUPER, CLASS);
+++                            accept(IDENTIFIER, STAR, THIS, SUPER, CLASS);
++                         }
++                         return true;
++                     case ARRAY_TYPE:
++@@ -1317,7 +1317,7 @@ public class Reformatter implements ReformatTask {
++                 space();
++             }
++             if (!ERROR.contentEquals(node.getName()))
++-                accept(IDENTIFIER, UNDERSCORE);
+++                accept(IDENTIFIER);
++             List<? extends Tree> bounds = node.getBounds();
++             if (bounds != null && !bounds.isEmpty()) {
++                 space();
++@@ -1659,7 +1659,7 @@ public class Reformatter implements ReformatTask {
++                 lastBlankLinesDiff = null;
++             } else {
++                 accept(DOT);
++-                accept(IDENTIFIER, UNDERSCORE, STAR, THIS, SUPER, CLASS);
+++                accept(IDENTIFIER, STAR, THIS, SUPER, CLASS);
++             }
++             return true;
++         }
++@@ -1727,7 +1727,7 @@ public class Reformatter implements ReformatTask {
++                 lastBlankLinesTokenIndex = -1;
++                 lastBlankLinesDiff = null;
++             } else {
++-                accept(IDENTIFIER, UNDERSCORE, NEW);
+++                accept(IDENTIFIER, NEW);
++             }
++             return true;
++         }
++@@ -1735,7 +1735,7 @@ public class Reformatter implements ReformatTask {
++         @Override
++         public Boolean visitLambdaExpression(LambdaExpressionTree node, Void p) {
++             List<? extends VariableTree> params = node.getParameters();
++-            JavaTokenId accepted = params != null && params.size() == 1 ? accept(LPAREN, IDENTIFIER, UNDERSCORE) : accept(LPAREN);
+++            JavaTokenId accepted = params != null && params.size() == 1 ? accept(LPAREN, IDENTIFIER) : accept(LPAREN);
++             if (accepted == LPAREN) {
++                 boolean old = continuationIndent;
++                 try {
++@@ -1778,6 +1778,7 @@ public class Reformatter implements ReformatTask {
++                 if (node.getBodyKind() == BodyKind.STATEMENT) {
++                     if (continuationIndent) {
++                         lastIndent = indent;
+++                        indent += continuationIndentSize;
++                         continuationIndent = false;
++                     }
++                 }
++@@ -1802,7 +1803,7 @@ public class Reformatter implements ReformatTask {
++                     }
++                 }
++                 try {
++-                    wrapOperatorAndTree(cs.wrapLambdaArrow(), -1, cs.spaceAroundLambdaArrow() ? 1 : 0, cs.spaceAroundLambdaArrow() ? 1 : 0, lastIndent, node.getBody());
+++                    wrapOperatorAndTree(cs.wrapLambdaArrow(), -1, cs.spaceAroundLambdaArrow() ? 1 : 0, node.getBody());
++                 } finally {
++                     continuationIndent = old;
++                     indent = oldIndent;
++@@ -1817,12 +1818,7 @@ public class Reformatter implements ReformatTask {
++         public Boolean visitMethodInvocation(MethodInvocationTree node, Void p) {
++             ExpressionTree ms = node.getMethodSelect();
++             if (ms.getKind() == Tree.Kind.MEMBER_SELECT) {
++-                int old = indent;
++-                if (isLastIndentContinuation) {
++-                    indent += continuationIndentSize;
++-                    isLastIndentContinuation = false;
++-                }
++-                ExpressionTree exp = ((MemberSelectTree)ms).getExpression();                
+++                ExpressionTree exp = ((MemberSelectTree)ms).getExpression();
++                 scan(exp, p);
++                 WrapStyle wrapStyle = cs.wrapChainedMethodCalls();
++                 if (wrapStyle == WrapStyle.WRAP_ALWAYS && exp.getKind() != Tree.Kind.METHOD_INVOCATION)
++@@ -1873,7 +1869,6 @@ public class Reformatter implements ReformatTask {
++                         scanMethodCall(node);
++                         break;
++                 }
++-                indent = old;
++             } else {
++                 scanMethodCall(node);
++             }
++@@ -2090,7 +2085,7 @@ public class Reformatter implements ReformatTask {
++         public Boolean visitUnionType(UnionTypeTree node, Void p) {
++             List<? extends Tree> alts = node.getTypeAlternatives();
++             if (alts != null && !alts.isEmpty()) {
++-                wrapList(cs.wrapDisjunctiveCatchTypes(), cs.alignMultilineDisjunctiveCatchTypes(), false, BAR, cs.wrapAfterDisjunctiveCatchBar(), alts);
+++                wrapList(cs.wrapDisjunctiveCatchTypes(), cs.alignMultilineDisjunctiveCatchTypes(), false, BAR, alts);
++             }
++             return true;
++         }
++@@ -2132,7 +2127,9 @@ public class Reformatter implements ReformatTask {
++                 }
++                 WrapStyle wrapElse;
++                 boolean preserveNewLine = true;
++-                if (cs.specialElseIf() && elseStat.getKind() == Tree.Kind.IF) {
+++                if (cs.specialElseIf() && elseStat.getKind() == Tree.Kind.BLOCK
+++                        && ((BlockTree)elseStat).getStatements().size() == 1
+++                        && ((BlockTree)elseStat).getStatements().get(0).getKind() == Tree.Kind.IF) {
++                     redundantIfBraces = CodeStyle.BracesGenerationStyle.ELIMINATE;
++                     wrapElse = CodeStyle.WrapStyle.WRAP_NEVER;
++                     preserveNewLine = false;
++@@ -2276,7 +2273,7 @@ public class Reformatter implements ReformatTask {
++                 spaces(cs.spaceWithinForParens() ? 1 : 0);
++                 int alignIndent = cs.alignMultilineFor() ? col : -1;
++                 scan(node.getVariable(), p);
++-                wrapOperatorAndTree(cs.wrapFor(), alignIndent, cs.spaceBeforeColon() ? 1 : 0, cs.spaceAfterColon() ? 1 : 0, -1, node.getExpression());
+++                wrapOperatorAndTree(cs.wrapFor(), alignIndent, cs.spaceBeforeColon() ? 1 : 0, cs.spaceAfterColon() ? 1 : 0, node.getExpression());
++                 spaces(cs.spaceWithinForParens() ? 1 : 0);
++                 accept(RPAREN);
++             } finally {
++@@ -2428,7 +2425,7 @@ public class Reformatter implements ReformatTask {
++             Name label = node.getLabel();
++             if (label != null) {
++                 space();
++-                accept(IDENTIFIER, UNDERSCORE);
+++                accept(IDENTIFIER);
++             }
++             accept(SEMICOLON);
++             return true;
++@@ -2440,7 +2437,7 @@ public class Reformatter implements ReformatTask {
++             Name label = node.getLabel();
++             if (label != null) {
++                 space();
++-                accept(IDENTIFIER, UNDERSCORE);
+++                accept(IDENTIFIER);
++             }
++             accept(SEMICOLON);
++             return true;
++@@ -2539,16 +2536,16 @@ public class Reformatter implements ReformatTask {
++             int index = tokens.index();
++             int c = col;
++             Diff d = diffs.isEmpty() ? null : diffs.getFirst();
++-            JavaTokenId id = accept(LBRACKET, ELLIPSIS, IDENTIFIER, UNDERSCORE);
+++            JavaTokenId id = accept(LBRACKET, ELLIPSIS, IDENTIFIER);
++             if (id == ELLIPSIS)
++                 return ret;
++-            if (id != IDENTIFIER && id != UNDERSCORE) {
+++            if (id != IDENTIFIER) {
++                 accept(RBRACKET);
++                 return ret;
++             }
++             rollback(index, c, d);
++             spaces(1, fieldGroup);
++-            accept(IDENTIFIER, UNDERSCORE);
+++            accept(IDENTIFIER);
++             accept(LBRACKET);
++             accept(RBRACKET);
++             return false;
++@@ -2688,7 +2685,7 @@ public class Reformatter implements ReformatTask {
++ 
++         @Override
++         public Boolean visitIdentifier(IdentifierTree node, Void p) {
++-            accept(IDENTIFIER, UNDERSCORE, THIS, SUPER);
+++            accept(IDENTIFIER, THIS, SUPER);
++             return true;
++         }
++ 
++@@ -2809,7 +2806,7 @@ public class Reformatter implements ReformatTask {
++         @Override
++         public Boolean visitLabeledStatement(LabeledStatementTree node, Void p) {
++             if (!ERROR.contentEquals(node.getLabel()))
++-                accept(IDENTIFIER, UNDERSCORE);            
+++                accept(IDENTIFIER);            
++             accept(COLON);
++             int old = indent;
++             if (!cs.absoluteLabelIndent()) {
++@@ -3384,7 +3381,7 @@ public class Reformatter implements ReformatTask {
++                             String ind;
++                             if (pendingDiff != null) {
++                                 pendingDiff.text = beforeCnt < 0 ? getIndent() : getNewlines(count) + getIndent();
++-                                if (!pendingDiff.text.equals(pendingText)) {
+++                                if (!pendingDiff.text.contentEquals(pendingText)) {
++                                     addDiff(pendingDiff);
++                                     pendingDiff = null;
++                                 }
++@@ -3392,7 +3389,7 @@ public class Reformatter implements ReformatTask {
++                             } else {
++                                 ind = after == 3 ? SPACE : getNewlines(count) + getIndent();
++                             }
++-                            if (!ind.equals(text.substring(lastIdx)))
+++                            if (!ind.contentEquals(text.substring(lastIdx)))
++                                 addDiff(new Diff(offset + lastIdx, tokens.offset(), ind));
++                             lastToken = null;
++                             col = after == 3 ? col + 1 : indent();
++@@ -3432,7 +3429,7 @@ public class Reformatter implements ReformatTask {
++                             String ind;
++                             if (pendingDiff != null) {
++                                 pendingDiff.text = beforeCnt < 0 ? getIndent() : getNewlines(count) + getIndent();
++-                                if (!pendingDiff.text.equals(pendingText)) {
+++                                if (!pendingDiff.text.contentEquals(pendingText)) {
++                                     addDiff(pendingDiff);
++                                     pendingDiff = null;
++                                 }
++@@ -3440,7 +3437,7 @@ public class Reformatter implements ReformatTask {
++                             } else {
++                                 ind = after == 3 ? SPACE : getNewlines(count) + getIndent();
++                             }
++-                            if (!ind.equals(text.substring(lastIdx)))
+++                            if (!ind.contentEquals(text.substring(lastIdx)))
++                                 addDiff(new Diff(offset + lastIdx, tokens.offset(), ind));
++                             lastToken = null;
++                             col = after == 3 ? col + 1 : indent();
++@@ -3481,12 +3478,12 @@ public class Reformatter implements ReformatTask {
++                             }
++                             if (lastIdx == 0 && after == 1) {
++                                 String indent = getIndent();
++-                                if (!indent.equals(text))
+++                                if (!indent.contentEquals(text))
++                                     addDiff(new Diff(offset, tokens.offset(), indent));
++                             } else if (lastIdx > 0 && lastIdx < lastToken.length()) {
++                                 pendingText = text.substring(lastIdx);
++                                 String indent = getIndent();
++-                                if (!indent.equals(pendingText)) {
+++                                if (!indent.contentEquals(pendingText)) {
++                                     addDiff(new Diff(offset + lastIdx, tokens.offset(), indent));
++                                     pendingText = null;
++                                 } else {
++@@ -3532,7 +3529,7 @@ public class Reformatter implements ReformatTask {
++                             String indent;
++                             if (pendingDiff != null) {
++                                 pendingDiff.text = beforeCnt < 0 ? getIndent() : getNewlines(count) + getIndent();
++-                                if (!pendingDiff.text.equals(pendingText)) {
+++                                if (!pendingDiff.text.contentEquals(pendingText)) {
++                                     addDiff(pendingDiff);
++                                     pendingDiff = null;
++                                 }
++@@ -3540,7 +3537,7 @@ public class Reformatter implements ReformatTask {
++                             } else {
++                                 indent = after == 3 ? SPACE : getNewlines(count) + getIndent();
++                             }
++-                            if (!indent.equals(text.substring(lastIdx)))
+++                            if (!indent.contentEquals(text.substring(lastIdx)))
++                                 addDiff(new Diff(offset + lastIdx, tokens.offset(), indent));
++                         } else {
++                             String text = getNewlines(count) + getIndent();
++@@ -3706,10 +3703,10 @@ public class Reformatter implements ReformatTask {
++         }
++ 
++         private int wrapOperatorAndTree(CodeStyle.WrapStyle wrapStyle, int alignIndent, int spacesCnt, Tree tree) {
++-            return wrapOperatorAndTree(wrapStyle, alignIndent, spacesCnt, spacesCnt, -1, tree);
+++            return wrapOperatorAndTree(wrapStyle, alignIndent, spacesCnt, spacesCnt, tree);
++         }
++ 
++-        private int wrapOperatorAndTree(CodeStyle.WrapStyle wrapStyle, int alignIndent, int spacesCntBeforeOp, int spacesCntAfterOp, int treeIndent, Tree tree) {
+++        private int wrapOperatorAndTree(CodeStyle.WrapStyle wrapStyle, int alignIndent, int spacesCntBeforeOp, int spacesCntAfterOp, Tree tree) {
++             int ret = -1;
++             switch (wrapStyle) {
++                 case WRAP_ALWAYS:
++@@ -3742,9 +3739,6 @@ public class Reformatter implements ReformatTask {
++                         } else {
++                             continuationIndent = false;
++                         }
++-                        if (treeIndent >= 0) {
++-                            indent = treeIndent;
++-                        }
++                         scan(tree, null);
++                     } finally {
++                         lastIndent = oldLast;
++@@ -3790,9 +3784,6 @@ public class Reformatter implements ReformatTask {
++                             } else {
++                                 continuationIndent = false;
++                             }
++-                            if (treeIndent >= 0) {
++-                                indent = treeIndent;
++-                            }
++                             scan(tree, null);
++                         } finally {
++                             continuationIndent = oldContinuationIndent;
++@@ -3835,9 +3826,6 @@ public class Reformatter implements ReformatTask {
++                             } else {
++                                 continuationIndent = false;
++                             }
++-                            if (treeIndent >= 0) {
++-                                indent = treeIndent;
++-                            }
++                             scan(tree, null);
++                         } finally {
++                             continuationIndent = oldContinuationIndent;
++@@ -3869,31 +3857,29 @@ public class Reformatter implements ReformatTask {
++                     }
++                     try {
++                         if (tree.getKind() == Tree.Kind.BLOCK) {
++-                            if (cs.getOtherBracePlacement() == CodeStyle.BracePlacement.SAME_LINE) {
++-                                if (spaces(spacesCntAfterOp, false)) {
++-                                    rollback(index, c, d);
++-                                    old = indent;
++-                                    oldLast = lastIndent;
++-                                    try {
++-                                        if (alignIndent >= 0) {
++-                                            indent = continuationIndent ? alignIndent - continuationIndentSize : alignIndent;
++-                                        }
++-                                        newline();
++-                                    } finally {
++-                                        indent = old;
++-                                        lastIndent = oldLast;
++-                                    }
++-                                    ret = col;
++-                                    if (OPERATOR.equals(tokens.token().id().primaryCategory())) {
++-                                        col += tokens.token().length();
++-                                        lastBlankLines = -1;
++-                                        lastBlankLinesTokenIndex = -1;
++-                                        tokens.moveNext();
+++                            if (spaces(spacesCntAfterOp, false)) {
+++                                rollback(index, c, d);
+++                                old = indent;
+++                                oldLast = lastIndent;
+++                                try {
+++                                    if (alignIndent >= 0) {
+++                                        indent = continuationIndent ? alignIndent - continuationIndentSize : alignIndent;
++                                     }
++-                                    spaces(spacesCntAfterOp);
++-                                }                            
++-                                continuationIndent = isLastIndentContinuation;
++-                            }
+++                                    newline();
+++                                } finally {
+++                                    indent = old;
+++                                    lastIndent = oldLast;
+++                                }
+++                                ret = col;
+++                                if (OPERATOR.equals(tokens.token().id().primaryCategory())) {
+++                                    col += tokens.token().length();
+++                                    lastBlankLines = -1;
+++                                    lastBlankLinesTokenIndex = -1;
+++                                    tokens.moveNext();
+++                                }
+++                                spaces(spacesCntAfterOp);
+++                            }                            
+++                            continuationIndent = isLastIndentContinuation;
++                         } else if (tree.getKind() != Tree.Kind.NEW_ARRAY
++                                 || ((NewArrayTree) tree).getType() != null
++                                 || cs.getOtherBracePlacement() == CodeStyle.BracePlacement.SAME_LINE) {
++@@ -3922,9 +3908,6 @@ public class Reformatter implements ReformatTask {
++                         } else {
++                             continuationIndent = isLastIndentContinuation;
++                         }
++-                        if (treeIndent >= 0) {
++-                            indent = treeIndent;
++-                        }
++                         scan(tree, null);
++                     } finally {
++                         continuationIndent = oldContinuationIndent;
++@@ -3997,10 +3980,6 @@ public class Reformatter implements ReformatTask {
++         }
++ 
++         private void wrapList(CodeStyle.WrapStyle wrapStyle, boolean align, boolean prependSpace, JavaTokenId separator, List<? extends Tree> trees) {
++-            wrapList(wrapStyle, align, prependSpace, separator, true, trees);
++-        }
++-
++-        private void wrapList(CodeStyle.WrapStyle wrapStyle, boolean align, boolean prependSpace, JavaTokenId separator, boolean wrapAfterSeparator, List<? extends Tree> trees) {
++             boolean first = true;
++             int alignIndent = -1;
++             boolean spaceBeforeSeparator, spaceAfterSeparator;
++@@ -4050,16 +4029,14 @@ public class Reformatter implements ReformatTask {
++                             scan(impl, null);
++                         }
++                     }
++-                } else if (wrapAfterSeparator) {
++-                    boolean containedNewLine = spaces(spaceBeforeSeparator ? 1 : 0, false);
++-                    if (separator.equals(accept(separator)) && containedNewLine) {
++-                        newline();
++-                    }
++-                    wrapTree(wrapStyle, alignIndent, spaceAfterSeparator ? 1 : 0, impl);
++                 } else {
++-                    wrapOperatorAndTree(wrapStyle, alignIndent, spaceAfterSeparator ? 1 : 0, impl);
+++                    wrapTree(wrapStyle, alignIndent, spaceAfterSeparator ? 1 : 0, impl);
++                 }
++                 first = false;
+++                if (it.hasNext()) {
+++                    spaces(spaceBeforeSeparator ? 1 : 0);
+++                    accept(separator);
+++                }
++             }
++         }
++         
++@@ -4092,7 +4069,7 @@ public class Reformatter implements ReformatTask {
++                     }
++                 }
++             }
++-            accept(IDENTIFIER, UNDERSCORE, THIS, SUPER);
+++            accept(IDENTIFIER, THIS, SUPER);
++             spaces(cs.spaceBeforeMethodCallParen() ? 1 : 0);
++             accept(LPAREN);
++             boolean old = continuationIndent;
++@@ -4367,6 +4344,11 @@ public class Reformatter implements ReformatTask {
++             String indentString = getIndent();
++             String lineStartString = cs.addLeadingStarInComment() ? indentString + SPACE + LEADING_STAR + SPACE : indentString + SPACE;
++             String blankLineString;
+++            if (javadocTokens != null && cs.generateParagraphTagOnBlankLines()) {
+++                blankLineString = cs.addLeadingStarInComment() ? indentString + SPACE + LEADING_STAR + SPACE + P_TAG : indentString + SPACE + P_TAG;
+++            } else {
+++                blankLineString = cs.addLeadingStarInComment() ? indentString + SPACE + LEADING_STAR : EMPTY;
+++            }
++             int currNWSPos = -1;
++             int lastNWSPos = -1;
++             int currWSPos = -1;
++@@ -4384,10 +4366,6 @@ public class Reformatter implements ReformatTask {
++             for (int i = start; i < text.length(); i++) {
++                 if (i >= initTextEndOffset) {
++                     blankLineString = cs.addLeadingStarInComment() ? indentString + SPACE + LEADING_STAR : EMPTY;
++-                } else if (javadocTokens != null && !noFormat && cs.generateParagraphTagOnBlankLines()) {
++-                    blankLineString = cs.addLeadingStarInComment() ? indentString + SPACE + LEADING_STAR + SPACE + P_TAG : indentString + SPACE + P_TAG;
++-                } else {
++-                    blankLineString = cs.addLeadingStarInComment() ? indentString + SPACE + LEADING_STAR : EMPTY;
++                 }
++                 char c = text.charAt(i);
++                 if (Character.isWhitespace(c)) {
++@@ -4607,8 +4585,8 @@ public class Reformatter implements ReformatTask {
++                                                         addDiff(pendingDiff);
++                                                     }
++                                                 }
++-                                                pendingDiff = new Diff(offset + currWSPos, offset + i, javadocTokens != null && lastNWSPos >= 0 && i < initTextEndOffset && !noFormat && cs.generateParagraphTagOnBlankLines() ? SPACE + P_TAG : EMPTY);
++-                                            } else if (javadocTokens != null && lastNWSPos >= 0 && i < initTextEndOffset && !noFormat && cs.generateParagraphTagOnBlankLines()) {
+++                                                pendingDiff = new Diff(offset + currWSPos, offset + i, javadocTokens != null && lastNWSPos >= 0 && i < initTextEndOffset && cs.generateParagraphTagOnBlankLines() ? SPACE + P_TAG : EMPTY);
+++                                            } else if (javadocTokens != null && lastNWSPos >= 0 && i < initTextEndOffset && cs.generateParagraphTagOnBlankLines()) {
++                                                 if (pendingDiff != null) {
++                                                     String sub = text.substring(pendingDiff.start - offset, pendingDiff.end - offset);
++                                                     if (!sub.equals(pendingDiff.text)) {
++@@ -4716,11 +4694,11 @@ public class Reformatter implements ReformatTask {
++                         }
++                     } else if (enableCommentFormatting) {
++                         if (firstLine) {
++-                            String s = !noFormat && cs.wrapOneLineComments() ? NEWLINE + lineStartString : SPACE;
+++                            String s = cs.wrapOneLineComments() ? NEWLINE + lineStartString : SPACE;
++                             String sub = currWSPos >= 0 ? text.substring(currWSPos, i) : null;
++                             if (!s.equals(sub))
++                                 addDiff(new Diff(currWSPos >= 0 ? offset + currWSPos : offset + i, offset + i, s));
++-                            if (!noFormat && cs.wrapOneLineComments())
+++                            if (cs.wrapOneLineComments())
++                                 col = getCol(lineStartString);
++                             firstLine = false;
++                         } else if (currWSPos >= 0) {
++@@ -4745,7 +4723,7 @@ public class Reformatter implements ReformatTask {
++                     if (c == '\n') {
++                         break;
++                     } else if (!Character.isWhitespace(c)) {
++-                        String s = !noFormat && cs.wrapOneLineComments() ? NEWLINE + indentString + SPACE : SPACE;
+++                        String s = cs.wrapOneLineComments() ? NEWLINE + indentString + SPACE : SPACE;
++                         String sub = text.substring(i + 1, text.length() - 2);
++                         if (!s.equals(sub))
++                             addDiff(new Diff(offset + i + 1, offset + text.length() - 2, s));
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/save/Reindenter.java b/java.source.base/src/org/netbeans/modules/java/source/save/Reindenter.java
++index 3b15efde9..58440258c 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/save/Reindenter.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/save/Reindenter.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++@@ -225,7 +222,7 @@ public class Reindenter implements IndentTask {
++                     currentEmbeddingLength = tseq.offset() - currentEmbeddingStartOffset;
++                     break;
++                 }
++-                tseq = tseq.embeddedJoined();
+++                tseq = tseq.embedded();
++             }
++             if (ts == null) {
++                 return false;                
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/transform/ImmutableTreeTranslator.java b/java.source.base/src/org/netbeans/modules/java/source/transform/ImmutableTreeTranslator.java
++index b64de1260..87d7867c3 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/transform/ImmutableTreeTranslator.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/transform/ImmutableTreeTranslator.java
++@@ -345,9 +345,6 @@ public class ImmutableTreeTranslator implements TreeVisitor<Tree,Object> {
++ 	CompilationUnitTree result = rewriteChildren(tree);
++         return result;
++     }
++-    public Tree visitPackage(PackageTree tree, Object p) {
++-        return rewriteChildren(tree);
++-    }
++     public Tree visitImport(ImportTree tree, Object p) {
++ 	return rewriteChildren(tree);
++     }
++@@ -565,19 +562,6 @@ public class ImmutableTreeTranslator implements TreeVisitor<Tree,Object> {
++ 	return tree;
++     }
++ 
++-    protected final PackageTree rewriteChildren(PackageTree tree) {
++-        List<? extends AnnotationTree> annotations = translate(tree.getAnnotations());
++-	ExpressionTree pid = (ExpressionTree) translate(tree.getPackageName());
++-	if (pid != tree.getPackageName() || !annotations.equals(tree.getAnnotations())) {
++-	    PackageTree n = make.Package(annotations, pid);
++-            model.setType(n, model.getType(tree));
++-	    copyCommentTo(tree,n);
++-            copyPosTo(tree,n);
++-	    tree = n;
++-	}
++-	return tree;
++-    }
++-
++     protected final ImportTree rewriteChildren(ImportTree tree) {
++ 	Tree qualid = translateClassRef(tree.getQualifiedIdentifier());
++         if (qualid == tree.getQualifiedIdentifier())
++@@ -1298,4 +1282,6 @@ public class ImmutableTreeTranslator implements TreeVisitor<Tree,Object> {
++ 	}
++ 	return node;
++     }
+++
+++
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/transform/TreeDuplicator.java b/java.source.base/src/org/netbeans/modules/java/source/transform/TreeDuplicator.java
++index 307efc1c2..d25d06aec 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/transform/TreeDuplicator.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/transform/TreeDuplicator.java
++@@ -79,7 +79,6 @@ import com.sun.source.tree.MethodTree;
++ import com.sun.source.tree.ModifiersTree;
++ import com.sun.source.tree.NewArrayTree;
++ import com.sun.source.tree.NewClassTree;
++-import com.sun.source.tree.PackageTree;
++ import com.sun.source.tree.ParameterizedTypeTree;
++ import com.sun.source.tree.ParenthesizedTree;
++ import com.sun.source.tree.PrimitiveTypeTree;
++@@ -313,15 +312,6 @@ public class TreeDuplicator implements TreeVisitor<Tree, Void> {
++     }
++ 
++     @Override
++-    public Tree visitPackage(PackageTree tree, Void p) {
++-        PackageTree n = make.Package(tree.getAnnotations(), tree.getPackageName());
++-        model.setElement(n, model.getElement(tree));
++-        comments.copyComments(tree, n);
++-        model.setPos(n, model.getPos(tree));
++-        return n;
++-    }
++-
++-    @Override
++     public Tree visitImport(ImportTree tree, Void p) {
++         ImportTree n = make.Import(tree.getQualifiedIdentifier(), tree.isStatic());
++         model.setType(n, model.getType(tree));
++@@ -483,7 +473,7 @@ public class TreeDuplicator implements TreeVisitor<Tree, Void> {
++ 
++     @Override
++     public Tree visitCompilationUnit(CompilationUnitTree tree, Void p) {
++-        CompilationUnitTree n = make.CompilationUnit(tree.getPackage(), tree.getImports(), tree.getTypeDecls(), tree.getSourceFile());
+++        CompilationUnitTree n = make.CompilationUnit(tree.getPackageAnnotations(), tree.getPackageName(), tree.getImports(), tree.getTypeDecls(), tree.getSourceFile());
++         model.setElement(n, model.getElement(tree));
++         comments.copyComments(tree, n);
++         model.setPos(n, model.getPos(tree));
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/transform/package.html b/java.source.base/src/org/netbeans/modules/java/source/transform/package.html
++index dc3a3ae02..681f63918 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/transform/package.html
+++++ b/java.source.base/src/org/netbeans/modules/java/source/transform/package.html
++@@ -1,46 +1,47 @@
++ <!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
+++   - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++   -
+++   - Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+++   -
+++   - The contents of this file are subject to the terms of either the GNU
+++   - General Public License Version 2 only ("GPL") or the Common
+++   - Development and Distribution License("CDDL") (collectively, the
+++   - "License"). You may not use this file except in compliance with the
+++   - License. You can obtain a copy of the License at
+++   - http://www.netbeans.org/cddl-gplv2.html
+++   - or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++   - specific language governing permissions and limitations under the
+++   - License.  When distributing the software, include this License Header
+++   - Notice in each file and include the License file at
+++   - nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
+++   - particular file as subject to the "Classpath" exception as provided
+++   - by Sun in the GPL Version 2 section of the License file that
+++   - accompanied this code. If applicable, add the following below the
+++   - License Header, with the fields enclosed by brackets [] replaced by
+++   - your own identifying information:
+++   - "Portions Copyrighted [year] [name of copyright owner]"
+++   -
+++   - Contributor(s):
+++   -
+++   - The Original Software is NetBeans. The Initial Developer of the Original
+++   - Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
+++   - Microsystems, Inc. All Rights Reserved.
+++   -
+++   - If you wish your version of this file to be governed by only the CDDL
+++   - or only the GPL Version 2, indicate your decision by adding
+++   - "[Contributor] elects to include this software in this distribution
+++   - under the [CDDL or GPL Version 2] license." If you do not indicate a
+++   - single choice of license, a recipient has the option to distribute
+++   - your version of this file under either the CDDL, the GPL Version 2 or
+++   - to extend the choice of license to its licensees as provided above.
+++   - However, if you add GPL Version 2 code and therefore, elected the GPL
+++   - Version 2 license, then the option applies only if the new code is
+++   - made subject to such option by the copyright holder.
++   -->
++ <html>
++   <body>
++   This package defines the classes which provide the base for transformation
++-  classes.  It extends the com.sun.source.tree API to define an interface for
++-  modifying trees and committing those changes back to Java source files.
+++  classes.  It extends the com.sun.source.tree API to define an interface for 
+++  modifying trees and committing those changes back to Java source files.  
++   </body>
++ </html>
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryAnalyser.java b/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryAnalyser.java
++index 83d841ac7..cb4d5ed45 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryAnalyser.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryAnalyser.java
++@@ -57,13 +57,6 @@ import java.io.OutputStreamWriter;
++ import java.io.PrintWriter;
++ import java.net.URI;
++ import java.net.URL;
++-import java.nio.file.FileVisitResult;
++-import java.nio.file.FileVisitor;
++-import java.nio.file.Files;
++-import java.nio.file.Path;
++-import java.nio.file.StandardOpenOption;
++-import java.nio.file.attribute.BasicFileAttributes;
++-import java.nio.file.attribute.FileTime;
++ import java.util.ArrayList;
++ import java.util.Arrays;
++ import java.util.Collection;
++@@ -103,10 +96,8 @@ import org.netbeans.modules.classfile.ClassName;
++ import org.netbeans.modules.classfile.Code;
++ import org.netbeans.modules.classfile.ConstantPool;
++ import org.netbeans.modules.classfile.ElementValue;
++-import org.netbeans.modules.classfile.EnclosingMethod;
++ import org.netbeans.modules.classfile.EnumElementValue;
++ import org.netbeans.modules.classfile.Field;
++-import org.netbeans.modules.classfile.InnerClass;
++ import org.netbeans.modules.classfile.InvalidClassFormatException;
++ import org.netbeans.modules.classfile.LocalVariableTableEntry;
++ import org.netbeans.modules.classfile.LocalVariableTypeTableEntry;
++@@ -348,8 +339,8 @@ public class BinaryAnalyser {
++ 
++     private final ClassIndexImpl.Writer writer;
++     private final File cacheRoot;
++-    private final List<Pair<Pair<BinaryName,String>,Object[]>> refs = new ArrayList<>();
++-    private final Set<Pair<String,String>> toDelete = new HashSet<> ();
+++    private final List<Pair<Pair<String,String>,Object[]>> refs = new ArrayList<Pair<Pair<String, String>, Object[]>>();
+++    private final Set<Pair<String,String>> toDelete = new HashSet<Pair<String,String>> ();
++     private final LowMemoryWatcher lmListener;
++     private final Config cfg;
++     //@NotThreadSafe
++@@ -441,10 +432,7 @@ public class BinaryAnalyser {
++                 final FileObject rootFo =  URLMapper.findFileObject(root);
++                 if (rootFo != null) {
++                     if (!isUpToDate(ROOT,rootFo.lastModified().getTime())) {
++-                        final Object path = rootFo.getAttribute(Path.class.getName());
++-                        return (path instanceof Path) ?
++-                            new PathProcessor(root, (Path) path, ctx) :
++-                            new NBFSProcessor(rootFo, ctx);
+++                        return new NBFSProcessor(rootFo, ctx);
++                     }
++                 } else {
++                     return new DeletedRootProcessor(ctx);
++@@ -461,12 +449,7 @@ public class BinaryAnalyser {
++         } else {
++             final FileObject rootFo =  URLMapper.findFileObject(root);
++             if (rootFo != null) {
++-                if (!isUpToDate(ROOT, rootFo.lastModified().getTime())) {
++-                    final Object path = rootFo.getAttribute(Path.class.getName());
++-                    return (path instanceof Path) ?
++-                        new PathProcessor(root, (Path) path, ctx) :
++-                        new NBFSProcessor(rootFo, ctx);
++-                }
+++                return new NBFSProcessor(rootFo, ctx);
++             } else {
++                 return new DeletedRootProcessor(ctx);
++             }
++@@ -671,19 +654,13 @@ public class BinaryAnalyser {
++         final ClassFileProcessor cfp = cfg.createProcessor(classFile);
++         this.delete (cfp.getClassName());
++         final UsagesData<ClassName> usages = cfp.analyse();
++-        final Pair<BinaryName,String> pair = Pair.of(
++-                BinaryName.create(
++-                        cfp.getClassName(),
++-                        getElementKind(classFile),
++-                        isLocal(classFile),
++-                        getSimpleNameIndex(classFile)
++-                        ),
++-                null);
++-        addReferences (pair, usages);        
+++        final String classNameType = cfp.getClassName() + DocumentUtil.encodeKind(getElementKind(classFile), isLocal(classFile));
+++        final Pair<String,String> pair = Pair.<String,String>of(classNameType, null);
+++        addReferences (pair, usages);
++     }
++ 
++     private void addReferences (
++-        @NonNull final Pair<BinaryName,String> name,
+++        @NonNull final Pair<String,String> name,
++         @NonNull final UsagesData<ClassName> usages) {
++         assert name != null;
++         assert usages != null;
++@@ -692,7 +669,7 @@ public class BinaryAnalyser {
++             usages.featureIdentsToString(),
++             usages.identsToString()
++         };
++-        this.refs.add(Pair.<Pair<BinaryName,String>,Object[]>of(name, cr));
+++        this.refs.add(Pair.<Pair<String,String>,Object[]>of(name, cr));
++     }
++ 
++     private static ElementKind getElementKind(@NonNull final ClassFile cf) {
++@@ -710,33 +687,6 @@ public class BinaryAnalyser {
++     private static boolean isLocal(@NonNull final ClassFile cf) {
++         return cf.getEnclosingMethod() != null;
++     }
++-
++-    private static int getSimpleNameIndex(@NonNull final ClassFile cf) {
++-        final ClassName me = cf.getName();
++-        final String simpleName = me.getSimpleName();
++-        int len = simpleName.length();
++-        for (InnerClass ic : cf.getInnerClasses()) {
++-            if (me.equals(ic.getName())) {
++-                final String innerName = ic.getSimpleName();
++-                if (innerName != null && !innerName.isEmpty()) {
++-                    len = innerName.length();
++-                } else {
++-                    final EnclosingMethod enclosingMethod = cf.getEnclosingMethod();
++-                    if (enclosingMethod != null) {
++-                        final String encSimpleName = enclosingMethod.getClassName().getSimpleName();
++-                        len -= encSimpleName.length() + 1;
++-                    } else {
++-                        final int sepIndex = simpleName.lastIndexOf('.');   //NOI18N
++-                        if (sepIndex > 0) {
++-                            len -= sepIndex+1;
++-                        }
++-                    }
++-                }
++-                break;
++-            }
++-        }
++-        return me.getInternalName().length() - len;
++-    }
++     //</editor-fold>
++ 
++     //<editor-fold defaultstate="collapsed" desc="ClassFileProcessor implementations">
++@@ -1380,104 +1330,6 @@ public class BinaryAnalyser {
++         }
++     }
++ 
++-    private final class PathProcessor extends RootProcessor {
++-
++-        private final URL rootURL;
++-        private final Path rootPath;
++-
++-        PathProcessor(
++-            @NonNull final URL rootURL,
++-            @NonNull final Path rootPath,
++-            @NonNull final Context ctx) {
++-            super(ctx);
++-            assert rootURL != null;
++-            assert rootPath != null;
++-            this.rootURL = rootURL;
++-            this.rootPath = rootPath;
++-            markChanged();  //Always dirty, created only for dirty root
++-        }
++-
++-        @Override
++-        protected boolean executeImpl() throws IOException {
++-            final boolean[] cancelled = new boolean[1];
++-            final char separator = rootPath.getFileSystem().getSeparator().charAt(0);
++-            Files.walkFileTree(rootPath, new FileVisitor<Path>() {
++-                @Override
++-                public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
++-                    return FileVisitResult.CONTINUE;
++-                }
++-
++-                @Override
++-                public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
++-                    final String simpleName = file.getName(file.getNameCount()-1).toString();
++-                    if (accepts(simpleName)) {
++-                        final String fqn = FileObjects.convertFolder2Package (
++-                            FileObjects.stripExtension(rootPath.relativize(file).toString()),
++-                            separator);
++-                        report (
++-                            ElementHandleAccessor.getInstance().create(
++-                                ElementKind.OTHER,
++-                                fqn),
++-                            attrs.lastModifiedTime().toMillis());
++-                        try (final InputStream in = new BufferedInputStream (Files.newInputStream(file, StandardOpenOption.READ))) {
++-                            analyse(in);
++-                        } catch (InvalidClassFormatException | RuntimeException icf) {
++-                            LOGGER.log(
++-                                    Level.WARNING,
++-                                    "Invalid class file format: {0} in: {1}",      //NOI18N
++-                                    new Object[]{
++-                                        file,
++-                                        rootURL,
++-                                        });
++-                            LOGGER.log(
++-                                    Level.INFO,
++-                                    "Class File Exception Details",             //NOI18N
++-                                    icf);
++-                        } catch (IOException x) {
++-                            Exceptions.attachMessage(
++-                                x,
++-                                String.format(
++-                                    "While scanning: %s in: %s",        //NOI18N
++-                                    file,
++-                                    rootURL));
++-                            throw x;
++-                        }
++-                        if (lmListener.isLowMemory()) {
++-                            flush();
++-                        }
++-                    }
++-                    return handleCancel();
++-                }
++-
++-                @Override
++-                public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
++-                    LOGGER.log(
++-                        Level.WARNING,
++-                        "Cannot read file: {0}",      //NOI18N
++-                        file);
++-                    LOGGER.log(Level.FINE, null, exc);
++-                    return handleCancel();
++-                }
++-
++-                @Override
++-                public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
++-                    return FileVisitResult.CONTINUE;
++-                }
++-
++-                private FileVisitResult handleCancel() {
++-                    if (isCancelled()) {
++-                        cancelled[0] = true;
++-                        return FileVisitResult.TERMINATE;
++-                    } else {
++-                        return FileVisitResult.CONTINUE;
++-                    }
++-                }
++-            });
++-            return !cancelled[0];
++-        }
++-
++-    }
++-
++     private final class NBFSProcessor extends RootProcessor {
++ 
++         private final Enumeration<? extends FileObject> todo;
++@@ -1499,7 +1351,7 @@ public class BinaryAnalyser {
++         protected boolean executeImpl() throws IOException {
++             while (todo.hasMoreElements()) {
++                 FileObject fo = todo.nextElement();
++-                if (accepts(fo.getNameExt())) {
+++                if (accepts(fo.getName())) {
++                     final String rp = FileObjects.stripExtension(FileUtil.getRelativePath(root, fo));
++                     report(
++                         ElementHandleAccessor.getInstance().create(ElementKind.OTHER, FileObjects.convertFolder2Package(rp)),
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryName.java b/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryName.java
++deleted file mode 100644
++index df9e7917d..000000000
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/BinaryName.java
+++++ /dev/null
++@@ -1,177 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.usages;
++-
++-import java.util.Objects;
++-import javax.lang.model.element.ElementKind;
++-import org.netbeans.api.annotations.common.NonNull;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-final class BinaryName {
++-    static final char PKG_SEPARATOR = '.';                              //NOI18N
++-    
++-    private final String binaryName;
++-    private final int pkgEnd;
++-    private final int simpleNameStart;
++-    
++-    private BinaryName(
++-            @NonNull final String binaryName,
++-            final int pkgEnd,
++-            final int simpleNameStart) {
++-        assert pkgEnd < binaryName.length() - 1 : binaryName;
++-        assert pkgEnd != 0 : binaryName;
++-        assert simpleNameStart < binaryName.length() - 1 : binaryName;
++-        assert simpleNameStart > pkgEnd : binaryName;
++-        this.binaryName = binaryName;
++-        this.pkgEnd = pkgEnd;
++-        this.simpleNameStart = simpleNameStart;
++-    }
++-    
++-    @NonNull
++-    String getBinaryName() {
++-        return binaryName.substring(0, binaryName.length()-1);
++-    }
++-    
++-    @NonNull
++-    char getKind() {
++-        return binaryName.charAt(binaryName.length()-1);
++-    }
++-    
++-    @NonNull
++-    String getPackage() {
++-        return pkgEnd > 0 ?
++-                binaryName.substring(0, pkgEnd) :
++-                ""; //NOI18N
++-    }
++-    
++-    @NonNull 
++-    String getClassName() {
++-        return pkgEnd > 0 ?
++-                binaryName.substring(pkgEnd+1, binaryName.length()-1) :
++-                binaryName.substring(0, binaryName.length()-1);
++-                
++-    }
++-    
++-    @NonNull 
++-    String getClassNameKind() {
++-        return pkgEnd > 0 ?
++-                binaryName.substring(pkgEnd+1) :
++-                binaryName;
++-    }
++-    
++-    @NonNull
++-    String getSimpleName() {
++-        return binaryName.substring(simpleNameStart, binaryName.length()-1);
++-    }
++-
++-    @Override
++-    public int hashCode() {
++-        int hash = 3;
++-        hash = 11 * hash + Objects.hashCode(this.binaryName);
++-        return hash;
++-    }
++-
++-    @Override
++-    public boolean equals(Object obj) {
++-        if (this == obj) {
++-            return true;
++-        }
++-        if (obj == null) {
++-            return false;
++-        }
++-        if (getClass() != obj.getClass()) {
++-            return false;
++-        }
++-        final BinaryName other = (BinaryName) obj;
++-        if (this.pkgEnd != other.pkgEnd) {
++-            return false;
++-        }
++-        if (this.simpleNameStart != other.simpleNameStart) {
++-            return false;
++-        }
++-        return Objects.equals(this.binaryName, other.binaryName);
++-    }
++-
++-    @Override
++-    public String toString() {
++-        return String.format("BinaryName{binaryName=%s, package=%s, className=%s, simpleName=%s}",  //NOI18N
++-                binaryName,
++-                getPackage(),
++-                getClassName(),
++-                getSimpleName());
++-    }
++-    
++-    
++-    
++-    
++-    @NonNull
++-    static BinaryName create(
++-            @NonNull final String binaryName,
++-            @NonNull final ElementKind kind) {
++-        final int pkgEnd = binaryName.lastIndexOf(PKG_SEPARATOR);
++-        int simpleNameStart = binaryName.lastIndexOf('$');      //NOI18N
++-        if (simpleNameStart < pkgEnd) {
++-            simpleNameStart = pkgEnd;
++-        }
++-        simpleNameStart += 1;
++-        return new BinaryName(
++-                binaryName+DocumentUtil.encodeKind(kind),
++-                pkgEnd,
++-                simpleNameStart);
++-    }
++-    
++-    @NonNull
++-    static BinaryName create(
++-            @NonNull final String binaryName,
++-            @NonNull final ElementKind kind,
++-            final boolean isLocal,
++-            final int simpleNameStart) {
++-        final int pkgEnd = binaryName.lastIndexOf(PKG_SEPARATOR);
++-        return new BinaryName(
++-                binaryName+DocumentUtil.encodeKind(kind, isLocal),
++-                pkgEnd,
++-                simpleNameStart);
++-    }
++-}
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java b/java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java
++index 864d736ae..ddf7c7018 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/BuildArtifactMapperImpl.java
++@@ -68,19 +68,17 @@ import java.util.regex.Pattern;
++ 
++ import javax.swing.event.ChangeEvent;
++ import javax.swing.event.ChangeListener;
++-import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.api.annotations.common.NullAllowed;
++ 
++ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.api.java.queries.AnnotationProcessingQuery;
+++import org.netbeans.api.java.queries.BinaryForSourceQuery;
+++import org.netbeans.api.java.queries.BinaryForSourceQuery.Result;
++ import org.netbeans.api.java.queries.SourceForBinaryQuery;
++ import org.netbeans.api.java.source.BuildArtifactMapper.ArtifactsUpdated;
++ import org.netbeans.api.java.source.SourceUtils;
++ import org.netbeans.api.queries.FileBuiltQuery;
++ import org.netbeans.api.queries.FileBuiltQuery.Status;
++ import org.netbeans.api.queries.VisibilityQuery;
++-import org.netbeans.modules.java.preprocessorbridge.api.CompileOnSaveActionQuery;
++-import org.netbeans.modules.java.preprocessorbridge.spi.CompileOnSaveAction;
++ import org.netbeans.modules.java.source.indexing.COSSynchronizingIndexer;
++ import org.netbeans.modules.java.source.indexing.JavaIndex;
++ import org.netbeans.modules.java.source.parsing.FileObjects;
++@@ -92,6 +90,7 @@ import org.netbeans.modules.parsing.api.indexing.IndexingManager;
++ import org.netbeans.modules.parsing.spi.indexing.ErrorsCache;
++ import org.netbeans.spi.queries.FileBuiltQueryImplementation;
++ import org.openide.filesystems.FileObject;
+++import org.openide.filesystems.FileStateInvalidException;
++ import org.openide.filesystems.FileUtil;
++ import org.openide.util.ChangeSupport;
++ import org.openide.util.Exceptions;
++@@ -99,9 +98,7 @@ import org.openide.util.NbPreferences;
++ import org.openide.util.RequestProcessor;
++ import org.openide.util.BaseUtilities;
++ import org.openide.util.Lookup;
++-import org.openide.util.WeakListeners;
++ import org.openide.util.WeakSet;
++-import org.openide.util.lookup.ServiceProvider;
++ 
++ /**
++  *
++@@ -178,73 +175,229 @@ public class BuildArtifactMapperImpl {
++         }
++     }
++     
+++    private static File getTarget(URL source) {
+++        Result binaryRoots = BinaryForSourceQuery.findBinaryRoots(source);
+++        
+++        File result = null;
+++        
+++        for (URL u : binaryRoots.getRoots()) {
+++            assert u != null : "Null in BinaryForSourceQuery.Result.roots: " + binaryRoots; //NOI18N
+++            if (u == null) {
+++                continue;
+++            }
+++            File f = FileUtil.archiveOrDirForURL(u);
+++
+++            try {
+++                if (FileUtil.isArchiveFile(BaseUtilities.toURI(f).toURL())) {
+++                    continue;
+++                }
+++            
+++                if (f != null && result != null) {
+++                    Logger.getLogger(BuildArtifactMapperImpl.class.getName()).log(Level.WARNING, "More than one binary directory for root: {0}", source.toExternalForm());
+++                    return null;
+++                }
+++
+++                result = f;
+++            } catch (MalformedURLException ex) {
+++                Exceptions.printStackTrace(ex);
+++            }
+++        }
+++        
+++        return result;
+++    }
+++
++     @SuppressWarnings("deprecation")
++     public static Boolean ensureBuilt(URL sourceRoot, Object context, boolean copyResources, boolean keepResourceUpToDate) throws IOException {
++-        final CompileOnSaveAction a = CompileOnSaveActionQuery.getAction(sourceRoot);
++-        if (a != null) {
++-            final CompileOnSaveAction.Context ctx = CompileOnSaveAction.Context.sync(
++-                    sourceRoot,
++-                    copyResources,
++-                    keepResourceUpToDate,
++-                    context);
++-            return a.performAction(ctx);
+++        File targetFolder = getTarget(sourceRoot);
+++        
+++        if (targetFolder == null) {
+++            return null;
++         }
++-        return null;
+++        
+++        try {
+++            SourceUtils.waitScanFinished();
+++        } catch (InterruptedException e) {
+++            //Not Important
+++            LOG.log(Level.FINE, null, e);
+++            return null;
+++        }
+++
+++        if (JavaIndex.ensureAttributeValue(sourceRoot, DIRTY_ROOT, null)) {
+++            IndexingManager.getDefault().refreshIndexAndWait(sourceRoot, null);
+++        }
+++
+++        if (JavaIndex.getAttribute(sourceRoot, DIRTY_ROOT, null) != null) {
+++            return false;
+++        }
+++        
+++        FileObject[][] sources = new FileObject[1][];
+++        
+++        if (!protectAgainstErrors(targetFolder, sources, context)) {
+++            return false;
+++        }
+++        
+++        File tagFile = new File(targetFolder, TAG_FILE_NAME);
+++        File tagUpdateResourcesFile = new File(targetFolder, TAG_UPDATE_RESOURCES);
+++        final boolean forceResourceCopy = copyResources && keepResourceUpToDate && !tagUpdateResourcesFile.exists();
+++        final boolean cosActive = tagFile.exists();
+++        if (cosActive && !forceResourceCopy) {
+++            return true;
+++        }
+++
+++        if (!cosActive) {
+++            delete(targetFolder, false/*#161085: cleanCompletely*/);
+++        }
+++
+++        if (!targetFolder.exists() && !targetFolder.mkdirs()) {
+++            throw new IOException("Cannot create destination folder: " + targetFolder.getAbsolutePath());
+++        }
+++
+++        sources(targetFolder, sources);
+++
+++        for (int i = sources[0].length - 1; i>=0; i--) {
+++            final FileObject sr = sources[0][i];
+++            if (!cosActive) {
+++                URL srURL = sr.toURL();
+++                File index = JavaIndex.getClassFolder(srURL, true);
+++
+++                if (index == null) {
+++                    //#181992: (not nice) ignore the annotation processing target directory:
+++                    if (srURL.equals(AnnotationProcessingQuery.getAnnotationProcessingOptions(sr).sourceOutputDirectory())) {
+++                        continue;
+++                    }
+++
+++                    return null;
+++                }
+++
+++                copyRecursively(index, targetFolder);
+++            }
+++
+++            if (copyResources) {
+++                Set<String> javaMimeTypes = COSSynchronizingIndexer.gatherJavaMimeTypes();
+++                String[]    javaMimeTypesArr = javaMimeTypes.toArray(new String[0]);
+++
+++                copyRecursively(sr, targetFolder, javaMimeTypes, javaMimeTypesArr);
+++            }
+++        }
+++
+++        if (!cosActive) {
+++            new FileOutputStream(tagFile).close();
+++        }
+++
+++        if (keepResourceUpToDate)
+++            new FileOutputStream(tagUpdateResourcesFile).close();
+++        
+++        return true;
++     }
++     
++     @SuppressWarnings("deprecation")
++     public static Boolean clean(URL sourceRoot) throws IOException {
++-        final CompileOnSaveAction a = CompileOnSaveActionQuery.getAction(sourceRoot);
++-        if (a != null) {
++-            final CompileOnSaveAction.Context ctx = CompileOnSaveAction.Context.clean(sourceRoot);
++-            return a.performAction(ctx);
+++        File targetFolder = getTarget(sourceRoot);
+++
+++        if (targetFolder == null) {
+++            return null;
+++        }
+++
+++        File tagFile = new File(targetFolder, TAG_FILE_NAME);
+++
+++        if (!tagFile.exists()) {
+++            return null;
++         }
+++
+++        try {
+++            SourceUtils.waitScanFinished();
+++        } catch (InterruptedException e) {
+++            //Not Important
+++            LOG.log(Level.FINE, null, e);
+++            return false;
+++        }
+++
+++        delete(targetFolder, false);
+++        delete(tagFile, true);
+++
++         return null;
++     }
++ 
++-    public static boolean isUpdateClasses(URL sourceRoot) {
++-        final CompileOnSaveAction a = CompileOnSaveActionQuery.getAction(sourceRoot);
++-        return a != null ? 
++-                a.isUpdateClasses():
++-                false;        
+++    public static File getTargetFolder(URL sourceRoot) {
+++        File targetFolder = getTarget(sourceRoot);
+++
+++        if (targetFolder == null) {
+++            return null;
+++        }
+++
+++        if (!new File(targetFolder, TAG_FILE_NAME).exists()) {
+++            return null;
+++        }
+++        
+++        return targetFolder;
++     }
++ 
++-    public static boolean isUpdateResources(URL srcRoot) {
++-        final CompileOnSaveAction a = CompileOnSaveActionQuery.getAction(srcRoot);
++-        return a != null ? 
++-                a.isUpdateResources():
++-                false;                
+++    public static boolean isUpdateResources(File targetFolder) {
+++        return targetFolder != null && new File(targetFolder, TAG_UPDATE_RESOURCES).exists();
++     }
++ 
++     public static void classCacheUpdated(URL sourceRoot, File cacheRoot, Iterable<File> deleted, Iterable<File> updated, boolean resource) {
++-        final CompileOnSaveAction a = CompileOnSaveActionQuery.getAction(sourceRoot);
++-        if (a != null) {
+++        if (!deleted.iterator().hasNext() && !updated.iterator().hasNext()) {
+++            return ;
+++        }
+++
+++        File targetFolder = getTargetFolder(sourceRoot);
+++
+++        if (targetFolder == null) {
+++            return ;
+++        }
+++
+++        if (resource && !isUpdateResources(targetFolder)) {
+++            return ;
+++        }
+++        
+++        List<File> updatedFiles = new LinkedList<File>();
+++
+++        for (File deletedFile : deleted) {
+++            final String relPath = relativizeFile(cacheRoot, deletedFile);
+++            if (relPath == null) {
+++                throw new IllegalArgumentException (String.format(
+++                    "Deleted file: %s is not under cache root: %s, (normalized file: %s).", //NOI18N
+++                    deletedFile.getAbsolutePath(),
+++                    cacheRoot.getAbsolutePath(),
+++                    FileUtil.normalizeFile(deletedFile).getAbsolutePath()));
+++            }
+++            File toDelete = resolveFile(targetFolder, relPath);
+++            
+++            toDelete.delete();
+++            updatedFiles.add(toDelete);
+++        }
+++
+++        for (File updatedFile : updated) {
+++            final String relPath = relativizeFile(cacheRoot, updatedFile);
+++            if (relPath == null) {
+++                throw new IllegalArgumentException (String.format(
+++                    "Updated file: %s is not under cache root: %s, (normalized file: %s).", //NOI18N
+++                    updatedFile.getAbsolutePath(),
+++                    cacheRoot.getAbsolutePath(),
+++                    FileUtil.normalizeFile(updatedFile).getAbsolutePath()));
+++            }
+++            File target = resolveFile(targetFolder, relPath);                        
+++
++             try {
++-                final CompileOnSaveAction.Context ctx = CompileOnSaveAction.Context.update(
++-                        sourceRoot,
++-                        resource,
++-                        cacheRoot,
++-                        updated,
++-                        deleted,
++-                        (updatedFiles) -> fire(sourceRoot, updatedFiles));
++-                a.performAction(ctx);
+++                copyFile(updatedFile, target);
+++                updatedFiles.add(target);
++             } catch (IOException ex) {
++                 Exceptions.printStackTrace(ex);
++             }
++         }
++-    }
++-    
++-    private static void fire(
++-            @NonNull final URL sourceRoot,
++-            @NonNull final Iterable<File> updatedFiles) {
++-        if (updatedFiles.iterator().hasNext()) {
+++
+++        if (updatedFiles.size() > 0) {
++             Set<ArtifactsUpdated> listeners;
+++
++             synchronized (BuildArtifactMapperImpl.class) {
++                 listeners = source2Listener.get(sourceRoot);
+++
++                 if (listeners != null) {
++-                    listeners = new HashSet<>(listeners);
+++                    listeners = new HashSet<ArtifactsUpdated>(listeners);
++                 }
++             }
+++
++             if (listeners != null) {
++                 for (ArtifactsUpdated listener : listeners) {
++                     listener.artifactsUpdated(updatedFiles);
++@@ -252,7 +405,7 @@ public class BuildArtifactMapperImpl {
++             }
++         }
++     }
++-    
+++
++     private static void copyFile(File updatedFile, File target) throws IOException {
++         final File parent = target.getParentFile();
++         if (parent != null && !parent.exists()) {
++@@ -539,44 +692,59 @@ public class BuildArtifactMapperImpl {
++                     return delegate;
++                 }
++ 
++-                final CompileOnSaveAction action = CompileOnSaveActionQuery.getAction(owner.toURL());
++-                if (action == null) {
++-                    return delegate;
++-                }
+++                File target = getTarget(owner.getURL());
+++                File tagFile = FileUtil.normalizeFile(new File(target, TAG_FILE_NAME));
++ 
++                 synchronized(this) {
+++                    Reference<FileChangeListenerImpl> ref = file2Listener.get(tagFile);
+++                    FileChangeListenerImpl l = ref != null ? ref.get() : null;
+++
+++                    if (l == null) {
+++                        file2Listener.put(tagFile, new WeakReference<FileChangeListenerImpl>(l = new FileChangeListenerImpl()));
+++                        listener2File.put(l, tagFile);
+++                        FileChangeSupport.DEFAULT.addListener(l, tagFile);
+++                    }
+++
++                     Reference<Status> prevRef = file2Status.get(file);
++                     result = prevRef != null ? prevRef.get() : null;
++ 
++                     if (result == null) {
++-                        file2Status.put(file, new WeakReference<Status>(result = new FileBuiltQueryStatusImpl(delegate, action)));
+++                        file2Status.put(file, new WeakReference<Status>(result = new FileBuiltQueryStatusImpl(delegate, tagFile, l)));
++                     }
++ 
++                     return result;
++-                }            
+++                }
+++            } catch (FileStateInvalidException ex) {
+++                Exceptions.printStackTrace(ex);
+++                return null;
++             } finally {
++                 recursive.remove();
++             }
++         }
++         
++     }
+++
+++    private static Map<File, Reference<FileChangeListenerImpl>> file2Listener = new WeakHashMap<File, Reference<FileChangeListenerImpl>>();
+++    private static Map<FileChangeListenerImpl, File> listener2File = new WeakHashMap<FileChangeListenerImpl, File>();
++     
++     private static final class FileBuiltQueryStatusImpl implements FileBuiltQuery.Status, ChangeListener {
++ 
++         private final FileBuiltQuery.Status delegate;
++-        private final CompileOnSaveAction action;
+++        private final File tag;
+++        private final FileChangeListenerImpl fileListener;
++         private final ChangeSupport cs = new ChangeSupport(this);
++ 
++-        public FileBuiltQueryStatusImpl(Status delegate, CompileOnSaveAction action) {
+++        public FileBuiltQueryStatusImpl(Status delegate, File tag, FileChangeListenerImpl fileListener) {
++             this.delegate = delegate;
++-            this.action = action;
+++            this.tag = tag;
+++            this.fileListener = fileListener;
++ 
++             delegate.addChangeListener(this);
++-            action.addChangeListener(WeakListeners.change(this, action));
+++            fileListener.addListener(this);
++         }
++ 
++         public boolean isBuilt() {
++-            return delegate.isBuilt() || action.isUpdateClasses();
+++            return delegate.isBuilt() || tag.canRead();
++         }
++ 
++         public void addChangeListener(ChangeListener l) {
++@@ -626,287 +794,5 @@ public class BuildArtifactMapperImpl {
++                 }
++             });
++         }
++-    }       
++-
++-    private static final class DefaultCompileOnSaveAction implements CompileOnSaveAction, ChangeListener {
++-        //@GuardedBy("file2Listener")
++-        private static Map<File, Reference<FileChangeListenerImpl>> file2Listener = new WeakHashMap<>();
++-        //@GuardedBy("file2Listener")
++-        private static Map<FileChangeListenerImpl, File> listener2File = new WeakHashMap<>();
++-        
++-        private final URL root;
++-        private final ChangeSupport cs;
++-        //@GuardedBy("file2Listener")
++-        private FileChangeListenerImpl listenerDelegate;
++-        
++-        DefaultCompileOnSaveAction(@NonNull final URL root) {
++-            this.root = root;
++-            this.cs = new ChangeSupport(this);
++-        }
++-        
++-        public boolean isEnabled() {
++-            return true;
++-        }
++-        
++-        @Override
++-        public boolean isUpdateClasses() {
++-            return isUpdateClasses(CompileOnSaveAction.Context.getTarget(root));
++-        }
++-        
++-        @Override
++-        public boolean isUpdateResources() {
++-            return isUpdateResources(CompileOnSaveAction.Context.getTarget(root));
++-        }
++-
++-        @Override
++-        public Boolean performAction(@NonNull final Context ctx) throws IOException {
++-            assert root.equals(ctx.getSourceRoot());
++-            switch (ctx.getOperation()) {
++-                case CLEAN:
++-                    return performClean(ctx);
++-                case SYNC:
++-                    return performSync(ctx);
++-                case UPDATE:
++-                    return performUpdate(ctx);
++-                default:
++-            }       throw new IllegalArgumentException(String.valueOf(ctx.getOperation()));
++-        }
++-
++-        @Override
++-        public void addChangeListener(@NonNull final ChangeListener listener) {
++-            final File target = CompileOnSaveAction.Context.getTarget(root);
++-            final File tagFile = FileUtil.normalizeFile(new File(target, TAG_FILE_NAME));
++-            synchronized (file2Listener) {
++-                if (listenerDelegate == null) {
++-                    final Reference<FileChangeListenerImpl> ref = file2Listener.get(tagFile);
++-                    FileChangeListenerImpl l = ref != null ? ref.get() : null;
++-                    if (l == null) {
++-                        file2Listener.put(tagFile, new WeakReference<FileChangeListenerImpl>(l = new FileChangeListenerImpl()));
++-                        listener2File.put(l, tagFile);
++-                        FileChangeSupport.DEFAULT.addListener(l, tagFile);
++-                        //Need to hold l
++-                    }
++-                    listenerDelegate = l;
++-                    listenerDelegate.addListener(this);
++-                }
++-            }
++-            cs.addChangeListener(listener);
++-        }
++-
++-        @Override
++-        public void removeChangeListner(@NonNull final ChangeListener listener) {
++-            cs.removeChangeListener(listener);
++-        }
++-
++-        @Override
++-        public void stateChanged(@NonNull final ChangeEvent e) {
++-            cs.fireChange();
++-        }                
++-        
++-        private Boolean performClean(@NonNull final Context ctx) throws IOException {
++-            final File targetFolder = ctx.getTarget();
++-
++-            if (targetFolder == null) {
++-                return null;
++-            }
++-
++-            File tagFile = new File(targetFolder, TAG_FILE_NAME);
++-
++-            if (!tagFile.exists()) {
++-                return null;
++-            }
++-
++-            try {
++-                SourceUtils.waitScanFinished();
++-            } catch (InterruptedException e) {
++-                //Not Important
++-                LOG.log(Level.FINE, null, e);
++-                return false;
++-            }
++-
++-            delete(targetFolder, false);
++-            delete(tagFile, true);
++-
++-            return null;
++-        }
++-        
++-        private Boolean performSync(@NonNull final Context ctx) throws IOException {
++-            final URL sourceRoot = ctx.getSourceRoot();
++-            final File targetFolder = ctx.getTarget();
++-            final boolean copyResources = ctx.isCopyResources();
++-            final boolean keepResourceUpToDate = ctx.isKeepResourcesUpToDate();
++-            final Object context = ctx.getOwner();
++-        
++-            if (targetFolder == null) {
++-                return null;
++-            }
++-        
++-            try {
++-                SourceUtils.waitScanFinished();
++-            } catch (InterruptedException e) {
++-                //Not Important
++-                LOG.log(Level.FINE, null, e);
++-                return null;
++-            }
++-
++-            if (JavaIndex.ensureAttributeValue(sourceRoot, DIRTY_ROOT, null)) {
++-                IndexingManager.getDefault().refreshIndexAndWait(sourceRoot, null);
++-            }
++-
++-            if (JavaIndex.getAttribute(sourceRoot, DIRTY_ROOT, null) != null) {
++-                return false;
++-            }
++-        
++-            FileObject[][] sources = new FileObject[1][];
++-        
++-            if (!protectAgainstErrors(targetFolder, sources, context)) {
++-                return false;
++-            }
++-        
++-            File tagFile = new File(targetFolder, TAG_FILE_NAME);
++-            File tagUpdateResourcesFile = new File(targetFolder, TAG_UPDATE_RESOURCES);
++-            final boolean forceResourceCopy = copyResources && keepResourceUpToDate && !tagUpdateResourcesFile.exists();
++-            final boolean cosActive = tagFile.exists();
++-            if (cosActive && !forceResourceCopy) {
++-                return true;
++-            }
++-
++-            if (!cosActive) {
++-                delete(targetFolder, false/*#161085: cleanCompletely*/);
++-            }
++-
++-            if (!targetFolder.exists() && !targetFolder.mkdirs()) {
++-                throw new IOException("Cannot create destination folder: " + targetFolder.getAbsolutePath());
++-            }
++-
++-            sources(targetFolder, sources);
++-
++-            for (int i = sources[0].length - 1; i>=0; i--) {
++-                final FileObject sr = sources[0][i];
++-                if (!cosActive) {
++-                    URL srURL = sr.toURL();
++-                    File index = JavaIndex.getClassFolder(srURL, true);
++-
++-                    if (index == null) {
++-                        //#181992: (not nice) ignore the annotation processing target directory:
++-                        if (srURL.equals(AnnotationProcessingQuery.getAnnotationProcessingOptions(sr).sourceOutputDirectory())) {
++-                            continue;
++-                        }
++-
++-                        return null;
++-                    }
++-
++-                    copyRecursively(index, targetFolder);
++-                }
++-
++-                if (copyResources) {
++-                    Set<String> javaMimeTypes = COSSynchronizingIndexer.gatherJavaMimeTypes();
++-                    String[]    javaMimeTypesArr = javaMimeTypes.toArray(new String[0]);
++-
++-                    copyRecursively(sr, targetFolder, javaMimeTypes, javaMimeTypesArr);
++-                }
++-            }
++-
++-            if (!cosActive) {
++-                new FileOutputStream(tagFile).close();
++-            }
++-
++-            if (keepResourceUpToDate)
++-                new FileOutputStream(tagUpdateResourcesFile).close();
++-        
++-            return true;
++-        }
++-        
++-        private Boolean performUpdate(@NonNull final Context ctx) throws IOException {
++-            final Iterable<? extends File> deleted = ctx.getDeleted();
++-            final Iterable<? extends File> updated = ctx.getUpdated();
++-            final boolean resource = ctx.isCopyResources();
++-            final File cacheRoot = ctx.getCacheRoot();
++-            if (!deleted.iterator().hasNext() && !updated.iterator().hasNext()) {
++-                return null;
++-            }
++-            File targetFolder = ctx.getTarget();
++-            if (targetFolder == null) {
++-                return null;
++-            }
++-            if (!isUpdateClasses(targetFolder)) {
++-                return null;
++-            }
++-
++-            if (resource && !isUpdateResources(targetFolder)) {
++-                return null;
++-            }
++-        
++-            List<File> updatedFiles = new LinkedList<>();
++-
++-            for (File deletedFile : deleted) {
++-                final String relPath = relativizeFile(cacheRoot, deletedFile);
++-                if (relPath == null) {
++-                    throw new IllegalArgumentException (String.format(
++-                        "Deleted file: %s is not under cache root: %s, (normalized file: %s).", //NOI18N
++-                        deletedFile.getAbsolutePath(),
++-                        cacheRoot.getAbsolutePath(),
++-                        FileUtil.normalizeFile(deletedFile).getAbsolutePath()));
++-                }
++-                File toDelete = resolveFile(targetFolder, relPath);
++-
++-                toDelete.delete();
++-                updatedFiles.add(toDelete);
++-            }
++-
++-            for (File updatedFile : updated) {
++-                final String relPath = relativizeFile(cacheRoot, updatedFile);
++-                if (relPath == null) {
++-                    throw new IllegalArgumentException (String.format(
++-                        "Updated file: %s is not under cache root: %s, (normalized file: %s).", //NOI18N
++-                        updatedFile.getAbsolutePath(),
++-                        cacheRoot.getAbsolutePath(),
++-                        FileUtil.normalizeFile(updatedFile).getAbsolutePath()));
++-                }
++-                File target = resolveFile(targetFolder, relPath);                        
++-
++-                try {
++-                    copyFile(updatedFile, target);
++-                    updatedFiles.add(target);
++-                } catch (IOException ex) {
++-                    Exceptions.printStackTrace(ex);
++-                }
++-            }
++-            ctx.filesUpdated(updatedFiles);
++-            return true;
++-        }
++-        
++-        private boolean isUpdateClasses(@NullAllowed final File targetFolder) {
++-            if (targetFolder == null) {
++-                return false;
++-            }
++-            return new File(targetFolder, TAG_FILE_NAME).exists();
++-        }
++-        
++-        private boolean isUpdateResources(@NullAllowed final File targetFolder) {
++-            if (targetFolder == null) {
++-                return false;
++-            }
++-            return new File(targetFolder, TAG_UPDATE_RESOURCES).exists();
++-        }
++-    }
++-    
++-    @ServiceProvider(service = CompileOnSaveAction.Provider.class, position = Integer.MAX_VALUE)
++-    public static final class Provider implements CompileOnSaveAction.Provider {
++-        //@GuardedBy("normCache")
++-        private final Map<URL,Reference<DefaultCompileOnSaveAction>> normCache
++-                = new WeakHashMap<>();
++-        @Override
++-        public CompileOnSaveAction forRoot(@NonNull final URL root) {
++-            synchronized (normCache) {
++-                final Reference<DefaultCompileOnSaveAction> ref = normCache.get(root);
++-                DefaultCompileOnSaveAction res;
++-                if (ref == null || (res = ref.get()) == null) {
++-                    res = new DefaultCompileOnSaveAction(root);
++-                    normCache.put(root, new WeakReference<>(res));
++-                }
++-                return res;
++-            }
++-        }        
++     }
++ }
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java b/java.source.base/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java
++index d5bdd68c6..858000c4e 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/ClassIndexImpl.java
++@@ -144,7 +144,7 @@ public abstract class ClassIndexImpl {
++             name,
++             kind,
++             scope,
++-            DocumentUtil.declaredTypesFieldSelector(false, false),
+++            DocumentUtil.declaredTypesFieldSelector(false),
++             convertor,
++             result);
++     }
++@@ -265,7 +265,7 @@ public abstract class ClassIndexImpl {
++     
++     public static interface Writer {
++         void clear() throws IOException;
++-        void deleteAndStore(final List<Pair<Pair<BinaryName,String>, Object[]>> refs, final Set<Pair<String,String>> toDelete) throws IOException;
+++        void deleteAndStore(final List<Pair<Pair<String,String>, Object[]>> refs, final Set<Pair<String,String>> toDelete) throws IOException;
++         /**
++          * Different from deleteAndStore in that the data is NOT committed, but just flushed. Make sure, deleteAndStore is called from the
++          * indexer's finish!
++@@ -274,7 +274,7 @@ public abstract class ClassIndexImpl {
++          * @param toDelete
++          * @throws IOException 
++          */
++-        void deleteAndFlush(final List<Pair<Pair<BinaryName,String>, Object[]>> refs, final Set<Pair<String,String>> toDelete) throws IOException;
+++        void deleteAndFlush(final List<Pair<Pair<String,String>, Object[]>> refs, final Set<Pair<String,String>> toDelete) throws IOException;
++         
++         /**
++          * Flushes any pending data from deleteAndFlush as if deleteAndStore was called with empty collections
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/ClasspathInfoAccessor.java b/java.source.base/src/org/netbeans/modules/java/source/usages/ClasspathInfoAccessor.java
++index 78f1e8738..858731902 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/ClasspathInfoAccessor.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/ClasspathInfoAccessor.java
++@@ -44,7 +44,6 @@
++ 
++ package org.netbeans.modules.java.source.usages;
++ 
++-import java.util.function.Function;
++ import javax.tools.JavaFileManager;
++ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.api.java.source.ClasspathInfo;
++@@ -55,7 +54,6 @@ import org.openide.filesystems.FileObject;
++ import java.util.logging.Logger;
++ import java.util.logging.Level;
++ import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.api.annotations.common.NullAllowed;
++ import org.netbeans.modules.java.source.parsing.FileManagerTransaction;
++ 
++ /**
++@@ -91,16 +89,14 @@ public abstract class ClasspathInfoAccessor {
++     
++     public abstract ClassPath getCachedClassPath (ClasspathInfo cpInfo, ClasspathInfo.PathKind kind);
++         
++-    public abstract ClasspathInfo create (
++-            ClassPath bootPath,
+++    public abstract ClasspathInfo create (ClassPath bootPath,
++             ClassPath compilePath,
++             ClassPath sourcePath,
++             JavaFileFilterImplementation filter,
++             boolean backgroundCompilation,
++             boolean ignoreExcludes,
++             boolean hasMemoryFileManager,
++-            boolean useModifiedFiles,
++-            @NullAllowed Function<JavaFileManager.Location, JavaFileManager> jfmProvider);
+++            boolean useModifiedFiles);
++ 
++     public abstract ClasspathInfo create (FileObject fo,
++             JavaFileFilterImplementation filter,
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/DocumentUtil.java b/java.source.base/src/org/netbeans/modules/java/source/usages/DocumentUtil.java
++index bf9d397d4..e9a781a2b 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/DocumentUtil.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/DocumentUtil.java
++@@ -103,6 +103,7 @@ public class DocumentUtil {
++     private static final String FIELD_SOURCE = "source";                //NOI18N
++     private static final String FIELD_REFERENCES = "references";        //NOI18N
++ 
+++    private static final char PKG_SEPARATOR = '.';                      //NOI18N
++     private static final char NO = '-';                                 //NOI18N
++     private static final char YES = '+';                                //NOI18N
++     private static final char WILDCARD_QUERY_WILDCARD = '?';            //NOI18N
++@@ -151,7 +152,7 @@ public class DocumentUtil {
++         return new SourceNameConvertor();
++     }
++ 
++-    static Convertor<Pair<Pair<BinaryName,String>,Object[]>,Document> documentConvertor() {
+++    static Convertor<Pair<Pair<String,String>,Object[]>,Document> documentConvertor() {
++         return new DocumentConvertor();
++     }
++ 
++@@ -191,7 +192,7 @@ public class DocumentUtil {
++         if (pkg.length() == 0) {
++             return snName;
++         }
++-        return  pkg + BinaryName.PKG_SEPARATOR + snName;   //NO I18N
+++        return  pkg + PKG_SEPARATOR + snName;   //NO I18N
++     }
++ 
++     public static String getSimpleBinaryName (final Document doc) {
++@@ -204,13 +205,6 @@ public class DocumentUtil {
++             return binName.substring(0, binName.length()-1);
++         }
++     }
++-    
++-    public static String getSimpleName(final Document doc) {
++-        final Fieldable field = doc.getFieldable(FIELD_SIMPLE_NAME);
++-        return field == null ?
++-                null :
++-                field.stringValue();
++-    }
++ 
++     public static boolean isLocal(@NonNull final Document doc) {
++         Fieldable fld = doc.getFieldable(FIELD_BINARY_NAME);
++@@ -240,7 +234,7 @@ public class DocumentUtil {
++     //Term and query factories
++     static Query binaryNameQuery (final String resourceName) {
++         final BooleanQuery query = new BooleanQuery ();
++-        int index = resourceName.lastIndexOf(BinaryName.PKG_SEPARATOR);  // NOI18N
+++        int index = resourceName.lastIndexOf(PKG_SEPARATOR);  // NOI18N
++         String pkgName, sName;
++         if (index < 0) {
++             pkgName = "";   // NOI18N
++@@ -278,19 +272,35 @@ public class DocumentUtil {
++     }
++ 
++     //Factories for lucene document
++-    private static Document createDocument (final BinaryName name,
+++    private static Document createDocument (final String binaryName,
++             List<String> references,
++             String featureIdents,
++             String idents,
++             String source) {
+++        assert binaryName != null;
++         assert references != null;
++-        
++-        final String pkgName = name.getPackage();         //Package
++-        final String fileName = name.getClassNameKind();  //name with no package and appended type character
++-        assert fileName.length() > 1 : "BinaryName with type char: " + name +
+++        int index = binaryName.lastIndexOf(PKG_SEPARATOR);  //NOI18N
+++        final String fileName;      //name with no package and appended type character
+++        final String pkgName;       //Package
+++        if (index<0) {
+++            fileName = binaryName;
+++            pkgName = "";                           //NOI18N
+++        }
+++        else {
+++            fileName = binaryName.substring(index+1);
+++            pkgName = binaryName.substring(0,index);
+++        }
+++        assert fileName.length() > 1 : "BinaryName with type char: " + binaryName +
++                                        ", Package: " + pkgName +
++                                        ", FileName with type char: " + fileName;
++-        String  simpleName = name.getSimpleName();
+++        final String  simpleName;
+++        index = fileName.lastIndexOf('$');  //NOI18N
+++        if (index<0) {
+++            simpleName = fileName.substring(0, fileName.length()-1);
+++        }
+++        else {
+++            simpleName = fileName.substring(index+1,fileName.length()-1);
+++        }
++         final String caseInsensitiveName = simpleName.toLowerCase();         //XXX: I18N, Locale
++         Document doc = new Document ();
++         Field field = new Field (FIELD_BINARY_NAME,fileName,Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS);
++@@ -406,16 +416,10 @@ public class DocumentUtil {
++     }
++ 
++ 
++-    public static FieldSelector declaredTypesFieldSelector (
++-            final boolean includeSource,
++-            final boolean includeSimpleName) {
+++    public static FieldSelector declaredTypesFieldSelector (final boolean includeSource) {
++         return includeSource ?
++-            includeSimpleName ?
++-                Queries.createFieldSelector(FIELD_PACKAGE_NAME, FIELD_BINARY_NAME, FIELD_SIMPLE_NAME, FIELD_SOURCE) :
++-                Queries.createFieldSelector(FIELD_PACKAGE_NAME, FIELD_BINARY_NAME, FIELD_SOURCE) :
++-            includeSimpleName ?
++-                Queries.createFieldSelector(FIELD_PACKAGE_NAME, FIELD_BINARY_NAME, FIELD_SIMPLE_NAME) :
++-                Queries.createFieldSelector(FIELD_PACKAGE_NAME, FIELD_BINARY_NAME);
+++            Queries.createFieldSelector(FIELD_PACKAGE_NAME, FIELD_BINARY_NAME, FIELD_SOURCE) :
+++            Queries.createFieldSelector(FIELD_PACKAGE_NAME,FIELD_BINARY_NAME);
++     }
++ 
++     static FieldSelector sourceNameFieldSelector () {
++@@ -617,11 +621,11 @@ public class DocumentUtil {
++         }
++     }
++ 
++-    private static class DocumentConvertor implements Convertor<Pair<Pair<BinaryName,String>,Object[]>,Document> {
+++    private static class DocumentConvertor implements Convertor<Pair<Pair<String,String>,Object[]>,Document> {
++         @Override
++-        public Document convert(Pair<Pair<BinaryName, String>, Object[]> entry) {
++-            final Pair<BinaryName,String> pair = entry.first();
++-            final BinaryName cn = pair.first();
+++        public Document convert(Pair<Pair<String, String>, Object[]> entry) {
+++            final Pair<String,String> pair = entry.first();
+++            final String cn = pair.first();
++             final String srcName = pair.second();
++             final Object[] data = entry.second();
++             final List<String> cr = (List<String>) data[0];
++@@ -674,7 +678,7 @@ public class DocumentUtil {
++         private static BooleanQuery createFQNQuery(final String resourceName) {
++             String pkgName;
++             String sName;
++-            int index = resourceName.lastIndexOf(BinaryName.PKG_SEPARATOR);
+++            int index = resourceName.lastIndexOf(DocumentUtil.PKG_SEPARATOR);
++             if (index < 0) {
++                 pkgName = "";       //NOI18N
++                 sName = resourceName;
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/LongHashMap.java b/java.source.base/src/org/netbeans/modules/java/source/usages/LongHashMap.java
++index d2d9a472b..0f02d20d3 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/LongHashMap.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/LongHashMap.java
++@@ -43,12 +43,11 @@
++ package org.netbeans.modules.java.source.usages;
++ 
++ import java.util.*;
++-import org.netbeans.api.annotations.common.NonNull;
++ 
++ /**
++  * Todo: Copied from parsing API, also in cnd - should be part of API?
++  */
++-public class LongHashMap<K> //extends AbstractMap<K>
+++class LongHashMap<K> //extends AbstractMap<K>
++ //implements Map<K>, Cloneable, Serializable
++ {
++ 
++@@ -155,17 +154,6 @@ public class LongHashMap<K> //extends AbstractMap<K>
++         init();
++     }
++ 
++-    /**
++-     * Creates a new {@link LongHashMap} as a copy of given map.
++-     * @param m the {@link LongHashMap} to copy.
++-     */
++-    public LongHashMap(@NonNull final LongHashMap<K> m) {
++-        this(m.size(),DEFAULT_LOAD_FACTOR);
++-        for (LongHashMap.Entry<K> e : m.entrySet()) {
++-            put(e.getKey(), e.getValue());
++-        }
++-    }
++-
++     // internal utilities
++     /**
++      * Initialization hook for subclasses. This method is called
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java b/java.source.base/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java
++index 8224217b9..f73dfaf5c 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/PersistentClassIndex.java
++@@ -252,9 +252,9 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++                                 QueryUtil.createPackageUsagesQuery(binaryName,usageType,Occur.SHOULD),
++                                 scope);
++                         if (q!=null) {
++-                            index.query(result, ctu.first(), DocumentUtil.declaredTypesFieldSelector(false, false), cancel.get(), q);
+++                            index.query(result, ctu.first(), DocumentUtil.declaredTypesFieldSelector(false), cancel.get(), q);
++                             if (ctu.second() != null) {
++-                                ctu.second().query(result, convertor, DocumentUtil.declaredTypesFieldSelector(false, false), cancel.get(), q);
+++                                ctu.second().query(result, convertor, DocumentUtil.declaredTypesFieldSelector(false), cancel.get(), q);
++                             }
++                         }
++                         return null;
++@@ -278,9 +278,9 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++                                     QueryUtil.createUsagesQuery(binaryName, usageType, Occur.SHOULD),
++                                     scope);
++                             if (usagesQuery != null) {
++-                                index.query(result, ctu.first(), DocumentUtil.declaredTypesFieldSelector(false, false), cancel.get(), usagesQuery);
+++                                index.query(result, ctu.first(), DocumentUtil.declaredTypesFieldSelector(false), cancel.get(), usagesQuery);
++                                 if (ctu.second() != null) {
++-                                    ctu.second().query(result, convertor, DocumentUtil.declaredTypesFieldSelector(false, false), cancel.get(), usagesQuery);
+++                                    ctu.second().query(result, convertor, DocumentUtil.declaredTypesFieldSelector(false), cancel.get(), usagesQuery);
++                                 }
++                             }
++                             return null;
++@@ -357,7 +357,7 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++                             result,
++                             ctu.first(),
++                             t2s,
++-                            DocumentUtil.declaredTypesFieldSelector(false, false),
+++                            DocumentUtil.declaredTypesFieldSelector(false),
++                             cancel.get(),
++                             query);
++                     if (ctu.second() != null) {
++@@ -365,7 +365,7 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++                             result,
++                             convertor,
++                             t2s,
++-                            DocumentUtil.declaredTypesFieldSelector(false, false),
+++                            DocumentUtil.declaredTypesFieldSelector(false),
++                             cancel.get(),
++                             query);
++                     }
++@@ -497,7 +497,7 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++         }
++ 
++         @Override
++-        public void deleteAndFlush(List<Pair<Pair<BinaryName, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
+++        public void deleteAndFlush(List<Pair<Pair<String, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
++             resetPkgCache();
++             if (index instanceof Index.Transactional) {
++                 ((Index.Transactional)index).txStore(refs, toDelete, DocumentUtil.documentConvertor(), DocumentUtil.queryClassConvertor());
++@@ -523,7 +523,7 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++ 
++ 
++         @Override
++-        public void deleteAndStore(List<Pair<Pair<BinaryName,String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
+++        public void deleteAndStore(List<Pair<Pair<String,String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
++             resetPkgCache();
++             index.store(refs, toDelete, DocumentUtil.documentConvertor(), DocumentUtil.queryClassConvertor(), true);
++         }
++@@ -649,8 +649,8 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++                                 });
++                     }
++                 }
++-                final List<Pair<Pair<BinaryName, String>, Object[]>> data =
++-                        (List<Pair<Pair<BinaryName, String>, Object[]>>) dataHolder[0];
+++                final List<Pair<Pair<String, String>, Object[]>> data =
+++                        (List<Pair<Pair<String, String>, Object[]>>) dataHolder[0];
++                 if (data != null) {
++                     if (filter == null) {
++                         try {
++@@ -664,7 +664,7 @@ public final class PersistentClassIndex extends ClassIndexImpl {
++                                 index.query(
++                                         filter,
++                                         DocumentUtil.binaryNameConvertor(),
++-                                        DocumentUtil.declaredTypesFieldSelector(false, false),
+++                                        DocumentUtil.declaredTypesFieldSelector(false),
++                                         null,
++                                         DocumentUtil.queryClassWithEncConvertor(true).convert(Pair.<String,String>of(clsName,relPath)));
++                             } else {
++diff --git a/java.source.base/src/org/netbeans/modules/java/source/usages/SourceAnalyzerFactory.java b/java.source.base/src/org/netbeans/modules/java/source/usages/SourceAnalyzerFactory.java
++index 6a6cf1fe1..f20b7839c 100644
++--- a/java.source.base/src/org/netbeans/modules/java/source/usages/SourceAnalyzerFactory.java
+++++ b/java.source.base/src/org/netbeans/modules/java/source/usages/SourceAnalyzerFactory.java
++@@ -42,8 +42,7 @@
++ package org.netbeans.modules.java.source.usages;
++ 
++ import com.sun.source.tree.*;
++-import com.sun.source.util.TreePathScanner;
++-import com.sun.source.util.Trees;
+++import com.sun.source.util.TreeScanner;
++ import com.sun.tools.javac.api.JavacTaskImpl;
++ import com.sun.tools.javac.code.Kinds;
++ import com.sun.tools.javac.code.Symbol;
++@@ -149,7 +148,7 @@ public final class SourceAnalyzerFactory {
++                 final Set<? super ElementHandle<TypeElement>> newTypes,
++                 final /*out*/boolean[] mainMethod) throws IOException {
++             final JavaFileManager manager = jt.getContext().get(JavaFileManager.class);
++-            final Map<Pair<BinaryName, String>,UsagesData<String>> usages = new HashMap<>();
+++            final Map<Pair<String, String>,UsagesData<String>> usages = new HashMap<Pair<String,String>,UsagesData<String>>();
++             for (CompilationUnitTree cu : data) {
++                 try {
++                     UsagesVisitor uv = new UsagesVisitor (jt, cu, manager, tuple.jfo, newTypes, tuple);
++@@ -199,8 +198,8 @@ public final class SourceAnalyzerFactory {
++             //Ideally not even usegas will be calculated but it will propagate the storeIndex
++             //through the UsagesVisitor
++             if (tuple.index) {
++-                for (Map.Entry<Pair<BinaryName,String>,UsagesData<String>> oe : usages.entrySet()) {
++-                    final Pair<BinaryName,String> key = oe.getKey();
+++                for (Map.Entry<Pair<String,String>,UsagesData<String>> oe : usages.entrySet()) {
+++                    final Pair<String,String> key = oe.getKey();
++                     final UsagesData<String> value = oe.getValue();
++                     addClassReferences (key,value);
++                 }
++@@ -247,7 +246,7 @@ public final class SourceAnalyzerFactory {
++          * @throws IOException in case of IO error
++          */
++         @CheckForNull
++-        public List<Pair<Pair<BinaryName, String>, Object[]>> analyseUnit (
+++        public List<Pair<Pair<String, String>, Object[]>> analyseUnit (
++                 @NonNull final CompilationUnitTree cu,
++                 @NonNull final JavacTaskImpl jt) throws IOException {
++             if (used) {
++@@ -255,13 +254,13 @@ public final class SourceAnalyzerFactory {
++             }
++             used = true;
++             try {
++-                final Map<Pair<BinaryName,String>,UsagesData<String>> usages = new HashMap<> ();
++-                final Set<Pair<String,String>> topLevels = new HashSet<>();
+++                final Map<Pair<String,String>,UsagesData<String>> usages = new HashMap<Pair<String,String>,UsagesData<String>> ();
+++                final Set<Pair<String,String>> topLevels = new HashSet<Pair<String,String>>();
++                 final JavaFileManager jfm = jt.getContext().get(JavaFileManager.class);
++                 final UsagesVisitor uv = new UsagesVisitor (jt, cu, jfm, cu.getSourceFile(), topLevels);
++                 uv.scan(cu,usages);
++-                for (Map.Entry<Pair<BinaryName,String>,UsagesData<String>> oe : usages.entrySet()) {
++-                    final Pair<BinaryName,String> key = oe.getKey();
+++                for (Map.Entry<Pair<String,String>,UsagesData<String>> oe : usages.entrySet()) {
+++                    final Pair<String,String> key = oe.getKey();
++                     final UsagesData<String> data = oe.getValue();
++                     addClassReferences (key,data);
++                 }
++@@ -277,29 +276,35 @@ public final class SourceAnalyzerFactory {
++     }
++     
++     private static class BaseAnalyzer {
++-        protected final List<Pair<Pair<BinaryName, String>, Object[]>> references = new ArrayList<>();
++-        protected final Set<Pair<String,String>> toDelete = new HashSet<> ();
+++        protected final List<Pair<Pair<String, String>, Object[]>> references = new ArrayList<Pair<Pair<String, String>, Object[]>>();
+++        protected final Set<Pair<String,String>> toDelete = new HashSet<Pair<String,String>> ();
++         
++-        protected final void addClassReferences (final Pair<BinaryName,String> name, final UsagesData<String> data) {
+++        protected final void addClassReferences (final Pair<String,String> name, final UsagesData<String> data) {
++             assert name != null;
++             assert data != null;
++             final Object[] result = new Object[3];                        
++             result[0] = data.usagesToStrings();
++             result[1] = data.featureIdentsToString();
++             result[2] = data.identsToString();
++-            this.references.add(Pair.<Pair<BinaryName,String>,Object[]>of(name,result));
+++            this.references.add(Pair.<Pair<String,String>,Object[]>of(name,result));
++         }
++     }
++         
++-    private static class UsagesVisitor extends TreePathScanner<Void,Map<Pair<BinaryName,String>,UsagesData<String>>> {
+++    private static class UsagesVisitor extends TreeScanner<Void,Map<Pair<String,String>,UsagesData<String>>> {
++ 
++         enum State {EXTENDS, IMPLEMENTS, GT, OTHER, IMPORT, PACKAGE_ANN};
++ 
++-        private static final Convertor<String,String> CONVERTOR = (String p) -> p;
+++        private static final Convertor<String,String> CONVERTOR =
+++                new Convertor<String, String>() {
+++            @Override
+++            public String convert(String p) {
+++                return p;
+++            }
+++        };
++ 
++-        private final Stack<Pair<BinaryName,String>> activeClass;
++-        private final Names names;
++-        private final Trees trees;
+++        private final Stack<Pair<String,String>> activeClass;
+++        private final Name errorName;
+++        private final Name pkgImportName;
++         private final CompilationUnitTree cu;
++         private final URL siblingUrl;
++         private final String sourceName;
++@@ -330,15 +335,30 @@ public final class SourceAnalyzerFactory {
++                 javax.tools.JavaFileObject sibling,
++                 Set<? super ElementHandle<TypeElement>> newTypes,
++                 final JavaCustomIndexer.CompileTuple tuple) throws MalformedURLException, IllegalArgumentException {
++-            this(
++-                    jt,
++-                    cu,
++-                    inferBinaryName(manager, sibling),
++-                    tuple.virtual ? tuple.indexable.getURL() : sibling.toUri().toURL(),
++-                    true,
++-                    tuple.virtual,
++-                    newTypes,
++-                    null);
+++
+++            assert jt != null;
+++            assert cu != null;
+++            assert manager != null;
+++            assert sibling != null;
+++
+++            this.activeClass = new Stack<Pair<String,String>> ();
+++            this.imports = new HashSet<Symbol> ();
+++            this.staticImports = new HashSet<Symbol> ();
+++            this.unusedPkgImports = new HashSet<Symbol>();
+++            this.importIdents = new HashSet<CharSequence>();
+++            this.packageAnnotationIdents = new HashSet<CharSequence>();
+++            this.packageAnnotations = new HashSet<Pair<Symbol, ClassIndexImpl.UsageType>>();
+++            final Names names = Names.instance(jt.getContext());
+++            this.errorName = names.error;
+++            this.pkgImportName = names.asterisk;
+++            this.state = State.OTHER;
+++            this.cu = cu;
+++            this.signatureFiles = true;
+++            this.virtual = tuple.virtual;
+++            this.siblingUrl = virtual ? tuple.indexable.getURL() : sibling.toUri().toURL();
+++            this.sourceName = inferBinaryName(manager, sibling);
+++            this.topLevels = null;
+++            this.newTypes = newTypes;
++         }
++ 
++         protected UsagesVisitor (
++@@ -347,52 +367,36 @@ public final class SourceAnalyzerFactory {
++                 JavaFileManager manager,
++                 javax.tools.JavaFileObject sibling,
++                 Set<? super Pair<String,String>> topLevels) throws MalformedURLException, IllegalArgumentException {
++-            this(
++-                    jt,
++-                    cu,
++-                    inferBinaryName(manager, sibling),
++-                    sibling.toUri().toURL(),
++-                    false,
++-                    false,
++-                    null,
++-                    topLevels);
++-        }
++ 
++-        private UsagesVisitor(
++-                @NonNull final JavacTaskImpl jt,
++-                @NonNull final CompilationUnitTree cu,
++-                @NonNull final String sourceName,
++-                @NonNull final URL siblingUrl,
++-                final boolean sigFiles,
++-                final boolean virtual,
++-                @NullAllowed final Set<? super ElementHandle<TypeElement>> newTypes,
++-                @NullAllowed final Set<? super Pair<String,String>> topLevels) {
++-            assert sourceName != null;
++             assert jt != null;
++             assert cu != null;
++-            this.activeClass = new Stack<> ();
++-            this.imports = new HashSet<> ();
++-            this.staticImports = new HashSet<> ();
++-            this.unusedPkgImports = new HashSet<>();
++-            this.importIdents = new HashSet<>();
++-            this.packageAnnotationIdents = new HashSet<>();
++-            this.packageAnnotations = new HashSet<>();
++-            this.names = Names.instance(jt.getContext());
++-            this.trees = Trees.instance(jt);
+++            assert manager != null;
+++            assert sibling != null;
+++
+++            this.activeClass = new Stack<Pair<String,String>> ();
+++            this.imports = new HashSet<Symbol> ();
+++            this.staticImports = new HashSet<Symbol>();
+++            this.unusedPkgImports = new HashSet<Symbol>();
+++            this.importIdents = new HashSet<CharSequence>();
+++            this.packageAnnotationIdents = new HashSet<CharSequence>();
+++            this.packageAnnotations = new HashSet<Pair<Symbol, ClassIndexImpl.UsageType>>();
+++            final Names names = Names.instance(jt.getContext());
+++            this.errorName = names.error;
+++            this.pkgImportName = names.asterisk;
++             this.state = State.OTHER;
++             this.cu = cu;
++-            this.signatureFiles = sigFiles;
++-            this.virtual = virtual;
++-            this.newTypes = newTypes;
+++            this.signatureFiles = false;
+++            this.siblingUrl = sibling.toUri().toURL();
+++            this.sourceName = inferBinaryName(manager, sibling);
++             this.topLevels = topLevels;
++-            this.sourceName = sourceName;
++-            this.siblingUrl = siblingUrl;
+++            this.newTypes = null;
+++            this.virtual = false;
++         }
++ 
++ 
++         @Override
++         @CheckForNull
++-        public Void scan(@NonNull final Tree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++        public Void scan(@NonNull final Tree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++             if (node == null) {
++                 return null;
++             }
++@@ -402,7 +406,7 @@ public final class SourceAnalyzerFactory {
++ 
++         @Override
++         @CheckForNull
++-        public Void visitCompilationUnit(@NonNull final CompilationUnitTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++        public Void visitCompilationUnit(@NonNull final CompilationUnitTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++             State oldState = state;
++             try {
++                 state = State.PACKAGE_ANN;
++@@ -415,34 +419,35 @@ public final class SourceAnalyzerFactory {
++             }
++             scan(node.getTypeDecls(),p);
++ 
++-            Pair<BinaryName,String> name = null;
+++            String className = null;
++             if (!imports.isEmpty() ||
++                 !staticImports.isEmpty() ||
++                 !unusedPkgImports.isEmpty()) {
++                 //Empty file
++-                final String className = getResourceName(node);
+++                className = getResourceName(node);
+++                final Pair<String,String> name;
++                 if (className != null) {
++-                    name = Pair.<BinaryName,String>of(
++-                            BinaryName.create(className, ElementKind.CLASS),
++-                            null);
+++                    final String classNameType = className + DocumentUtil.encodeKind(ElementKind.CLASS);
+++                    name = Pair.<String,String>of(classNameType, null);
+++                } else {
+++                    name = null;
++                 }
++                 addAndClearImports(name,p);
++                 addAndClearUnusedPkgImports(name, p);
++             }
++ 
++             if (!packageAnnotations.isEmpty()) {
++-                if (name == null) {
++-                    final String className = getResourceName(node);
++-                    if (className != null) {
++-                        name = Pair.of(
++-                                BinaryName.create(className, ElementKind.CLASS),
++-                                null);
++-                        for (Pair<Symbol,ClassIndexImpl.UsageType> usage : packageAnnotations) {
++-                            addUsage(usage.first(), name, p, usage.second());
++-                        }
++-                        for (CharSequence ident : packageAnnotationIdents) {
++-                            addIdent(name, ident, p, false);
++-                        }
+++                if (className == null) {
+++                    className = getResourceName(node);
+++                }
+++                if (className != null) {
+++                    final String classNameType = className + DocumentUtil.encodeKind(ElementKind.CLASS);
+++                    final Pair<String,String> name = Pair.<String,String>of(classNameType, null);
+++                    for (Pair<Symbol,ClassIndexImpl.UsageType> usage : packageAnnotations) {
+++                        addUsage(usage.first(), name, p, usage.second());
+++                    }
+++                    for (CharSequence ident : packageAnnotationIdents) {
+++                        addIdent(name, ident, p, false);
++                     }
++                 }
++                 packageAnnotations.clear();
++@@ -454,9 +459,8 @@ public final class SourceAnalyzerFactory {
++ 
++         @Override
++         @CheckForNull
++-        public Void visitMemberSelect(@NonNull final MemberSelectTree node,  @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
++-            final Symbol sym = (Symbol) trees.getElement(getCurrentPath());
++-            handleVisitIdentSelect (sym, node.getIdentifier(), p);
+++        public Void visitMemberSelect(@NonNull final MemberSelectTree node,  @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
+++            handleVisitIdentSelect (((JCTree.JCFieldAccess)node).sym, node.getIdentifier(), p);
++             State oldState = this.state;
++             this.state = (this.state == State.IMPORT || state == State.PACKAGE_ANN) ? state : State.OTHER;
++             Void ret = super.visitMemberSelect (node, p);
++@@ -466,26 +470,25 @@ public final class SourceAnalyzerFactory {
++ 
++         @Override
++         @CheckForNull
++-        public Void visitIdentifier(@NonNull final IdentifierTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
++-            final Symbol sym = (Symbol) trees.getElement(getCurrentPath());
++-            handleVisitIdentSelect (sym, node.getName(), p);
+++        public Void visitIdentifier(@NonNull final IdentifierTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
+++            handleVisitIdentSelect (((JCTree.JCIdent)node).sym, node.getName(), p);
++             return super.visitIdentifier(node, p);
++         }
++ 
++         @Override
++         @CheckForNull
++-        public Void visitImport (@NonNull final ImportTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++        public Void visitImport (@NonNull final ImportTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++             this.isStaticImport = node.isStatic();
++             final Tree qit = node.getQualifiedIdentifier();
++-            isPkgImport = qit.getKind() == Tree.Kind.MEMBER_SELECT && names.asterisk == (((MemberSelectTree)qit).getIdentifier());
+++            isPkgImport = qit.getKind() == Tree.Kind.MEMBER_SELECT && pkgImportName == (((MemberSelectTree)qit).getIdentifier());
++             final Void ret = super.visitImport(node, p);
++             isStaticImport = isPkgImport = false;
++             return ret;
++         }
++ 
++         @Override
++-        public Void visitMemberReference(MemberReferenceTree node, Map<Pair<BinaryName, String>, UsagesData<String>> p) {
++-            final Symbol sym = (Symbol) trees.getElement(getCurrentPath());
+++        public Void visitMemberReference(MemberReferenceTree node, Map<Pair<String, String>, UsagesData<String>> p) {
+++            final Symbol sym = ((JCTree.JCMemberReference)node).sym;
++             handleVisitIdentSelect(sym, node.getName(), p);
++             return super.visitMemberReference(node, p);
++         }
++@@ -493,11 +496,11 @@ public final class SourceAnalyzerFactory {
++         private void handleVisitIdentSelect (
++                 @NullAllowed final Symbol sym,
++                 @NonNull final CharSequence name,
++-                @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++                @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++             if (!activeClass.empty()) {
++                 addIdent(activeClass.peek(), name, p, false);
++                 if (sym != null) {
++-                    if (sym.kind == Kinds.Kind.ERR) {
+++                    if (sym.kind == Kinds.ERR) {
++                         final Symbol owner = sym.getEnclosingElement();
++                         if (owner.getKind().isClass() || owner.getKind().isInterface()) {
++                             addUsage(owner, activeClass.peek(), p, ClassIndexImpl.UsageType.TYPE_REFERENCE);
++@@ -547,7 +550,7 @@ public final class SourceAnalyzerFactory {
++                 } else if (state == State.PACKAGE_ANN) {
++                     packageAnnotationIdents.add(name);
++                     if (sym != null) {
++-                        if (sym.kind == Kinds.Kind.ERR) {
+++                        if (sym.kind == Kinds.ERR) {
++                             final Symbol owner = sym.getEnclosingElement();
++                             if (owner.getKind().isClass() || owner.getKind().isInterface()) {
++                                 packageAnnotations.add (Pair.of(owner,ClassIndexImpl.UsageType.TYPE_REFERENCE));
++@@ -575,7 +578,7 @@ public final class SourceAnalyzerFactory {
++ 
++         @Override
++         @CheckForNull
++-        public  Void visitParameterizedType(@NonNull final ParameterizedTypeTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++        public  Void visitParameterizedType(@NonNull final ParameterizedTypeTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++             scan(node.getType(), p);
++             State currState = this.state;
++             this.state = State.GT;
++@@ -586,13 +589,13 @@ public final class SourceAnalyzerFactory {
++ 
++         @Override
++         @CheckForNull
++-        public Void visitClass (@NonNull final ClassTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++        public Void visitClass (@NonNull final ClassTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++             final Symbol.ClassSymbol sym = ((JCTree.JCClassDecl)node).sym;
++             boolean errorInDecl = false;
++             boolean errorIgnorSubtree = true;
++             boolean topLevel = false;
++             String className = null;
++-            Pair<BinaryName,String> name = null;
+++            Pair<String,String> name = null;
++             int nameFrom = -1;
++             String simpleName = null;
++ 
++@@ -606,9 +609,8 @@ public final class SourceAnalyzerFactory {
++                         topLevel = true;
++                         className = getResourceName (this.cu);
++                         if (className != null && !className.isEmpty()) {
++-                            name = Pair.<BinaryName,String>of(
++-                                    BinaryName.create(className, ElementKind.CLASS),
++-                                    null);
+++                            final String classNameType = className + DocumentUtil.encodeKind(ElementKind.CLASS);
+++                            name = Pair.<String,String>of(classNameType, null);
++                             simpleName = className.substring(className.lastIndexOf('.') + 1);
++                             nameFrom = 1;
++                         } else {
++@@ -626,18 +628,8 @@ public final class SourceAnalyzerFactory {
++                     ClassFileUtil.encodeClassName(sym, classNameBuilder, '.');  //NOI18N
++                     className = classNameBuilder.toString();
++                     if (!className.isEmpty()) {
++-                        final int simpleNameStart;
++-                        simpleName = sym.getSimpleName().toString();
++-                        if (simpleName.isEmpty()) {
++-                            //Annon
++-                            int i = className.lastIndexOf('$'); //NOI18N
++-                            assert i > 0 : className;
++-                            simpleNameStart = i+1;
++-                        } else {
++-                            //Named
++-                            simpleNameStart = className.length() - sym.getSimpleName().length();
++-                        }
++-                        
+++                        classNameBuilder.append(DocumentUtil.encodeKind(sym.getKind(), sym.isLocal()));
+++                        final String classNameType = classNameBuilder.toString();
++                         String resourceName = null;
++                         topLevel = activeClass.isEmpty();
++                         if (topLevel) {
++@@ -658,10 +650,9 @@ public final class SourceAnalyzerFactory {
++                         } else {
++                             resourceName = activeClass.peek().second();
++                         }
++-                        name = Pair.<BinaryName,String>of(
++-                                BinaryName.create(className, sym.getKind(), sym.isLocal(), simpleNameStart),
++-                                resourceName);
+++                        name = Pair.<String,String>of(classNameType, resourceName);
++                         nameFrom = 2;
+++                        simpleName = sym.getSimpleName().toString();
++                     } else {
++                         LOG.log(
++                             Level.WARNING,
++@@ -744,7 +735,7 @@ public final class SourceAnalyzerFactory {
++ 
++         @Override
++         @CheckForNull
++-        public Void visitNewClass(@NonNull final NewClassTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++        public Void visitNewClass(@NonNull final NewClassTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++             final Symbol sym = ((JCTree.JCNewClass)node).constructor;
++             if (sym != null) {
++                 final Symbol owner = sym.getEnclosingElement();
++@@ -761,7 +752,7 @@ public final class SourceAnalyzerFactory {
++ 
++         @Override
++         @CheckForNull
++-        public Void visitErroneous(@NonNull final ErroneousTree tree, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++        public Void visitErroneous(@NonNull final ErroneousTree tree, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++             List<? extends Tree> trees = tree.getErrorTrees();
++             for (Tree t : trees) {
++                 this.scan(t,p);
++@@ -771,7 +762,7 @@ public final class SourceAnalyzerFactory {
++ 
++         @Override
++         @CheckForNull
++-        public Void visitMethod(@NonNull final MethodTree node, @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> p) {
+++        public Void visitMethod(@NonNull final MethodTree node, @NonNull final Map<Pair<String,String>, UsagesData<String>> p) {
++             Element old = enclosingElement;
++             try {
++                 enclosingElement = ((JCTree.JCMethodDecl) node).sym;
++@@ -789,7 +780,7 @@ public final class SourceAnalyzerFactory {
++         @Override
++         public Void visitLambdaExpression(
++                 @NonNull final LambdaExpressionTree node,
++-                @NonNull final Map<Pair<BinaryName, String>, UsagesData<String>> p) {
+++                @NonNull final Map<Pair<String, String>, UsagesData<String>> p) {
++             final Type type = ((JCTree.JCLambda)node).type;
++             if (type != null) {
++                 final Symbol sym = type.tsym;
++@@ -807,7 +798,7 @@ public final class SourceAnalyzerFactory {
++ 
++         @Override
++         @CheckForNull
++-        public Void visitVariable(@NonNull final VariableTree node, @NonNull final Map<Pair<BinaryName, String>, UsagesData<String>> p) {
+++        public Void visitVariable(@NonNull final VariableTree node, @NonNull final Map<Pair<String, String>, UsagesData<String>> p) {
++             Symbol s = ((JCTree.JCVariableDecl)node).sym;
++             if (s != null && s.owner != null && (s.owner.getKind().isClass() || s.owner.getKind().isInterface())) {
++                 addIdent(activeClass.peek(), node.getName(), p, true);
++@@ -816,8 +807,8 @@ public final class SourceAnalyzerFactory {
++         }
++ 
++         private void addAndClearImports(
++-                @NullAllowed final Pair<BinaryName,String> nameOfCU,
++-                @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> data) {
+++                @NullAllowed final Pair<String,String> nameOfCU,
+++                @NonNull final Map<Pair<String,String>, UsagesData<String>> data) {
++             if (nameOfCU != null) {
++                 for (Symbol s : imports) {
++                     addUsage(s, nameOfCU, data, ClassIndexImpl.UsageType.TYPE_REFERENCE);
++@@ -841,8 +832,8 @@ public final class SourceAnalyzerFactory {
++         }
++ 
++         private void addAndClearUnusedPkgImports(
++-                @NullAllowed final Pair<BinaryName,String> nameOfCU,
++-                @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> data) {
+++                @NullAllowed final Pair<String,String> nameOfCU,
+++                @NonNull final Map<Pair<String,String>, UsagesData<String>> data) {
++             if (nameOfCU != null) {
++                 for (Symbol s : unusedPkgImports) {
++                     final StringBuilder sb = new StringBuilder();
++@@ -862,7 +853,7 @@ public final class SourceAnalyzerFactory {
++          * @throws IllegalArgumentException when file cannot be inferred.
++          */
++         @NonNull
++-        private static String inferBinaryName(
+++        private String inferBinaryName(
++                 @NonNull final JavaFileManager jfm,
++                 @NonNull final javax.tools.JavaFileObject jfo) throws IllegalArgumentException {
++             String result = jfm.inferBinaryName(StandardLocation.SOURCE_PATH, jfo);
++@@ -895,8 +886,8 @@ public final class SourceAnalyzerFactory {
++ 
++         private void addUsage (
++                 @NullAllowed final Symbol sym,
++-                @NonNull final Pair<BinaryName,String>owner,
++-                @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> map,
+++                @NonNull final Pair<String,String>owner,
+++                @NonNull final Map<Pair<String,String>, UsagesData<String>> map,
++                 @NonNull final ClassIndexImpl.UsageType type) {
++             assert map != null;
++             assert type != null;
++@@ -912,8 +903,8 @@ public final class SourceAnalyzerFactory {
++ 
++         private void addUsage(
++             @NullAllowed final String className,
++-            @NonNull final Pair<BinaryName,String>owner,
++-            @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> map,
+++            @NonNull final Pair<String,String>owner,
+++            @NonNull final Map<Pair<String,String>, UsagesData<String>> map,
++             @NonNull final ClassIndexImpl.UsageType type) {
++             if (className != null) {
++                 final UsagesData<String> data = getData(owner, map);
++@@ -923,8 +914,8 @@ public final class SourceAnalyzerFactory {
++ 
++         private void addUsages (
++                 @NullAllowed final Symbol sym,
++-                @NonNull final Pair<BinaryName,String>owner,
++-                @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> map,
+++                @NonNull final Pair<String,String>owner,
+++                @NonNull final Map<Pair<String,String>, UsagesData<String>> map,
++                 @NonNull final ClassIndexImpl.UsageType... types) {
++             assert map != null;
++             assert types != null;
++@@ -940,8 +931,8 @@ public final class SourceAnalyzerFactory {
++ 
++         private void addUsages(
++             @NullAllowed final String className,
++-            @NonNull final Pair<BinaryName,String>owner,
++-            @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> map,
+++            @NonNull final Pair<String,String>owner,
+++            @NonNull final Map<Pair<String,String>, UsagesData<String>> map,
++             @NonNull final ClassIndexImpl.UsageType... types) {
++             if (className != null) {
++                 final UsagesData<String> data = getData(owner, map);
++@@ -950,9 +941,9 @@ public final class SourceAnalyzerFactory {
++         }
++ 
++         private void addIdent (
++-                @NonNull final Pair<BinaryName,String>owner,
+++                @NonNull final Pair<String,String>owner,
++                 @NonNull final CharSequence ident,
++-                @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> map,
+++                @NonNull final Map<Pair<String,String>, UsagesData<String>> map,
++                 final boolean feature) {
++             assert owner != null;
++             assert ident != null;
++@@ -969,12 +960,13 @@ public final class SourceAnalyzerFactory {
++         }
++ 
++         @NonNull
++-        private UsagesData<String> getData (
++-                @NonNull final Pair<BinaryName,String>owner,
++-                @NonNull final Map<Pair<BinaryName,String>, UsagesData<String>> map) {
+++        private UsagesData<String> getData (@NonNull final Pair<String,String>owner, @NonNull final Map<Pair<String,String>, UsagesData<String>> map) {
++             UsagesData<String> data = map.get(owner);
++             if (data == null) {
++-                data = new UsagesData<> (CONVERTOR);
+++                if (owner.first().charAt(owner.first().length()-2) == '.') {    //NOI18N
+++                    throw new IllegalArgumentException(owner.first());
+++                }
+++                data = new UsagesData<String> (CONVERTOR);
++                 map.put(owner,data);
++             }
++             return data;
++@@ -982,7 +974,7 @@ public final class SourceAnalyzerFactory {
++ 
++         private boolean hasErrorName (@NullAllowed Symbol cs) {
++             while (cs != null) {
++-                if (cs.name == names.error) {
+++                if (cs.name == errorName) {
++                     return true;
++                 }
++                 cs = cs.getEnclosingElement();
++@@ -1033,9 +1025,7 @@ public final class SourceAnalyzerFactory {
++             return null;
++         }
++         
++-        private void recordTypeUsage(
++-                final TypeMirror type,
++-                final Map<Pair<BinaryName, String>, UsagesData<String>> p) {
+++        private void recordTypeUsage(final TypeMirror type, final Map<Pair<String, String>, UsagesData<String>> p) {
++             List<TypeMirror> types = new LinkedList<TypeMirror>();
++             types.add(type);
++             while (!types.isEmpty()) {
++diff --git a/java.source.base/src/org/netbeans/modules/java/ui/FmtOptions.java b/java.source.base/src/org/netbeans/modules/java/ui/FmtOptions.java
++index d316c9679..61a46a5f2 100644
++--- a/java.source.base/src/org/netbeans/modules/java/ui/FmtOptions.java
+++++ b/java.source.base/src/org/netbeans/modules/java/ui/FmtOptions.java
++@@ -137,7 +137,6 @@ public class FmtOptions {
++     public static final String wrapArrayInit = "wrapArrayInit"; //NOI18N
++     public static final String wrapTryResources = "wrapTryResources"; //NOI18N
++     public static final String wrapDisjunctiveCatchTypes = "wrapDisjunctiveCatchTypes"; //NOI18N
++-    public static final String wrapAfterDisjunctiveCatchBar = "wrapAfterDisjunctiveCatchBar"; //NOI18N
++     public static final String wrapFor = "wrapFor"; //NOI18N
++     public static final String wrapForStatement = "wrapForStatement"; //NOI18N
++     public static final String wrapIfStatement = "wrapIfStatement"; //NOI18N
++@@ -426,7 +425,6 @@ public class FmtOptions {
++             { wrapArrayInit, WRAP_NEVER}, //NOI18N
++             { wrapTryResources, WRAP_NEVER}, //NOI18N
++             { wrapDisjunctiveCatchTypes, WRAP_NEVER}, //NOI18N
++-            { wrapAfterDisjunctiveCatchBar, FALSE}, //NOI18N
++             { wrapFor, WRAP_NEVER}, //NOI18N
++             { wrapForStatement, WRAP_ALWAYS}, //NOI18N
++             { wrapIfStatement, WRAP_ALWAYS}, //NOI18N
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/ClassIndexTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/ClassIndexTest.java
++index 8263f4e03..3b064f1dc 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/ClassIndexTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/ClassIndexTest.java
++@@ -65,7 +65,6 @@ import org.netbeans.api.java.source.ClassIndex.Symbols;
++ import org.netbeans.junit.MockServices;
++ import org.netbeans.junit.NbTestCase;
++ import org.netbeans.junit.NbTestSuite;
++-import org.netbeans.junit.RandomlyFails;
++ import org.netbeans.modules.java.source.parsing.FileObjects;
++ import org.netbeans.modules.java.source.usages.ClassIndexManager;
++ import org.netbeans.modules.java.source.usages.ClassIndexManagerEvent;
++@@ -154,7 +153,6 @@ public class ClassIndexTest extends NbTestCase {
++         MockServices.setServices();
++     }
++ 
++-    @RandomlyFails
++     public void testEvents () throws Exception {
++         GlobalPathRegistry.getDefault().register(ClassPath.BOOT, new ClassPath[] {bootPath});
++         GlobalPathRegistry.getDefault().register(ClassPath.COMPILE, new ClassPath[] {compilePath});
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/ElementUtilitiesTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/ElementUtilitiesTest.java
++index b057810a0..aab0d3927 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/ElementUtilitiesTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/ElementUtilitiesTest.java
++@@ -30,19 +30,12 @@
++  */
++ 
++ package org.netbeans.api.java.source;
++-import com.sun.source.tree.ClassTree;
++-import com.sun.source.util.TreePath;
++ import java.io.File;
++ import java.io.IOException;
++-import java.util.Collection;
++-import java.util.List;
++ import javax.lang.model.element.Element;
++ import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++-import javax.lang.model.element.TypeElement;
++ import javax.lang.model.type.TypeKind;
++-import static junit.framework.TestCase.assertNull;
++-import org.netbeans.api.java.source.JavaSourceTest.SourceLevelQueryImpl;
++ import org.netbeans.junit.NbTestCase;
++ import org.openide.filesystems.FileObject;
++ import org.openide.filesystems.FileUtil;
++@@ -59,7 +52,6 @@ public class ElementUtilitiesTest extends NbTestCase {
++ 
++     protected void setUp() throws Exception {
++         clearWorkDir();
++-        SourceUtilsTestUtil.setLookup(new Object[0], ElementUtilities.class.getClassLoader());
++         SourceUtilsTestUtil.prepareTest(new String[0], new Object[0]);
++     }
++     
++@@ -81,291 +73,6 @@ public class ElementUtilitiesTest extends NbTestCase {
++         testFO = sourceRoot.createData("Test.java");
++     }
++     
++-    public void testGetImplementationOfAndOverriden() throws Exception {
++-        prepareTest();
++-        SourceUtilsTestUtil.setSourceLevel(testFO, "8");
++-        TestUtilities.copyStringToFile(FileUtil.toFile(testFO),
++-                "import java.util.AbstractList;\n"
++-                + "import java.util.Iterator;\n"
++-                + "import java.util.ListIterator;\n"
++-                + "\n"
++-                + "public abstract class Test1 extends AbstractList {\n"
++-                + "    public static void method() {}\n"
++-                + "\n"
++-                + "    public abstract class Test2 extends Test1 { \n"
++-                + "         public static void method() {}\n"
++-                + "    } \n"
++-                + "     \n"
++-                + "    public class Test3 extends Test2 {\n"
++-                + "         public static void method() {}\n"
++-                + "    } \n"
++-                + "}\n"
++-                + "abstract class TestImpl implements NRI, NRI2 {\n"
++-                + "    public static void method() {}\n"
++-                + "    public static Object next() { return null; }\n"
++-                + "    public static String previous() { return null; }\n"
++-                + "\n"
++-                + "}\n"
++-                + "interface NRI extends ListIterator<String> {\n"
++-                + "    private static void someMethod() {\n"
++-                + "    }\n"
++-                + "}\n"
++-                + "interface NRI2 extends ListIterator<String> {\n"
++-                + "    public default void remove()  {\n"
++-                + "    }\n"
++-                + "}");
++-        SourceLevelQueryImpl.sourceLevel = "8";
++-        JavaSource javaSource = JavaSource.forFileObject(testFO);
++-        javaSource.runUserActionTask(new Task<CompilationController>() {
++-            public void run(CompilationController controller) throws IOException {
++-                controller.toPhase(JavaSource.Phase.ELEMENTS_RESOLVED);
++-                ClassTree test1Tree = (ClassTree)controller.getCompilationUnit().getTypeDecls().get(0);
++-                ClassTree testImplTree = (ClassTree)controller.getCompilationUnit().getTypeDecls().get(1);
++-                ClassTree nriTree = (ClassTree)controller.getCompilationUnit().getTypeDecls().get(2);
++-                TreePath cuPath = new TreePath(controller.getCompilationUnit());
++-                
++-                ClassTree test2Tree = (ClassTree)test1Tree.getMembers().get(2);
++-                ClassTree test3Tree = (ClassTree)test1Tree.getMembers().get(3);
++-                
++-                TreePath test1Path = new TreePath(cuPath, test1Tree);
++-                TreePath testImplPath = new TreePath(cuPath, testImplTree);
++-                TreePath nriPath = new TreePath(cuPath, test1Tree);
++-                TreePath test2Path = new TreePath(test1Path, test1Tree.getMembers().get(2));
++-                TreePath test3Path = new TreePath(test1Path, test1Tree.getMembers().get(3));
++-                
++-                Element test1Class = controller.getTrees().getElement(test1Path);
++-                Element test2Class = controller.getTrees().getElement(test2Path);
++-                TypeElement test3Class = (TypeElement)controller.getTrees().getElement(test3Path);
++-                TypeElement testImplClass = (TypeElement)controller.getTrees().getElement(testImplPath);
++-                
++-                Element mMethod = controller.getTrees().getElement(new TreePath(test1Path, test1Tree.getMembers().get(1)));
++-                
++-                // get implementation of Test1.method in Test3; should be still Test1.method
++-                Element check = controller.getElementUtilities().getImplementationOf((ExecutableElement)mMethod, test3Class);
++-                assertSame(mMethod, check);
++-                
++-                // check that overriden static method is null, although matching signature exists in the superclass.
++-                Element test3Method = controller.getTrees().getElement(new TreePath(test3Path, test3Tree.getMembers().get(1)));
++-                check = controller.getElementUtilities().getOverriddenMethod((ExecutableElement)test3Method);
++-                assertNull(check);
++-                
++-                Element nextMethod = controller.getTrees().getElement(new TreePath(test1Path, testImplTree.getMembers().get(2)));
++-                Element prevMethod = controller.getTrees().getElement(new TreePath(test1Path, testImplTree.getMembers().get(3)));
++-                
++-                ExecutableElement iteratorRemoveMethod = (ExecutableElement)controller.getElementUtilities().findElement("java.util.Iterator.remove()");
++-                ExecutableElement iteratorNextMethod = (ExecutableElement)controller.getElementUtilities().findElement("java.util.Iterator.next()");
++-                ExecutableElement iteratorPrevMethod = (ExecutableElement)controller.getElementUtilities().findElement("java.util.Iterator.previous()");
++-                ExecutableElement listIteratorPrevMethod = (ExecutableElement)controller.getElementUtilities().findElement("java.util.ListIterator.previous()");
++-                ExecutableElement listIteratorNextMethod = (ExecutableElement)controller.getElementUtilities().findElement("java.util.ListIterator.next()");
++-
++-                check = controller.getElementUtilities().getImplementationOf(iteratorNextMethod, testImplClass);
++-                assertSame(null, check);
++-                check = controller.getElementUtilities().getImplementationOf(listIteratorPrevMethod, testImplClass);
++-                assertSame(check, prevMethod);
++-                
++-                // try to find remove implementation, should find NRI2.remove()
++-                check = controller.getElementUtilities().getImplementationOf(iteratorRemoveMethod, testImplClass);
++-                assertNotNull(check);
++-                TypeElement owner = (TypeElement)check.getEnclosingElement();
++-                assertEquals("NRI2", owner.getSimpleName().toString());
++-                
++-                
++-                // but findUnimplementedMethods does:
++-                List<? extends ExecutableElement> unimplemented = controller.getElementUtilities().findUnimplementedMethods(testImplClass);
++-                int cnt = 0;
++-                ExecutableElement foundNext = null;
++-                ExecutableElement foundPrev = null;
++-                ExecutableElement foundRemove = null;
++-                for (ExecutableElement ee : unimplemented) {
++-                    String s = ee.getSimpleName().toString();
++-                    if ("next".equals(s)) {
++-                        foundNext = ee;
++-                        cnt++;
++-                    }
++-                    if ("previous".equals(s)) {
++-                        foundPrev = ee;
++-                        cnt++;
++-                    }
++-                    if ("remove".equals(s)) {
++-                        foundRemove = ee;
++-                        cnt++;
++-                    }
++-                }
++-                assertEquals("Only one of next/previous/remove is actually unimplemented", 1, cnt);
++-                // next from listIterator (not iterator) is not implemented
++-                assertSame(listIteratorNextMethod, foundNext);
++-                // remove from the is implemented by the default method
++-                assertNull(foundRemove);
++-                
++-                unimplemented = controller.getElementUtilities().findUnimplementedMethods(testImplClass, true);
++-                cnt = 0;
++-                for (ExecutableElement ee : unimplemented) {
++-                    if ("remove".equals(ee.getSimpleName().toString())) {
++-                        cnt++;
++-                    }
++-                }
++-                assertEquals("Should return even remove default method", 1, cnt);
++-            }
++-        }, true);
++-    }
++-
++-    public void testInheritanceOfDefault() throws Exception {
++-        prepareTest();
++-        SourceUtilsTestUtil.setSourceLevel(testFO, "8");
++-        TestUtilities.copyStringToFile(FileUtil.toFile(testFO),
++-                "import java.util.Iterator;\n" +
++-                "public class Test {\n" +
++-                "    public class C1 implements Iterator, I1 {\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "    public class C2 implements A1, B {\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "    public class C3 implements A2 {\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "    public class C4 implements A1, A2 {\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "    public class C5 implements A1, AB {\n" +
++-                "    }\n" +
++-                "    public class C6 implements A1, AX {\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "    public interface I1 extends Iterator {\n" +
++-                "        public default boolean hasNext() { return false; }\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "    public interface A {\n" +
++-                "        public void a();\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "    public interface A1 extends A {\n" +
++-                "        public default void a() {}\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "    public interface B {\n" +
++-                "        public void b();\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "    public interface AX  {\n" +
++-                "        public void a();\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "    public interface A2 extends A {\n" +
++-                "        public void a();\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "    public interface AB extends A, B {\n" +
++-                "        public default void b() {}\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "    public interface AB2 extends A1, B {\n" +
++-                "    }\n" +
++-                "    \n" +
++-                "}");
++-        SourceLevelQueryImpl.sourceLevel = "8";
++-        JavaSource javaSource = JavaSource.forFileObject(testFO);
++-        javaSource.runUserActionTask(new Task<CompilationController>() {
++-            public void run(CompilationController controller) throws IOException {
++-                controller.toPhase(JavaSource.Phase.ELEMENTS_RESOLVED);
++-                ClassTree outerTree = (ClassTree)controller.getCompilationUnit().getTypeDecls().get(0);
++-                TreePath outerPath = new TreePath(
++-                        new TreePath(controller.getCompilationUnit()),
++-                        outerTree);
++-                ClassTree c1Tree = (ClassTree)outerTree.getMembers().get(1);
++-                ClassTree c2Tree = (ClassTree)outerTree.getMembers().get(2);
++-                ClassTree c3Tree = (ClassTree)outerTree.getMembers().get(3);
++-                ClassTree c4Tree = (ClassTree)outerTree.getMembers().get(4);
++-                ClassTree c5Tree = (ClassTree)outerTree.getMembers().get(5);
++-                ClassTree c6Tree = (ClassTree)outerTree.getMembers().get(6);
++-                
++-                TypeElement c1Elem = (TypeElement)controller.getTrees().getElement(new TreePath(outerPath, c1Tree));
++-                TypeElement c2Elem = (TypeElement)controller.getTrees().getElement(new TreePath(outerPath, c2Tree));
++-                TypeElement c3Elem = (TypeElement)controller.getTrees().getElement(new TreePath(outerPath, c3Tree));
++-                TypeElement c4Elem = (TypeElement)controller.getTrees().getElement(new TreePath(outerPath, c4Tree));
++-                TypeElement c5Elem = (TypeElement)controller.getTrees().getElement(new TreePath(outerPath, c5Tree));
++-                TypeElement c6Elem = (TypeElement)controller.getTrees().getElement(new TreePath(outerPath, c6Tree));
++-              
++-                // C1 gets defaulted 'remove' and 'hasNext'.
++-                List<? extends ExecutableElement> missing = controller.getElementUtilities().findUnimplementedMethods(c1Elem);
++-                ExecutableElement found = find("remove", missing);
++-                assertNull("remove is defined by default", found);
++-                found = find("hasNext", missing);
++-                assertNull("hasNext is defined by default", found);
++-                
++-                // ensure that we can find implementation of those methods:
++-                ExecutableElement iteratorRemove = (ExecutableElement)controller.getElementUtilities().findElement("java.util.Iterator.remove()");
++-                ExecutableElement iteratorHasNext = (ExecutableElement)controller.getElementUtilities().findElement("java.util.Iterator.hasNext()");
++-                ExecutableElement check = (ExecutableElement)controller.getElementUtilities().getImplementationOf(iteratorRemove, c1Elem);
++-                ExecutableElement check2 = (ExecutableElement)controller.getElementUtilities().getImplementationOf(iteratorHasNext, c1Elem);
++-                
++-                assertNotNull(check);
++-                assertNotNull(check2);
++-                
++-                TypeElement enclosing = (TypeElement)check.getEnclosingElement();
++-                assertEquals("java.util.Iterator", enclosing.getQualifiedName().toString());
++-                enclosing = (TypeElement)check2.getEnclosingElement();
++-                assertEquals("Test.I1", enclosing.getQualifiedName().toString());
++-                
++-                // now get everything incl. the defaults:
++-                missing = controller.getElementUtilities().findUnimplementedMethods(c1Elem, true);
++-                found = find("remove", missing);
++-                assertNotNull("default remove should be present", found);
++-                found = find("hasNext", missing);
++-                assertNotNull("default hasNext should be present", found);
++-                
++-                // C2 gets one default and one abstract method
++-                missing = controller.getElementUtilities().findUnimplementedMethods(c1Elem);
++-                assertEquals(1, missing.size());
++-                assertNull("a is provided from default", find("a", missing));
++-                ExecutableElement method = (ExecutableElement)controller.getElementUtilities().findElement("Test.A.a()");
++-                check = (ExecutableElement)controller.getElementUtilities().getImplementationOf(method, c2Elem);
++-                assertNotNull(check);
++-                enclosing = (TypeElement)check.getEnclosingElement();
++-                assertEquals("Test.A1", enclosing.getQualifiedName().toString());
++-                
++-                missing = controller.getElementUtilities().findUnimplementedMethods(c2Elem, true);
++-                assertEquals(2, missing.size());
++-                
++-                // C3 gets a from A2, not A
++-                missing = controller.getElementUtilities().findUnimplementedMethods(c3Elem);
++-                assertEquals(1, missing.size());
++-                found = (ExecutableElement)controller.getElementUtilities().findElement("Test.A2.a()");
++-                check = missing.get(0);
++-                assertSame(found, check);
++-                
++-                // C4 gets default from A2, but that is discarded by sibling A2
++-                missing = controller.getElementUtilities().findUnimplementedMethods(c4Elem);
++-                assertEquals(1, missing.size());
++-                check = missing.get(0);
++-                assertSame(found, check);
++-                method = (ExecutableElement)controller.getElementUtilities().findElement("Test.A.a()");
++-                check = (ExecutableElement)controller.getElementUtilities().getImplementationOf(method, c4Elem);
++-                // no real implementation
++-                assertNull(check);
++-                
++-                // C5 gets defaulted b() and a()
++-                missing = controller.getElementUtilities().findUnimplementedMethods(c5Elem);
++-                assertEquals("All methods are defined by defaults", 0, missing.size());
++-                
++-                // C6 gets an unrelated a() which discards the A1.a() default
++-                missing = controller.getElementUtilities().findUnimplementedMethods(c6Elem);
++-                assertEquals("Default method should conflict", 1, missing.size());
++-                method = (ExecutableElement)controller.getElementUtilities().findElement("Test.AX.a()");
++-                assertSame(method, missing.get(0));
++-            }}, true);
++-    }
++-    
++-    private ExecutableElement find(String s, Collection<? extends ExecutableElement> elems) {
++-        for (ExecutableElement e : elems) {
++-            if (e.getSimpleName().contentEquals(s)) {
++-                return e;
++-            }
++-        }
++-        return null;
++-    }
++-
++     public void testI18N() throws Exception {
++         prepareTest();
++         
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTest.java
++index 1f61d0a22..bd6112eaf 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTest.java
++@@ -447,6 +447,31 @@ public class SourceUtilsTest extends ClassIndexTestCase {
++         f = SourceUtils.getFile(ElementHandle.create(test), info.getClasspathInfo());
++         assertEquals("TestDollarSourceName.java", f.getNameExt());
++     }
+++    
+++    /**
+++     * Checks that an inner class is found in outer class' source file even though a source file
+++     * matching outer$inner.java is present
+++     */
+++    public void testInnerClassName() throws Exception {
+++        File work = getWorkDir();
+++        FileObject workFO = FileUtil.toFileObject(work);
+++        FileObject sourceRoot = workFO.createFolder("src");
+++        TestUtil.copyFiles(FileUtil.toFile(sourceRoot), "sourceutils/TestInnerClassName$InnerClass.java");
+++        prepareTest();
+++        
+++        FileObject s1 = sourceRoot.getFileObject("sourceutils/TestInnerClassName.java");
+++        FileObject s2 = sourceRoot.getFileObject("sourceutils/TestInnerClassName$InnerClass.java");
+++        
+++        js = JavaSource.create(js.getClasspathInfo(), s1, s2);
+++        assertNotNull(js);
+++        info = SourceUtilsTestUtil.getCompilationInfo(js, JavaSource.Phase.RESOLVED);
+++
+++        TypeElement test = info.getElements().getTypeElement("sourceutils.TestInnerClassName.InnerClass");
+++        assertNotNull(test);
+++        
+++        FileObject f = SourceUtils.getFile(ElementHandle.create(test), info.getClasspathInfo());
+++        assertEquals("TestInnerClassName.java", f.getNameExt());
+++    }
++ 
++     //<editor-fold defaultstate="collapsed" desc="Helper methods & Mock services">
++     
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTestUtil.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTestUtil.java
++index 1d9e84548..b7dec26b0 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTestUtil.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/SourceUtilsTestUtil.java
++@@ -99,8 +99,6 @@ import org.xml.sax.SAXException;
++ public final class SourceUtilsTestUtil extends ProxyLookup {
++     
++     private static SourceUtilsTestUtil DEFAULT_LOOKUP = null;
++-    private static final Set<String> NB_JAVAC = Collections.unmodifiableSet(new HashSet<String>(
++-        Arrays.asList("nb-javac-api.jar","nb-javac-impl.jar")));    //NOI18N
++     
++     public SourceUtilsTestUtil() {
++ //        Assert.assertNull(DEFAULT_LOOKUP);
++@@ -244,20 +242,15 @@ public final class SourceUtilsTestUtil extends ProxyLookup {
++         if (bootClassPath == null) {
++             try {
++                 String cp = System.getProperty("sun.boot.class.path");
++-                String tools = System.getProperty("tools.jar.location");
++-                if (tools != null) {
++-                    cp = cp + System.getProperty("path.separator") + tools;
++-                }
++                 List<URL> urls = new ArrayList<URL>();
++-                for (String path : cp.split(Pattern.quote(System.getProperty("path.separator")))) {
++-                    final File f = new File(path);
+++                String[] paths = cp.split(Pattern.quote(System.getProperty("path.separator")));
+++                
+++                for (String path : paths) {
+++                    File f = new File(path);
+++                    
++                     if (!f.canRead())
++                         continue;
++-                    //Remove nb-javac-impl.jar & nb-javac-api.jar added to test as boot prepend
++-                    if (NB_JAVAC.contains(f.getName())) {
++-                        continue;
++-                    }
++-
+++                    
++                     FileObject fo = FileUtil.toFileObject(f);
++                     
++                     if (FileUtil.isArchiveFile(fo)) {
++@@ -268,6 +261,7 @@ public final class SourceUtilsTestUtil extends ProxyLookup {
++                         urls.add(fo.getURL());
++                     }
++                 }
+++                
++                 bootClassPath = urls;
++             } catch (FileStateInvalidException e) {
++                 if (log.isLoggable(Level.SEVERE))
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/BreakContinueTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/BreakContinueTest.java
++index 641248749..c27a9d2ae 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/BreakContinueTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/BreakContinueTest.java
++@@ -1,7 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++  *
++  * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++  * Other names may be trademarks of their respective owners.
++@@ -23,19 +23,6 @@
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++  * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++  */
++ package org.netbeans.api.java.source.gen;
++ 
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/FieldGroupTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/FieldGroupTest.java
++index b7c3aacac..5937c5cff 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/FieldGroupTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/FieldGroupTest.java
++@@ -1549,68 +1549,6 @@ public class FieldGroupTest extends GeneratorTestMDRCompat {
++         System.err.println(res);
++         assertEquals(golden, res);
++     }
++-    
++-    public void testFieldGroupFirstComment255568() throws Exception {
++-        testFile = new File(getWorkDir(), "Test.java");
++-        TestUtilities.copyStringToFile(testFile,
++-            "package test;\n" +
++-            "public enum Test {\n" +
++-            "    /**\n" +
++-            "     * Double\n"
++-            + "     */\n"
++-            + "    ONE,\n"
++-            + "    /**\n"
++-            + "     * Javadoc1\n"
++-            + "     */\n"
++-            + "    TWO,\n"
++-            + "    \n"
++-            + "    /**\n"
++-            + "     * Javadoc2\n"
++-            + "     */\n"
++-            + "    TRI"
++-            + "}\n"            
++-        );
++-        String golden = "package test;\n" +
++-            "public enum Test {\n" +
++-            "    /**\n" +
++-            "     * Double\n"
++-            + "     */\n"
++-            + "    ONE,\n"
++-            + "    /**\n"
++-            + "     * Javadoc1\n"
++-            + "     */\n"
++-            + "    Dva,\n"
++-            + "    \n"
++-            + "    /**\n"
++-            + "     * Javadoc2\n"
++-            + "     */\n"
++-            + "    TRI"
++-            + "}\n";
++-
++-        JavaSource testSource = JavaSource.forFileObject(FileUtil.toFileObject(testFile));
++-        Task<WorkingCopy> task = new Task<WorkingCopy>() {
++-            
++-            @Override
++-            public void run(WorkingCopy wc) throws Exception {
++-                wc.toPhase(Phase.RESOLVED);
++-                ClassTree ct = (ClassTree)wc.getCompilationUnit().getTypeDecls().get(0);
++-                // 0 is the ctor
++-                VariableTree twoField = (VariableTree) ct.getMembers().get(2);
++-                wc.rewrite(twoField, 
++-                        wc.getTreeMaker().Variable(
++-                                twoField.getModifiers(), 
++-                                "Dva", 
++-                                twoField.getType(), 
++-                                twoField.getInitializer()
++-                        )
++-                );
++-            }
++-        };
++-        testSource.runModificationTask(task).commit();
++-        String res = TestUtilities.copyFileToString(testFile);
++-        System.err.println(res);
++-        assertEquals(golden, res);
++-    }
++ 
++     public void testMultiFileCopy234570() throws Exception {
++         File source = new File(getWorkDir(), "Source.java");
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/IfTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/IfTest.java
++index 08cbe9e0e..06db9b243 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/IfTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/IfTest.java
++@@ -575,115 +575,6 @@ public class IfTest extends GeneratorTestBase {
++         System.out.println(res);
++         assertEquals(golden, res);
++     }
++-    
++-    public void test257910NestedIfs() throws Exception {
++-        String source = "public class Test {\n"
++-                + "    public void test() {\n"
++-                + "        if (true) {\n"
++-                + "            System.out.println(2);\n"
++-                + "        } else if (false) {\n"
++-                + "            System.out.println(1);\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}";
++-        
++-        String golden = "public class Test {\n"
++-                + "    public void test() {\n"
++-                + "        if (false) {\n"
++-                + "            if (false) {\n"
++-                + "                System.out.println(1);\n"
++-                + "            }\n"
++-                + "        } else {\n"
++-                + "            System.out.println(2);\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}";
++-        testFile = new File(getWorkDir(), "Test.java");
++-        TestUtilities.copyStringToFile(testFile, source);
++-        JavaSource src = getJavaSource(testFile);
++-        Task<WorkingCopy> task = new Task<WorkingCopy>() {
++-            public void run(WorkingCopy copy) throws Exception {
++-                if (copy.toPhase(Phase.RESOLVED).compareTo(Phase.RESOLVED) < 0) {
++-                    return;
++-                }
++-
++-                TreeMaker make = copy.getTreeMaker();
++-                ClassTree clazz = (ClassTree) copy.getCompilationUnit().getTypeDecls().get(0);
++-                MethodTree method = (MethodTree) clazz.getMembers().get(1);
++-                
++-                BlockTree block = method.getBody();
++-                IfTree originalA = (IfTree) block.getStatements().get(0);
++-                
++-                // swap branches
++-                IfTree rewrite = make.If(
++-                        make.Parenthesized(
++-                            make.Literal(Boolean.FALSE)
++-                        ),
++-                        originalA.getElseStatement(), originalA.getThenStatement()
++-                );
++-                copy.rewrite(originalA, rewrite);
++-            }
++-        };
++-        src.runModificationTask(task).commit();
++-        String res = TestUtilities.copyFileToString(testFile);
++-        System.out.println(res);
++-        assertEquals(golden, res);
++-    }
++-
++-    public void test257910NestedIfsCorrectlyPaired() throws Exception {
++-        String source = "public class Test {\n"
++-                + "    public void test() {\n"
++-                + "        if (true) {\n"
++-                + "            System.out.println(2);\n"
++-                + "        } else if (false) {\n"
++-                + "            System.out.println(1);\n"
++-                + "        } else \n" 
++-                + "            System.out.println(3);\n"
++-                + "    }\n"
++-                + "}";
++-        
++-        String golden = "public class Test {\n"
++-                + "    public void test() {\n"
++-                + "        if (false) if (false) {\n"
++-                + "            System.out.println(1);\n"
++-                + "        } else\n"
++-                + "            System.out.println(3); else {\n"
++-                + "            System.out.println(2);\n"
++-                + "        }\n"
++-                + "    }\n"
++-                + "}";
++-        testFile = new File(getWorkDir(), "Test.java");
++-        TestUtilities.copyStringToFile(testFile, source);
++-        JavaSource src = getJavaSource(testFile);
++-        Task<WorkingCopy> task = new Task<WorkingCopy>() {
++-            public void run(WorkingCopy copy) throws Exception {
++-                if (copy.toPhase(Phase.RESOLVED).compareTo(Phase.RESOLVED) < 0) {
++-                    return;
++-                }
++-
++-                TreeMaker make = copy.getTreeMaker();
++-                ClassTree clazz = (ClassTree) copy.getCompilationUnit().getTypeDecls().get(0);
++-                MethodTree method = (MethodTree) clazz.getMembers().get(1);
++-                
++-                BlockTree block = method.getBody();
++-                IfTree originalA = (IfTree) block.getStatements().get(0);
++-                
++-                // swap branches
++-                IfTree rewrite = make.If(
++-                        make.Parenthesized(
++-                            make.Literal(Boolean.FALSE)
++-                        ),
++-                        originalA.getElseStatement(), originalA.getThenStatement()
++-                );
++-                copy.rewrite(originalA, rewrite);
++-            }
++-        };
++-        src.runModificationTask(task).commit();
++-        String res = TestUtilities.copyFileToString(testFile);
++-        System.out.println(res);
++-        assertEquals(golden, res);
++-    }
++-
++ 
++     String getGoldenPckg() {
++         return "";
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ImportAnalysis2Test.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ImportAnalysis2Test.java
++index 1404bbcee..5a9d5b48d 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ImportAnalysis2Test.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ImportAnalysis2Test.java
++@@ -648,7 +648,7 @@ public class ImportAnalysis2Test extends GeneratorTestMDRCompat {
++             "    }\n" +
++             "}\n";
++ 
++-        ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true, null);
+++        ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true);
++         JavaSource src = JavaSource.create(cpInfo, FileUtil.toFileObject(testFile));
++         Task<WorkingCopy> task = new Task<WorkingCopy>() {
++             public void run(WorkingCopy workingCopy) throws IOException {
++@@ -692,7 +692,7 @@ public class ImportAnalysis2Test extends GeneratorTestMDRCompat {
++             "    Entry e;\n" +
++             "}\n";
++ 
++-        ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true, null);
+++        ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true);
++         JavaSource src = JavaSource.create(cpInfo, FileUtil.toFileObject(testFile));
++         Task<WorkingCopy> task = new Task<WorkingCopy>() {
++             public void run(WorkingCopy workingCopy) throws IOException {
++@@ -733,7 +733,7 @@ public class ImportAnalysis2Test extends GeneratorTestMDRCompat {
++             "}\n";
++         final TransactionContext ctx = TransactionContext.beginStandardTransaction(Utilities.toURI(getWorkDir()).toURL(), true, true, false);
++         try {
++-            ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true, null);
+++            ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true);
++             JavaSource src = JavaSource.create(cpInfo, FileUtil.toFileObject(testFile));
++             Preferences preferences = MimeLookup.getLookup(JavaTokenId.language().mimeType()).lookup(Preferences.class);
++             preferences.putBoolean("importInnerClasses", true);
++@@ -779,7 +779,7 @@ public class ImportAnalysis2Test extends GeneratorTestMDRCompat {
++ 
++         final TransactionContext ctx = TransactionContext.beginStandardTransaction(Utilities.toURI(getWorkDir()).toURL(), true, true, false);
++         try {
++-            ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true, null);
+++            ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create (ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path")), ClassPath.EMPTY, ClassPathSupport.createClassPath(getSourcePath()), null, true, false, false, true);
++             JavaSource src = JavaSource.create(cpInfo, FileUtil.toFileObject(testFile));
++             Task<WorkingCopy> task = new Task<WorkingCopy>() {
++                 public void run(WorkingCopy workingCopy) throws IOException {
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/InterfaceTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/InterfaceTest.java
++index b69cfea82..76d4c924f 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/InterfaceTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/InterfaceTest.java
++@@ -1,7 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 1997, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
++  *
++  * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++  * Other names may be trademarks of their respective owners.
++@@ -24,18 +24,12 @@
++  * your own identifying information:
++  * "Portions Copyrighted [year] [name of copyright owner]"
++  *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++  * Contributor(s):
+++ *
+++ * "Portions Copyrighted [2007] [Sun Microsystems, Inc]"
+++ *
+++ * To change this template, choose Tools | Template Manager
+++ * and open the template in the editor.
++  */
++ package org.netbeans.api.java.source.gen;
++ 
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ModifiersTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ModifiersTest.java
++index 9d75b94d8..8fba17e3a 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ModifiersTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/ModifiersTest.java
++@@ -1540,44 +1540,6 @@ public class ModifiersTest extends GeneratorTestMDRCompat {
++         assertEquals(golden, res);
++     }
++     
++-    public void testRemoveModifiersWithTypeParameters() throws Exception {
++-        testFile = new File(getWorkDir(), "Test.java");
++-        TestUtilities.copyStringToFile(testFile,
++-                "package flaska;\n" +
++-                "\n" +
++-                "public class Test {\n" +
++-                "    public <T extends java.lang.Number> java.util.Set<T> find(){return null;}" +
++-                "}\n"
++-                );
++-        String golden =
++-                "package flaska;\n" +
++-                "\n" +
++-                "public class Test {\n" +
++-                "    <T extends java.lang.Number> java.util.Set<T> find(){return null;}" +
++-                "}\n";
++-        JavaSource testSource = JavaSource.forFileObject(FileUtil.toFileObject(testFile));
++-        Task<WorkingCopy> task = new Task<WorkingCopy>() {
++-
++-            public void run(final WorkingCopy workingCopy) throws java.io.IOException {
++-                workingCopy.toPhase(Phase.RESOLVED);
++-                final TreeMaker make = workingCopy.getTreeMaker();
++-                ClassTree clazz = (ClassTree) workingCopy.getCompilationUnit().getTypeDecls().get(0);
++-                new TreeScanner() {
++-                    @Override public Object visitMethod(MethodTree node, Object p) {
++-                        if (node.getName().contentEquals("find")) {
++-                            workingCopy.rewrite(node.getModifiers(), make.Modifiers(Collections.emptySet()));
++-                        }
++-                        return super.visitMethod(node, p);
++-                    }
++-                }.scan(clazz, null);
++-            }
++-        };
++-        testSource.runModificationTask(task).commit();
++-        String res = TestUtilities.copyFileToString(testFile);
++-        System.err.println(res);
++-        assertEquals(golden, res);
++-    }
++-    
++     String getGoldenPckg() {
++         return "";
++     }
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/PackageTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/PackageTest.java
++index 3507ede2b..6d16e0efd 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/PackageTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/PackageTest.java
++@@ -148,7 +148,7 @@ public class PackageTest extends GeneratorTestMDRCompat {
++                 TreeMaker make = workingCopy.getTreeMaker();
++                 CompilationUnitTree cut = workingCopy.getCompilationUnit();
++                 CompilationUnitTree copy = make.CompilationUnit(
++-                    (ExpressionTree)null,
+++                    null,
++                     cut.getImports(),
++                     cut.getTypeDecls(),
++                     cut.getSourceFile()
++diff --git a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/SwitchTest.java b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/SwitchTest.java
++index cf46875d9..875e8af08 100644
++--- a/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/SwitchTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/SwitchTest.java
++@@ -1,7 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010, 2016 Oracle and/or its affiliates. All rights reserved.
+++ * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++  *
++  * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++  * Other names may be trademarks of their respective owners.
++@@ -23,19 +23,6 @@
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++  * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++  */
++ package org.netbeans.api.java.source.gen;
++ 
++@@ -193,7 +180,7 @@ public class SwitchTest extends GeneratorTestBase {
++                 final TreeMaker make = copy.getTreeMaker();
++                 new TreePathScanner<Void, Void>() {
++                     @Override public Void visitIf(IfTree node, Void p) {
++-                        List<StatementTree> statements = new ArrayList<StatementTree>(((BlockTree) node.getThenStatement()).getStatements());
+++                        List<StatementTree> statements = new ArrayList<>(((BlockTree) node.getThenStatement()).getStatements());
++                         statements.add(make.Break(null));
++                         copy.rewrite(node, make.Switch(make.Identifier("p"), Collections.singletonList(make.Case(make.Literal(0), statements))));
++                         return super.visitIf(node, p);
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/JavaSourceUtilImplTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/JavaSourceUtilImplTest.java
++deleted file mode 100644
++index 474f37cd1..000000000
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/JavaSourceUtilImplTest.java
+++++ /dev/null
++@@ -1,134 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source;
++-
++-import java.io.ByteArrayInputStream;
++-import java.io.IOException;
++-import java.io.OutputStream;
++-import java.util.Arrays;
++-import java.util.HashSet;
++-import java.util.Map;
++-import java.util.Set;
++-import java.util.stream.Collectors;
++-import org.junit.Before;
++-import org.junit.Test;
++-import org.netbeans.api.java.source.TestUtilities;
++-import org.netbeans.junit.NbTestCase;
++-import org.netbeans.modules.classfile.ClassFile;
++-import org.netbeans.modules.java.source.parsing.FileObjects;
++-import org.openide.filesystems.FileLock;
++-import org.openide.filesystems.FileObject;
++-import org.openide.filesystems.FileUtil;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public class JavaSourceUtilImplTest extends NbTestCase {
++-    
++-    private FileObject wd;
++-    private FileObject root;
++-    private FileObject java;
++-    
++-    public JavaSourceUtilImplTest(String name) {
++-        super(name);
++-    }
++-    
++-    
++-    @Before
++-    @Override
++-    public void setUp() throws Exception {
++-        clearWorkDir();
++-        wd = FileUtil.toFileObject(FileUtil.normalizeFile(getWorkDir()));
++-        root = FileUtil.createFolder(wd, "src");    //NOI18N
++-        java = createFile(root, "org/nb/A.java","package nb;\n class A {}");    //NOI18N
++-    }
++-    
++-    @Test
++-    public void testGenerate() throws Exception {
++-        assertNotNull(root);
++-        assertNotNull(java);
++-        final Map<String, byte[]> res = new JavaSourceUtilImpl().generate(root, java, "package nb;\n class A { void foo(){}}", null);   //NOI18N
++-        assertNotNull(res);
++-        assertEquals(1, res.size());
++-        Map.Entry<String,byte[]> e = res.entrySet().iterator().next();
++-        assertEquals("nb.A", e.getKey());   //NOI18N
++-        final ClassFile cf = new ClassFile(new ByteArrayInputStream(e.getValue()));
++-        assertEquals(2, cf.getMethodCount());
++-        final Set<String> methods = cf.getMethods().stream()
++-                .map((m) -> m.getName())
++-                .collect(Collectors.toSet());
++-        assertEquals(
++-                new HashSet<>(Arrays.asList(new String[]{
++-                    "<init>",   //NOI18N
++-                    "foo"       //NOI18N
++-                })),
++-                methods);
++-    }
++-
++-    private static FileObject createFile(
++-            final FileObject root,
++-            final String path,
++-            final String content) throws Exception {
++-        FileObject file = FileUtil.createData(root, path);
++-        TestUtilities.copyStringToFile(file, content);
++-        return file;
++-    }
++-    
++-    private static void dump(
++-            final FileObject wd,
++-            final Map<String,byte[]> clzs) throws IOException {
++-        for (Map.Entry<String,byte[]> clz : clzs.entrySet()) {
++-            final String extName = FileObjects.convertPackage2Folder(clz.getKey());
++-            final FileObject data = FileUtil.createData(wd, String.format(
++-                    "%s.class", //NOI18N
++-                    extName));
++-            FileLock l = data.lock();
++-            try (final OutputStream out = data.getOutputStream(l)) {
++-                out.write(clz.getValue());
++-            }finally {
++-                l.releaseLock();
++-            }
++-        }
++-        System.out.printf("Dumped into: %s%n", FileUtil.getFileDisplayName(wd));
++-    }
++-}
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/CacheSourceForBinaryQueryImplTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/CacheSourceForBinaryQueryImplTest.java
++index 6557f4e01..d814bf8d2 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/CacheSourceForBinaryQueryImplTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/CacheSourceForBinaryQueryImplTest.java
++@@ -96,7 +96,7 @@ public class CacheSourceForBinaryQueryImplTest extends ClassIndexTestCase {
++ 
++         beginTx();
++ 
++-        this.cpInfo = ClasspathInfoAccessor.getINSTANCE().create(bootPath,compilePath,srcPath,null,true,false,false,false,null);
+++        this.cpInfo = ClasspathInfoAccessor.getINSTANCE().create(bootPath,compilePath,srcPath,null,true,false,false,false);
++         this.sfbq = new CacheSourceForBinaryQueryImpl ();
++     }
++ 
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/JShellSourcePathTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/JShellSourcePathTest.java
++deleted file mode 100644
++index 785064089..000000000
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/classpath/JShellSourcePathTest.java
+++++ /dev/null
++@@ -1,155 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.classpath;
++-
++-import java.io.IOException;
++-import java.util.Collections;
++-import org.netbeans.api.java.classpath.ClassPath;
++-import org.netbeans.api.java.platform.JavaPlatform;
++-import org.netbeans.junit.MockServices;
++-import org.netbeans.junit.NbTestCase;
++-import org.netbeans.modules.parsing.api.indexing.IndexingManager;
++-import org.netbeans.modules.parsing.impl.indexing.CacheFolder;
++-import org.netbeans.spi.java.classpath.ClassPathFactory;
++-import org.netbeans.spi.java.classpath.ClassPathImplementation;
++-import org.netbeans.spi.java.classpath.ClassPathProvider;
++-import org.netbeans.spi.java.classpath.support.ClassPathSupport;
++-import org.openide.filesystems.FileObject;
++-import org.openide.filesystems.FileUtil;
++-import org.openide.util.Lookup;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public class JShellSourcePathTest extends NbTestCase {
++-
++-    private FileObject src;
++-    private ClassPathImplementation sourcesImpl;
++-    private ClassPath sources;
++-    private ClassPath boot;
++-    private ClassPath compile;
++-
++-    public JShellSourcePathTest(final String name) {
++-        super(name);
++-    }
++-
++-    @Override
++-    protected void setUp() throws Exception {
++-        super.setUp();
++-        MockServices.setServices(MockClassPathProvider.class);
++-        clearWorkDir();
++-        final FileObject wd = FileUtil.toFileObject(FileUtil.normalizeFile(getWorkDir()));
++-        assertNotNull(wd);
++-        final FileObject cache = FileUtil.createFolder(wd, "cache");    //NOI18N
++-        assertNotNull(cache);
++-        CacheFolder.setCacheFolder(cache);
++-    }
++-
++-    public void testMasterFs() throws IOException {
++-        init(FileUtil.toFileObject(FileUtil.normalizeFile(getWorkDir())));
++-        performTest();
++-    }
++-
++-    public void testMemFs() throws IOException {
++-        init(FileUtil.createMemoryFileSystem().getRoot());
++-        performTest();
++-    }
++-
++-    private void init(final FileObject workDir) throws IOException {
++-        src = FileUtil.createFolder(
++-                workDir,
++-                "src"); //NOI18N
++-        sourcesImpl = ClassPathSupport.createClassPathImplementation(
++-                Collections.singletonList(ClassPathSupport.createResource(src.toURL())));
++-        sources = ClassPathFactory.createClassPath(sourcesImpl);
++-        boot = JavaPlatform.getDefault().getBootstrapLibraries();
++-        compile = ClassPath.EMPTY;
++-        final MockClassPathProvider cpp = Lookup.getDefault().lookup(MockClassPathProvider.class);
++-        if (cpp == null) {
++-            throw new IllegalStateException("No ClasspathProvider");    //NOI18N
++-        }
++-        cpp.setUp(src, boot, compile, sources);
++-    }
++-
++-    private void performTest() {
++-        assertNotNull(src);
++-        final ClassPath scp = ClassPathFactory.createClassPath(
++-                SourcePath.filtered(sourcesImpl, false));
++-        assertEquals(0, scp.entries().size());
++-        IndexingManager.getDefault().refreshIndexAndWait(src.toURL(), null, true);
++-        assertEquals(1, scp.entries().size());
++-    }
++-
++-    public static final class MockClassPathProvider implements ClassPathProvider {
++-        private FileObject root;
++-        private ClassPath[] cps;
++-
++-        synchronized void setUp(
++-            final FileObject root,
++-            final ClassPath... cps) {
++-            this.root = root;
++-            this.cps = cps;
++-            if (this.cps.length != 3) {
++-                throw new IllegalArgumentException("Wrong length: " + this.cps.length); //NOI18N
++-            }
++-        }
++-
++-        @Override
++-        public synchronized ClassPath findClassPath(
++-                final FileObject file,
++-                final String type) {
++-            if (root != null && file != null && (root.equals(file) || FileUtil.isParentOf(root, file))) {
++-                switch (type) {
++-                    case ClassPath.BOOT:
++-                        return cps[0];
++-                    case ClassPath.COMPILE:
++-                        return cps[1];
++-                    case ClassPath.SOURCE:
++-                        return cps[2];
++-                }
++-            }
++-            return null;
++-        }
++-
++-    }
++-}
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/SourcePrefetcherTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/SourcePrefetcherTest.java
++index 38a7c23e3..15c4eb6bb 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/SourcePrefetcherTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/SourcePrefetcherTest.java
++@@ -258,7 +258,7 @@ public class SourcePrefetcherTest extends NbTestCase {
++         if (!(fo instanceof FileObjects.FileBase)) {
++             throw new IllegalArgumentException(fo.getClass().getName());
++         }
++-        final Class<?> c = fo.getClass().getSuperclass();
+++        final Class<?> c = fo.getClass();
++         final Field f = c.getDeclaredField("data"); //NOI18N
++         f.setAccessible(true);
++         return (CharSequence) f.get(fo);
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/CachingPathArchiveTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/CachingPathArchiveTest.java
++deleted file mode 100644
++index 2df9e47f1..000000000
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/CachingPathArchiveTest.java
+++++ /dev/null
++@@ -1,268 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2015 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2015 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.parsing;
++-
++-import java.io.File;
++-import java.io.IOException;
++-import java.net.URI;
++-import java.net.URL;
++-import java.net.URLClassLoader;
++-import java.nio.file.FileVisitResult;
++-import java.nio.file.FileVisitor;
++-import java.nio.file.Files;
++-import java.nio.file.Path;
++-import java.nio.file.attribute.BasicFileAttributes;
++-import java.nio.file.spi.FileSystemProvider;
++-import java.util.ArrayDeque;
++-import java.util.ArrayList;
++-import java.util.Collection;
++-import java.util.Collections;
++-import java.util.Deque;
++-import java.util.HashMap;
++-import java.util.HashSet;
++-import java.util.List;
++-import java.util.Map;
++-import java.util.ServiceLoader;
++-import java.util.Set;
++-import javax.tools.JavaFileObject;
++-import org.netbeans.api.annotations.common.CheckForNull;
++-import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.junit.NbTestCase;
++-import org.openide.util.BaseUtilities;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public final class CachingPathArchiveTest extends NbTestCase {
++-
++-    private static final String EXPLICIT_JDK9_HOME = null;  //"/Library/Java/JavaVirtualMachines/jdk1.9.0.jdk/Contents/Home/";
++-
++-    public CachingPathArchiveTest(String name) {
++-        super(name);
++-    }
++-
++-    public void testArchiveCorrectness() throws IOException {
++-        final FileSystemProvider provider = getJRTFS();
++-        if (provider != null) {
++-            final Path fsRoot = provider.getPath(URI.create("jrt:/"));  //NOI18N
++-            assertNotNull(fsRoot);
++-            List<? extends Path> modules = getModules(fsRoot);
++-            for (Path module : modules) {
++-                verifyModule(module);
++-            }
++-        } else {
++-            System.out.println("No JDK 9, nothing to test");
++-        }
++-    }
++-
++-    public void testFileObjects() throws IOException {
++-        final FileSystemProvider provider = getJRTFS();
++-        if (provider != null) {
++-            final Path fsRoot = provider.getPath(URI.create("jrt:/"));  //NOI18N
++-            assertNotNull(fsRoot);
++-            List<? extends Path> modules = getModules(fsRoot);
++-            for (Path module : modules) {
++-                verifyURIs(module);
++-            }
++-        } else {
++-            System.out.println("No JDK 9, nothing to test");
++-        }
++-    }
++-
++-    private static void verifyURIs(Path module) throws IOException {
++-        final URI javaHome = BaseUtilities.toURI(getJavaHome());
++-        final URI rootURI = URI.create("nbjrt:"+javaHome+"!"+module+"/");
++-        final CachingPathArchive cpa = new CachingPathArchive(module, rootURI);
++-        final PathArchive pa = new PathArchive(module, rootURI);
++-        final Set<String> pkgs = getPackages(module).keySet();
++-        for (String pkg : pkgs) {
++-            final Iterable<? extends JavaFileObject> cjfos = cpa.getFiles(pkg, null, null, null);
++-            final Iterable<? extends JavaFileObject> jfos = pa.getFiles(pkg, null, null, null);
++-            assertJFOEquals(jfos, cjfos);
++-        }
++-    }
++-
++-    private static void assertJFOEquals(
++-        @NonNull final Iterable<? extends JavaFileObject> i1,
++-        @NonNull final Iterable<? extends JavaFileObject> i2) {
++-        final Map<String,JavaFileObject> i1byName = byName(i1);
++-        final Map<String,JavaFileObject> i2byName = byName(i2);
++-        assertEquals(i1byName.size(), i2byName.size());
++-        for (Map.Entry<String,JavaFileObject> i1e : i1byName.entrySet()) {
++-            final FileObjects.Base jfo1 = (FileObjects.Base) i1e.getValue();
++-            final FileObjects.Base jfo2 = (FileObjects.Base) i2byName.get(i1e.getKey());
++-            assertNotNull(jfo2);
++-            assertEquals(jfo1.getPackage(), jfo2.getPackage());
++-            assertEquals(jfo1.getNameWithoutExtension(), jfo2.getNameWithoutExtension());
++-            assertEquals(jfo1.getExt(), jfo2.getExt());
++-            assertEquals(jfo1.getKind(), jfo2.getKind());
++-            assertEquals(jfo1.getPath(), jfo2.getPath());
++-            assertEquals(jfo1.inferBinaryName(), jfo2.inferBinaryName());
++-            assertEquals(jfo1.toUri(), jfo2.toUri());
++-            assertEquals(jfo1.getLastModified(), jfo2.getLastModified());
++-        }
++-    }
++-
++-    private static Map<String,JavaFileObject> byName(@NonNull final Iterable<? extends JavaFileObject> it) {
++-        final Map<String,JavaFileObject> res = new HashMap<>();
++-        for (JavaFileObject jfo : it) {
++-            res.put(jfo.getName(), jfo);
++-        }
++-        return res;
++-    }
++-
++-    private static void verifyModule(Path module) throws IOException {
++-        final CachingPathArchive cpa = new CachingPathArchive(module, null);
++-        final Map<String,Set<String>> pkgs = getPackages(module);
++-        for (Map.Entry<String,Set<String>> pkg : pkgs.entrySet()) {
++-            final Iterable<? extends JavaFileObject> res = cpa.getFiles(pkg.getKey(), null, null, null);
++-            assertPkgEquals(pkg.getKey(), pkg.getValue(), res);
++-        }
++-    }
++-
++-    private static void assertPkgEquals(final String pkgName, final Set<String> expected, Iterable<? extends JavaFileObject> res) {
++-        final Set<String> ecp = new HashSet<>(expected);
++-        for (JavaFileObject jfo : res) {
++-            assertTrue(
++-                    String.format("In: %s expected: %s got: %s",
++-                        pkgName,
++-                        sorted(expected),
++-                        sorted(asNames(res))),
++-                    ecp.remove(jfo.getName()));
++-        }
++-        assertTrue(
++-                String.format("In: %s expected: %s got: %s",
++-                    pkgName,
++-                    sorted(expected),
++-                    sorted(asNames(res))),
++-                ecp.isEmpty());
++-    }
++-
++-    @NonNull
++-    private static <T extends Comparable> List<T> sorted (@NonNull final Collection<T> c) {
++-        final List<T> res = (c instanceof List) ?
++-                (List<T>) c :
++-                new ArrayList<>(c);
++-        Collections.sort(res);
++-        return res;
++-    }
++-
++-    @NonNull
++-    private static List<String> asNames(Iterable<? extends JavaFileObject> files) {
++-        final List<String> res = new ArrayList<>();
++-        for (JavaFileObject jfo : files) {
++-            res.add(jfo.getName());
++-        }
++-        return res;
++-    }
++-
++-    private static Map<String,Set<String>> getPackages(@NonNull final Path module) throws IOException {
++-        final Map<String,Set<String>> res = new HashMap<>();
++-        Files.walkFileTree(module, new FileVisitor<Path>() {
++-            final Deque<Set<String>> state = new ArrayDeque<>();
++-            @Override
++-            public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
++-                state.offer(new HashSet<String>());
++-                return FileVisitResult.CONTINUE;
++-            }
++-
++-            @Override
++-            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
++-                state.getLast().add(file.getFileName().toString());
++-                return FileVisitResult.CONTINUE;
++-            }
++-
++-            @Override
++-            public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
++-                return FileVisitResult.CONTINUE;
++-            }
++-
++-            @Override
++-            public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
++-                final Set<String> folder = state.removeLast();
++-                if (!folder.isEmpty()) {
++-                    res.put(module.relativize(dir).toString(), folder);
++-                }
++-                return FileVisitResult.CONTINUE;
++-            }
++-        });
++-        return res;
++-    }
++-
++-    @NonNull
++-    private static List<? extends Path> getModules(Path fsRoot) throws IOException {
++-        final List<Path> modules = new ArrayList<>();
++-        for (Path p : Files.newDirectoryStream(fsRoot)) {
++-            if (Files.isDirectory(p)) {
++-                modules.add(p);
++-            }
++-        }
++-        return modules;
++-    }
++-
++-    @CheckForNull
++-    private static FileSystemProvider getJRTFS() throws IOException {
++-        final File jrtFsProvider = new File(getJavaHome(),"jrt-fs.jar"); //NOI18N
++-        if (jrtFsProvider.exists() && jrtFsProvider.isFile() && jrtFsProvider.canRead()) {
++-            final ClassLoader cl = new URLClassLoader(new URL[]{
++-                BaseUtilities.toURI(jrtFsProvider).toURL()
++-            });
++-            final ServiceLoader<FileSystemProvider> sl = ServiceLoader.load(FileSystemProvider.class, cl);
++-            for (FileSystemProvider fsp : sl) {
++-                if ("jrt".equals(fsp.getScheme())) {    //NOI18N
++-                    return fsp;
++-                }
++-            }
++-        }
++-        return null;
++-    }
++-
++-    @NonNull
++-    private static File getJavaHome() {
++-        return new File(
++-            EXPLICIT_JDK9_HOME != null ?
++-                EXPLICIT_JDK9_HOME :
++-                System.getProperty("java.home"));    //NOI18N
++-    }
++-
++-}
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/ClasspathInfoTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/ClasspathInfoTest.java
++index 57878fd97..42c8e091e 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/ClasspathInfoTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/ClasspathInfoTest.java
++@@ -216,7 +216,7 @@ public class ClasspathInfoTest extends NbTestCase {
++         createJavaFile(scp.getRoots()[0], "org/me/Lib.java", "package org.me;\n class Lib {}\n");
++         TransactionContext tx = TransactionContext.beginStandardTransaction(scp.getRoots()[0].toURL(), true, true, false);
++         try {
++-            final ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create( bootPath, classPath,scp, null, true, true, true, false, null);
+++            final ClasspathInfo cpInfo = ClasspathInfoAccessor.getINSTANCE().create( bootPath, classPath,scp, null, true, true, true, false);
++             final JavaFileManager fm = ClasspathInfoAccessor.getINSTANCE().createFileManager(cpInfo);
++             Iterable<JavaFileObject> jfos = fm.list(StandardLocation.SOURCE_PATH, "org.me", EnumSet.of(JavaFileObject.Kind.SOURCE), false);
++             assertEquals (new String[] {"org.me.Lib"}, jfos, fm);
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/PathArchiveTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/PathArchiveTest.java
++deleted file mode 100644
++index 379178a82..000000000
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/PathArchiveTest.java
+++++ /dev/null
++@@ -1,207 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2015 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2015 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.parsing;
++-
++-import java.io.File;
++-import java.io.IOException;
++-import java.net.URI;
++-import java.net.URL;
++-import java.net.URLClassLoader;
++-import java.nio.file.FileVisitResult;
++-import java.nio.file.FileVisitor;
++-import java.nio.file.Files;
++-import java.nio.file.Path;
++-import java.nio.file.attribute.BasicFileAttributes;
++-import java.nio.file.spi.FileSystemProvider;
++-import java.util.ArrayDeque;
++-import java.util.ArrayList;
++-import java.util.Collection;
++-import java.util.Collections;
++-import java.util.Deque;
++-import java.util.HashMap;
++-import java.util.HashSet;
++-import java.util.List;
++-import java.util.Map;
++-import java.util.ServiceLoader;
++-import java.util.Set;
++-import javax.tools.JavaFileObject;
++-import org.netbeans.api.annotations.common.CheckForNull;
++-import org.netbeans.api.annotations.common.NonNull;
++-import org.netbeans.junit.NbTestCase;
++-import org.openide.util.BaseUtilities;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public final class PathArchiveTest extends NbTestCase {
++-
++-    private static final String EXPLICIT_JDK9_HOME = null; //"/Library/Java/JavaVirtualMachines/jdk1.9.0.jdk/Contents/Home/";
++-
++-    public PathArchiveTest(String name) {
++-        super(name);
++-    }
++-
++-    public void testArchiveCorrectness() throws IOException {
++-        final FileSystemProvider provider = getJRTFS();
++-        if (provider != null) {
++-            final Path fsRoot = provider.getPath(URI.create("jrt:/"));  //NOI18N
++-            assertNotNull(fsRoot);
++-            List<? extends Path> modules = getModules(fsRoot);
++-            for (Path module : modules) {
++-                verifyModule(module);
++-            }
++-        } else {
++-            System.out.println("No JDK 9, nothing to test");
++-        }
++-    }
++-
++-    private static void verifyModule(Path module) throws IOException {
++-        final PathArchive pa = new PathArchive(module, null);
++-        final Map<String,Set<String>> pkgs = getPackages(module);
++-        for (Map.Entry<String,Set<String>> pkg : pkgs.entrySet()) {
++-            final Iterable<? extends JavaFileObject> res = pa.getFiles(pkg.getKey(), null, null, null);
++-            assertPkgEquals(pkg.getKey(), pkg.getValue(), res);
++-        }
++-    }
++-
++-    private static void assertPkgEquals(final String pkgName, final Set<String> expected, Iterable<? extends JavaFileObject> res) {
++-        final Set<String> ecp = new HashSet<>(expected);
++-        for (JavaFileObject jfo : res) {
++-            assertTrue(
++-                    String.format("In: %s expected: %s got: %s",
++-                        pkgName,
++-                        sorted(expected),
++-                        sorted(asNames(res))),
++-                    ecp.remove(jfo.getName()));
++-        }
++-        assertTrue(
++-                String.format("In: %s expected: %s got: %s",
++-                    pkgName,
++-                    sorted(expected),
++-                    sorted(asNames(res))),
++-                ecp.isEmpty());
++-    }
++-
++-    @NonNull
++-    private static <T extends Comparable> List<T> sorted (@NonNull final Collection<T> c) {
++-        final List<T> res = (c instanceof List) ?
++-                (List<T>) c :
++-                new ArrayList<>(c);
++-        Collections.sort(res);
++-        return res;
++-    }
++-
++-    @NonNull
++-    private static List<String> asNames(Iterable<? extends JavaFileObject> files) {
++-        final List<String> res = new ArrayList<>();
++-        for (JavaFileObject jfo : files) {
++-            res.add(jfo.getName());
++-        }
++-        return res;
++-    }
++-
++-    private static Map<String,Set<String>> getPackages(@NonNull final Path module) throws IOException {
++-        final Map<String,Set<String>> res = new HashMap<>();
++-        Files.walkFileTree(module, new FileVisitor<Path>() {
++-            final Deque<Set<String>> state = new ArrayDeque<>();
++-            @Override
++-            public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
++-                state.offer(new HashSet<String>());
++-                return FileVisitResult.CONTINUE;
++-            }
++-
++-            @Override
++-            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
++-                state.getLast().add(file.getFileName().toString());
++-                return FileVisitResult.CONTINUE;
++-            }
++-
++-            @Override
++-            public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
++-                return FileVisitResult.CONTINUE;
++-            }
++-
++-            @Override
++-            public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
++-                final Set<String> folder = state.removeLast();
++-                if (!folder.isEmpty()) {
++-                    res.put(module.relativize(dir).toString(), folder);
++-                }
++-                return FileVisitResult.CONTINUE;
++-            }
++-        });
++-        return res;
++-    }
++-
++-    @NonNull
++-    private static List<? extends Path> getModules(Path fsRoot) throws IOException {
++-        final List<Path> modules = new ArrayList<>();
++-        for (Path p : Files.newDirectoryStream(fsRoot)) {
++-            if (Files.isDirectory(p)) {
++-                modules.add(p);
++-            }
++-        }
++-        return modules;
++-    }
++-
++-    @CheckForNull
++-    private static FileSystemProvider getJRTFS() throws IOException {
++-        final File javaHome = new File(EXPLICIT_JDK9_HOME != null ?
++-            EXPLICIT_JDK9_HOME :
++-            System.getProperty("java.home"));    //NOI18N
++-        final File jrtFsProvider = new File(javaHome,"jrt-fs.jar"); //NOI18N
++-        if (jrtFsProvider.exists() && jrtFsProvider.isFile() && jrtFsProvider.canRead()) {
++-            final ClassLoader cl = new URLClassLoader(new URL[]{
++-                BaseUtilities.toURI(jrtFsProvider).toURL()
++-            });
++-            final ServiceLoader<FileSystemProvider> sl = ServiceLoader.load(FileSystemProvider.class, cl);
++-            for (FileSystemProvider fsp : sl) {
++-                if ("jrt".equals(fsp.getScheme())) {    //NOI18N
++-                    return fsp;
++-                }
++-            }
++-        }
++-        return null;
++-    }
++-
++-}
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryAnalyserTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryAnalyserTest.java
++index 651d8fdc3..9420d1fa2 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryAnalyserTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryAnalyserTest.java
++@@ -218,7 +218,7 @@ public class BinaryAnalyserTest extends NbTestCase {
++         BinaryAnalyser a = new BinaryAnalyser(
++             new IndexWriter(index) {
++                 @Override
++-                public void deleteAndFlush(List<Pair<Pair<BinaryName, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
+++                public void deleteAndFlush(List<Pair<Pair<String, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
++                     super.deleteAndFlush(refs, toDelete);
++                 try {
++                     dataFlushed(index);
++@@ -251,7 +251,7 @@ public class BinaryAnalyserTest extends NbTestCase {
++         index.query(
++                 names,
++                 DocumentUtil.binaryNameConvertor(),
++-                DocumentUtil.declaredTypesFieldSelector(false, false),
+++                DocumentUtil.declaredTypesFieldSelector(false),
++                 null,
++                 QueryUtil.createUsagesQuery("java.util.List", EnumSet.of(UsageType.TYPE_REFERENCE), Occur.SHOULD));
++         names.retainAll(
++@@ -281,11 +281,11 @@ public class BinaryAnalyserTest extends NbTestCase {
++             index.clear();
++         }
++         @Override
++-        public void deleteAndStore(List<Pair<Pair<BinaryName, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
+++        public void deleteAndStore(List<Pair<Pair<String, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
++             index.store(refs, toDelete, DocumentUtil.documentConvertor(), DocumentUtil.queryClassConvertor(),true);
++         }
++         @Override
++-        public void deleteAndFlush(List<Pair<Pair<BinaryName, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
+++        public void deleteAndFlush(List<Pair<Pair<String, String>, Object[]>> refs, Set<Pair<String, String>> toDelete) throws IOException {
++             ((Index.Transactional)index).txStore(refs, toDelete, DocumentUtil.documentConvertor(), DocumentUtil.queryClassConvertor());
++         }
++ 
++@@ -394,7 +394,7 @@ public class BinaryAnalyserTest extends NbTestCase {
++         index.query(
++                 result,
++                 DocumentUtil.binaryNameConvertor(),
++-                DocumentUtil.declaredTypesFieldSelector(false, false),
+++                DocumentUtil.declaredTypesFieldSelector(false),
++                 null,
++                 QueryUtil.createUsagesQuery(refered, EnumSet.of(UsageType.TYPE_REFERENCE), Occur.SHOULD));
++         assertTrue(result.containsAll(Arrays.asList(in)));
++@@ -437,7 +437,7 @@ public class BinaryAnalyserTest extends NbTestCase {
++         index.query(
++                 result,
++                 DocumentUtil.binaryNameConvertor(),
++-                DocumentUtil.declaredTypesFieldSelector(false, false),
+++                DocumentUtil.declaredTypesFieldSelector(false),
++                 null,
++                 Queries.createQuery(
++                 DocumentUtil.FIELD_SIMPLE_NAME,
++@@ -519,7 +519,7 @@ public class BinaryAnalyserTest extends NbTestCase {
++             index.query(
++                 res,
++                 DocumentUtil.binaryNameConvertor(),
++-                DocumentUtil.declaredTypesFieldSelector(false, false),
+++                DocumentUtil.declaredTypesFieldSelector(false),
++                 null,
++                 Queries.createQuery("simpleName", "ciName", "", Queries.QueryKind.PREFIX)); //NOI18N
++             index.close();
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryNameTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryNameTest.java
++deleted file mode 100644
++index deae099ec..000000000
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/BinaryNameTest.java
+++++ /dev/null
++@@ -1,107 +0,0 @@
++-/*
++- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++- *
++- * Copyright 2016 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
++- *
++- * The contents of this file are subject to the terms of either the GNU
++- * General Public License Version 2 only ("GPL") or the Common
++- * Development and Distribution License("CDDL") (collectively, the
++- * "License"). You may not use this file except in compliance with the
++- * License. You can obtain a copy of the License at
++- * http://www.netbeans.org/cddl-gplv2.html
++- * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++- * specific language governing permissions and limitations under the
++- * License.  When distributing the software, include this License Header
++- * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++- * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
++- * accompanied this code. If applicable, add the following below the
++- * License Header, with the fields enclosed by brackets [] replaced by
++- * your own identifying information:
++- * "Portions Copyrighted [year] [name of copyright owner]"
++- *
++- * If you wish your version of this file to be governed by only the CDDL
++- * or only the GPL Version 2, indicate your decision by adding
++- * "[Contributor] elects to include this software in this distribution
++- * under the [CDDL or GPL Version 2] license." If you do not indicate a
++- * single choice of license, a recipient has the option to distribute
++- * your version of this file under either the CDDL, the GPL Version 2 or
++- * to extend the choice of license to its licensees as provided above.
++- * However, if you add GPL Version 2 code and therefore, elected the GPL
++- * Version 2 license, then the option applies only if the new code is
++- * made subject to such option by the copyright holder.
++- *
++- * Contributor(s):
++- *
++- * Portions Copyrighted 2016 Sun Microsystems, Inc.
++- */
++-package org.netbeans.modules.java.source.usages;
++-
++-import javax.lang.model.element.ElementKind;
++-import org.netbeans.junit.NbTestCase;
++-
++-/**
++- *
++- * @author Tomas Zezula
++- */
++-public class BinaryNameTest extends NbTestCase {
++-    
++-    public BinaryNameTest(final String name) {
++-        super(name);
++-    }
++-    
++-    public void testRawName() throws Exception {
++-        BinaryName name = BinaryName.create("java.lang.String", ElementKind.CLASS);
++-        assertEquals("java.lang", name.getPackage());
++-        assertEquals("String", name.getClassName());
++-        assertEquals("String", name.getSimpleName());
++-        name = BinaryName.create("InUnnamedPkg", ElementKind.CLASS);
++-        assertEquals("", name.getPackage());
++-        assertEquals("InUnnamedPkg", name.getClassName());
++-        assertEquals("InUnnamedPkg", name.getSimpleName());
++-        name = BinaryName.create("java.util.Map$Entry", ElementKind.INTERFACE);
++-        assertEquals("java.util", name.getPackage());
++-        assertEquals("Map$Entry", name.getClassName());
++-        assertEquals("Entry", name.getSimpleName());
++-        name = BinaryName.create("ru.$stl.Class", ElementKind.CLASS);
++-        assertEquals("ru.$stl", name.getPackage());
++-        assertEquals("Class", name.getClassName());
++-        assertEquals("Class", name.getSimpleName());
++-        name = BinaryName.create("ru.$stl.Class$Inner", ElementKind.CLASS);
++-        assertEquals("ru.$stl", name.getPackage());
++-        assertEquals("Class$Inner", name.getClassName());
++-        assertEquals("Inner", name.getSimpleName());
++-    }
++-    
++-    public void testIndexName() throws Exception {
++-        BinaryName name = BinaryName.create(
++-                "ru.$stl.$vector",
++-                ElementKind.CLASS,
++-                false,
++-                "ru.$stl.$vector".length()-"$vector".length());
++-        assertEquals("ru.$stl", name.getPackage());
++-        assertEquals("$vector", name.getClassName());
++-        assertEquals("$vector", name.getSimpleName());
++-        name = BinaryName.create(
++-                "ru.$stl.$vector$iterator",
++-                ElementKind.CLASS,
++-                false,
++-                "ru.$stl.$vector$iterator".length()-"iterator".length());
++-        assertEquals("ru.$stl", name.getPackage());
++-        assertEquals("$vector$iterator", name.getClassName());
++-        assertEquals("iterator", name.getSimpleName());
++-        name = BinaryName.create(
++-                "ru.$stl.$vector$$iterator",
++-                ElementKind.CLASS,
++-                false,
++-                "ru.$stl.$vector$$iterator".length()-"$iterator".length());
++-        assertEquals("ru.$stl", name.getPackage());
++-        assertEquals("$vector$$iterator", name.getClassName());
++-        assertEquals("$iterator", name.getSimpleName());
++-    }
++-    
++-}
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/LucenePerformanceTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/LucenePerformanceTest.java
++index 3c411d9b5..c4ba539bd 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/LucenePerformanceTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/LucenePerformanceTest.java
++@@ -62,7 +62,6 @@ import java.util.Map;
++ import java.util.Random;
++ import java.util.Set;
++ import java.util.TreeSet;
++-import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.TypeElement;
++ import org.apache.lucene.index.Term;
++ import org.netbeans.api.java.source.ElementHandle;
++@@ -101,7 +100,7 @@ public class LucenePerformanceTest extends NbTestCase {
++         final File indexDir = new File (this.getWorkDir(),"index");
++         indexDir.mkdirs();
++         final Index index = IndexManager.createIndex(indexDir, DocumentUtil.createAnalyzer());
++-        List<Pair<Pair<BinaryName,String>,Object[]>> data = prepareData(20000,1000,50);
+++        List<Pair<Pair<String,String>,Object[]>> data = prepareData(20000,1000,50);
++ //        Map<String,List<String>> data = loadData(new File ("/tmp/data"));
++ //        storeData(new File ("/tmp/data"),data);
++         long startTime = System.currentTimeMillis();
++@@ -131,7 +130,7 @@ public class LucenePerformanceTest extends NbTestCase {
++         index.query(
++                 result2,
++                 DocumentUtil.elementHandleConvertor(),
++-                DocumentUtil.declaredTypesFieldSelector(false, false),
+++                DocumentUtil.declaredTypesFieldSelector(false),
++                 null,
++                 Queries.createQuery(DocumentUtil.FIELD_SIMPLE_NAME,DocumentUtil.FIELD_CASE_INSENSITIVE_NAME,"",Queries.QueryKind.PREFIX));
++         endTime = System.currentTimeMillis();
++@@ -151,7 +150,7 @@ public class LucenePerformanceTest extends NbTestCase {
++         index.query(
++                 result2,
++                 DocumentUtil.elementHandleConvertor(),
++-                DocumentUtil.declaredTypesFieldSelector(false, false),
+++                DocumentUtil.declaredTypesFieldSelector(false),
++                 null,
++                 Queries.createQuery(DocumentUtil.FIELD_SIMPLE_NAME,DocumentUtil.FIELD_CASE_INSENSITIVE_NAME,"Class7",Queries.QueryKind.PREFIX));
++         endTime = System.currentTimeMillis();
++@@ -163,8 +162,8 @@ public class LucenePerformanceTest extends NbTestCase {
++     }
++     
++     
++-    private static List<Pair<Pair<BinaryName,String>,Object[]>> prepareData (final int count, final int pkgLimit, final int refLimit) {
++-        final List<Pair<Pair<BinaryName,String>,Object[]>> result = new ArrayList<> ();
+++    private static List<Pair<Pair<String,String>,Object[]>> prepareData (final int count, final int pkgLimit, final int refLimit) {
+++        final List<Pair<Pair<String,String>,Object[]>> result = new ArrayList<Pair<Pair<String,String>,Object[]>> ();
++         final List<String> refs = new LinkedList<String>();
++         final Random r = new Random (System.currentTimeMillis());
++         for (int i=0; i<count; i++) {
++@@ -178,9 +177,7 @@ public class LucenePerformanceTest extends NbTestCase {
++                 }
++             }
++             String name = String.format("pkg%d.Class%dC",r.nextInt(pkgLimit),i);
++-            result.add(Pair.<Pair<BinaryName,String>,Object[]>of(
++-                    Pair.<BinaryName,String>of(BinaryName.create(name, ElementKind.CLASS),null),
++-                    new Object[]{l,null,null}));
+++            result.add(Pair.<Pair<String,String>,Object[]>of(Pair.<String,String>of(name,null),new Object[]{l,null,null}));
++             refs.add (name);                    
++         }
++         return result;
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/PersistentClassIndexScopesTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/PersistentClassIndexScopesTest.java
++index f3bd46040..cb1fb4b6d 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/PersistentClassIndexScopesTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/PersistentClassIndexScopesTest.java
++@@ -49,7 +49,6 @@ import java.util.Collections;
++ import java.util.HashSet;
++ import java.util.List;
++ import java.util.Set;
++-import javax.lang.model.element.ElementKind;
++ import org.apache.lucene.document.Document;
++ import org.apache.lucene.search.Query;
++ import org.netbeans.api.annotations.common.NonNull;
++@@ -192,16 +191,15 @@ public class PersistentClassIndexScopesTest extends NbTestCase {
++         final File indexFolder = new File(JavaIndex.getIndex(root), "refs");    //NOI18N
++         final Index index = IndexManager.createIndex(indexFolder, DocumentUtil.createAnalyzer());
++         try {
++-            final List<Pair<Pair<BinaryName,String>,Object[]>> docs = new ArrayList<>(PKG_COUNT * CLZ_IN_PKG_COUNT);
+++            final List<Pair<Pair<String,String>,Object[]>> docs = new ArrayList<>(PKG_COUNT * CLZ_IN_PKG_COUNT);
++             for (int i = 0; i < PKG_COUNT; i++) {
++                 for (int j = 0; j < CLZ_IN_PKG_COUNT; j++ ) {
++-                    final Pair<BinaryName,String> name = Pair.of(BinaryName.create(String.format(
+++                    final Pair<String,String> name = Pair.of(String.format(
++                             BIN_FORMAT,
++                             PKG_NAME,
++                             i,
++                             CLZ_NAME,
++                             j),
++-                            ElementKind.CLASS),
++                         null);
++                     final Object[] usagesData = new Object[] {
++                         Collections.emptyList(),
++diff --git a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/SourceAnalyzerTest.java b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/SourceAnalyzerTest.java
++index d36b24517..2c2844bb9 100644
++--- a/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/SourceAnalyzerTest.java
+++++ b/java.source.base/test/unit/src/org/netbeans/modules/java/source/usages/SourceAnalyzerTest.java
++@@ -143,7 +143,7 @@ public class SourceAnalyzerTest extends NbTestCase {
++             jt.enter();
++             jt.analyze();
++             final SourceAnalyzerFactory.SimpleAnalyzer sa = SourceAnalyzerFactory.createSimpleAnalyzer();
++-            List<Pair<Pair<BinaryName, String>, Object[]>> data = sa.analyseUnit(trees.iterator().next(), jt);
+++            List<Pair<Pair<String, String>, Object[]>> data = sa.analyseUnit(trees.iterator().next(), jt);
++             assertEquals(1, data.size());
++             assertTrue(((Collection)data.iterator().next().second()[0]).contains(
++                 DocumentUtil.encodeUsage("Lib", EnumSet.<ClassIndexImpl.UsageType>of(   //NOI18N
++@@ -199,7 +199,7 @@ public class SourceAnalyzerTest extends NbTestCase {
++             jt.enter();
++             jt.analyze();
++             final SourceAnalyzerFactory.SimpleAnalyzer sa = SourceAnalyzerFactory.createSimpleAnalyzer();
++-            List<Pair<Pair<BinaryName, String>, Object[]>> data = sa.analyseUnit(trees.iterator().next(), jt);
+++            List<Pair<Pair<String, String>, Object[]>> data = sa.analyseUnit(trees.iterator().next(), jt);
++             assertEquals(1, data.size());
++             assertTrue(((Collection)data.iterator().next().second()[0]).contains(
++                 DocumentUtil.encodeUsage("Lib", EnumSet.<ClassIndexImpl.UsageType>of(   //NOI18N
++@@ -251,7 +251,7 @@ public class SourceAnalyzerTest extends NbTestCase {
++             jt.enter();
++             jt.analyze();
++             final SourceAnalyzerFactory.SimpleAnalyzer sa = SourceAnalyzerFactory.createSimpleAnalyzer();
++-            List<Pair<Pair<BinaryName, String>, Object[]>> data = sa.analyseUnit(trees.iterator().next(), jt);
+++            List<Pair<Pair<String, String>, Object[]>> data = sa.analyseUnit(trees.iterator().next(), jt);
++             assertEquals(1, data.size());
++             assertTrue(((Collection)data.iterator().next().second()[0]).contains(
++                 DocumentUtil.encodeUsage("Lib", EnumSet.<ClassIndexImpl.UsageType>of(   //NOI18N
diff --cc debian/patches/netbeans-java.source.patch
index 0000000,0000000..e9b8a18
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.source.patch
@@@ -1,0 -1,0 +1,816 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Sun, 25 Dec 2016 21:46:03 +0100
++Subject: netbeans java.source
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ .../nbproject/org-netbeans-modules-java-source.sig |  60 +++---------------
++ java.source/nbproject/project.properties           |   2 +-
++ java.source/nbproject/project.xml                  |  24 +++----
++ .../SelectionAwareJavaSourceTaskFactory.java       |  69 +++++----------------
++ .../modules/java/classfile/Bundle.properties       |  37 -----------
++ .../netbeans/modules/java/source/package-info.java |   5 +-
++ .../java/source/resources/LambdaBody.template      |  15 -----
++ .../java/source/resources/find_usages.settings     |  39 ------------
++ .../java/source/resources/find_usages.wstcref      |  39 ------------
++ .../resources/icons/methodAbstractPackage.png      | Bin 631 -> 0 bytes
++ .../resources/icons/methodAbstractProtected.png    | Bin 753 -> 0 bytes
++ .../resources/icons/methodAbstractPublic.png       | Bin 500 -> 0 bytes
++ .../source/resources/icons/methodDefaultPublic.png | Bin 669 -> 0 bytes
++ .../org/netbeans/modules/java/ui/Bundle.properties |   1 -
++ .../org/netbeans/modules/java/ui/FmtWrapping.form  |  17 -----
++ .../org/netbeans/modules/java/ui/FmtWrapping.java  |  12 ----
++ .../src/org/netbeans/modules/java/ui/Icons.java    |   6 --
++ .../data/projects/default/nbproject/build-impl.xml |   2 +-
++ 18 files changed, 40 insertions(+), 288 deletions(-)
++ delete mode 100644 java.source/src/org/netbeans/modules/java/source/resources/LambdaBody.template
++ delete mode 100644 java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPackage.png
++ delete mode 100644 java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractProtected.png
++ delete mode 100644 java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPublic.png
++ delete mode 100644 java.source/src/org/netbeans/modules/java/source/resources/icons/methodDefaultPublic.png
++
++diff --git a/java.source/nbproject/org-netbeans-modules-java-source.sig b/java.source/nbproject/org-netbeans-modules-java-source.sig
++index 23ffca031..181662f6a 100644
++--- a/java.source/nbproject/org-netbeans-modules-java-source.sig
+++++ b/java.source/nbproject/org-netbeans-modules-java-source.sig
++@@ -1,5 +1,5 @@
++ #Signature file v4.1
++-#Version 0.149.1
+++#Version 0.135.0
++ 
++ CLSS public abstract interface com.sun.source.tree.TreeVisitor<%0 extends java.lang.Object, %1 extends java.lang.Object>
++ meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAnnotatedType(com.sun.source.tree.AnnotatedTypeTree,{com.sun.source.tree.TreeVisitor%1})
++@@ -274,7 +274,6 @@ CLSS public final org.netbeans.api.java.source.ClassIndex
++ innr public abstract interface static SearchScopeType
++ innr public abstract static !enum SearchScope
++ innr public final static !enum NameKind
++-innr public final static !enum ResourceType
++ innr public final static !enum SearchKind
++ innr public final static Symbols
++ meth public !varargs static org.netbeans.api.java.source.ClassIndex$SearchScopeType createPackageSearchScope(org.netbeans.api.java.source.ClassIndex$SearchScopeType,java.lang.String[])
++@@ -310,12 +309,6 @@ meth public java.util.Set<org.openide.filesystems.FileObject> getResources(org.n
++  anno 1 org.netbeans.api.annotations.common.NonNull()
++  anno 2 org.netbeans.api.annotations.common.NonNull()
++  anno 3 org.netbeans.api.annotations.common.NonNull()
++-meth public java.util.Set<org.openide.filesystems.FileObject> getResources(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>,java.util.Set<org.netbeans.api.java.source.ClassIndex$ResourceType>)
++- anno 0 org.netbeans.api.annotations.common.NullUnknown()
++- anno 1 org.netbeans.api.annotations.common.NonNull()
++- anno 2 org.netbeans.api.annotations.common.NonNull()
++- anno 3 org.netbeans.api.annotations.common.NonNull()
++- anno 4 org.netbeans.api.annotations.common.NonNull()
++ meth public java.util.Set<org.openide.filesystems.FileObject> getResourcesForPackage(org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.PackageElement>,java.util.Set<org.netbeans.api.java.source.ClassIndex$SearchKind>,java.util.Set<? extends org.netbeans.api.java.source.ClassIndex$SearchScopeType>)
++  anno 0 org.netbeans.api.annotations.common.NullUnknown()
++  anno 1 org.netbeans.api.annotations.common.NonNull()
++@@ -342,18 +335,9 @@ meth public static org.netbeans.api.java.source.ClassIndex$NameKind valueOf(java
++ meth public static org.netbeans.api.java.source.ClassIndex$NameKind[] values()
++ supr java.lang.Enum<org.netbeans.api.java.source.ClassIndex$NameKind>
++ 
++-CLSS public final static !enum org.netbeans.api.java.source.ClassIndex$ResourceType
++- outer org.netbeans.api.java.source.ClassIndex
++-fld public final static org.netbeans.api.java.source.ClassIndex$ResourceType BINARY
++-fld public final static org.netbeans.api.java.source.ClassIndex$ResourceType SOURCE
++-meth public static org.netbeans.api.java.source.ClassIndex$ResourceType valueOf(java.lang.String)
++-meth public static org.netbeans.api.java.source.ClassIndex$ResourceType[] values()
++-supr java.lang.Enum<org.netbeans.api.java.source.ClassIndex$ResourceType>
++-
++ CLSS public final static !enum org.netbeans.api.java.source.ClassIndex$SearchKind
++  outer org.netbeans.api.java.source.ClassIndex
++ fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind FIELD_REFERENCES
++-fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind FUNCTIONAL_IMPLEMENTORS
++ fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind IMPLEMENTORS
++ fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind METHOD_REFERENCES
++ fld public final static org.netbeans.api.java.source.ClassIndex$SearchKind TYPE_REFERENCES
++@@ -422,7 +406,7 @@ meth public void addChangeListener(javax.swing.event.ChangeListener)
++ meth public void removeChangeListener(javax.swing.event.ChangeListener)
++  anno 1 org.netbeans.api.annotations.common.NonNull()
++ supr java.lang.Object
++-hfds archiveProvider,bootClassPath,cachedAptSrcClassPath,cachedBootClassPath,cachedCompileClassPath,cachedSrcClassPath,compileClassPath,cpListener,filter,fmTx,ignoreExcludes,listenerList,log,memoryFileManager,outputClassPath,pgTx,srcClassPath,usagesQuery,useModifiedFiles
+++hfds EMPTY_PATH,archiveProvider,bootClassPath,cachedAptSrcClassPath,cachedBootClassPath,cachedCompileClassPath,cachedSrcClassPath,compileClassPath,cpListener,filter,fmTx,ignoreExcludes,listenerList,log,memoryFileManager,outputClassPath,pgTx,srcClassPath,usagesQuery,useModifiedFiles
++ hcls ClassPathListener,ClasspathInfoAccessorImpl
++ 
++ CLSS public final static !enum org.netbeans.api.java.source.ClasspathInfo$PathKind
++@@ -465,7 +449,6 @@ meth public boolean alignMultilineTryResources()
++ meth public boolean blankLineAfterJavadocDescription()
++ meth public boolean blankLineAfterJavadocParameterDescriptions()
++ meth public boolean blankLineAfterJavadocReturnTag()
++-meth public boolean computeMemberDependencies()
++ meth public boolean enableBlockCommentFormatting()
++ meth public boolean enableJavadocFormatting()
++ meth public boolean expandTabToSpaces()
++@@ -530,7 +513,6 @@ meth public boolean spaceBeforeWhile()
++ meth public boolean spaceBeforeWhileLeftBrace()
++ meth public boolean spaceBeforeWhileParen()
++ meth public boolean spaceWithinAnnotationParens()
++-meth public boolean spaceWithinArrayIndexBrackets()
++ meth public boolean spaceWithinArrayInitBrackets()
++ meth public boolean spaceWithinBraces()
++ meth public boolean spaceWithinCatchParens()
++@@ -561,7 +543,6 @@ meth public int countForUsingStaticStarImport()
++ meth public int getBlankLinesAfterAnonymousClassHeader()
++ meth public int getBlankLinesAfterClass()
++ meth public int getBlankLinesAfterClassHeader()
++-meth public int getBlankLinesAfterEnumHeader()
++ meth public int getBlankLinesAfterFields()
++ meth public int getBlankLinesAfterImports()
++ meth public int getBlankLinesAfterMethods()
++@@ -569,7 +550,6 @@ meth public int getBlankLinesAfterPackage()
++ meth public int getBlankLinesBeforeAnonymousClassClosingBrace()
++ meth public int getBlankLinesBeforeClass()
++ meth public int getBlankLinesBeforeClassClosingBrace()
++-meth public int getBlankLinesBeforeEnumClosingBrace()
++ meth public int getBlankLinesBeforeFields()
++ meth public int getBlankLinesBeforeImports()
++ meth public int getBlankLinesBeforeMethods()
++@@ -872,8 +852,6 @@ hcls ElementHandleAccessorImpl
++ CLSS public final org.netbeans.api.java.source.ElementUtilities
++ innr public abstract interface static ElementAcceptor
++ meth public boolean alreadyDefinedIn(java.lang.CharSequence,javax.lang.model.type.ExecutableType,javax.lang.model.element.TypeElement)
++-meth public boolean hasGetter(javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,org.netbeans.api.java.source.CodeStyle)
++-meth public boolean hasSetter(javax.lang.model.element.TypeElement,javax.lang.model.element.VariableElement,org.netbeans.api.java.source.CodeStyle)
++ meth public boolean implementsMethod(javax.lang.model.element.ExecutableElement)
++ meth public boolean isEffectivelyFinal(javax.lang.model.element.VariableElement)
++ meth public boolean isErroneous(javax.lang.model.element.Element)
++@@ -883,12 +861,10 @@ meth public boolean isMemberOf(javax.lang.model.element.Element,javax.lang.model
++ meth public boolean isSynthetic(javax.lang.model.element.Element)
++ meth public boolean overridesMethod(javax.lang.model.element.ExecutableElement)
++ meth public com.sun.javadoc.Doc javaDocFor(javax.lang.model.element.Element)
++-meth public java.lang.CharSequence getElementName(javax.lang.model.element.Element,boolean)
++ meth public java.lang.Iterable<? extends javax.lang.model.element.Element> getLocalMembersAndVars(com.sun.source.tree.Scope,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++ meth public java.lang.Iterable<? extends javax.lang.model.element.Element> getLocalVars(com.sun.source.tree.Scope,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++ meth public java.lang.Iterable<? extends javax.lang.model.element.Element> getMembers(javax.lang.model.type.TypeMirror,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++ meth public java.lang.Iterable<? extends javax.lang.model.element.TypeElement> getGlobalTypes(org.netbeans.api.java.source.ElementUtilities$ElementAcceptor)
++-meth public java.util.List<? extends javax.lang.model.element.ExecutableElement> findOverridableMethods(javax.lang.model.element.TypeElement)
++ meth public java.util.List<? extends javax.lang.model.element.ExecutableElement> findUnimplementedMethods(javax.lang.model.element.TypeElement)
++ meth public javax.lang.model.element.Element elementFor(com.sun.javadoc.Doc)
++ meth public javax.lang.model.element.Element findElement(java.lang.String)
++@@ -900,8 +876,7 @@ meth public javax.lang.model.element.TypeElement enclosingTypeElement(javax.lang
++ meth public javax.lang.model.element.TypeElement outermostTypeElement(javax.lang.model.element.Element)
++ meth public static java.lang.String getBinaryName(javax.lang.model.element.TypeElement)
++ supr java.lang.Object
++-hfds NOT_OVERRIDABLE,ctx,delegate,info
++-hcls ElementNameVisitor
+++hfds ctx,delegate,info
++ 
++ CLSS public abstract interface static org.netbeans.api.java.source.ElementUtilities$ElementAcceptor
++  outer org.netbeans.api.java.source.ElementUtilities
++@@ -933,7 +908,7 @@ meth public static org.netbeans.api.java.source.GeneratorUtilities get(org.netbe
++ meth public void copyComments(com.sun.source.tree.Tree,com.sun.source.tree.Tree,boolean)
++ supr java.lang.Object
++ hfds CLASS_NAME,DEFAULT_RETURN_TYPE_VALUE,GENERATED_METHOD_BODY,METHOD_NAME,METHOD_RETURN_TYPE,OVERRIDDEN_METHOD_BODY,SCRIPT_ENGINE_ATTR,SIMPLE_CLASS_NAME,STRING_OUTPUT_MODE_ATTR,SUPER_METHOD_CALL,copy,manager
++-hcls ClassMemberComparator,FieldRefVisitor,ImportsComparator
+++hcls ClassMemberComparator,ImportsComparator
++ 
++ CLSS public abstract org.netbeans.api.java.source.JavaParserResultTask<%0 extends org.netbeans.modules.parsing.spi.Parser$Result>
++ cons protected init(org.netbeans.api.java.source.JavaSource$Phase)
++@@ -1048,7 +1023,7 @@ meth public static org.netbeans.api.java.source.ModificationResult runModificati
++  anno 2 org.netbeans.api.annotations.common.NonNull()
++ meth public void commit() throws java.io.IOException
++ supr java.lang.Object
++-hfds LOG,committed,creator,diffs,lastCommitted,tag2Span
+++hfds LOG,committed,creator,diffs,lastCommitted,sources,tag2Span
++ hcls CreateChange,FilteringReader,FilteringWriter
++ 
++ CLSS public static org.netbeans.api.java.source.ModificationResult$Difference
++@@ -1062,18 +1037,12 @@ meth public java.lang.String getNewText()
++ meth public java.lang.String getOldText()
++  anno 0 org.netbeans.api.annotations.common.NonNull()
++ meth public java.lang.String toString()
++-meth public javax.swing.text.Document openDocument() throws java.io.IOException
++- anno 0 org.netbeans.api.annotations.common.CheckForNull()
++-meth public javax.swing.text.Position getEndPosition()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++-meth public javax.swing.text.Position getStartPosition()
++- anno 0 org.netbeans.api.annotations.common.NonNull()
++ meth public org.netbeans.api.java.source.ModificationResult$Difference$Kind getKind()
++  anno 0 org.netbeans.api.annotations.common.NonNull()
++ meth public void exclude(boolean)
++ meth public void setCommitToGuards(boolean)
++ supr java.lang.Object
++-hfds ctxLookup,description,endPos,excluded,ignoreGuards,kind,newText,oldText,sourceFile,startPos,theSource
+++hfds description,endPos,excluded,ignoreGuards,kind,newText,oldText,startPos
++ 
++ CLSS public final static !enum org.netbeans.api.java.source.ModificationResult$Difference$Kind
++  outer org.netbeans.api.java.source.ModificationResult$Difference
++@@ -1138,7 +1107,6 @@ meth public static java.net.URL getPreferredJavadoc(javax.lang.model.element.Ele
++ meth public static java.util.Collection<? extends java.net.URL> getJavadoc(javax.lang.model.element.Element)
++  anno 0 org.netbeans.api.annotations.common.NonNull()
++  anno 1 org.netbeans.api.annotations.common.NonNull()
++-meth public static java.util.Collection<? extends javax.lang.model.element.Element> getForwardReferences(com.sun.source.util.TreePath,int,com.sun.source.util.SourcePositions,com.sun.source.util.Trees)
++ meth public static java.util.Collection<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getMainClasses(org.openide.filesystems.FileObject)
++  anno 1 org.netbeans.api.annotations.common.NonNull()
++ meth public static java.util.Collection<org.netbeans.api.java.source.ElementHandle<javax.lang.model.element.TypeElement>> getMainClasses(org.openide.filesystems.FileObject[])
++@@ -1154,24 +1122,19 @@ meth public static javax.lang.model.element.TypeElement getEnclosingTypeElement(
++  anno 0 java.lang.Deprecated()
++ meth public static javax.lang.model.element.TypeElement getOutermostEnclosingTypeElement(javax.lang.model.element.Element)
++ meth public static javax.lang.model.type.TypeMirror getBound(javax.lang.model.type.WildcardType)
++-meth public static javax.lang.model.type.TypeMirror resolveCapturedType(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.type.TypeMirror)
++ meth public static javax.lang.model.type.WildcardType resolveCapturedType(javax.lang.model.type.TypeMirror)
++ meth public static org.netbeans.api.lexer.TokenSequence<org.netbeans.api.java.lexer.JavaTokenId> getJavaTokenSequence(org.netbeans.api.lexer.TokenHierarchy,int)
++ meth public static org.openide.filesystems.FileObject getFile(javax.lang.model.element.Element,org.netbeans.api.java.source.ClasspathInfo)
++ meth public static org.openide.filesystems.FileObject getFile(org.netbeans.api.java.source.ElementHandle<? extends javax.lang.model.element.Element>,org.netbeans.api.java.source.ClasspathInfo)
++ meth public static void waitScanFinished() throws java.lang.InterruptedException
++ supr java.lang.Object
++-hfds LOG,MAX_LEN,VOWELS
+++hfds LOG,MAX_LEN,VOWELS,docLet1,docLet2,jdocCache
++ hcls CaseInsensitiveMatch,CaseSensitiveMatch,Match
++ 
++ CLSS public abstract interface org.netbeans.api.java.source.Task<%0 extends java.lang.Object>
++ meth public abstract void run({org.netbeans.api.java.source.Task%0}) throws java.lang.Exception
++ 
++ CLSS public final org.netbeans.api.java.source.TreeMaker
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asNew({%%0})
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asRemoved({%%0})
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asReplacementOf({%%0},com.sun.source.tree.Tree)
++-meth public <%0 extends com.sun.source.tree.Tree> {%%0} asReplacementOf({%%0},com.sun.source.tree.Tree,boolean)
++ meth public <%0 extends com.sun.source.tree.Tree> {%%0} setInitialValue({%%0},com.sun.source.tree.ExpressionTree)
++ meth public <%0 extends com.sun.source.tree.Tree> {%%0} setLabel({%%0},java.lang.CharSequence)
++ meth public com.sun.source.doctree.AttributeTree Attribute(java.lang.CharSequence,com.sun.source.doctree.AttributeTree$ValueKind,java.util.List<? extends com.sun.source.doctree.DocTree>)
++@@ -1466,8 +1429,6 @@ meth public com.sun.source.tree.Tree translate(com.sun.source.tree.Tree,java.uti
++ meth public com.sun.source.util.DocTreePath pathFor(com.sun.source.util.DocTreePath,int)
++ meth public com.sun.source.util.DocTreePath pathFor(com.sun.source.util.DocTreePath,int,com.sun.source.util.DocSourcePositions)
++ meth public com.sun.source.util.DocTreePath pathFor(com.sun.source.util.TreePath,com.sun.source.doctree.DocCommentTree,int)
++-meth public com.sun.source.util.TreePath getPathElementOfKind(com.sun.source.tree.Tree$Kind,com.sun.source.util.TreePath)
++-meth public com.sun.source.util.TreePath getPathElementOfKind(java.util.Set<com.sun.source.tree.Tree$Kind>,com.sun.source.util.TreePath)
++ meth public com.sun.source.util.TreePath pathFor(com.sun.source.util.TreePath,int)
++ meth public com.sun.source.util.TreePath pathFor(com.sun.source.util.TreePath,int,com.sun.source.util.SourcePositions)
++ meth public com.sun.source.util.TreePath pathFor(int)
++@@ -1495,7 +1456,6 @@ meth public java.util.List<? extends com.sun.source.tree.Tree> getReferenceParam
++  anno 0 org.netbeans.api.annotations.common.CheckForNull()
++  anno 1 org.netbeans.api.annotations.common.NonNull()
++ meth public java.util.List<org.netbeans.api.java.source.Comment> getComments(com.sun.source.tree.Tree,boolean)
++-meth public java.util.Set<? extends javax.lang.model.element.VariableElement> getUninitializedFields(com.sun.source.util.TreePath)
++ meth public java.util.Set<javax.lang.model.type.TypeMirror> getUncaughtExceptions(com.sun.source.util.TreePath)
++ meth public javax.lang.model.element.Name getReferenceName(com.sun.source.util.DocTreePath)
++  anno 0 org.netbeans.api.annotations.common.CheckForNull()
++@@ -1575,7 +1535,7 @@ hcls FindDeclarationVisitor
++ CLSS public final static org.netbeans.api.java.source.UiUtils$PrintPart
++  outer org.netbeans.api.java.source.UiUtils
++  anno 0 java.lang.Deprecated()
++-fld public final static java.lang.String ANNOTATIONS = "%annotations%"
+++fld public final static java.lang.String ANNOTATIONS = "%annotations"
++ fld public final static java.lang.String EXTENDS = "%extends%"
++ fld public final static java.lang.String FLAGS = "%flags%"
++ fld public final static java.lang.String IMPLEMENTS = "%implements%"
++@@ -1611,8 +1571,8 @@ meth public void tag(com.sun.source.tree.Tree,java.lang.Object)
++  anno 1 org.netbeans.api.annotations.common.NonNull()
++  anno 2 org.netbeans.api.annotations.common.NonNull()
++ supr org.netbeans.api.java.source.CompilationController
++-hfds NOT_LINKED,REWRITE_WHOLE_FILE,afterCommit,changes,docChanges,externalChanges,instance,introducedTrees,overlay,rewriteHints,textualChanges,tree2Tag,treeMaker,usedComments,userInfo
++-hcls CommentReplicator,Translator,TreeCollector
+++hfds REWRITE_WHOLE_FILE,afterCommit,changes,docChanges,externalChanges,instance,introducedTrees,overlay,textualChanges,tree2Tag,treeMaker,userInfo
+++hcls Translator,TreeCollector
++ 
++ CLSS public org.netbeans.api.java.source.matching.Matcher
++ intf org.openide.util.Cancellable
++diff --git a/java.source/nbproject/project.properties b/java.source/nbproject/project.properties
++index c9538879f..07fcfa4e6 100644
++--- a/java.source/nbproject/project.properties
+++++ b/java.source/nbproject/project.properties
++@@ -46,7 +46,7 @@ javadoc.name=Java Source
++ javadoc.title=Java Source
++ javadoc.arch=${basedir}/arch.xml
++ javadoc.apichanges=${basedir}/apichanges.xml
++-spec.version.base=0.158.1
+++spec.version.base=0.149.1
++ test.qa-functional.cp.extra=${refactoring.java.dir}/modules/ext/nb-javac-api.jar
++ test.unit.run.cp.extra=${o.n.core.dir}/core/core.jar:\
++     ${o.n.core.dir}/lib/boot.jar:\
++diff --git a/java.source/nbproject/project.xml b/java.source/nbproject/project.xml
++index 6142d0494..3ec897716 100644
++--- a/java.source/nbproject/project.xml
+++++ b/java.source/nbproject/project.xml
++@@ -123,7 +123,7 @@ made subject to such option by the copyright holder.
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>8.15</specification-version>
+++                        <specification-version>8.11</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++@@ -188,12 +188,6 @@ made subject to such option by the copyright holder.
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++-                    <code-name-base>org.netbeans.modules.editor.indent.support</code-name-base>
++-                    <run-dependency>
++-                        <specification-version>1.40</specification-version>
++-                    </run-dependency>
++-                </dependency>
++-                <dependency>
++                     <code-name-base>org.netbeans.modules.editor.lib</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++@@ -407,7 +401,7 @@ made subject to such option by the copyright holder.
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++-                    <code-name-base>org.openide.util</code-name-base>
+++                    <code-name-base>org.openide.util.ui</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++@@ -415,19 +409,19 @@ made subject to such option by the copyright holder.
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++-                    <code-name-base>org.openide.util.lookup</code-name-base>
+++                    <code-name-base>org.openide.util</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>8.0</specification-version>
+++                        <specification-version>9.3</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++-                    <code-name-base>org.openide.util.ui</code-name-base>
+++                    <code-name-base>org.openide.util.lookup</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>9.3</specification-version>
+++                        <specification-version>8.0</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++@@ -438,6 +432,12 @@ made subject to such option by the copyright holder.
++                         <specification-version>6.2</specification-version>
++                     </run-dependency>
++                 </dependency>
+++                <dependency>
+++                    <code-name-base>org.netbeans.modules.editor.indent.support</code-name-base>
+++                    <run-dependency>
+++                        <specification-version>1.40</specification-version>
+++                    </run-dependency>
+++                </dependency>
++             </module-dependencies>
++             <test-dependencies>
++                 <test-type>
++diff --git a/java.source/src/org/netbeans/api/java/source/support/SelectionAwareJavaSourceTaskFactory.java b/java.source/src/org/netbeans/api/java/source/support/SelectionAwareJavaSourceTaskFactory.java
++index dff64c421..8a0a5a465 100644
++--- a/java.source/src/org/netbeans/api/java/source/support/SelectionAwareJavaSourceTaskFactory.java
+++++ b/java.source/src/org/netbeans/api/java/source/support/SelectionAwareJavaSourceTaskFactory.java
++@@ -46,19 +46,14 @@ package org.netbeans.api.java.source.support;
++ import java.lang.ref.Reference;
++ import java.lang.ref.WeakReference;
++ import java.util.ArrayList;
++-import java.util.Collection;
++-import java.util.HashSet;
++ import java.util.List;
++ import java.util.Map;
++-import java.util.Set;
++ import java.util.WeakHashMap;
++-import javax.swing.SwingUtilities;
++ 
++ import javax.swing.event.CaretEvent;
++ import javax.swing.event.CaretListener;
++ import javax.swing.event.ChangeEvent;
++ import javax.swing.event.ChangeListener;
++-import javax.swing.text.Caret;
++ import javax.swing.text.JTextComponent;
++ 
++ import org.netbeans.api.annotations.common.NonNull;
++@@ -143,6 +138,7 @@ public abstract class SelectionAwareJavaSourceTaskFactory extends JavaSourceTask
++         return files;
++     }
++ 
+++    private Map<JTextComponent, ComponentListener> component2Listener = new WeakHashMap<JTextComponent, SelectionAwareJavaSourceTaskFactory.ComponentListener>();
++     private static Map<FileObject, Integer> file2SelectionStartPosition = new WeakHashMap<FileObject, Integer>();
++     private static Map<FileObject, Integer> file2SelectionEndPosition = new WeakHashMap<FileObject, Integer>();
++     
++@@ -173,69 +169,32 @@ public abstract class SelectionAwareJavaSourceTaskFactory extends JavaSourceTask
++         file2SelectionEndPosition.put(file, endPosition);
++     }
++     
++-    /**
++-     * The listener is called from EditorRegistry under locked OpenedEditors instance in EDT, but it is
++-     * also called by Prop changes on DataObject in any thread. Selections must be read from components from
++-     * EDT, otherwise see issue #258581.
++-     */
++-    private class ChangeListenerImpl implements ChangeListener, Runnable {
++-        // @GuardedBy(this)
++-        private Map<JTextComponent, ComponentListener> component2Listener = new WeakHashMap<JTextComponent, SelectionAwareJavaSourceTaskFactory.ComponentListener>();
++-        // @GuardedBy(this) just carry-over between stateChanged and EDT
++-        private Set<JTextComponent>    updateSelection = new HashSet<>();
+++    private class ChangeListenerImpl implements ChangeListener {
++         
++-        public void run() {
++-            Collection<JTextComponent> update;
++-            
++-            synchronized (this) {
++-                update = updateSelection;
++-                updateSelection = new HashSet<>();
++-            }
++-            for (JTextComponent c : update) {
++-                int selStart, selEnd;
++-                Caret caret = c.getCaret();
++-                // possobly the caret is not yet installed ?
++-                if (caret != null) {
++-                    selStart = c.getSelectionStart();
++-                    selEnd = c.getSelectionEnd();
++-                } else {
++-                    selStart = selEnd = 0;
++-                }
++-
++-                //TODO: are we in AWT Thread?:
++-                setLastSelection(OpenedEditors.getFileObject(c), selStart, selEnd);
++-            }
++-        }
++-            
++-        
++-        // called under locked OpenedEditors. Do not extend the lock. Lock ordering
++-        // is always the same.
++-        public synchronized void stateChanged(ChangeEvent e) {
++-            List<JTextComponent> visible = OpenedEditors.getDefault().getVisibleEditors();
++-            List<JTextComponent> added = new ArrayList<JTextComponent>(visible);
+++        public void stateChanged(ChangeEvent e) {
+++            List<JTextComponent> added = new ArrayList<JTextComponent>(OpenedEditors.getDefault().getVisibleEditors());
++             List<JTextComponent> removed = new ArrayList<JTextComponent>(component2Listener.keySet());
++-
+++            
++             added.removeAll(component2Listener.keySet());
++-            removed.removeAll(visible);
++-
+++            removed.removeAll(OpenedEditors.getDefault().getVisibleEditors());
+++            
++             for (JTextComponent c : removed) {
++                 c.removeCaretListener(component2Listener.remove(c));
++             }
++-
+++            
++             for (JTextComponent c : added) {
++                 ComponentListener l = new ComponentListener(c);
++-
+++                
++                 c.addCaretListener(l);
++                 component2Listener.put(c, l);
+++                
+++                //TODO: are we in AWT Thread?:
+++                setLastSelection(OpenedEditors.getFileObject(c), c.getSelectionStart(), c.getSelectionEnd());
++             }
++             
++-            if (added.isEmpty()) {
++-                return;
++-            }
++-            updateSelection.addAll(added);
++-            // invokelater even though we could be in EDT - do not extend OpenedEditors lock.
++-            SwingUtilities.invokeLater(this);
+++            fileObjectsChanged();
++         }
+++        
++     }
++     
++     private class ComponentListener implements CaretListener {
++diff --git a/java.source/src/org/netbeans/modules/java/classfile/Bundle.properties b/java.source/src/org/netbeans/modules/java/classfile/Bundle.properties
++index 8db118104..f0c6747bb 100644
++--- a/java.source/src/org/netbeans/modules/java/classfile/Bundle.properties
+++++ b/java.source/src/org/netbeans/modules/java/classfile/Bundle.properties
++@@ -1,40 +1,3 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2011, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License.  When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ AttachSourcePanel.jLabel1.text=Showing generated source file. No sources are attached to class' JAR file.
++ AttachSourcePanel.jButton1.text=Attach Sources...
++ TXT_OpenAttachedSource=Opening the Attached Source
++diff --git a/java.source/src/org/netbeans/modules/java/source/package-info.java b/java.source/src/org/netbeans/modules/java/source/package-info.java
++index 6f28c20d5..1522a6c88 100644
++--- a/java.source/src/org/netbeans/modules/java/source/package-info.java
+++++ b/java.source/src/org/netbeans/modules/java/source/package-info.java
++@@ -42,11 +42,10 @@
++ 
++ @TemplateRegistrations({
++     @TemplateRegistration(folder = "Classes/Code", position = 100, content = "resources/GeneratedMethodBody.template", scriptEngine = "freemarker", displayName = "#GeneratedMethodBody", category = "java-code-snippet"),
++-    @TemplateRegistration(folder = "Classes/Code", position = 200, content = "resources/OverriddenMethodBody.template", scriptEngine = "freemarker", displayName = "#OverriddenMethodBody", category = "java-code-snippet"),
++-    @TemplateRegistration(folder = "Classes/Code", position = 300, content = "resources/LambdaBody.template", scriptEngine = "freemarker", displayName = "#LambdaBody", category = "java-code-snippet")
+++    @TemplateRegistration(folder = "Classes/Code", position = 200, content = "resources/OverriddenMethodBody.template", scriptEngine = "freemarker", displayName = "#OverriddenMethodBody", category = "java-code-snippet")
++ })
++ @NbBundle.Messages({
++-    "GeneratedMethodBody=Generated Method Body", "OverriddenMethodBody=Overridden Method Body", "LambdaBody=Generated Lambda Body" //NOI18N
+++    "GeneratedMethodBody=Generated Method Body", "OverriddenMethodBody=Overridden Method Body" //NOI18N
++ })
++ package org.netbeans.modules.java.source;
++ 
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/LambdaBody.template b/java.source/src/org/netbeans/modules/java/source/resources/LambdaBody.template
++deleted file mode 100644
++index 66850d166..000000000
++--- a/java.source/src/org/netbeans/modules/java/source/resources/LambdaBody.template
+++++ /dev/null
++@@ -1,15 +0,0 @@
++-<#--
++-A built-in Freemarker template (see http://freemarker.sourceforge.net) used for
++-filling the body of lambda expressions generated by the IDE. When editing
++-the template, the following predefined variables, that will be then expanded
++-into the corresponding values, could be used together with Java expressions and
++-comments:
++-${method_return_type}       a return type of the functional interface method
++-${default_return_value}     a value returned by the method by default
++-${method_name}              name of the functional interface method
++--->
++-<#if method_return_type?? && method_return_type != "void">
++-return ${default_return_value}; //To change body of generated lambdas, choose Tools | Templates.
++-<#else>
++-//To change body of generated lambdas, choose Tools | Templates.
++-</#if>
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/find_usages.settings b/java.source/src/org/netbeans/modules/java/source/resources/find_usages.settings
++index bd4340344..edc902d9e 100644
++--- a/java.source/src/org/netbeans/modules/java/source/resources/find_usages.settings
+++++ b/java.source/src/org/netbeans/modules/java/source/resources/find_usages.settings
++@@ -1,43 +1,4 @@
++ <?xml version="1.0"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2006, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <!DOCTYPE settings PUBLIC "-//NetBeans//DTD Session settings 1.0//EN" "http://www.netbeans.org/dtds/sessionsettings-1_0.dtd">
++ <settings version="1.0">
++     <module name="org.netbeans.modules.java.source" spec="0.1"/>
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/find_usages.wstcref b/java.source/src/org/netbeans/modules/java/source/resources/find_usages.wstcref
++index bbe6b8563..59456556b 100644
++--- a/java.source/src/org/netbeans/modules/java/source/resources/find_usages.wstcref
+++++ b/java.source/src/org/netbeans/modules/java/source/resources/find_usages.wstcref
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2006, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ 
++ <!DOCTYPE tc-ref PUBLIC
++           "-//NetBeans//DTD Top Component in Mode Properties 2.0//EN"
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPackage.png b/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPackage.png
++deleted file mode 100644
++index d96678fa7..000000000
++--- a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPackage.png
+++++ /dev/null
++@@ -1,9 +0,0 @@
++-�PNG
++-
++-
++-�7.k�c�F|�.�
E7�ƅ�a\�n�Z݈"U)��Z�ڝ��(MJ���6���s]؆ޚ����真{���]�6���
++-$��2*���瑹xc�%L��9?8�
�
Ig�
++-
++-�
++-�˱����R~�R�o�?�n���$��$�tE �puݢ�aM���oU��jU����_��-�ժ�*剶Ӷ�Y]�-
++-by���a#��ڰY^)�X(�ե�д-f4)e�_0Ms�!�
�&�z x\��v����b�Ѭ�k�4k

6M
�H
++\ No newline at end of file
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractProtected.png b/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractProtected.png
++deleted file mode 100644
++index d7dd01a66..000000000
++--- a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractProtected.png
+++++ /dev/null
++@@ -1,7 +0,0 @@
++-�PNG
++-
++-
++-B�+��.rE�f��DB���m�d��R��uS�D~@7nKW�˹���s�����nt�
�����󼯉�p����
M7 
++-��\uc}D
r#�
�
�9�5H���EU���Ps	|�>>���r�b��`���DR��V&s	�h���(�D�c�h��S
++- �����Q�D�c��>��&�~�r �WVCP�*�JZ��jˁ
++-��b)��e9�W�O"�P�
 
 `M�e
++\ No newline at end of file
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPublic.png b/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPublic.png
++deleted file mode 100644
++index dc60e047a..000000000
++--- a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodAbstractPublic.png
+++++ /dev/null
++@@ -1,5 +0,0 @@
++-�PNG
++-
++-
++-:�WӘ`Iob������h�+f�;����y�̛gc�34��4�$_rϽ�s�q���5���U淏���6�
h�k�
++-�
++\ No newline at end of file
++diff --git a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodDefaultPublic.png b/java.source/src/org/netbeans/modules/java/source/resources/icons/methodDefaultPublic.png
++deleted file mode 100644
++index a4d353112..000000000
++--- a/java.source/src/org/netbeans/modules/java/source/resources/icons/methodDefaultPublic.png
+++++ /dev/null
++@@ -1,6 +0,0 @@
++-�PNG
++-
++-
++-N9=
++-p
`b(���F;��
=��;s��]��|>�)1�rtb(��1�h�Zu�茄�Q)���nKw(�oł&�p�p4*�EgD�u��^�"
++-�f{�����=J������i���+[�JZ��Jg�N��T:Cֲ��j[~�/I�6���lIZ�/�Ӊ���䅪��lz��`�^�P�%	EQ�-�H��3�~v�����޼�4�w�C{"��fY>,�⺮�\(o��Ǟ��
0��U�´���2��K�
�
{��v&Y��
++\ No newline at end of file
++diff --git a/java.source/src/org/netbeans/modules/java/ui/Bundle.properties b/java.source/src/org/netbeans/modules/java/ui/Bundle.properties
++index a2563e7a1..31cbe01e6 100644
++--- a/java.source/src/org/netbeans/modules/java/ui/Bundle.properties
+++++ b/java.source/src/org/netbeans/modules/java/ui/Bundle.properties
++@@ -218,7 +218,6 @@ LBL_wrp_afeterDot=Wrap After Dot In Chained Method Call
++ LBL_wrp_arrayInit=Array Initiali&zer\:
++ LBL_wrp_tryResources=Try Re&sources\:
++ LBL_wrp_multiCatches=Dis&junctive Catch Types\:
++-LBL_wrp_afterBar=Wrap After Bar in Disjunctive Catches
++ LBL_wrp_for=&For\:
++ LBL_wrp_forStatement=F&or Statement\:
++ LBL_wrp_ifStatement=&If Statement\:
++diff --git a/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.form b/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.form
++index 41b919137..e5d4a5a60 100644
++--- a/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.form
+++++ b/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.form
++@@ -412,23 +412,6 @@
++                 </Constraint>
++               </Constraints>
++             </Component>
++-            <Component class="javax.swing.JCheckBox" name="afterBarCheckBox">
++-              <Properties>
++-                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++-                  <ResourceString bundle="org/netbeans/modules/java/ui/Bundle.properties" key="LBL_wrp_afterBar" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
++-                </Property>
++-                <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
++-                  <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
++-                    <EmptyBorder bottom="0" left="0" right="0" top="0"/>
++-                  </Border>
++-                </Property>
++-              </Properties>
++-              <Constraints>
++-                <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
++-                  <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="8" insetsBottom="6" insetsRight="0" anchor="17" weightX="0.0" weightY="0.0"/>
++-                </Constraint>
++-              </Constraints>
++-            </Component>
++             <Component class="javax.swing.JLabel" name="forLabel">
++               <Properties>
++                 <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor">
++diff --git a/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.java b/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.java
++index 74cb36882..9393e53bd 100644
++--- a/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.java
+++++ b/java.source/src/org/netbeans/modules/java/ui/FmtWrapping.java
++@@ -91,8 +91,6 @@ public class FmtWrapping extends javax.swing.JPanel implements FocusListener {
++         tryCombo.addFocusListener(this);
++         multiCatchCombo.putClientProperty(OPTION_ID, wrapDisjunctiveCatchTypes);
++         multiCatchCombo.addFocusListener(this);
++-        afterBarCheckBox.putClientProperty(OPTION_ID, wrapAfterDisjunctiveCatchBar);
++-        afterBarCheckBox.addFocusListener(this);
++         forCombo.putClientProperty(OPTION_ID, wrapFor);
++         forCombo.addFocusListener(this);
++         forStatementCombo.putClientProperty(OPTION_ID, wrapForStatement );
++@@ -189,7 +187,6 @@ public class FmtWrapping extends javax.swing.JPanel implements FocusListener {
++         tryCombo = new javax.swing.JComboBox();
++         multiCatchLabel = new javax.swing.JLabel();
++         multiCatchCombo = new javax.swing.JComboBox();
++-        afterBarCheckBox = new javax.swing.JCheckBox();
++         forLabel = new javax.swing.JLabel();
++         forCombo = new javax.swing.JComboBox();
++         forStatementLabel = new javax.swing.JLabel();
++@@ -395,14 +392,6 @@ public class FmtWrapping extends javax.swing.JPanel implements FocusListener {
++         gridBagConstraints.insets = new java.awt.Insets(0, 6, 4, 8);
++         panel1.add(multiCatchCombo, gridBagConstraints);
++ 
++-        org.openide.awt.Mnemonics.setLocalizedText(afterBarCheckBox, org.openide.util.NbBundle.getMessage(FmtWrapping.class, "LBL_wrp_afterBar")); // NOI18N
++-        afterBarCheckBox.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
++-        gridBagConstraints = new java.awt.GridBagConstraints();
++-        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
++-        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
++-        gridBagConstraints.insets = new java.awt.Insets(2, 8, 6, 0);
++-        panel1.add(afterBarCheckBox, gridBagConstraints);
++-
++         forLabel.setLabelFor(forCombo);
++         org.openide.awt.Mnemonics.setLocalizedText(forLabel, org.openide.util.NbBundle.getMessage(FmtWrapping.class, "LBL_wrp_for")); // NOI18N
++         gridBagConstraints = new java.awt.GridBagConstraints();
++@@ -639,7 +628,6 @@ public class FmtWrapping extends javax.swing.JPanel implements FocusListener {
++     
++     // Variables declaration - do not modify//GEN-BEGIN:variables
++     private javax.swing.JCheckBox afterAssignOpsCheckBox;
++-    private javax.swing.JCheckBox afterBarCheckBox;
++     private javax.swing.JCheckBox afterBinaryOpsCheckBox;
++     private javax.swing.JCheckBox afterDotCheckBox;
++     private javax.swing.JCheckBox afterLambdaArrowCheckBox;
++diff --git a/java.source/src/org/netbeans/modules/java/ui/Icons.java b/java.source/src/org/netbeans/modules/java/ui/Icons.java
++index ff207b448..898e63ca3 100644
++--- a/java.source/src/org/netbeans/modules/java/ui/Icons.java
+++++ b/java.source/src/org/netbeans/modules/java/ui/Icons.java
++@@ -136,12 +136,6 @@ public final class Icons {
++         if ( modifiers.contains( Modifier.STATIC ) ) {
++             fileName.append( "Static" );                        //NOI18N
++         }
++-        if ( modifiers.contains( Modifier.ABSTRACT ) ) {
++-            fileName.append( "Abstract" );                        //NOI18N
++-        }
++-        if ( modifiers.contains( Modifier.DEFAULT ) ) {
++-            fileName.append( "Default" );                        //NOI18N
++-        }
++         if (kind == ElementKind.STATIC_INIT || kind == ElementKind.INSTANCE_INIT) {
++             return fileName.append(extension).toString();
++         }
++diff --git a/java.source/test/qa-functional/data/projects/default/nbproject/build-impl.xml b/java.source/test/qa-functional/data/projects/default/nbproject/build-impl.xml
++index e0abf2883..915a701b6 100644
++--- a/java.source/test/qa-functional/data/projects/default/nbproject/build-impl.xml
+++++ b/java.source/test/qa-functional/data/projects/default/nbproject/build-impl.xml
++@@ -1185,7 +1185,7 @@ is divided into following sections:
++     <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
++         <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
++         <startprofiler/>
++-        <antcall target="run-test-with-main"/>
+++        <antcal target="run-test-with-main"/>
++     </target>
++     <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
++         <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
diff --cc debian/patches/netbeans-java.sourceui.patch
index 0000000,0000000..d39ea60
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-java.sourceui.patch
@@@ -1,0 -1,0 +1,970 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Sun, 25 Dec 2016 22:32:41 +0100
++Subject: netbeans java.sourceui
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ java.sourceui/arch.xml                             | 49 ++++----------
++ java.sourceui/build.xml                            | 39 ------------
++ .../org-netbeans-modules-java-sourceui.sig         |  6 +-
++ java.sourceui/nbproject/project.properties         | 41 +-----------
++ java.sourceui/nbproject/project.xml                | 41 +-----------
++ .../api/java/source/ui/ElementJavadoc.java         | 14 ++--
++ .../netbeans/api/java/source/ui/ElementOpen.java   | 64 +++++--------------
++ .../netbeans/api/java/source/ui/ScanDialog.java    | 20 ++++--
++ .../java/source/ui/AsyncJavaSymbolDescriptor.java  | 10 ++-
++ .../java/source/ui/JavaSymbolDescriptorBase.java   | 72 ++++++---------------
++ .../modules/java/source/ui/JavaSymbolProvider.java |  6 +-
++ .../java/source/ui/JavaTypeDescription.java        | 74 +++++-----------------
++ .../modules/java/source/ui/JavaTypeProvider.java   | 13 +---
++ .../source/ui/ResolvedJavaSymbolDescriptor.java    |  3 +-
++ .../java/source/ui/resources/Bundle.properties     | 37 -----------
++ .../modules/java/source/ui/resources/layer.xml     | 39 ------------
++ 16 files changed, 98 insertions(+), 430 deletions(-)
++
++diff --git a/java.sourceui/arch.xml b/java.sourceui/arch.xml
++index 302da77d2..47bf5585c 100644
++--- a/java.sourceui/arch.xml
+++++ b/java.sourceui/arch.xml
++@@ -1,42 +1,21 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++ <!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2008, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
+++The contents of this file are subject to the terms of the Common Development
+++and Distribution License (the License). You may not use this file except in
+++compliance with the License.
+++
+++You can obtain a copy of the License at http://www.netbeans.org/cddl.html
+++or http://www.netbeans.org/cddl.txt.
+++
+++When distributing Covered Code, include this CDDL Header Notice in each file
+++and include the License file at http://www.netbeans.org/cddl.txt.
+++If applicable, add the following below the CDDL Header, with the fields
+++enclosed by brackets [] replaced by your own identifying information:
++ "Portions Copyrighted [year] [name of copyright owner]"
++ 
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
+++The Original Software is NetBeans. The Initial Developer of the Original
+++Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
+++Microsystems, Inc. All Rights Reserved.
++ -->
++ <!DOCTYPE api-answers PUBLIC "-//NetBeans//DTD Arch Answers//EN" "../nbbuild/antsrc/org/netbeans/nbbuild/Arch.dtd" [
++   <!ENTITY api-questions SYSTEM "../nbbuild/antsrc/org/netbeans/nbbuild/Arch-api-questions.xml">
++diff --git a/java.sourceui/build.xml b/java.sourceui/build.xml
++index 7c8911675..729164f78 100644
++--- a/java.sourceui/build.xml
+++++ b/java.sourceui/build.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2007, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project basedir="." default="netbeans" name="java.sourceui">
++     <description>Builds, tests, and runs the project org.netbeans.modules.java.sourceui</description>
++     <import file="../nbbuild/templates/projectized.xml"/>
++diff --git a/java.sourceui/nbproject/org-netbeans-modules-java-sourceui.sig b/java.sourceui/nbproject/org-netbeans-modules-java-sourceui.sig
++index 60aca5c82..74d261b6e 100644
++--- a/java.sourceui/nbproject/org-netbeans-modules-java-sourceui.sig
+++++ b/java.sourceui/nbproject/org-netbeans-modules-java-sourceui.sig
++@@ -1,5 +1,5 @@
++ #Signature file v4.1
++-#Version 1.42.1
+++#Version 1.38.0
++ 
++ CLSS public abstract interface !annotation java.lang.Deprecated
++  anno 0 java.lang.annotation.Documented()
++@@ -82,8 +82,8 @@ meth public java.util.concurrent.Future<java.lang.String> getTextAsync()
++ meth public javax.swing.Action getGotoSourceAction()
++ meth public org.netbeans.api.java.source.ui.ElementJavadoc resolveLink(java.lang.String)
++ supr java.lang.Object
++-hfds API,APINOTE_TAG,ASSOCIATE_JDOC,CODE_TAG,DEPRECATED_TAG,IMPLNOTE_TAG,IMPLSPEC_TAG,INHERIT_DOC_TAG,LANGS,LINKPLAIN_TAG,LITERAL_TAG,PARAM_TAG,RETURN_TAG,RP,SEE_TAG,SINCE_TAG,THROWS_TAG,VALUE_TAG,cancel,content,cpInfo,docURL,fileObject,goToSource,handle,linkCounter,links
++-hcls Now
+++hfds API,ASSOCIATE_JDOC,CODE_TAG,DEPRECATED_TAG,INHERIT_DOC_TAG,LANGS,LINKPLAIN_TAG,LITERAL_TAG,PARAM_TAG,RETURN_TAG,RP,SEE_TAG,SINCE_TAG,THROWS_TAG,VALUE_TAG,cancel,content,cpInfo,docURL,goToSource,handle,linkCounter,links
+++hcls Now,RemoteJavadocException
++ 
++ CLSS public final org.netbeans.api.java.source.ui.ElementOpen
++ meth public static boolean open(org.netbeans.api.java.source.ClasspathInfo,javax.lang.model.element.Element)
++diff --git a/java.sourceui/nbproject/project.properties b/java.sourceui/nbproject/project.properties
++index 06c5a0609..3da82fd77 100644
++--- a/java.sourceui/nbproject/project.properties
+++++ b/java.sourceui/nbproject/project.properties
++@@ -1,45 +1,8 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2007, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License.  When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ javadoc.apichanges=${basedir}/apichanges.xml
++ javac.compilerargs=-Xlint -Xlint:-serial
++-javac.source=1.8
+++javac.source=1.7
++ javadoc.arch=${basedir}/arch.xml
++-spec.version.base=1.43.1
+++spec.version.base=1.42.1
++ 
++ test.config.stableBTD.includes=**/*Test.class
++ test.config.stableBTD.excludes=\
++diff --git a/java.sourceui/nbproject/project.xml b/java.sourceui/nbproject/project.xml
++index cb90d04fa..b448a15c2 100644
++--- a/java.sourceui/nbproject/project.xml
+++++ b/java.sourceui/nbproject/project.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2007, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project xmlns="http://www.netbeans.org/ns/project/1">
++     <type>org.netbeans.modules.apisupport.project</type>
++     <configuration>
++@@ -93,7 +54,7 @@ Contributor(s):
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>8.15</specification-version>
+++                        <specification-version>0.5</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++diff --git a/java.sourceui/src/org/netbeans/api/java/source/ui/ElementJavadoc.java b/java.sourceui/src/org/netbeans/api/java/source/ui/ElementJavadoc.java
++index 0d622dd18..bfa813242 100644
++--- a/java.sourceui/src/org/netbeans/api/java/source/ui/ElementJavadoc.java
+++++ b/java.sourceui/src/org/netbeans/api/java/source/ui/ElementJavadoc.java
++@@ -375,9 +375,8 @@ public class ElementJavadoc {
++                     element,
++                     JavadocHelper.RemoteJavadocPolicy.SPECULATIVE,
++                     cancel);
++-                computeDocURL(pages, true, cancel);
++                 for (JavadocHelper.TextStream ts : pages) {
++-                    if (docURL == null && !ts.getLocations().isEmpty()) {
+++                    if (docURL == null && !ts.getLocations().isEmpty()) {                        
++                         docURL = ts.getLocations().get(0);
++                     }
++                     localized |= isLocalized(ts.getLocations(), element);
++@@ -735,14 +734,9 @@ public class ElementJavadoc {
++                 final Callable<String> call = new Callable<String>() {
++                     @Override
++                     public String call() throws Exception {
++-                        String jdText = null;
++-                        for (JavadocHelper.TextStream page : pages) {
++-                            jdText = page != null ? HTMLJavadocParser.getJavadocText(page, false) : getURL() != null ? HTMLJavadocParser.getJavadocText(getURL(), false) : null;
++-                            if (jdText != null) {
++-                                docURL = page.getLocation();
++-                                break;
++-                            }
++-                        }
+++                        JavadocHelper.TextStream page = pages.isEmpty() ? null : pages.get(0);
+++                        docURL = page == null ? null : page.getLocation();
+++                        String jdText = page != null ? HTMLJavadocParser.getJavadocText(page, false) : getURL() != null ? HTMLJavadocParser.getJavadocText(getURL(), false) : null;
++                         if (jdText != null) {
++                             sb.append(jdText);
++                         } else {
++diff --git a/java.sourceui/src/org/netbeans/api/java/source/ui/ElementOpen.java b/java.sourceui/src/org/netbeans/api/java/source/ui/ElementOpen.java
++index e36fe521e..a5e98f708 100644
++--- a/java.sourceui/src/org/netbeans/api/java/source/ui/ElementOpen.java
+++++ b/java.sourceui/src/org/netbeans/api/java/source/ui/ElementOpen.java
++@@ -56,11 +56,13 @@ import org.netbeans.modules.java.source.parsing.ClassParser;
++ import org.netbeans.modules.java.source.parsing.FileObjects;
++ import org.openide.awt.StatusDisplayer;
++ import org.openide.cookies.EditorCookie;
+++import org.openide.cookies.OpenCookie;
++ import org.openide.filesystems.FileObject;
++ import org.openide.loaders.DataObject;
++ import org.openide.loaders.DataObjectNotFoundException;
++ import org.openide.util.Exceptions;
++ import org.openide.util.Lookup;
+++import org.openide.util.Mutex;
++ import org.openide.util.NbBundle;
++ import org.openide.util.Parameters;
++ 
++@@ -86,44 +88,35 @@ public final class ElementOpen {
++     public static boolean open(final ClasspathInfo cpInfo, final ElementHandle<? extends Element> el) {
++         final AtomicBoolean cancel = new AtomicBoolean();
++         if (SwingUtilities.isEventDispatchThread() && !JavaSourceAccessor.holdsParserLock()) {
++-            final Object[] openInfo = new Object[3];
+++            final boolean[] result = new boolean[1];
++             ProgressUtils.runOffEventDispatchThread(new Runnable() {
++                     public void run() {
++-                        Object[] info = getOpenInfo(cpInfo, el, cancel);
++-                        if (info != null) {
++-                            openInfo[0] = info[0];
++-                            openInfo[1] = info[1];
++-                            openInfo[2] = info[2];
++-                        }
+++                        result[0] = open(cpInfo, el, cancel);
++                     }
++                 },
++                 NbBundle.getMessage(ElementOpen.class, "TXT_CalculatingDeclPos"),
++                 cancel,
++                 false);
++-            if (cancel.get()) {
++-                return false;
++-            }
++-            if (openInfo[0] instanceof FileObject) {
++-                return doOpen((FileObject)openInfo[0], (int)openInfo[1], (int)openInfo[2]);                
++-            }
++-            return binaryOpen(cpInfo, el, cancel);
+++            return result[0];
++         } else {
++             return open(cpInfo, el, cancel);
++         }
++     }
++     
++     private static boolean open(final ClasspathInfo cpInfo, final ElementHandle<? extends Element> el, AtomicBoolean cancel) {
++-        Object[] openInfo = getOpenInfo(cpInfo, el, cancel);
+++        FileObject fo = SourceUtils.getFile(el, cpInfo);
+++        if (fo != null && fo.isFolder()) {
+++            fo = fo.getFileObject("package-info.java"); // NOI18N
+++        }
+++        Object[] openInfo = fo != null ? getOpenInfo(fo, el, cancel) : null;
++         if (cancel.get()) return false;
++         if (openInfo != null) {
++             assert openInfo[0] instanceof FileObject;
++             return doOpen((FileObject) openInfo[0], (int)openInfo[1], (int)openInfo[2]);
++         }
++-        return binaryOpen(cpInfo, el, cancel);
++-    }
++-    
++-    private static boolean binaryOpen(final ClasspathInfo cpInfo, final ElementHandle<? extends Element> el, AtomicBoolean cancel) {
+++
++         BinaryElementOpen beo = Lookup.getDefault().lookup(BinaryElementOpen.class);
+++
++         if (beo != null) {
++             return beo.open(cpInfo, el, cancel);
++         } else {
++@@ -156,27 +149,16 @@ public final class ElementOpen {
++             @NonNull final ElementHandle<? extends Element> toOpen) {
++         final AtomicBoolean cancel = new AtomicBoolean();
++         if (SwingUtilities.isEventDispatchThread() && !JavaSourceAccessor.holdsParserLock()) {
++-            final Object[] openInfo = new Object[3];
+++            final boolean[] result = new boolean[1];
++             ProgressUtils.runOffEventDispatchThread(new Runnable() {
++                     public void run() {
++-                        Object[] info = !isClassFile(toSearch) ? getOpenInfo (toSearch, toOpen, cancel) : null;
++-                        if (info != null) {
++-                            openInfo[0] = info[0];
++-                            openInfo[1] = info[1];
++-                            openInfo[2] = info[2];
++-                        }
+++                        result[0] = open(toSearch, toOpen, cancel);
++                     }
++                 },
++                 NbBundle.getMessage(ElementOpen.class, "TXT_CalculatingDeclPos"),
++                 cancel,
++                 false);
++-            if (cancel.get()) {
++-                return false;
++-            }
++-            if (openInfo[0] instanceof FileObject) {
++-                return doOpen((FileObject)openInfo[0],(int)openInfo[1], (int)openInfo[2]);
++-            }
++-            return binaryOpen(toSearch, toOpen, cancel);
+++            return result[0];
++         } else {
++             return open(toSearch, toOpen, cancel);
++         }
++@@ -197,13 +179,7 @@ public final class ElementOpen {
++             assert openInfo[0] instanceof FileObject;
++             return doOpen((FileObject)openInfo[0],(int)openInfo[1], (int)openInfo[2]);
++         }
++-        return binaryOpen(toSearch, toOpen, cancel);
++-    }
++-    
++-    private static boolean binaryOpen(
++-            @NonNull final FileObject toSearch,
++-            @NonNull final ElementHandle<? extends Element> toOpen,
++-            @NonNull final AtomicBoolean cancel) {
+++
++         boolean res = false;
++         final BinaryElementOpen beo = Lookup.getDefault().lookup(BinaryElementOpen.class);
++         if (beo != null) {
++@@ -230,14 +206,6 @@ public final class ElementOpen {
++         return FileObjects.CLASS.equals(file.getExt()) || ClassParser.MIME_TYPE.equals(file.getMIMEType(ClassParser.MIME_TYPE));
++     }
++ 
++-    private static Object[] getOpenInfo(final ClasspathInfo cpInfo, final ElementHandle<? extends Element> el, AtomicBoolean cancel) {
++-        FileObject fo = SourceUtils.getFile(el, cpInfo);
++-        if (fo != null && fo.isFolder()) {
++-            fo = fo.getFileObject("package-info.java"); // NOI18N
++-        }
++-        return fo != null ? getOpenInfo(fo, el, cancel) : null;
++-    }
++-
++     private static Object[] getOpenInfo(final FileObject fo, final ElementHandle<? extends Element> handle, AtomicBoolean cancel) {
++         assert fo != null;
++         
++diff --git a/java.sourceui/src/org/netbeans/api/java/source/ui/ScanDialog.java b/java.sourceui/src/org/netbeans/api/java/source/ui/ScanDialog.java
++index d34e1b1db..1a40bad8c 100644
++--- a/java.sourceui/src/org/netbeans/api/java/source/ui/ScanDialog.java
+++++ b/java.sourceui/src/org/netbeans/api/java/source/ui/ScanDialog.java
++@@ -42,8 +42,10 @@ import javax.swing.SwingUtilities;
++ import javax.swing.border.EmptyBorder;
++ import org.netbeans.api.java.platform.JavaPlatform;
++ import org.netbeans.api.java.source.ClasspathInfo;
+++import org.netbeans.api.java.source.CompilationController;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.SourceUtils;
+++import org.netbeans.api.java.source.Task;
++ import org.netbeans.spi.java.classpath.support.ClassPathSupport;
++ import org.openide.DialogDescriptor;
++ import org.openide.DialogDisplayer;
++@@ -122,17 +124,23 @@ public class ScanDialog {
++                 ClassPathSupport.createClassPath(new URL[0]));
++             final JavaSource js = JavaSource.create(info);
++             try {
++-                final Future<Void> monitor = js.runWhenScanFinished((cc) -> {                        
++-                        final Runnable r = () -> {
++-                            listener.close();
++-                            runnable.run();
+++                Future<Void> monitor = js.runWhenScanFinished(new Task<CompilationController>() {
+++                    public void run(CompilationController parameter) throws Exception {
+++                        
+++                        final Runnable r = new Runnable () {
+++                            public void run () {
+++                                listener.close();
+++                                runnable.run();
+++                            }
++                         };
++                         if (SwingUtilities.isEventDispatchThread()) {
++                             r.run();
++-                        } else {
+++                        }
+++                        else {
++                             SwingUtilities.invokeLater(r);         
++                         }
++-                    }, true);
+++                    }
+++                }, true);
++                 if (!monitor.isDone()) {
++                     listener.start(monitor);
++                 }                
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/AsyncJavaSymbolDescriptor.java b/java.sourceui/src/org/netbeans/modules/java/source/ui/AsyncJavaSymbolDescriptor.java
++index 2f49e51f0..999c06181 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/AsyncJavaSymbolDescriptor.java
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/AsyncJavaSymbolDescriptor.java
++@@ -75,7 +75,7 @@ import javax.tools.JavaFileObject;
++ import org.netbeans.api.annotations.common.NonNull;
++ import org.netbeans.api.annotations.common.NullAllowed;
++ import org.netbeans.api.java.source.ElementHandle;
++-import org.netbeans.api.project.ProjectInformation;
+++import org.netbeans.api.project.Project;
++ import org.netbeans.modules.java.source.ElementHandleAccessor;
++ import org.netbeans.modules.java.source.indexing.JavaIndex;
++ import org.netbeans.modules.java.source.parsing.CachingArchiveProvider;
++@@ -113,13 +113,13 @@ final class AsyncJavaSymbolDescriptor extends JavaSymbolDescriptorBase implement
++     private final AtomicBoolean initialized;
++ 
++     AsyncJavaSymbolDescriptor (
++-            @NullAllowed final ProjectInformation projectInformation,
+++            @NullAllowed final Project project,
++             @NonNull final FileObject root,
++             @NonNull final ClassIndexImpl ci,
++             @NonNull final ElementHandle<TypeElement> owner,
++             @NonNull final String ident,
++             final boolean caseSensitive) {
++-        super(owner, projectInformation, root, ci);
+++        super(owner, project, root, ci);
++         assert ident != null;
++         this.ident = ident;
++         this.listeners = new CopyOnWriteArrayList<>();
++@@ -233,7 +233,7 @@ final class AsyncJavaSymbolDescriptor extends JavaSymbolDescriptorBase implement
++             final ClassReader cr = ClassReader.instance(jt.getContext());
++             final Set<?> pkgs = new HashSet<>(getPackages(cr).keySet());
++             final Set<?> clzs = new HashSet<>(getClasses(cr).keySet());
++-            final JavacElements elements = (JavacElements)jt.getElements();
+++            final JavacElements elements = jt.getElements();
++             final TypeElement te = (TypeElement) elements.getTypeElementByBinaryName(
++                     ElementHandleAccessor.getInstance().getJVMSignature(getOwner())[0]);
++             if (te != null) {
++@@ -247,7 +247,6 @@ final class AsyncJavaSymbolDescriptor extends JavaSymbolDescriptorBase implement
++                             AsyncJavaSymbolDescriptor.this,
++                             simpleName,
++                             simpleNameSuffix,
++-                            te.getQualifiedName().toString(),
++                             kind,
++                             modifiers,
++                             me));
++@@ -264,7 +263,6 @@ final class AsyncJavaSymbolDescriptor extends JavaSymbolDescriptorBase implement
++                                 AsyncJavaSymbolDescriptor.this,
++                                 simpleName,
++                                 simpleNameSuffix,
++-                                te.getQualifiedName().toString(),
++                                 kind,
++                                 modifiers,
++                                 me));
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolDescriptorBase.java b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolDescriptorBase.java
++index fbe04b55c..3408382c3 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolDescriptorBase.java
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolDescriptorBase.java
++@@ -52,6 +52,7 @@ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.api.java.source.ClasspathInfo;
++ import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.SourceUtils;
+++import org.netbeans.api.project.Project;
++ import org.netbeans.api.project.ProjectInformation;
++ import org.netbeans.modules.java.source.parsing.FileObjects;
++ import org.netbeans.modules.java.source.usages.ClassIndexImpl;
++@@ -68,49 +69,40 @@ import org.openide.util.Exceptions;
++ abstract class JavaSymbolDescriptorBase extends SymbolDescriptor {
++ 
++     private final ElementHandle<TypeElement> owner;
++-    private final ProjectInformation projectInformation;
+++    private final Project project;
++     private final FileObject root;
++     private final ClassIndexImpl ci;
++     private volatile FileObject cachedFo;
++     private volatile String cachedPath;
++-    private volatile String ownerName;
++ 
++     JavaSymbolDescriptorBase(
++         @NonNull final ElementHandle<TypeElement> owner,
++-        @NullAllowed final ProjectInformation projectInformation,
+++        @NullAllowed final Project project,
++         @NonNull final FileObject root,
++         @NonNull final ClassIndexImpl ci) {
++         assert owner != null;
++         assert root != null;
++         assert ci != null;
++         this.owner = owner;
++-        this.projectInformation = projectInformation;
+++        this.project = project;
++         this.root = root;
++         this.ci = ci;
++     }
++ 
++     JavaSymbolDescriptorBase(
++-            @NonNull final JavaSymbolDescriptorBase other,
++-            @NullAllowed final String ownerName) {
+++        @NonNull final JavaSymbolDescriptorBase other) {
++         this.owner = other.owner;
++-        this.projectInformation = other.projectInformation;
+++        this.project = other.project;
++         this.root = other.root;
++         this.ci = other.ci;
++         this.cachedFo = other.cachedFo;
++         this.cachedPath = other.cachedPath;
++-        this.ownerName = ownerName != null ?
++-                ownerName :
++-                other.ownerName;
++     }
++ 
++     @Override
++     @NonNull
++     public final String getOwnerName() {
++-        String on = ownerName;
++-        if (on == null) {
++-            ownerName = on = replace(owner.getBinaryName(), getSimpleName());
++-        }
++-        return on;
+++        return owner.getQualifiedName();
++     }
++ 
++     @Override
++@@ -166,17 +158,19 @@ abstract class JavaSymbolDescriptorBase extends SymbolDescriptor {
++     @Override
++     @NonNull
++     public final String getProjectName() {
++-        return projectInformation == null ?
+++        final ProjectInformation info = getProjectInfo();
+++        return info == null ?
++             "" :    //NOI18N
++-            projectInformation.getDisplayName();
+++            info.getDisplayName();
++     }
++ 
++     @Override
++     @CheckForNull
++     public final Icon getProjectIcon() {
++-        return projectInformation == null ?
+++        final ProjectInformation info = getProjectInfo();
+++        return info == null ?
++             null :
++-            projectInformation.getIcon();
+++            info.getIcon();
++     }
++ 
++     @Override
++@@ -194,39 +188,11 @@ abstract class JavaSymbolDescriptorBase extends SymbolDescriptor {
++     final ElementHandle<TypeElement> getOwner() {
++         return owner;
++     }
++-    
++-    @NonNull
++-    private static String replace(
++-            @NonNull String name,
++-            @NonNull final String simpleName) {
++-        int upBound = name.length();
++-        int pos = upBound - simpleName.length();
++-        if ((pos == 0 || (pos > 0 && name.charAt(pos-1) == '$')) &&     //NOI18N
++-                name.substring(pos).equalsIgnoreCase(simpleName)) {
++-            upBound = pos;
++-        }
++-        int i = 1;
++-        for (; i < upBound; i++) {
++-            char c = name.charAt(i);
++-            if (c == '$' &&             //NOI18N
++-                name.charAt(i-1) != '.' && //NOI18N
++-                i < name.length() - 1 && name.charAt(i+1) != '.') { //NOI18N
++-                break;
++-            }
++-        }
++-        if (i < upBound) {
++-            final char[] data = name.toCharArray();
++-            for (; i < upBound; i++) {
++-                char c = name.charAt(i);
++-                if (c == '$' &&             //NOI18N
++-                    name.charAt(i-1) != '.' && //NOI18N
++-                    i < name.length() - 1 && name.charAt(i+1) != '.') { //NOI18N
++-                    c = '.';    //NOI18N
++-                }
++-                data[i] = c;
++-            }
++-            name = new String(data);
++-        }
++-        return name;
+++
+++    @CheckForNull
+++    private ProjectInformation getProjectInfo() {
+++        return project == null ?
+++            null :
+++            project.getLookup().lookup(ProjectInformation.class);   //Intentionally does not use ProjectUtils.getInformation() it does project icon annotation which is expensive
++     }
++ }
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolProvider.java b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolProvider.java
++index 816a67476..6007f6fe1 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolProvider.java
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaSymbolProvider.java
++@@ -76,7 +76,6 @@ import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.SourceUtils;
++ import org.netbeans.api.project.FileOwnerQuery;
++ import org.netbeans.api.project.Project;
++-import org.netbeans.api.project.ProjectInformation;
++ import org.netbeans.modules.java.source.usages.ClassIndexImpl;
++ import org.netbeans.modules.java.source.usages.ClassIndexManager;
++ import org.netbeans.modules.java.source.usages.DocumentUtil;
++@@ -239,9 +238,6 @@ public class JavaSymbolProvider implements SymbolProvider {
++                             }
++ 
++                             final Project project = FileOwnerQuery.getOwner(root);
++-                            final ProjectInformation projectInfo = project == null ?
++-                                    null :
++-                                    project.getLookup().lookup(ProjectInformation.class);   //Intentionally does not use ProjectUtils.getInformation() it does project icon annotation which is expensive
++                             final ClassIndexImpl impl = manager.getUsagesQuery(root.toURL(), true);
++                             if (impl != null) {
++                                 final Map<ElementHandle<TypeElement>,Set<String>> r = new HashMap<>();
++@@ -252,7 +248,7 @@ public class JavaSymbolProvider implements SymbolProvider {
++                                         for (String symbol : p.getValue()) {
++                                             if (matchesRestrictions(owner.getQualifiedName(), symbol, restriction, caseSensitive)) {
++                                                 final AsyncJavaSymbolDescriptor d = new AsyncJavaSymbolDescriptor(
++-                                                        projectInfo,
+++                                                        project,
++                                                         root,
++                                                         impl,
++                                                         owner,
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeDescription.java b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeDescription.java
++index 96e9ef8e8..bcec880bd 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeDescription.java
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeDescription.java
++@@ -94,14 +94,12 @@ public class JavaTypeDescription extends TypeDescriptor {
++     JavaTypeDescription(
++             @NonNull final JavaTypeProvider.CacheItem cacheItem,
++             @NonNull final ElementHandle<TypeElement> handle,
++-            @NullAllowed final String simpleName,
++             @NullAllowed final String relativePath) {
++        this.cacheItem = cacheItem;
++        this.handle = handle;
++        this.cachedRelPath = relativePath == null ?
++             PATH_FROM_HANDLE :
++             relativePath;
++-       this.simpleName = simpleName;
++        init();
++     }
++ 
++@@ -212,10 +210,7 @@ public class JavaTypeDescription extends TypeDescriptor {
++                     uri);
++                 path = new File(rootFile,relativePath).getAbsolutePath();
++             } catch (IllegalArgumentException e) {
++-                final FileObject rootFo = cacheItem.getRoot();
++-                path = rootFo == null ?
++-                    "" : //NOI18N
++-                    FileUtil.getFileDisplayName(rootFo);
+++                path = FileUtil.getFileDisplayName(cacheItem.getRoot());
++             }
++             cachedPath = path;
++         }
++@@ -302,64 +297,29 @@ public class JavaTypeDescription extends TypeDescriptor {
++     private void init() {
++         final String typeName = this.handle.getBinaryName();
++         int lastDot = typeName.lastIndexOf('.'); // NOI18N
+++        int lastDollar = typeName.lastIndexOf('$'); // NOI18N
++         if ( lastDot == -1 ) {
++-            final String[] nms = parseName(typeName,0,simpleName);
++-            outerName = nms[0];
++-            simpleName = nms[1];
++-        } else {
++-            packageName = typeName.substring(0, lastDot);
++-            final String[] nms = parseName(typeName,lastDot+1,simpleName);
++-            outerName = nms[0];
++-            simpleName = nms[1];
++-        }
++-        icon = Icons.getElementIcon (handle.getKind(), null);
++-    }
++-    
++-    @NonNull
++-    private static String[] parseName(
++-            @NonNull final String binaryName,
++-            final int clzNameStart,
++-            @NullAllowed final String simpleName) {
++-        final String[] res = new String[2];
++-        if (simpleName != null) {
++-            res[1] = simpleName;
++-            int index = binaryName.length() - simpleName.length() -1;
++-            if (index > clzNameStart) {
++-                res[0] = replace(binaryName.substring(clzNameStart, index));
+++            if ( lastDollar == -1 ) {
+++                simpleName = typeName;
++             }
++-        } else {
++-            final int lastDollar = binaryName.lastIndexOf('$'); // NOI18N
++-            if (lastDollar == -1) {
++-                res[1] = replace(binaryName.substring(clzNameStart));
++-            } else {
++-                res[1] = binaryName.substring(lastDollar + 1);
++-                res[0] = replace(binaryName.substring(clzNameStart, lastDollar));
+++            else {
+++                simpleName = typeName.substring(lastDollar + 1);
+++                outerName = typeName.substring(0, lastDollar ).replace( '$', '.');  //NOI18N;
++             }
++         }
++-        return res;
++-    }
++-    
++-    @NonNull
++-    private static String replace(@NonNull String name) {
++-        int i = 1;
++-        for (; i<name.length(); i++) {
++-            char c = name.charAt(i);
++-            if (c == '$') { //NOI18N
++-                break;
+++        else {
+++            packageName = typeName.substring( 0, lastDot );
+++
+++            if (lastDollar < lastDot) {
+++                simpleName = typeName.substring( lastDot + 1 ).replace( '$', '.');  //NOI18N
++             }
++-        }
++-        if (i < name.length()) {
++-            final char[] data = name.toCharArray();
++-            for (; i<name.length(); i++) {
++-                char c = name.charAt(i);
++-                if (c == '$') { //NOI18N
++-                    c = '.';    //NOI18N
++-                }
++-                data[i] = c;
+++            else {
+++                simpleName = typeName.substring(lastDollar + 1);
+++                outerName = typeName.substring(lastDot + 1, lastDollar ).replace( '$', '.');  //NOI18N;
++             }
++-            name = new String(data);
+++
++         }
++-        return name;
+++        icon = Icons.getElementIcon (handle.getKind(), null);
++     }
++ 
++     private String getRelativePath(
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeProvider.java b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeProvider.java
++index 3b06bb7fe..2e80e8101 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeProvider.java
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/JavaTypeProvider.java
++@@ -485,10 +485,6 @@ public class JavaTypeProvider implements TypeProvider {
++                 valid = true;
++             } else if (c == '.') {  //NOI18N
++                 sb.append(".*\\."); //NOI18N
++-            } else if (c == '*') {  //NOI18N
++-                sb.append(".*");    //NOI18N
++-            } else if (c == '?') {  //NOI18N
++-                sb.append(".?");    //NOI18N
++             }
++         }
++         final Pattern p;
++@@ -611,7 +607,6 @@ public class JavaTypeProvider implements TypeProvider {
++             return false;
++         }
++ 
++-        @CheckForNull
++         public FileObject getRoot() {
++             synchronized (this) {
++                 if (cachedRoot != null) {
++@@ -700,7 +695,7 @@ public class JavaTypeProvider implements TypeProvider {
++                     typeName,
++                     kind,
++                     Collections.unmodifiableSet(Collections.<SearchScopeType>singleton(searchScope)),
++-                    DocumentUtil.declaredTypesFieldSelector(true, true),
+++                    DocumentUtil.declaredTypesFieldSelector(true),
++                     new JavaTypeDescriptionConvertor(this),
++                     collector);
++             } catch (Index.IndexClosedException ice) {
++@@ -813,11 +808,7 @@ public class JavaTypeProvider implements TypeProvider {
++                 }
++                 final ElementHandle<TypeElement> eh = HANDLE_CONVERTOR.convert(p);
++                 final String sourceName = SOURCE_CONVERTOR.convert(p);
++-                return eh == null ? null : new JavaTypeDescription(
++-                        ci,
++-                        eh,
++-                        DocumentUtil.getSimpleName(p),
++-                        sourceName);
+++                return eh == null ? null : new JavaTypeDescription(ci, eh, sourceName);
++             }
++ 
++         }
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/ResolvedJavaSymbolDescriptor.java b/java.sourceui/src/org/netbeans/modules/java/source/ui/ResolvedJavaSymbolDescriptor.java
++index 6ab1fa8f1..a8f223841 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/ResolvedJavaSymbolDescriptor.java
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/ResolvedJavaSymbolDescriptor.java
++@@ -70,11 +70,10 @@ final class ResolvedJavaSymbolDescriptor extends JavaSymbolDescriptorBase {
++             @NonNull final JavaSymbolDescriptorBase base,
++             @NonNull final String simpleName,
++             @NullAllowed final String simpleNameSuffix,
++-            @NullAllowed final String ownerName,
++             @NonNull final ElementKind kind,
++             @NonNull final Set<Modifier> modifiers,
++             @NonNull final ElementHandle<?> me) {
++-        super(base, ownerName);
+++        super(base);
++         assert simpleName != null;
++         assert kind != null;
++         assert modifiers != null;
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/Bundle.properties b/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/Bundle.properties
++index 9fd54b8c4..fa4d4e28b 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/Bundle.properties
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/Bundle.properties
++@@ -1,40 +1,3 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2007, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License.  When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++ OpenIDE-Module-Display-Category=Java
++ OpenIDE-Module-Long-Description=\
++     Provides various utility classes for creating Java Language specific GUI.
++diff --git a/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/layer.xml b/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/layer.xml
++index df1bccd61..c16a8a0fe 100644
++--- a/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/layer.xml
+++++ b/java.sourceui/src/org/netbeans/modules/java/source/ui/resources/layer.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2007, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
++ <filesystem>
++ </filesystem>
diff --cc debian/patches/netbeans-javadoc.patch
index 0000000,0000000..acc9ff3
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-javadoc.patch
@@@ -1,0 -1,0 +1,741 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Mon, 26 Dec 2016 01:39:20 +0100
++Subject: netbeans javadoc
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ javadoc/manifest.mf                                |   2 +-
++ javadoc/nbproject/project.properties               |   1 -
++ javadoc/nbproject/project.xml                      |  26 +-
++ .../modules/javadoc/highlighting/Highlighting.java |  31 +-
++ .../netbeans/modules/javadoc/hints/Analyzer.java   |   1 -
++ .../netbeans/modules/javadoc/hints/HtmlTag.java    | 468 +++++++++++++++++++++
++ .../modules/javadoc/resources/javadoc-default.xml  |  39 --
++ .../netbeans/modules/javadoc/search/package.html   |  39 --
++ 8 files changed, 487 insertions(+), 120 deletions(-)
++ create mode 100644 javadoc/src/org/netbeans/modules/javadoc/hints/HtmlTag.java
++
++diff --git a/javadoc/manifest.mf b/javadoc/manifest.mf
++index aa4322feb..821116361 100644
++--- a/javadoc/manifest.mf
+++++ b/javadoc/manifest.mf
++@@ -1,6 +1,6 @@
++ Manifest-Version: 1.0
++ OpenIDE-Module: org.netbeans.modules.javadoc/1
++-OpenIDE-Module-Implementation-Version: 2
+++OpenIDE-Module-Specification-Version: 1.53.1
++ OpenIDE-Module-Install: org/netbeans/modules/javadoc/JavadocModule.class
++ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javadoc/Bundle.properties
++ OpenIDE-Module-Layer: org/netbeans/modules/javadoc/resources/mf-layer.xml
++diff --git a/javadoc/nbproject/project.properties b/javadoc/nbproject/project.properties
++index 7dff114b5..c2463e20d 100644
++--- a/javadoc/nbproject/project.properties
+++++ b/javadoc/nbproject/project.properties
++@@ -46,7 +46,6 @@ javac.source=1.7
++ # requires nb.javac for compiling of tests on Mac
++ requires.nb.javac=true
++ 
++-spec.version.base=1.55.1
++ test.config.stableBTD.includes=\
++     **/hints/AnalyzerTest.class,\
++     **/search/*Test.class
++diff --git a/javadoc/nbproject/project.xml b/javadoc/nbproject/project.xml
++index 98c7a9a68..ab45b42ea 100644
++--- a/javadoc/nbproject/project.xml
+++++ b/javadoc/nbproject/project.xml
++@@ -76,15 +76,6 @@ made subject to such option by the copyright holder.
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++-                    <code-name-base>org.netbeans.libs.javacimpl</code-name-base>
++-                    <build-prerequisite/>
++-                    <compile-dependency/>
++-                    <run-dependency>
++-                        <release-version>1</release-version>
++-                        <implementation-version/>
++-                    </run-dependency>
++-                </dependency>
++-                <dependency>
++                     <code-name-base>org.netbeans.modules.editor.bracesmatching</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++@@ -139,13 +130,6 @@ made subject to such option by the copyright holder.
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++-                    <code-name-base>org.netbeans.modules.java.editor</code-name-base>
++-                    <run-dependency>
++-                        <release-version>1</release-version>
++-                        <specification-version>2.66</specification-version>
++-                    </run-dependency>
++-                </dependency>
++-                <dependency>
++                     <code-name-base>org.netbeans.modules.java.lexer</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++@@ -270,7 +254,7 @@ made subject to such option by the copyright holder.
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++-                    <code-name-base>org.openide.util</code-name-base>
+++                    <code-name-base>org.openide.util.ui</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++@@ -278,19 +262,19 @@ made subject to such option by the copyright holder.
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++-                    <code-name-base>org.openide.util.lookup</code-name-base>
+++                    <code-name-base>org.openide.util</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>8.0</specification-version>
+++                        <specification-version>9.3</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++-                    <code-name-base>org.openide.util.ui</code-name-base>
+++                    <code-name-base>org.openide.util.lookup</code-name-base>
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>9.3</specification-version>
+++                        <specification-version>8.0</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++diff --git a/javadoc/src/org/netbeans/modules/javadoc/highlighting/Highlighting.java b/javadoc/src/org/netbeans/modules/javadoc/highlighting/Highlighting.java
++index cda0c50c1..71e9e1671 100644
++--- a/javadoc/src/org/netbeans/modules/javadoc/highlighting/Highlighting.java
+++++ b/javadoc/src/org/netbeans/modules/javadoc/highlighting/Highlighting.java
++@@ -80,32 +80,27 @@ public class Highlighting extends AbstractHighlightsContainer implements TokenHi
++     
++     public static final String LAYER_ID = "org.netbeans.modules.javadoc.highlighting"; //NOI18N
++     
++-    private final AttributeSet fontColor;
+++    private AttributeSet fontColor;
++     
++-    private final Document document;
+++    private Document document;
++     private TokenHierarchy<? extends Document> hierarchy = null;
++     private long version = 0;
++     
++     /** Creates a new instance of Highlighting */
++     public Highlighting(Document doc) {
++-        AttributeSet firstLineFontColor = MimeLookup.getLookup(MimePath.get("text/x-java")).lookup(FontColorSettings.class).getTokenFontColors("javadoc-first-sentence"); //NOI18N
++-        AttributeSet commentFontColor = MimeLookup.getLookup(MimePath.get("text/x-java")).lookup(FontColorSettings.class).getTokenFontColors("comment"); //NOI18N
++-        if(firstLineFontColor != null && commentFontColor != null) {
++-            Collection<Object> attrs = new LinkedList<Object>();
++-            for (Enumeration<?> e = firstLineFontColor.getAttributeNames(); e.hasMoreElements(); ) {
++-                Object key = e.nextElement();
++-                Object value = firstLineFontColor.getAttribute(key);
++-
++-                if (!commentFontColor.containsAttribute(key, value)) {
++-                    attrs.add(key);
++-                    attrs.add(value);
++-                }
+++        AttributeSet firstLineFontColor = MimeLookup.getLookup(MimePath.get("text/x-java")).lookup(FontColorSettings.class).getTokenFontColors("javadoc-first-sentence");
+++        AttributeSet commentFontColor = MimeLookup.getLookup(MimePath.get("text/x-java")).lookup(FontColorSettings.class).getTokenFontColors("comment");
+++        Collection<Object> attrs = new LinkedList<Object>();
+++        for (Enumeration<?> e = firstLineFontColor.getAttributeNames(); e.hasMoreElements(); ) {
+++            Object key = e.nextElement();
+++            Object value = firstLineFontColor.getAttribute(key);
+++            
+++            if (!commentFontColor.containsAttribute(key, value)) {
+++                attrs.add(key);
+++                attrs.add(value);
++             }
++-            fontColor = AttributesUtilities.createImmutable(attrs.toArray());
++-        } else {
++-            fontColor = AttributesUtilities.createImmutable();
++-            LOG.warning("FontColorSettings for javadoc-first-sentence or comment are not available."); //NOI18N
++         }
+++        fontColor = AttributesUtilities.createImmutable(attrs.toArray());
++         this.document = doc;
++         hierarchy = TokenHierarchy.get(document);
++         if (hierarchy != null) {
++diff --git a/javadoc/src/org/netbeans/modules/javadoc/hints/Analyzer.java b/javadoc/src/org/netbeans/modules/javadoc/hints/Analyzer.java
++index b7c2a4a37..40c0246d3 100644
++--- a/javadoc/src/org/netbeans/modules/javadoc/hints/Analyzer.java
+++++ b/javadoc/src/org/netbeans/modules/javadoc/hints/Analyzer.java
++@@ -85,7 +85,6 @@ import com.sun.source.util.DocSourcePositions;
++ import com.sun.source.util.DocTreePath;
++ import com.sun.source.util.DocTreePathScanner;
++ import com.sun.source.util.TreePath;
++-import com.sun.tools.doclint.HtmlTag;
++ import java.util.ArrayList;
++ import java.util.Collections;
++ import java.util.Deque;
++diff --git a/javadoc/src/org/netbeans/modules/javadoc/hints/HtmlTag.java b/javadoc/src/org/netbeans/modules/javadoc/hints/HtmlTag.java
++new file mode 100644
++index 000000000..302980de4
++--- /dev/null
+++++ b/javadoc/src/org/netbeans/modules/javadoc/hints/HtmlTag.java
++@@ -0,0 +1,468 @@
+++/*
+++ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+++ *
+++ * This code is free software; you can redistribute it and/or modify it
+++ * under the terms of the GNU General Public License version 2 only, as
+++ * published by the Free Software Foundation.  Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the LICENSE file that accompanied this code.
+++ *
+++ * This code is distributed in the hope that it will be useful, but WITHOUT
+++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+++ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+++ * version 2 for more details (a copy is included in the LICENSE file that
+++ * accompanied this code).
+++ *
+++ * You should have received a copy of the GNU General Public License version
+++ * 2 along with this work; if not, write to the Free Software Foundation,
+++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+++ *
+++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+++ * or visit www.oracle.com if you need additional information or have any
+++ * questions.
+++ */
+++
+++package org.netbeans.modules.javadoc.hints;
+++
+++import java.util.Set;
+++import java.util.Collections;
+++import java.util.EnumMap;
+++import java.util.EnumSet;
+++import java.util.HashMap;
+++import java.util.Locale;
+++import java.util.Map;
+++
+++import javax.lang.model.element.Name;
+++
+++import static org.netbeans.modules.javadoc.hints.HtmlTag.Attr.*;
+++
+++/**
+++ * Copy of com.sun.tools.doclint.HtmlTag.
+++ * 
+++ * Enum representing HTML tags.
+++ *
+++ * The intent of this class is to embody the semantics of W3C HTML 4.01
+++ * to the extent supported/used by javadoc.
+++ * In time, we may wish to transition javadoc and doclint to using HTML 5.
+++ *
+++ * This is derivative of com.sun.tools.doclets.formats.html.markup.HtmlTag.
+++ * Eventually, these two should be merged back together, and possibly made
+++ * public.
+++ *
+++ * @see <a href="http://www.w3.org/TR/REC-html40/">HTML 4.01 Specification</a>
+++ * @see <a href="http://www.w3.org/TR/html5/">HTML 5 Specification</a>
+++ * @author Bhavesh Patel
+++ * @author Jonathan Gibbons (revised)
+++ */
+++public enum HtmlTag {
+++    A(BlockType.INLINE, EndKind.REQUIRED,
+++            attrs(AttrKind.OK, HREF, TARGET, NAME)),
+++
+++    B(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++    BIG(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT)),
+++
+++    BLOCKQUOTE(BlockType.BLOCK, EndKind.REQUIRED,
+++            EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
+++
+++    BODY(BlockType.OTHER, EndKind.REQUIRED),
+++
+++    BR(BlockType.INLINE, EndKind.NONE,
+++            attrs(AttrKind.USE_CSS, CLEAR)),
+++
+++    CAPTION(BlockType.TABLE_ITEM, EndKind.REQUIRED,
+++            EnumSet.of(Flag.ACCEPTS_INLINE, Flag.EXPECT_CONTENT)),
+++
+++    CENTER(BlockType.BLOCK, EndKind.REQUIRED,
+++            EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
+++
+++    CITE(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++    CODE(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++    DD(BlockType.LIST_ITEM, EndKind.OPTIONAL,
+++            EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE, Flag.EXPECT_CONTENT)),
+++
+++    DFN(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++    DIV(BlockType.BLOCK, EndKind.REQUIRED,
+++            EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
+++
+++    DL(BlockType.BLOCK, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT),
+++            attrs(AttrKind.USE_CSS, COMPACT)) {
+++        @Override
+++        public boolean accepts(HtmlTag t) {
+++            return (t == DT) || (t == DD);
+++        }
+++    },
+++
+++    DT(BlockType.LIST_ITEM, EndKind.OPTIONAL,
+++            EnumSet.of(Flag.ACCEPTS_INLINE, Flag.EXPECT_CONTENT)),
+++
+++    EM(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.NO_NEST)),
+++
+++    FONT(BlockType.INLINE, EndKind.REQUIRED, // tag itself is deprecated
+++            EnumSet.of(Flag.EXPECT_CONTENT),
+++            attrs(AttrKind.USE_CSS, SIZE, COLOR, FACE)),
+++
+++    FRAME(BlockType.OTHER, EndKind.NONE),
+++
+++    FRAMESET(BlockType.OTHER, EndKind.REQUIRED),
+++
+++    H1(BlockType.BLOCK, EndKind.REQUIRED),
+++    H2(BlockType.BLOCK, EndKind.REQUIRED),
+++    H3(BlockType.BLOCK, EndKind.REQUIRED),
+++    H4(BlockType.BLOCK, EndKind.REQUIRED),
+++    H5(BlockType.BLOCK, EndKind.REQUIRED),
+++    H6(BlockType.BLOCK, EndKind.REQUIRED),
+++
+++    HEAD(BlockType.OTHER, EndKind.REQUIRED),
+++
+++    HR(BlockType.BLOCK, EndKind.NONE,
+++            attrs(AttrKind.OK, WIDTH)), // OK in 4.01; not allowed in 5
+++
+++    HTML(BlockType.OTHER, EndKind.REQUIRED),
+++
+++    I(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++    IMG(BlockType.INLINE, EndKind.NONE,
+++            attrs(AttrKind.OK, SRC, ALT, HEIGHT, WIDTH),
+++            attrs(AttrKind.OBSOLETE, NAME),
+++            attrs(AttrKind.USE_CSS, ALIGN, HSPACE, VSPACE, BORDER)),
+++
+++    LI(BlockType.LIST_ITEM, EndKind.OPTIONAL,
+++            EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE),
+++            attrs(AttrKind.OK, VALUE)),
+++
+++    LINK(BlockType.OTHER, EndKind.NONE),
+++
+++    MENU(BlockType.BLOCK, EndKind.REQUIRED) {
+++        @Override
+++        public boolean accepts(HtmlTag t) {
+++            return (t == LI);
+++        }
+++    },
+++
+++    META(BlockType.OTHER, EndKind.NONE),
+++
+++    NOFRAMES(BlockType.OTHER, EndKind.REQUIRED),
+++
+++    NOSCRIPT(BlockType.BLOCK, EndKind.REQUIRED),
+++
+++    OL(BlockType.BLOCK, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT),
+++            attrs(AttrKind.OK, START, TYPE)) {
+++        @Override
+++        public boolean accepts(HtmlTag t) {
+++            return (t == LI);
+++        }
+++    },
+++
+++    P(BlockType.BLOCK, EndKind.OPTIONAL,
+++            EnumSet.of(Flag.EXPECT_CONTENT),
+++            attrs(AttrKind.USE_CSS, ALIGN)),
+++
+++    PRE(BlockType.BLOCK, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT)) {
+++        @Override
+++        public boolean accepts(HtmlTag t) {
+++            switch (t) {
+++                case IMG: case BIG: case SMALL: case SUB: case SUP:
+++                    return false;
+++                default:
+++                    return (t.blockType == BlockType.INLINE);
+++            }
+++        }
+++    },
+++
+++    SCRIPT(BlockType.OTHER, EndKind.REQUIRED),
+++
+++    SMALL(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT)),
+++
+++    SPAN(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT)),
+++
+++    STRONG(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT)),
+++
+++    SUB(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++    SUP(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++    TABLE(BlockType.BLOCK, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT),
+++            attrs(AttrKind.OK, SUMMARY, Attr.FRAME, RULES, BORDER,
+++                CELLPADDING, CELLSPACING, WIDTH), // width OK in 4.01; not allowed in 5
+++            attrs(AttrKind.USE_CSS, ALIGN, BGCOLOR)) {
+++        @Override
+++        public boolean accepts(HtmlTag t) {
+++            switch (t) {
+++                case CAPTION:
+++                case THEAD: case TBODY: case TFOOT:
+++                case TR: // HTML 3.2
+++                    return true;
+++                default:
+++                    return false;
+++            }
+++        }
+++    },
+++
+++    TBODY(BlockType.TABLE_ITEM, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT),
+++            attrs(AttrKind.OK, ALIGN, CHAR, CHAROFF, VALIGN)) {
+++        @Override
+++        public boolean accepts(HtmlTag t) {
+++            return (t == TR);
+++        }
+++    },
+++
+++    TD(BlockType.TABLE_ITEM, EndKind.OPTIONAL,
+++            EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE),
+++            attrs(AttrKind.OK, COLSPAN, ROWSPAN, HEADERS, SCOPE, ABBR, AXIS,
+++                ALIGN, CHAR, CHAROFF, VALIGN),
+++            attrs(AttrKind.USE_CSS, WIDTH, BGCOLOR, HEIGHT, NOWRAP)),
+++
+++    TFOOT(BlockType.TABLE_ITEM, EndKind.REQUIRED,
+++            attrs(AttrKind.OK, ALIGN, CHAR, CHAROFF, VALIGN)) {
+++        @Override
+++        public boolean accepts(HtmlTag t) {
+++            return (t == TR);
+++        }
+++    },
+++
+++    TH(BlockType.TABLE_ITEM, EndKind.OPTIONAL,
+++            EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE),
+++            attrs(AttrKind.OK, COLSPAN, ROWSPAN, HEADERS, SCOPE, ABBR, AXIS,
+++                ALIGN, CHAR, CHAROFF, VALIGN),
+++            attrs(AttrKind.USE_CSS, WIDTH, BGCOLOR, HEIGHT, NOWRAP)),
+++
+++    THEAD(BlockType.TABLE_ITEM, EndKind.REQUIRED,
+++            attrs(AttrKind.OK, ALIGN, CHAR, CHAROFF, VALIGN)) {
+++        @Override
+++        public boolean accepts(HtmlTag t) {
+++            return (t == TR);
+++        }
+++    },
+++
+++    TITLE(BlockType.OTHER, EndKind.REQUIRED),
+++
+++    TR(BlockType.TABLE_ITEM, EndKind.OPTIONAL,
+++            attrs(AttrKind.OK, ALIGN, CHAR, CHAROFF, VALIGN),
+++            attrs(AttrKind.USE_CSS, BGCOLOR)) {
+++        @Override
+++        public boolean accepts(HtmlTag t) {
+++            return (t == TH) || (t == TD);
+++        }
+++    },
+++
+++    TT(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++    U(BlockType.INLINE, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+++
+++    UL(BlockType.BLOCK, EndKind.REQUIRED,
+++            EnumSet.of(Flag.EXPECT_CONTENT),
+++            attrs(AttrKind.OK, COMPACT, TYPE)) { // OK in 4.01; not allowed in 5
+++        @Override
+++        public boolean accepts(HtmlTag t) {
+++            return (t == LI);
+++        }
+++    },
+++
+++    VAR(BlockType.INLINE, EndKind.REQUIRED);
+++
+++    /**
+++     * Enum representing the type of HTML element.
+++     */
+++    public static enum BlockType {
+++        BLOCK,
+++        INLINE,
+++        LIST_ITEM,
+++        TABLE_ITEM,
+++        OTHER;
+++    }
+++
+++    /**
+++     * Enum representing HTML end tag requirement.
+++     */
+++    public static enum EndKind {
+++        NONE,
+++        OPTIONAL,
+++        REQUIRED;
+++    }
+++
+++    public static enum Flag {
+++        ACCEPTS_BLOCK,
+++        ACCEPTS_INLINE,
+++        EXPECT_CONTENT,
+++        NO_NEST
+++    }
+++
+++    public static enum Attr {
+++        ABBR,
+++        ALIGN,
+++        ALT,
+++        AXIS,
+++        BGCOLOR,
+++        BORDER,
+++        CELLSPACING,
+++        CELLPADDING,
+++        CHAR,
+++        CHAROFF,
+++        CLEAR,
+++        CLASS,
+++        COLOR,
+++        COLSPAN,
+++        COMPACT,
+++        FACE,
+++        FRAME,
+++        HEADERS,
+++        HEIGHT,
+++        HREF,
+++        HSPACE,
+++        ID,
+++        NAME,
+++        NOWRAP,
+++        REVERSED,
+++        ROWSPAN,
+++        RULES,
+++        SCOPE,
+++        SIZE,
+++        SPACE,
+++        SRC,
+++        START,
+++        STYLE,
+++        SUMMARY,
+++        TARGET,
+++        TYPE,
+++        VALIGN,
+++        VALUE,
+++        VSPACE,
+++        WIDTH;
+++
+++        public String getText() {
+++            return toLowerCase(name());
+++        }
+++
+++        static final Map<String,Attr> index = new HashMap<String,Attr>();
+++        static {
+++            for (Attr t: values()) {
+++                index.put(t.getText(), t);
+++            }
+++        }
+++    }
+++
+++    public static enum AttrKind {
+++        INVALID,
+++        OBSOLETE,
+++        USE_CSS,
+++        OK
+++    }
+++
+++    // This class exists to avoid warnings from using parameterized vararg type
+++    // Map<Attr,AttrKind> in signature of HtmlTag constructor.
+++    private static class AttrMap extends EnumMap<Attr,AttrKind>  {
+++        private static final long serialVersionUID = 0;
+++        AttrMap() {
+++            super(Attr.class);
+++        }
+++    }
+++
+++
+++    public final BlockType blockType;
+++    public final EndKind endKind;
+++    public final Set<Flag> flags;
+++    private final Map<Attr,AttrKind> attrs;
+++
+++    HtmlTag(BlockType blockType, EndKind endKind, AttrMap... attrMaps) {
+++        this(blockType, endKind, Collections.<Flag>emptySet(), attrMaps);
+++    }
+++
+++    HtmlTag(BlockType blockType, EndKind endKind, Set<Flag> flags, AttrMap... attrMaps) {
+++        this.blockType = blockType;
+++        this.endKind = endKind;
+++        this.flags = flags;
+++        this.attrs = new EnumMap<Attr,AttrKind>(Attr.class);
+++        for (Map<Attr,AttrKind> m: attrMaps)
+++            this.attrs.putAll(m);
+++        attrs.put(Attr.CLASS, AttrKind.OK);
+++        attrs.put(Attr.ID, AttrKind.OK);
+++        attrs.put(Attr.STYLE, AttrKind.OK);
+++    }
+++
+++    public boolean accepts(HtmlTag t) {
+++        if (flags.contains(Flag.ACCEPTS_BLOCK) && flags.contains(Flag.ACCEPTS_INLINE)) {
+++            return (t.blockType == BlockType.BLOCK) || (t.blockType == BlockType.INLINE);
+++        } else if (flags.contains(Flag.ACCEPTS_BLOCK)) {
+++            return (t.blockType == BlockType.BLOCK);
+++        } else if (flags.contains(Flag.ACCEPTS_INLINE)) {
+++            return (t.blockType == BlockType.INLINE);
+++        } else
+++            switch (blockType) {
+++                case BLOCK:
+++                case INLINE:
+++                    return (t.blockType == BlockType.INLINE);
+++                case OTHER:
+++                    // OTHER tags are invalid in doc comments, and will be
+++                    // reported separately, so silently accept/ignore any content
+++                    return true;
+++                default:
+++                    // any combination which could otherwise arrive here
+++                    // ought to have been handled in an overriding method
+++                    throw new AssertionError(this + ":" + t);
+++            }
+++    }
+++
+++    public boolean acceptsText() {
+++        // generally, anywhere we can put text we can also put inline tag
+++        // so check if a typical inline tag is allowed
+++        return accepts(B);
+++    }
+++
+++    public String getText() {
+++        return toLowerCase(name());
+++    }
+++
+++    public Attr getAttr(Name attrName) {
+++        return Attr.index.get(toLowerCase(attrName.toString()));
+++    }
+++
+++    public AttrKind getAttrKind(Name attrName) {
+++        AttrKind k = attrs.get(getAttr(attrName)); // null-safe
+++        return (k == null) ? AttrKind.INVALID : k;
+++    }
+++
+++    private static AttrMap attrs(AttrKind k, Attr... attrs) {
+++        AttrMap map = new AttrMap();
+++        for (Attr a: attrs) map.put(a, k);
+++        return map;
+++    }
+++
+++    private static final Map<String,HtmlTag> index = new HashMap<String,HtmlTag>();
+++    static {
+++        for (HtmlTag t: values()) {
+++            index.put(t.getText(), t);
+++        }
+++    }
+++
+++    static HtmlTag get(Name tagName) {
+++        return index.get(toLowerCase(tagName.toString()));
+++    }
+++
+++    private static String toLowerCase(String s) {
+++        return s.toLowerCase(Locale.US);
+++    }
+++}
++diff --git a/javadoc/src/org/netbeans/modules/javadoc/resources/javadoc-default.xml b/javadoc/src/org/netbeans/modules/javadoc/resources/javadoc-default.xml
++index e2dc93796..491724c40 100644
++--- a/javadoc/src/org/netbeans/modules/javadoc/resources/javadoc-default.xml
+++++ b/javadoc/src/org/netbeans/modules/javadoc/resources/javadoc-default.xml
++@@ -1,42 +1,3 @@
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2002, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <!DOCTYPE Javadoc PUBLIC "-//NetBeans IDE//DTD JavadocLibrary//EN" "http://www.netbeans.org/dtds/JavadocLibrary-1_0.dtd">
++ <Javadoc>
++     <Folder name="javadoc"/>
++diff --git a/javadoc/src/org/netbeans/modules/javadoc/search/package.html b/javadoc/src/org/netbeans/modules/javadoc/search/package.html
++index 726497423..252eaf5c2 100644
++--- a/javadoc/src/org/netbeans/modules/javadoc/search/package.html
+++++ b/javadoc/src/org/netbeans/modules/javadoc/search/package.html
++@@ -1,42 +1,3 @@
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2003, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <h2>Search JavaDoc Package</h2>
++ 
++ <h3>Entry Points</h3>
diff --cc debian/patches/netbeans-refactoring-java.patch
index 0000000,0000000..360497b
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-refactoring-java.patch
@@@ -1,0 -1,0 +1,4854 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Sun, 25 Dec 2016 23:15:35 +0100
++Subject: netbeans refactoring java
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ .../org-netbeans-modules-refactoring-java.sig      |   9 +-
++ refactoring.java/nbproject/project.properties      |  41 +---
++ refactoring.java/nbproject/project.xml             |  43 +----
++ .../modules/refactoring/java/RefactoringUtils.java |  20 +-
++ .../modules/refactoring/java/WhereUsedElement.java |   2 +-
++ .../java/api/InvertBooleanRefactoring.java         |   9 +-
++ .../modules/refactoring/java/api/MemberInfo.java   |   3 -
++ .../ReplaceConstructorWithFactoryRefactoring.java  |   9 +-
++ .../refactoring/java/callhierarchy/Call.java       |   4 +-
++ .../java/callhierarchy/CallHierarchyTasks.java     |   9 +-
++ .../callhierarchy/CallHierarchyTopComponent.form   |  16 +-
++ .../callhierarchy/CallHierarchyTopComponent.java   |   8 +-
++ .../java/callhierarchy/CallOccurrence.java         |   6 +-
++ .../refactoring/java/plugins/Bundle.properties     |   1 +
++ .../java/plugins/ChangeParametersPlugin.java       |  12 +-
++ .../java/plugins/ChangeParamsTransformer.java      |  61 +++---
++ .../java/plugins/CopyClassesRefactoringPlugin.java |   2 +-
++ .../plugins/EncapsulateFieldRefactoringPlugin.java |  32 ++-
++ .../java/plugins/EncapsulateFieldsPlugin.java      |   3 +-
++ .../ExtractSuperclassRefactoringPlugin.java        | 124 ++++++------
++ .../java/plugins/FindSubtypesVisitor.java          |   2 +-
++ .../java/plugins/FindUsagesVisitor.java            |   2 +-
++ .../java/plugins/InlineMethodTransformer.java      |  36 ++--
++ .../java/plugins/InlineRefactoringPlugin.java      |  11 +-
++ .../java/plugins/InnerToOuterTransformer.java      |  41 +---
++ .../java/plugins/InstantRefactoringPerformer.java  |   6 +-
++ .../IntroduceLocalExtensionTransformer.java        |  53 +++--
++ .../java/plugins/IntroduceParameterPlugin.java     |  46 ++---
++ .../plugins/InvertBooleanRefactoringPlugin.java    |  11 +-
++ .../refactoring/java/plugins/JavaPluginUtils.java  |   6 -
++ .../java/plugins/JavaWhereUsedQueryPlugin.java     | 214 +++++++++++----------
++ .../java/plugins/MoveClassTransformer.java         |   2 +-
++ .../java/plugins/MoveFileRefactoringPlugin.java    |  13 +-
++ .../java/plugins/MoveMembersTransformer.java       |  48 ++---
++ .../refactoring/java/plugins/MoveTransformer.java  |   2 +-
++ .../java/plugins/OperatorPrecedence.java           |   2 +-
++ .../java/plugins/PullUpTransformer.java            |   4 +-
++ .../java/plugins/PushDownTransformer.java          |  15 +-
++ .../plugins/RenamePropertyRefactoringPlugin.java   |  92 +++------
++ .../java/plugins/RenameRefactoringPlugin.java      |   8 +-
++ .../java/plugins/RenameTransformer.java            |   7 +-
++ .../ReplaceConstructorWithBuilderPlugin.java       |  26 +--
++ .../ReplaceConstructorWithFactoryPlugin.java       |  18 +-
++ .../refactoring/java/plugins/VarUsageVisitor.java  |   5 +-
++ .../refactoring/java/resources/mf-layer.xml        |   4 +-
++ .../refactoring/java/ui/ChangeParametersPanel.form |  11 +-
++ .../refactoring/java/ui/ChangeParametersPanel.java |  58 ++----
++ .../refactoring/java/ui/ChangeParametersUI.java    |   2 +-
++ .../refactoring/java/ui/ContextAnalyzer.java       |   2 +-
++ .../refactoring/java/ui/EncapsulateFieldPanel.java |  33 +---
++ .../refactoring/java/ui/EncapsulateFieldUI.java    | 147 +++++++-------
++ .../refactoring/java/ui/InlineRefactoringUI.java   |  11 +-
++ .../java/ui/IntroduceParameterPanel.java           |  25 +--
++ .../refactoring/java/ui/InvertBooleanAction.java   |  12 +-
++ .../java/ui/InvertBooleanRefactoringPanel.java     |   9 +-
++ .../java/ui/InvertBooleanRefactoringUI.java        |  12 +-
++ .../java/ui/JavaRefactoringActionsProvider.java    |  23 +--
++ .../refactoring/java/ui/JavaRenameProperties.java  |   9 -
++ .../refactoring/java/ui/MoveMembersPanel.java      |  40 ++--
++ .../java/ui/RefactoringActionsProvider.java        |  11 +-
++ .../ui/ReplaceConstructorWithBuilderAction.java    |   4 +-
++ .../java/ui/ReplaceConstructorWithBuilderUI.java   |   2 +-
++ .../ui/ReplaceConstructorWithFactoryAction.java    |  12 +-
++ .../ui/ReplaceConstructorWithFactoryPanel.java     |   9 +-
++ .../java/ui/ReplaceConstructorWithFactoryUI.java   |  11 +-
++ .../modules/refactoring/java/ui/UIUtilities.java   |  14 --
++ .../refactoring/java/ui/WhereUsedPanelClass.form   |   4 +-
++ .../refactoring/java/ui/WhereUsedPanelClass.java   |   2 +-
++ .../refactoring/java/ui/WhereUsedPanelMethod.form  |   4 +-
++ .../refactoring/java/ui/WhereUsedPanelMethod.java  |   2 +-
++ .../refactoring/java/ui/WhereUsedPanelPackage.form |   4 +-
++ .../refactoring/java/ui/WhereUsedPanelPackage.java |   2 +-
++ .../java/ui/WhereUsedPanelVariable.form            |   4 +-
++ .../java/ui/WhereUsedPanelVariable.java            |   2 +-
++ .../refactoring/java/ui/WhereUsedQueryUI.java      |   3 +-
++ .../RefactoringTest/nbproject/build-impl.xml       |   2 +-
++ .../refactoring/ConvertAnonymousToMemberTest.java  | 126 ++++++++++++
++ .../test/refactoring/EncapsulateFieldTest.java     |  42 ++++
++ .../operators/EncapsulateFieldOperator.java        |  40 ++++
++ .../data/SimpleJ2SEApp/nbproject/build-impl.xml    |   2 +-
++ .../SimpleJ2SEAppChild/nbproject/build-impl.xml    |   2 +-
++ .../java/test/ChangeParametersTest.java            |  86 ---------
++ .../refactoring/java/test/CopyClassTest.java       |   9 +-
++ .../refactoring/java/test/FindUsagesPerfTest.java  |   3 +-
++ .../modules/refactoring/java/test/InlineTest.java  |  56 +-----
++ .../refactoring/java/test/InnerToOutterTest.java   |  53 +----
++ .../java/test/IntroduceLocalExtensionTest.java     | 119 +++---------
++ .../java/test/IntroduceParameterTest.java          |  39 ----
++ .../java/test/{MoveBase.java => MoveBaseTest.java} |   4 +-
++ .../refactoring/java/test/MoveClassTest.java       |   2 +-
++ .../refactoring/java/test/MoveFieldTest.java       |   2 +-
++ .../refactoring/java/test/MoveJavaFileTest.java    |   2 +-
++ .../refactoring/java/test/MoveMethodTest.java      |   2 +-
++ .../modules/refactoring/java/test/RefTestBase.java |   9 +-
++ .../refactoring/java/test/RefactoringTestBase.java |   9 +-
++ .../modules/refactoring/java/test/RenameTest.java  |  27 ---
++ .../test/ReplaceConstructorWithBuilderTest.java    |   9 +-
++ .../test/ReplaceConstructorWithFactoryTest.java    |   9 +-
++ 98 files changed, 860 insertions(+), 1366 deletions(-)
++ rename refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/{MoveBase.java => MoveBaseTest.java} (99%)
++
++diff --git a/refactoring.java/nbproject/org-netbeans-modules-refactoring-java.sig b/refactoring.java/nbproject/org-netbeans-modules-refactoring-java.sig
++index 817bd6df0..829e8a633 100644
++--- a/refactoring.java/nbproject/org-netbeans-modules-refactoring-java.sig
+++++ b/refactoring.java/nbproject/org-netbeans-modules-refactoring-java.sig
++@@ -1,5 +1,5 @@
++ #Signature file v4.1
++-#Version 1.57.1
+++#Version 1.51.0
++ 
++ CLSS public abstract interface com.sun.source.doctree.DocTreeVisitor<%0 extends java.lang.Object, %1 extends java.lang.Object>
++ meth public abstract {com.sun.source.doctree.DocTreeVisitor%0} visitAttribute(com.sun.source.doctree.AttributeTree,{com.sun.source.doctree.DocTreeVisitor%1})
++@@ -639,7 +639,6 @@ meth protected final org.netbeans.modules.refactoring.api.Problem createAndAddEl
++ meth protected final org.netbeans.modules.refactoring.api.Problem createAndAddElements(java.util.Set<org.openide.filesystems.FileObject>,org.netbeans.api.java.source.CancellableTask<org.netbeans.api.java.source.WorkingCopy>,org.netbeans.modules.refactoring.spi.RefactoringElementsBag,org.netbeans.modules.refactoring.api.AbstractRefactoring,org.netbeans.api.java.source.ClasspathInfo)
++ meth protected final org.netbeans.modules.refactoring.api.Problem createProblemAndLog(org.netbeans.modules.refactoring.api.Problem,java.lang.Throwable)
++ meth protected final void queryFiles(java.util.Set<org.openide.filesystems.FileObject>,org.netbeans.api.java.source.CancellableTask<? extends org.netbeans.api.java.source.CompilationController>) throws java.io.IOException
++-meth protected final void queryFiles(java.util.Set<org.openide.filesystems.FileObject>,org.netbeans.api.java.source.CancellableTask<? extends org.netbeans.api.java.source.CompilationController>,org.netbeans.api.java.source.ClasspathInfo) throws java.io.IOException
++ meth protected org.netbeans.api.java.source.ClasspathInfo getClasspathInfo(org.netbeans.modules.refactoring.api.AbstractRefactoring)
++ meth protected org.netbeans.modules.refactoring.api.Problem checkParameters(org.netbeans.api.java.source.CompilationController) throws java.io.IOException
++ meth protected org.netbeans.modules.refactoring.api.Problem fastCheckParameters(org.netbeans.api.java.source.CompilationController) throws java.io.IOException
++@@ -653,7 +652,7 @@ meth public static org.netbeans.modules.refactoring.spi.Transaction createTransa
++  anno 1 org.netbeans.api.annotations.common.NonNull()
++ meth public void cancelRequest()
++ supr org.netbeans.modules.refactoring.spi.ProgressProviderAdapter
++-hfds EMPTY_PATH,currentTask,workingTask
+++hfds currentTask,workingTask
++ hcls WorkingTask
++ 
++ CLSS protected final static !enum org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin$Phase
++@@ -676,12 +675,8 @@ supr java.lang.Object
++ hfds treePathHandle,visitor
++ 
++ CLSS public final !enum org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters
++-fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters BINARYFILE
++ fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters COMMENT
++-fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters DEPENDENCY
++ fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters IMPORT
++-fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters PLATFORM
++-fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters SOURCEFILE
++ fld public final static org.netbeans.modules.refactoring.java.spi.JavaWhereUsedFilters TESTFILE
++ innr public final static !enum ReadWrite
++ meth public java.lang.String getKey()
++diff --git a/refactoring.java/nbproject/project.properties b/refactoring.java/nbproject/project.properties
++index c386d7dc6..8544507bf 100644
++--- a/refactoring.java/nbproject/project.properties
+++++ b/refactoring.java/nbproject/project.properties
++@@ -1,45 +1,8 @@
++-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-#
++-# Copyright (c) 2006, 2016 Oracle and/or its affiliates. All rights reserved.
++-#
++-# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-# Other names may be trademarks of their respective owners.
++-#
++-# The contents of this file are subject to the terms of either the GNU
++-# General Public License Version 2 only ("GPL") or the Common
++-# Development and Distribution License("CDDL") (collectively, the
++-# "License"). You may not use this file except in compliance with the
++-# License. You can obtain a copy of the License at
++-# http://www.netbeans.org/cddl-gplv2.html
++-# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-# specific language governing permissions and limitations under the
++-# License.  When distributing the software, include this License Header
++-# Notice in each file and include the License file at
++-# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-# particular file as subject to the "Classpath" exception as provided
++-# by Oracle in the GPL Version 2 section of the License file that
++-# accompanied this code. If applicable, add the following below the
++-# License Header, with the fields enclosed by brackets [] replaced by
++-# your own identifying information:
++-# "Portions Copyrighted [year] [name of copyright owner]"
++-#
++-# If you wish your version of this file to be governed by only the CDDL
++-# or only the GPL Version 2, indicate your decision by adding
++-# "[Contributor] elects to include this software in this distribution
++-# under the [CDDL or GPL Version 2] license." If you do not indicate a
++-# single choice of license, a recipient has the option to distribute
++-# your version of this file under either the CDDL, the GPL Version 2 or
++-# to extend the choice of license to its licensees as provided above.
++-# However, if you add GPL Version 2 code and therefore, elected the GPL
++-# Version 2 license, then the option applies only if the new code is
++-# made subject to such option by the copyright holder.
++-#
++-# Contributor(s):
++-javac.source=1.8
+++javac.source=1.7
++ javadoc.arch=${basedir}/arch.xml
++ javadoc.apichanges=${basedir}/apichanges.xml
++ 
++-spec.version.base=1.59.1
+++spec.version.base=1.57.1
++ #test configs
++ test.config.find.includes=\
++     **/FindUsagesSuite.class
++diff --git a/refactoring.java/nbproject/project.xml b/refactoring.java/nbproject/project.xml
++index c46c921e9..8cae00e85 100644
++--- a/refactoring.java/nbproject/project.xml
+++++ b/refactoring.java/nbproject/project.xml
++@@ -1,43 +1,4 @@
++ <?xml version="1.0" encoding="UTF-8"?>
++-<!--
++-DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++-
++-Copyright (c) 2006, 2016 Oracle and/or its affiliates. All rights reserved.
++-
++-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++-Other names may be trademarks of their respective owners.
++-
++-The contents of this file are subject to the terms of either the GNU
++-General Public License Version 2 only ("GPL") or the Common
++-Development and Distribution License("CDDL") (collectively, the
++-"License"). You may not use this file except in compliance with the
++-License. You can obtain a copy of the License at
++-http://www.netbeans.org/cddl-gplv2.html
++-or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
++-specific language governing permissions and limitations under the
++-License.  When distributing the software, include this License Header
++-Notice in each file and include the License file at
++-nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++-particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
++-accompanied this code. If applicable, add the following below the
++-License Header, with the fields enclosed by brackets [] replaced by
++-your own identifying information:
++-"Portions Copyrighted [year] [name of copyright owner]"
++-
++-If you wish your version of this file to be governed by only the CDDL
++-or only the GPL Version 2, indicate your decision by adding
++-"[Contributor] elects to include this software in this distribution
++-under the [CDDL or GPL Version 2] license." If you do not indicate a
++-single choice of license, a recipient has the option to distribute
++-your version of this file under either the CDDL, the GPL Version 2 or
++-to extend the choice of license to its licensees as provided above.
++-However, if you add GPL Version 2 code and therefore, elected the GPL
++-Version 2 license, then the option applies only if the new code is
++-made subject to such option by the copyright holder.
++-
++-Contributor(s):
++--->
++ <project xmlns="http://www.netbeans.org/ns/project/1">
++     <type>org.netbeans.modules.apisupport.project</type>
++     <configuration>
++@@ -93,7 +54,7 @@ Contributor(s):
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>8.15</specification-version>
+++                        <specification-version>8.4</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++@@ -216,7 +177,7 @@ Contributor(s):
++                     <build-prerequisite/>
++                     <compile-dependency/>
++                     <run-dependency>
++-                        <specification-version>2.12</specification-version>
+++                        <specification-version>2.9</specification-version>
++                     </run-dependency>
++                 </dependency>
++                 <dependency>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/RefactoringUtils.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/RefactoringUtils.java
++index 83ee5540c..3e46b04b1 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/RefactoringUtils.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/RefactoringUtils.java
++@@ -860,9 +860,6 @@ public class RefactoringUtils {
++     @Deprecated
++     public static @NullUnknown
++     TreePath findEnclosingClass(CompilationInfo javac, TreePath path, boolean isClass, boolean isInterface, boolean isEnum, boolean isAnnotation, boolean isAnonymous) {
++-        if (path == null) {
++-            return null;
++-        }
++         Tree selectedTree = path.getLeaf();
++         TreeUtilities utils = javac.getTreeUtilities();
++         while (true) {
++@@ -960,9 +957,7 @@ public class RefactoringUtils {
++             return null;
++         }
++         Element var = info.getTrees().getElement(tp);
++-        if (var != null) {
++-            lookup.scan(scopeBlok, var);
++-        }
+++        lookup.scan(scopeBlok, var);
++ 
++         if (lookup.hasRefernces()) {
++             return NbBundle.getMessage(RefactoringUtils.class, "MSG_LocVariableClash",newName);
++@@ -1104,19 +1099,6 @@ public class RefactoringUtils {
++         }
++         return false;
++     }
++-    
++-    /**
++-     * Checks if the element is a method or constructor. Returns {@code false} for {@code null} input.
++-     * @param e element to check
++-     * @return true iff the element is a constructor or method.
++-     */
++-    public static boolean isExecutableElement(Element e) {
++-        if (e == null) {
++-            return false;
++-        }
++-        ElementKind ek = e.getKind();
++-        return ek == ElementKind.CONSTRUCTOR || ek == ElementKind.METHOD;
++-    }
++ 
++     private RefactoringUtils() {
++     }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/WhereUsedElement.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/WhereUsedElement.java
++index 806f5fe71..4ba22871b 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/WhereUsedElement.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/WhereUsedElement.java
++@@ -279,7 +279,7 @@ public class WhereUsedElement extends SimpleRefactoringElementImplementation imp
++                 Tree varTree = varTreePath.getLeaf();
++                 Trees trees = compiler.getTrees();
++                 Element element = trees.getElement(varTreePath);
++-                if (element != null && varTree.getKind() == Tree.Kind.VARIABLE && element.getKind() == ElementKind.ENUM_CONSTANT) {
+++                if (varTree.getKind() == Tree.Kind.VARIABLE && element.getKind() == ElementKind.ENUM_CONSTANT) {
++                     int[] pos = treeUtils.findNameSpan((VariableTree)varTree);
++                     if (pos == null) {
++                         //#121084 hotfix
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/api/InvertBooleanRefactoring.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/api/InvertBooleanRefactoring.java
++index bc3884b8a..98c91054b 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/api/InvertBooleanRefactoring.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/api/InvertBooleanRefactoring.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/api/MemberInfo.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/api/MemberInfo.java
++index 90c37e8be..5a8739e0f 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/api/MemberInfo.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/api/MemberInfo.java
++@@ -163,9 +163,6 @@ public final class MemberInfo<H> {
++         String format = ElementHeaders.NAME;
++         Group g = null;
++         Element el = c.getTrees().getElement(tpath);
++-        if (el == null) {
++-            return null;
++-        }
++         if (el.getKind() == ElementKind.FIELD) {
++             format += " : " + ElementHeaders.TYPE; // NOI18N
++             g=Group.FIELD;
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/api/ReplaceConstructorWithFactoryRefactoring.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/api/ReplaceConstructorWithFactoryRefactoring.java
++index 6eca1fcb7..b6a8c604c 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/api/ReplaceConstructorWithFactoryRefactoring.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/api/ReplaceConstructorWithFactoryRefactoring.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/Call.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/Call.java
++index 14f10fe32..d67fef6b4 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/Call.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/Call.java
++@@ -55,7 +55,6 @@ import org.netbeans.api.java.source.ElementHandle;
++ import org.netbeans.api.java.source.TreePathHandle;
++ import org.netbeans.api.java.source.ui.ElementHeaders;
++ import org.netbeans.api.java.source.ui.ElementIcons;
++-import org.netbeans.modules.refactoring.java.RefactoringUtils;
++ import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
++ import org.openide.awt.StatusDisplayer;
++ import org.openide.cookies.EditorCookie;
++@@ -271,8 +270,9 @@ final class Call implements CallDescriptor {
++     }
++ 
++     private static boolean isLeaf(Element elm, ElementHandle handle, Call parent, boolean isCallerGraph, boolean[] recursion) {
+++        ElementKind kind = elm.getKind();
++         recursion[0] = false;
++-        if (!RefactoringUtils.isExecutableElement(elm)) {
+++        if (kind != ElementKind.METHOD && kind != ElementKind.CONSTRUCTOR) {
++             return true;
++         }
++         if (!isCallerGraph && elm.getModifiers().contains(Modifier.ABSTRACT)) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTasks.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTasks.java
++index a9ff7cb5e..3a613c039 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTasks.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTasks.java
++@@ -235,7 +235,7 @@ final class CallHierarchyTasks {
++                 Kind kind = tpath.getLeaf().getKind();
++                 if (kind == Kind.METHOD || kind == Kind.METHOD_INVOCATION || kind == Kind.MEMBER_SELECT || kind == Kind.NEW_CLASS) {
++                     method = ScanUtils.checkElement(javac, javac.getTrees().getElement(tpath));
++-                    if (RefactoringUtils.isExecutableElement(method)) {
+++                    if (method != null && (method.getKind() == ElementKind.METHOD || method.getKind() == ElementKind.CONSTRUCTOR)) {
++                         break;
++                     }
++                     method = null;
++@@ -398,7 +398,7 @@ final class CallHierarchyTasks {
++                     // initializer
++                     Element enclosing = javac.getTrees().getElement(declarationPath.getParentPath());
++                     BlockTree block = (BlockTree) declarationPath.getLeaf();
++-                    elm = enclosing == null ? null : new InitializerElement(enclosing, block.isStatic());
+++                    elm = new InitializerElement(enclosing, block.isStatic());
++                 }
++                 
++                 if (elm == null) {
++@@ -589,8 +589,9 @@ final class CallHierarchyTasks {
++                 incomplete = true;
++                 return;
++             } 
++-            if (RefactoringUtils.isExecutableElement(resolved)
++-                    && !javac.getElementUtilities().isSynthetic(resolved)) {
+++            if (resolved != null
+++                    && !javac.getElementUtilities().isSynthetic(resolved)
+++                    && (resolved.getKind() == ElementKind.METHOD || resolved.getKind() == ElementKind.CONSTRUCTOR)) {
++                 addRef(resolved, tpath);
++             }
++         }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.form b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.form
++index 41f9f208c..32e0aa920 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.form
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.form
++@@ -106,8 +106,8 @@
++         </Component>
++         <Component class="javax.swing.JButton" name="jBtnCancel">
++           <Properties>
++-            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++-              <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/cancel.png", false)" type="code"/>
+++            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++              <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/cancel.png"/>
++             </Property>
++             <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++               <ResourceString bundle="org/netbeans/modules/refactoring/java/callhierarchy/Bundle.properties" key="CallHierarchyTopComponent.jBtnCancel.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
++@@ -125,8 +125,8 @@
++         </Component>
++         <Component class="javax.swing.JToggleButton" name="jTogBtnCaller">
++           <Properties>
++-            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++-              <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/who_is_called.png", false)" type="code"/>
+++            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++              <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/who_is_called.png"/>
++             </Property>
++             <Property name="selected" type="boolean" value="true"/>
++             <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++@@ -140,8 +140,8 @@
++         </Component>
++         <Component class="javax.swing.JToggleButton" name="jTogBtnCallee">
++           <Properties>
++-            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++-              <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/who_calls.png", false)" type="code"/>
+++            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++              <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/who_calls.png"/>
++             </Property>
++             <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++               <ResourceString bundle="org/netbeans/modules/refactoring/java/callhierarchy/Bundle.properties" key="CallHierarchyTopComponent.jTogBtnCallee.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
++@@ -156,8 +156,8 @@
++         </Component>
++         <Component class="javax.swing.JToggleButton" name="jTogBtnScope">
++           <Properties>
++-            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++-              <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/filter.png", false)" type="code"/>
+++            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++              <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/filter.png"/>
++             </Property>
++             <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
++               <ResourceString bundle="org/netbeans/modules/refactoring/java/callhierarchy/Bundle.properties" key="CallHierarchyTopComponent.jTogBtnScope.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.java
++index 1a0fe50bf..b042e95e0 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallHierarchyTopComponent.java
++@@ -206,7 +206,7 @@ final class CallHierarchyTopComponent extends TopComponent implements ExplorerMa
++         jBtnRefresh.addActionListener(formListener);
++         jToolBar.add(jBtnRefresh);
++ 
++-        jBtnCancel.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/cancel.png", false)); // NOI18N
+++        jBtnCancel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/cancel.png"))); // NOI18N
++         jBtnCancel.setToolTipText(org.openide.util.NbBundle.getMessage(CallHierarchyTopComponent.class, "CallHierarchyTopComponent.jBtnCancel.toolTipText")); // NOI18N
++         jBtnCancel.setEnabled(false);
++         jBtnCancel.setFocusable(false);
++@@ -216,21 +216,21 @@ final class CallHierarchyTopComponent extends TopComponent implements ExplorerMa
++         jToolBar.add(jBtnCancel);
++         jToolBar.add(jSeparator1);
++ 
++-        jTogBtnCaller.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/who_is_called.png", false)); // NOI18N
+++        jTogBtnCaller.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/who_is_called.png"))); // NOI18N
++         jTogBtnCaller.setSelected(true);
++         jTogBtnCaller.setToolTipText(org.openide.util.NbBundle.getMessage(CallHierarchyTopComponent.class, "CallHierarchyTopComponent.jTogBtnCaller.toolTipText")); // NOI18N
++         jTogBtnCaller.setFocusable(false);
++         jTogBtnCaller.addActionListener(formListener);
++         jToolBar.add(jTogBtnCaller);
++ 
++-        jTogBtnCallee.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/who_calls.png", false)); // NOI18N
+++        jTogBtnCallee.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/who_calls.png"))); // NOI18N
++         jTogBtnCallee.setToolTipText(org.openide.util.NbBundle.getMessage(CallHierarchyTopComponent.class, "CallHierarchyTopComponent.jTogBtnCallee.toolTipText")); // NOI18N
++         jTogBtnCallee.setFocusable(false);
++         jTogBtnCallee.addActionListener(formListener);
++         jToolBar.add(jTogBtnCallee);
++         jToolBar.add(jSeparator2);
++ 
++-        jTogBtnScope.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/filter.png", false)); // NOI18N
+++        jTogBtnScope.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/filter.png"))); // NOI18N
++         jTogBtnScope.setToolTipText(org.openide.util.NbBundle.getMessage(CallHierarchyTopComponent.class, "CallHierarchyTopComponent.jTogBtnScope.toolTipText")); // NOI18N
++         jTogBtnScope.setFocusable(false);
++         jTogBtnScope.addItemListener(formListener);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallOccurrence.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallOccurrence.java
++index 1d203b09a..eda0e0055 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallOccurrence.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/callhierarchy/CallOccurrence.java
++@@ -84,16 +84,14 @@ final class CallOccurrence implements CallDescriptor {
++ 
++     @Override
++     public void open() {
++-        if(occurrence != null) {
++-            Call.doOpen(occurrence.getFileObject(), selectionBounds);
++-        }
+++        Call.doOpen(occurrence.getFileObject(), selectionBounds);
++     }
++ 
++     public static CallOccurrence createOccurrence(
++             CompilationInfo javac, TreePath selection, Call parent) {
++         WhereUsedElement wue = WhereUsedElement.create(javac, selection, false);
++         CallOccurrence c = new CallOccurrence();
++-        if(javac.getTreeUtilities().isSynthetic(selection)) {
+++        if(!javac.getTreeUtilities().isSynthetic(selection)) {
++             selection = getEnclosingTree(selection);
++             if (javac.getTreeUtilities().isSynthetic(selection)) {
++                 selection = getEnclosingTree(selection.getParentPath());
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/Bundle.properties b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/Bundle.properties
++index 411102e05..1c34eee90 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/Bundle.properties
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/Bundle.properties
++@@ -221,6 +221,7 @@ ERR_CannotMovePackageToSubpackage=A package cannot be moved into one of its subp
++ ERR_DefaultPackageCannotBeMoved=Default package cannot be moved.
++ ERR_CannotMoveFile=Cannot move file from library: "{0}".
++ ERR_MissingProjectDeps=There are references in project "{0}" to moved files, but source project "{0}" does not depend on target project "{1}". Projects need not compile.
+++ERR_ClasspathNotFound=No classpath defined for {0}.
++ ERR_MemberMissingProjectDeps=Source project "{0}" does not depend on target project "{1}", but there are references in project "{0}" to moved members. Projects will not compile.
++ 
++ # encapsulate field error messages
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParametersPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParametersPlugin.java
++index 215c78122..7b3b5302c 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParametersPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParametersPlugin.java
++@@ -269,7 +269,7 @@ public class ChangeParametersPlugin extends JavaRefactoringPlugin {
++             return preCheckProblem;
++         }
++         Element el = treePathHandle.resolveElement(info);
++-        if (!RefactoringUtils.isExecutableElement(el)) {
+++        if (!(el.getKind() == ElementKind.METHOD || el.getKind() == ElementKind.CONSTRUCTOR)) {
++             preCheckProblem = createProblem(preCheckProblem, true, NbBundle.getMessage(ChangeParametersPlugin.class, "ERR_ChangeParamsWrongType")); // NOI18N
++             return preCheckProblem;
++         }
++@@ -539,7 +539,7 @@ public class ChangeParametersPlugin extends JavaRefactoringPlugin {
++                     TreePath path = javac.getTrees().getPath(javac.getCompilationUnit(), vt);
++                     Element element = javac.getTrees().getElement(path);
++ 
++-                    return vt.getName().contentEquals(p) && (element == null || !element.equals(parameterElement));
+++                    return vt.getName().contentEquals(p) && !element.equals(parameterElement);
++                 }
++ 
++                 @Override
++@@ -625,13 +625,9 @@ public class ChangeParametersPlugin extends JavaRefactoringPlugin {
++                                 for (int j = 0; j < exMethod.getParameters().size(); j++) {
++                                     TypeMirror exType = ((VariableElement) exMethod.getParameters().get(j)).asType();
++                                     String type = paramTable[j].getType();
++-                                    if (type == null || type.length() == 0) {
+++                                    TypeMirror paramType = javac.getTreeUtilities().parseType(type, enclosingTypeElement);
+++                                    if (!javac.getTypes().isSameType(exType, paramType)) {
++                                         sameParameters = false;
++-                                    } else {
++-                                        TypeMirror paramType = javac.getTreeUtilities().parseType(type, enclosingTypeElement);
++-                                        if (!javac.getTypes().isSameType(exType, paramType)) {
++-                                            sameParameters = false;
++-                                        }
++                                     }
++                                 }
++                                 if (sameParameters) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParamsTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParamsTransformer.java
++index 484ab324a..c4284af3b 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParamsTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ChangeParamsTransformer.java
++@@ -79,7 +79,6 @@ import javax.lang.model.util.Types;
++ import org.netbeans.api.java.source.ClassIndex.NameKind;
++ import org.netbeans.api.java.source.*;
++ import org.netbeans.modules.refactoring.api.Problem;
++-import org.netbeans.modules.refactoring.java.RefactoringUtils;
++ import org.netbeans.modules.refactoring.java.api.ChangeParametersRefactoring.ParameterInfo;
++ import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
++ import org.netbeans.modules.refactoring.java.spi.RefactoringVisitor;
++@@ -166,36 +165,28 @@ public class ChangeParamsTransformer extends RefactoringVisitor {
++     }
++ 
++     private void checkNewModifier(TreePath tree, Element p) throws MissingResourceException {
++-        if (newModifiers == null || newModifiers.contains(Modifier.PUBLIC)) {
++-            return;
++-        }
++         ClassTree classTree = (ClassTree) JavaRefactoringUtils.findEnclosingClass(workingCopy, tree, true, true, true, true, false).getLeaf();
++-        if (problemClasses.contains(classTree)) {
++-            // Only give one warning for every file
++-            return;
++-        }
++-        Element el = workingCopy.getTrees().getElement(workingCopy.getTrees().getPath(workingCopy.getCompilationUnit(), classTree));
++-        if (el == null || p == null) {
++-            return;
++-        }
++-        TypeElement enclosingTypeElement1 = workingCopy.getElementUtilities().outermostTypeElement(el);
++-        TypeElement enclosingTypeElement2 = workingCopy.getElementUtilities().outermostTypeElement(p);
++-        if(!workingCopy.getTypes().isSameType(enclosingTypeElement1.asType(), enclosingTypeElement2.asType())) {
++-            if(newModifiers.contains(Modifier.PRIVATE)) {
++-                problem = MoveTransformer.createProblem(problem, false, NbBundle.getMessage(ChangeParamsTransformer.class, "ERR_StrongAccMod", Modifier.PRIVATE, enclosingTypeElement1)); //NOI18N
++-                problemClasses.add(classTree);
++-            } else {
++-                PackageElement package1 = workingCopy.getElements().getPackageOf(el);
++-                PackageElement package2 = workingCopy.getElements().getPackageOf(p);
++-                if(!package1.getQualifiedName().equals(package2.getQualifiedName())) {
++-                    if(newModifiers.contains(Modifier.PROTECTED)) {
++-                        if(!workingCopy.getTypes().isSubtype(enclosingTypeElement1.asType(), enclosingTypeElement2.asType())) {
++-                            problem = MoveTransformer.createProblem(problem, false, NbBundle.getMessage(ChangeParamsTransformer.class, "ERR_StrongAccMod", Modifier.PROTECTED, enclosingTypeElement1)); //NOI18N
+++        if(!problemClasses.contains(classTree) && !newModifiers.contains(Modifier.PUBLIC)) { // Only give one warning for every file
+++            Element el = workingCopy.getTrees().getElement(workingCopy.getTrees().getPath(workingCopy.getCompilationUnit(), classTree));
+++            TypeElement enclosingTypeElement1 = workingCopy.getElementUtilities().outermostTypeElement(el);
+++            TypeElement enclosingTypeElement2 = workingCopy.getElementUtilities().outermostTypeElement(p);
+++            if(!workingCopy.getTypes().isSameType(enclosingTypeElement1.asType(), enclosingTypeElement2.asType())) {
+++                if(newModifiers.contains(Modifier.PRIVATE)) {
+++                    problem = MoveTransformer.createProblem(problem, false, NbBundle.getMessage(ChangeParamsTransformer.class, "ERR_StrongAccMod", Modifier.PRIVATE, enclosingTypeElement1)); //NOI18N
+++                    problemClasses.add(classTree);
+++                } else {
+++                    PackageElement package1 = workingCopy.getElements().getPackageOf(el);
+++                    PackageElement package2 = workingCopy.getElements().getPackageOf(p);
+++                    if(!package1.getQualifiedName().equals(package2.getQualifiedName())) {
+++                        if(newModifiers.contains(Modifier.PROTECTED)) {
+++                            if(!workingCopy.getTypes().isSubtype(enclosingTypeElement1.asType(), enclosingTypeElement2.asType())) {
+++                                problem = MoveTransformer.createProblem(problem, false, NbBundle.getMessage(ChangeParamsTransformer.class, "ERR_StrongAccMod", Modifier.PROTECTED, enclosingTypeElement1)); //NOI18N
+++                                problemClasses.add(classTree);
+++                            }
+++                        } else {
+++                            problem = MoveTransformer.createProblem(problem, false, NbBundle.getMessage(ChangeParamsTransformer.class, "ERR_StrongAccMod", "<default>", enclosingTypeElement1)); //NOI18N
++                             problemClasses.add(classTree);
++                         }
++-                    } else {
++-                        problem = MoveTransformer.createProblem(problem, false, NbBundle.getMessage(ChangeParamsTransformer.class, "ERR_StrongAccMod", "<default>", enclosingTypeElement1)); //NOI18N
++-                        problemClasses.add(classTree);
++                     }
++                 }
++             }
++@@ -502,7 +493,9 @@ public class ChangeParamsTransformer extends RefactoringVisitor {
++             ExecutableElement method = (ExecutableElement) p;
++             Element el = workingCopy.getTrees().getElement(getCurrentPath());
++             if (isMethodMatch(el, method)) {
++-                checkNewModifier(getCurrentPath(), method);
+++                if(newModifiers != null) {
+++                    checkNewModifier(getCurrentPath(), method);
+++                }
++                 boolean passThrough = false;
++                 TreePath enclosingMethod = JavaPluginUtils.findMethod(getCurrentPath());
++                 if(enclosingMethod != null) {
++@@ -536,7 +529,9 @@ public class ChangeParamsTransformer extends RefactoringVisitor {
++             ExecutableElement method = (ExecutableElement) p;
++             TypeMirror tm = workingCopy.getTrees().getTypeMirror(path);
++             if (tm != null && workingCopy.getTypes().isSameType(tm, method.getEnclosingElement().asType())) {
++-                checkNewModifier(path, method);
+++                if(newModifiers != null) {
+++                    checkNewModifier(path, method);
+++                }
++                 List<VariableTree> params = getNewParameters(tree.getParameters(), path);
++                 LambdaExpressionTree nju = make.LambdaExpression(params, tree.getBody());
++                 rewrite(tree, nju);
++@@ -777,12 +772,12 @@ public class ChangeParamsTransformer extends RefactoringVisitor {
++     }
++ 
++     private boolean isMethodMatch(Element method, Element p) {
++-        if (!RefactoringUtils.isExecutableElement(method)) {
+++        if(method == null) {
++             return false;
++         }
++         if(compatible) {
++-            return method == p;
++-        } else if (allMethods !=null) {
+++            return (method.getKind() == ElementKind.METHOD || method.getKind() == ElementKind.CONSTRUCTOR) && method == p;
+++        } else if ((method.getKind() == ElementKind.METHOD || method.getKind() == ElementKind.CONSTRUCTOR) && allMethods !=null) {
++             for (ElementHandle<ExecutableElement> mh: allMethods) {
++                 ExecutableElement baseMethod =  mh.resolve(workingCopy);
++                 if (baseMethod==null) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/CopyClassesRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/CopyClassesRefactoringPlugin.java
++index e97be62be..13bfe1b8c 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/CopyClassesRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/CopyClassesRefactoringPlugin.java
++@@ -193,7 +193,7 @@ public class CopyClassesRefactoringPlugin extends JavaRefactoringPlugin {
++                 FileObject newOne = null;
++                 for (FileObject fileObject : fileObjects) {
++                     String orig = (String) fileObject.getAttribute("originalFile"); //NOI18N
++-                    if(fileObject.isValid() && source.getNameExt().equals(orig)) {
+++                    if(source.getNameExt().equals(orig)) {
++                         newOne = fileObject;
++                         break;
++                     }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldRefactoringPlugin.java
++index 812caa844..27ae460ee 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldRefactoringPlugin.java
++@@ -65,6 +65,7 @@ import org.netbeans.modules.refactoring.java.api.EncapsulateFieldRefactoring;
++ import org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin;
++ import org.netbeans.modules.refactoring.java.spi.RefactoringVisitor;
++ import org.netbeans.modules.refactoring.java.spi.ToPhaseException;
+++import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldPanel.InsertPoint;
++ import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldPanel.Javadoc;
++ import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldPanel.SortBy;
++ import org.netbeans.modules.refactoring.spi.RefactoringElementsBag;
++@@ -405,7 +406,7 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++ 
++             Encapsulator encapsulator = new Encapsulator(
++                     Collections.singletonList(desc), desc.p,
++-                    refactoring.getContext().lookup(Integer.class),
+++                    refactoring.getContext().lookup(InsertPoint.class),
++                     refactoring.getContext().lookup(SortBy.class),
++                     refactoring.getContext().lookup(Javadoc.class));
++ 
++@@ -499,7 +500,7 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++     static final class Encapsulator extends RefactoringVisitor {
++ 
++         private final FileObject sourceFile;
++-        private final Integer insertPoint;
+++        private final InsertPoint insertPoint;
++         private final SortBy sortBy;
++         private final Javadoc javadocType;
++         private Problem problem;
++@@ -507,12 +508,12 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++         private Map<VariableElement, EncapsulateDesc> fields;
++         private boolean setterUsed;
++ 
++-        public Encapsulator(List<EncapsulateDesc> descs, Problem problem, Integer ip, SortBy sortBy, Javadoc jd) {
+++        public Encapsulator(List<EncapsulateDesc> descs, Problem problem, InsertPoint ip, SortBy sortBy, Javadoc jd) {
++             assert descs != null && descs.size() > 0;
++             this.sourceFile = descs.get(0).fieldHandle.getFileObject();
++             this.descs = descs;
++             this.problem = problem;
++-            this.insertPoint = ip == null ? Integer.MIN_VALUE : ip;
+++            this.insertPoint = ip == null ? InsertPoint.DEFAULT : ip;
++             this.sortBy = sortBy == null ? SortBy.PAIRS : sortBy;
++             this.javadocType = jd == null ? Javadoc.NONE : jd;
++         }
++@@ -608,21 +609,17 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++                         if (sortBy == SortBy.ALPHABETICALLY) {
++                             Collections.sort(newMembers, new SortMethodsByNameComparator());
++                         }
++-                        if (insertPoint < 0) {
++-                            if(insertPoint > Integer.MIN_VALUE) {
++-                                nct = GeneratorUtilities.get(workingCopy).insertClassMembers(node, newMembers, Math.abs(insertPoint));
++-                            } else {
++-                                nct = GeneratorUtilities.get(workingCopy).insertClassMembers(node, newMembers);
++-                            }
+++                        if (insertPoint == InsertPoint.DEFAULT) {
+++                            nct = GeneratorUtilities.get(workingCopy).insertClassMembers(node, newMembers);
++                         } else {
++                             List<? extends Tree> members = node.getMembers();
++-                            if (insertPoint >= members.size()) {
+++                            if (insertPoint.getIndex() >= members.size()) {
++                                 // last method
++                                 for (Tree mt : newMembers) {
++                                     nct = make.addClassMember(nct, mt);
++                                 }
++                             } else {
++-                                int idx = insertPoint;
+++                                int idx = insertPoint.getIndex();
++                                 for (Tree mt : newMembers) {
++                                     nct = make.insertClassMember(nct, idx++, mt);
++                                 }
++@@ -710,7 +707,7 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++         public Tree visitVariable(VariableTree node, Element field) {
++             if (sourceFile == workingCopy.getFileObject()) {
++                 Element el = workingCopy.getTrees().getElement(getCurrentPath());
++-                EncapsulateDesc desc = el == null ? null : fields.get(el);
+++                EncapsulateDesc desc = fields.get(el);
++                 if (desc != null) {
++                     resolveFieldDeclaration(node, desc);
++                     return node;
++@@ -838,7 +835,7 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++                 t = ((ArrayAccessTree) t).getExpression();
++             }
++             Element el = workingCopy.getTrees().getElement(new TreePath(getCurrentPath(), t));
++-            EncapsulateDesc desc = el == null ? null : fields.get(el);
+++            EncapsulateDesc desc = fields.get(el);
++             if (desc != null && desc.useAccessors
++                     && desc.refactoring.getGetterName() != null
++                     && (isArrayOrImmutable || checkAssignmentInsideExpression())
++@@ -879,7 +876,7 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++         @Override
++         public Tree visitMemberSelect(MemberSelectTree node, Element field) {
++             Element el = workingCopy.getTrees().getElement(getCurrentPath());
++-            EncapsulateDesc desc = el == null ? null : fields.get(el);
+++            EncapsulateDesc desc = fields.get(el);
++             if (desc != null && desc.useAccessors && !isInConstructorOfFieldClass(getCurrentPath(), desc.field)
++                     && !isInGetterSetter(getCurrentPath(), desc.currentGetter, desc.currentSetter)) {
++                 ExpressionTree nodeNew = createGetterInvokation(node, desc.refactoring.getGetterName());
++@@ -891,7 +888,7 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++         @Override
++         public Tree visitIdentifier(IdentifierTree node, Element field) {
++             Element el = workingCopy.getTrees().getElement(getCurrentPath());
++-            EncapsulateDesc desc = el == null ? null : fields.get(el);
+++            EncapsulateDesc desc = fields.get(el);
++             if (desc != null && desc.useAccessors && !isInConstructorOfFieldClass(getCurrentPath(), desc.field)
++                     && !isInGetterSetter(getCurrentPath(), desc.currentGetter, desc.currentSetter)) {
++                 ExpressionTree nodeNew = createGetterInvokation(node, desc.refactoring.getGetterName());
++@@ -1170,9 +1167,6 @@ public final class EncapsulateFieldRefactoringPlugin extends JavaRefactoringPlug
++                             return false;
++                         }
++                         Element m = workingCopy.getTrees().getElement(path);
++-                        if (m == null) {
++-                            return false;
++-                        }
++                         boolean result = m.getKind() == ElementKind.CONSTRUCTOR && (m.getEnclosingElement() == field.getEnclosingElement() || isSubclassOf((TypeElement) m.getEnclosingElement(), (TypeElement) field.getEnclosingElement()));
++                         if (m.getKind() == ElementKind.CONSTRUCTOR
++                                 && m.getEnclosingElement() != field.getEnclosingElement()
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldsPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldsPlugin.java
++index 2a1f41f71..ea1f2caff 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldsPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/EncapsulateFieldsPlugin.java
++@@ -59,6 +59,7 @@ import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
++ import org.netbeans.modules.refactoring.java.plugins.EncapsulateFieldRefactoringPlugin.EncapsulateDesc;
++ import org.netbeans.modules.refactoring.java.plugins.EncapsulateFieldRefactoringPlugin.Encapsulator;
++ import org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin;
+++import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldPanel.InsertPoint;
++ import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldPanel.Javadoc;
++ import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldPanel.SortBy;
++ import org.netbeans.modules.refactoring.java.ui.EncapsulateFieldsRefactoring;
++@@ -206,7 +207,7 @@ public final class EncapsulateFieldsPlugin extends JavaRefactoringPlugin {
++         }
++ 
++         Encapsulator encapsulator = new Encapsulator(descs, problem,
++-                refactoring.getContext().lookup(Integer.class),
+++                refactoring.getContext().lookup(InsertPoint.class),
++                 refactoring.getContext().lookup(SortBy.class),
++                 refactoring.getContext().lookup(Javadoc.class)
++                 );
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ExtractSuperclassRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ExtractSuperclassRefactoringPlugin.java
++index 40fdab94a..c3237931f 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ExtractSuperclassRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ExtractSuperclassRefactoringPlugin.java
++@@ -419,25 +419,23 @@ public final class ExtractSuperclassRefactoringPlugin extends JavaRefactoringPlu
++         @Override
++         public Tree visitVariable(VariableTree variableTree, Element p) {
++             Element current = workingCopy.getTrees().getElement(getCurrentPath());
++-            if (current != null) {
++-                for (MemberInfo<ElementHandle<? extends Element>> memberInfo : refactoring.getMembers()) {
++-                    if (memberInfo.getGroup() == MemberInfo.Group.FIELD
++-                            && memberInfo.getElementHandle().resolve(workingCopy) == current) {
++-                        GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy);
++-                        members2Remove.add(variableTree);
++-                        VariableTree copy = genUtils.importComments(variableTree, workingCopy.getCompilationUnit());
++-                        copy = genUtils.importFQNs(copy);
++-                        ModifiersTree modifiers = copy.getModifiers();
++-                        if (modifiers.getFlags().contains(Modifier.PRIVATE)) {
++-                            modifiers = make.removeModifiersModifier(modifiers, Modifier.PRIVATE);
++-                            modifiers = make.addModifiersModifier(modifiers, Modifier.PROTECTED);
++-                            copy = make.Variable(modifiers, copy.getName(), copy.getType(), copy.getInitializer());
++-                            genUtils.copyComments(variableTree, copy, false);
++-                            genUtils.copyComments(variableTree, copy, true);
++-                        }
++-                        members.add(copy);
++-                        break;
+++            for (MemberInfo<ElementHandle<? extends Element>> memberInfo : refactoring.getMembers()) {
+++                if (memberInfo.getGroup() == MemberInfo.Group.FIELD
+++                        && memberInfo.getElementHandle().resolve(workingCopy) == current) {
+++                    GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy);
+++                    members2Remove.add(variableTree);
+++                    VariableTree copy = genUtils.importComments(variableTree, workingCopy.getCompilationUnit());
+++                    copy = genUtils.importFQNs(copy);
+++                    ModifiersTree modifiers = copy.getModifiers();
+++                    if (modifiers.getFlags().contains(Modifier.PRIVATE)) {
+++                        modifiers = make.removeModifiersModifier(modifiers, Modifier.PRIVATE);
+++                        modifiers = make.addModifiersModifier(modifiers, Modifier.PROTECTED);
+++                        copy = make.Variable(modifiers, copy.getName(), copy.getType(), copy.getInitializer());
+++                        genUtils.copyComments(variableTree, copy, false);
+++                        genUtils.copyComments(variableTree, copy, true);
++                     }
+++                    members.add(copy);
+++                    break;
++                 }
++             }
++             return variableTree;
++@@ -447,53 +445,51 @@ public final class ExtractSuperclassRefactoringPlugin extends JavaRefactoringPlu
++         public Tree visitMethod(final MethodTree methodTree, Element p) {
++             final Trees trees = workingCopy.getTrees();
++             Element current = trees.getElement(getCurrentPath());
++-            if (current != null) {
++-                for (MemberInfo<ElementHandle<? extends Element>> memberInfo : refactoring.getMembers()) {
++-                    if (memberInfo.getGroup() == MemberInfo.Group.METHOD
++-                            && memberInfo.getElementHandle().resolve(workingCopy) == current) {
++-                        if(!memberInfo.isMakeAbstract()) {
++-                            members2Remove.add(methodTree);
++-                        }
++-                        GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy);
++-                        MethodTree newMethod = genUtils.importComments(methodTree, workingCopy.getCompilationUnit());
++-                        ModifiersTree modifiers = methodTree.getModifiers();
++-                        if (modifiers.getFlags().contains(Modifier.PRIVATE)) {
++-                            modifiers = make.removeModifiersModifier(modifiers, Modifier.PRIVATE);
++-                            modifiers = make.addModifiersModifier(modifiers, Modifier.PROTECTED);
++-                        }
++-                        newMethod = genUtils.importFQNs(newMethod);
++-                        modifiers = genUtils.importFQNs(modifiers);
++-                        final List<? extends TypeMirror> thrownTypes = ((ExecutableElement)current).getThrownTypes();
++-                        List<ExpressionTree> newThrownTypes = new ArrayList<ExpressionTree>(thrownTypes.size());
++-                        for (TypeMirror typeMirror : thrownTypes) {
++-                            newThrownTypes.add((ExpressionTree) make.Type(typeMirror)); // Necessary as this is not covered by importFQNs
++-                        }
++-                        if (memberInfo.isMakeAbstract() && !current.getModifiers().contains(Modifier.ABSTRACT)) {
++-                            newMethod = make.Method(
++-                                    RefactoringUtils.makeAbstract(make, modifiers),
++-                                    newMethod.getName(),
++-                                    newMethod.getReturnType(),
++-                                    newMethod.getTypeParameters(),
++-                                    newMethod.getParameters(),
++-                                    newThrownTypes,
++-                                    (BlockTree) null,
++-                                    null);
++-                        } else {
++-                            newMethod = make.Method(modifiers,
++-                                    newMethod.getName(),
++-                                    newMethod.getReturnType(),
++-                                    newMethod.getTypeParameters(),
++-                                    newMethod.getParameters(),
++-                                    newThrownTypes,
++-                                    newMethod.getBody(),
++-                                    (ExpressionTree) newMethod.getDefaultValue());
++-                        }
++-                        genUtils.copyComments(methodTree, newMethod, false);
++-                        genUtils.copyComments(methodTree, newMethod, true);
++-                        makeAbstract |= newMethod.getModifiers().getFlags().contains(Modifier.ABSTRACT);
++-                        members.add(newMethod);
++-                        break;
+++            for (MemberInfo<ElementHandle<? extends Element>> memberInfo : refactoring.getMembers()) {
+++                if (memberInfo.getGroup() == MemberInfo.Group.METHOD
+++                        && memberInfo.getElementHandle().resolve(workingCopy) == current) {
+++                    if(!memberInfo.isMakeAbstract()) {
+++                        members2Remove.add(methodTree);
+++                    }
+++                    GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy);
+++                    MethodTree newMethod = genUtils.importComments(methodTree, workingCopy.getCompilationUnit());
+++                    ModifiersTree modifiers = methodTree.getModifiers();
+++                    if (modifiers.getFlags().contains(Modifier.PRIVATE)) {
+++                        modifiers = make.removeModifiersModifier(modifiers, Modifier.PRIVATE);
+++                        modifiers = make.addModifiersModifier(modifiers, Modifier.PROTECTED);
++                     }
+++                    newMethod = genUtils.importFQNs(newMethod);
+++                    modifiers = genUtils.importFQNs(modifiers);
+++                    final List<? extends TypeMirror> thrownTypes = ((ExecutableElement)current).getThrownTypes();
+++                    List<ExpressionTree> newThrownTypes = new ArrayList<ExpressionTree>(thrownTypes.size());
+++                    for (TypeMirror typeMirror : thrownTypes) {
+++                        newThrownTypes.add((ExpressionTree) make.Type(typeMirror)); // Necessary as this is not covered by importFQNs
+++                    }
+++                    if (memberInfo.isMakeAbstract() && !current.getModifiers().contains(Modifier.ABSTRACT)) {
+++                        newMethod = make.Method(
+++                                RefactoringUtils.makeAbstract(make, modifiers),
+++                                newMethod.getName(),
+++                                newMethod.getReturnType(),
+++                                newMethod.getTypeParameters(),
+++                                newMethod.getParameters(),
+++                                newThrownTypes,
+++                                (BlockTree) null,
+++                                null);
+++                    } else {
+++                        newMethod = make.Method(modifiers,
+++                                newMethod.getName(),
+++                                newMethod.getReturnType(),
+++                                newMethod.getTypeParameters(),
+++                                newMethod.getParameters(),
+++                                newThrownTypes,
+++                                newMethod.getBody(),
+++                                (ExpressionTree) newMethod.getDefaultValue());
+++                    }
+++                    genUtils.copyComments(methodTree, newMethod, false);
+++                    genUtils.copyComments(methodTree, newMethod, true);
+++                    makeAbstract |= newMethod.getModifiers().getFlags().contains(Modifier.ABSTRACT);
+++                    members.add(newMethod);
+++                    break;
++                 }
++             }
++             return methodTree;
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindSubtypesVisitor.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindSubtypesVisitor.java
++index e251f7019..4b83c42d7 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindSubtypesVisitor.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindSubtypesVisitor.java
++@@ -87,7 +87,7 @@ public class FindSubtypesVisitor extends FindVisitor {
++             }
++         } else {
++             TypeElement el = (TypeElement) workingCopy.getTrees().getElement(getCurrentPath());
++-            if (el != null && el.getSuperclass()!=null && types.isSameType(types.erasure(el.getSuperclass()), type2) || containsType(el.getInterfaces(), type2)) {
+++            if (el.getSuperclass()!=null && types.isSameType(types.erasure(el.getSuperclass()), type2) || containsType(el.getInterfaces(), type2)) {
++                 addUsage(getCurrentPath());
++             }
++         }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindUsagesVisitor.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindUsagesVisitor.java
++index 1137d2bf7..9ae2e9db6 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindUsagesVisitor.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/FindUsagesVisitor.java
++@@ -147,7 +147,7 @@ public class FindUsagesVisitor extends TreePathScanner<Tree, Element> {
++                 }
++             }
++         }
++-        if(RefactoringUtils.isExecutableElement(p)) {
+++        if(p.getKind() == ElementKind.METHOD || p.getKind() == ElementKind.CONSTRUCTOR) {
++             ExecutableElement method = (ExecutableElement) p;
++             methods.add(method);
++             TypeElement enclosingTypeElement = workingCopy.getElementUtilities().enclosingTypeElement(method);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineMethodTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineMethodTransformer.java
++index 4a92bba90..2287ab92a 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineMethodTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineMethodTransformer.java
++@@ -44,7 +44,6 @@ package org.netbeans.modules.refactoring.java.plugins;
++ import com.sun.source.tree.*;
++ import static com.sun.source.tree.Tree.Kind.*;
++ import com.sun.source.util.*;
++-import com.sun.tools.javac.tree.JCTree;
++ import java.util.*;
++ import javax.lang.model.element.*;
++ import javax.lang.model.type.ArrayType;
++@@ -152,11 +151,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++                 if (stats != null) {
++                     newStatementList.addAll(stats);
++                 }
++-                Tree tree = original2TranslatedForBlock.get(statementTree);
++-                if(tree == null || tree.getKind() != EMPTY_STATEMENT ||
++-                        ((JCTree)tree).pos >= 0) {
++-                    newStatementList.add(statementTree);
++-                }
+++                newStatementList.add(statementTree);
++             }
++             BlockTree newBlock = make.Block(newStatementList, node.isStatic());
++             if(!original2TranslatedForBlock.isEmpty()) {
++@@ -180,7 +175,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++         final TreePath methodInvocationPath = getCurrentPath();
++         Element el = trees.getElement(methodInvocationPath);
++ //        TypeMirror tm = workingCopy.getTrees().getTypeMirror(getCurrentPath());
++-        if (el != null && el.getKind() == ElementKind.METHOD && methodElement.equals(el)) {
+++        if (el.getKind() == ElementKind.METHOD && methodElement.equals(el)) {
++             List<? extends VariableTree> parameters = methodTree.getParameters();
++             BlockTree body = methodTree.getBody();
++ 
++@@ -205,7 +200,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++         Tree value = super.visitMethodInvocation(node, methodElement);
++         final TreePath methodInvocationPath = getCurrentPath();
++         Element el = trees.getElement(methodInvocationPath);
++-        if (el != null && el.getKind() == ElementKind.METHOD && methodElement.equals(el)) {
+++        if (el.getKind() == ElementKind.METHOD && methodElement.equals(el)) {
++             GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy);
++             ExecutableElement method = (ExecutableElement) el;
++             List<StatementTree> newStatementList = new LinkedList<>();
++@@ -343,8 +338,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++                 }
++             }
++ 
++-            Map<Tree, Tree> translateMap = translateQueue.size() > 0 ? translateQueue.getLast() : original2Translated;
++-            lastStatement = translateLastStatement(genUtils, parent, grandparent, newStatementList, lastStatement, node, methodInvocationPath, method, translateMap);
+++            lastStatement = translateLastStatement(genUtils, parent, grandparent, newStatementList, lastStatement, node, methodInvocationPath, method);
++             Element element = workingCopy.getTrees().getElement(statementPath);
++             if (element != null && element.getKind() == ElementKind.FIELD) {
++                 if (!newStatementList.isEmpty()) {
++@@ -384,6 +378,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++                     }
++                 }
++                 Map<Tree, List<StatementTree>> addedStatementsForBlock = newStatsQueue.getLast();
+++                Map<Tree, Tree> translateMap = translateQueue.getLast();
++                 List<StatementTree> stats = addedStatementsForBlock.get(statementTree);
++                 if(stats == null) {
++                     addedStatementsForBlock.put(statementTree, stats = new LinkedList<>());
++@@ -394,7 +389,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++                 for (Comment comment : comments) {
++                     make.addComment(lastStatement, Comment.create(comment.style(), comment.getText()), false);
++                 }
++-                translateMap.put(methodInvocation, lastStatement == null? make.EmptyStatement(): lastStatement);
+++                translateMap.put(methodInvocation, lastStatement);
++             }
++         }
++         return value;
++@@ -553,7 +548,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++                 TreePath path = trees.getPath(compilationUnitTree, node);
++                 if (path != null) {
++                     Element variable = trees.getElement(path);
++-                    if (variable != null && !(variable.getKind() == ElementKind.PARAMETER && p.getParameters().contains((VariableElement) variable))) {
+++                    if (!(variable.getKind() == ElementKind.PARAMETER && p.getParameters().contains((VariableElement) variable))) {
++                         String varName = node.getName().toString();
++                         String uniqueName = JavaPluginUtils.makeNameUnique(workingCopy,
++                                                        workingCopy.getTrees().getScope(methodInvocationPath), varName, definedIds);
++@@ -719,7 +714,7 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++ 
++     @NbBundle.Messages(
++             "WRN_InlineChangeReturn=Unsafe -- the return expression is not used in {0}.")
++-    private Tree translateLastStatement(GeneratorUtilities genUtils, Tree parent, Tree grandparent, List<StatementTree> newStatementList, Tree lastStatement, Tree node, TreePath location, Element method, Map<Tree, Tree> translateMap) {
+++    private Tree translateLastStatement(GeneratorUtilities genUtils, Tree parent, Tree grandparent, List<StatementTree> newStatementList, Tree lastStatement, Tree node, TreePath location, Element method) {
++         Tree result = lastStatement;
++         TreeDuplicator duplicator = new TreeDuplicator(make, genUtils);
++         if (parent.getKind() != Tree.Kind.EXPRESSION_STATEMENT) {
++@@ -781,13 +776,6 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++             switch (grandparent.getKind()) {
++                 case FOR_LOOP: {
++                     ForLoopTree forLoopTree = (ForLoopTree) grandparent;
++-                    if(translateMap.containsKey(grandparent)) {
++-                        Tree newTree = translateMap.get(grandparent);
++-                        if(newTree.getKind() == FOR_LOOP) {
++-                            forLoopTree = (ForLoopTree) newTree;
++-                        }
++-                    }
++-                    
++                     StatementTree statement = forLoopTree.getStatement();
++                     if (statement == parent) {
++                         addResultToStatementList(result, newStatementList);
++@@ -887,11 +875,9 @@ public class InlineMethodTransformer extends RefactoringVisitor {
++                 break;
++             }
++         }
++-        if(result != null) {
++-            result = duplicator.duplicate(result);
++-            genUtils.copyComments(lastStatement, result, true);
++-            genUtils.copyComments(lastStatement, result, false);
++-        }
+++        result = duplicator.duplicate(result);
+++        genUtils.copyComments(lastStatement, result, true);
+++        genUtils.copyComments(lastStatement, result, false);
++         return result;
++     }
++ 
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineRefactoringPlugin.java
++index da812e4d2..9f0f50ebe 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineRefactoringPlugin.java
++@@ -370,7 +370,7 @@ public class InlineRefactoringPlugin extends JavaRefactoringPlugin {
++             Element asElement = asElement(new TreePath(p, node));
++             if (element.equals(asElement)) {
++                 isRecursive = true;
++-            } else if (asElement != null) {
+++            } else {
++                 if (asElement.getKind().equals(ElementKind.FIELD)
++                         || asElement.getKind().equals(ElementKind.METHOD)
++                         || asElement.getKind().equals(ElementKind.CLASS)) {
++@@ -437,7 +437,6 @@ public class InlineRefactoringPlugin extends JavaRefactoringPlugin {
++         public Tree visitIdentifier(IdentifierTree node, TreePath p) {
++             Element asElement = asElement(new TreePath(p, node));
++             if (!node.getName().contentEquals("this") &&
++-                    asElement != null && 
++                     (asElement.getKind().equals(ElementKind.FIELD)
++                     || asElement.getKind().equals(ElementKind.METHOD)
++                     || asElement.getKind().equals(ElementKind.CLASS))) {
++@@ -451,9 +450,9 @@ public class InlineRefactoringPlugin extends JavaRefactoringPlugin {
++         @Override
++         public Tree visitNewClass(NewClassTree node, TreePath p) {
++             Element asElement = asElement(new TreePath(p, node));
++-            if (asElement != null && (asElement.getKind().equals(ElementKind.FIELD) 
+++            if (asElement.getKind().equals(ElementKind.FIELD)
++                     || asElement.getKind().equals(ElementKind.METHOD)
++-                    || asElement.getKind().equals(ElementKind.CLASS))) {
+++                    || asElement.getKind().equals(ElementKind.CLASS)) {
++                 Modifier mod = getAccessSpecifier(asElement.getModifiers());
++ //                accessorRightProblem = hasAccessorRightProblem(mod);
++                 qualIdentProblem = hasQualIdentProblem(element, asElement);
++@@ -464,9 +463,9 @@ public class InlineRefactoringPlugin extends JavaRefactoringPlugin {
++         @Override
++         public Tree visitMemberSelect(MemberSelectTree node, TreePath p) {
++             Element asElement = asElement(new TreePath(p, node));
++-            if (asElement != null && (asElement.getKind().equals(ElementKind.FIELD)
+++            if (asElement.getKind().equals(ElementKind.FIELD)
++                     || asElement.getKind().equals(ElementKind.METHOD)
++-                    || asElement.getKind().equals(ElementKind.CLASS))) {
+++                    || asElement.getKind().equals(ElementKind.CLASS)) {
++                 Modifier mod = getAccessSpecifier(asElement.getModifiers());
++ //                accessorRightProblem = hasAccessorRightProblem(mod);
++                 qualIdentProblem = hasQualIdentProblem(element, asElement);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InnerToOuterTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InnerToOuterTransformer.java
++index bc88ce35d..646fdc162 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InnerToOuterTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InnerToOuterTransformer.java
++@@ -53,6 +53,7 @@ import javax.lang.model.element.*;
++ import javax.lang.model.type.TypeMirror;
++ import javax.tools.JavaFileObject;
++ import org.netbeans.api.java.classpath.ClassPath;
+++import org.netbeans.api.java.source.Comment;
++ import org.netbeans.api.java.source.GeneratorUtilities;
++ import org.netbeans.api.java.source.TreeUtilities;
++ import org.netbeans.api.java.source.WorkingCopy;
++@@ -99,9 +100,6 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++             return null;
++         }
++         Element current = getCurrentElement();
++-        if (current == null) {
++-            return null;
++-        }
++         if (inner.equals(current)) {
++             Tree newTree = make.setLabel(node, refactoring.getClassName());        
++             rewrite(node, newTree);
++@@ -174,7 +172,7 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++                 boolean removeEnclosingExpression = false;
++                 if(enclosingExpression != null) {
++                     Element enclosingElement = workingCopy.getTrees().getElement(workingCopy.getTrees().getPath(workingCopy.getCompilationUnit(), enclosingExpression));
++-                    if(enclosingElement != null && workingCopy.getTypes().isSameType(enclosingElement.asType(), outer.asType())) {
+++                    if(workingCopy.getTypes().isSameType(enclosingElement.asType(), outer.asType())) {
++                         thisString = enclosingExpression.toString();
++                         removeEnclosingExpression = true;
++                     }
++@@ -246,15 +244,12 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++     public Tree visitMethod(MethodTree constructor, Element element) {
++         if (constructor.getReturnType()==null) {
++             //constructor
++-            if (refactoring.getReferenceName() != null && !inner.equals(getCurrentClass())) {
++-                Element current = getCurrentElement();
++-                if (current != null && workingCopy.getTypes().isSubtype(current.getEnclosingElement().asType(), inner.asType())) {
++-                    MemberSelectTree arg = make.MemberSelect(make.Identifier(getCurrentClass().getEnclosingElement().getSimpleName()), "this"); // NOI18N
++-                    MethodInvocationTree superCall = (MethodInvocationTree) ((ExpressionStatementTree)constructor.getBody().getStatements().get(0)).getExpression();
++-                    int index = hasVarArgs(constructor) ? constructor.getParameters().size() - 1 : 0;
++-                    MethodInvocationTree newSuperCall = make.insertMethodInvocationArgument(superCall, index, arg);
++-                    rewrite(superCall, newSuperCall);
++-                }
+++            if (refactoring.getReferenceName() != null && !inner.equals(getCurrentClass()) && workingCopy.getTypes().isSubtype(getCurrentElement().getEnclosingElement().asType(), inner.asType())) {
+++                MemberSelectTree arg = make.MemberSelect(make.Identifier(getCurrentClass().getEnclosingElement().getSimpleName()), "this"); // NOI18N
+++                MethodInvocationTree superCall = (MethodInvocationTree) ((ExpressionStatementTree)constructor.getBody().getStatements().get(0)).getExpression();
+++                int index = hasVarArgs(constructor) ? constructor.getParameters().size() - 1 : 0;
+++                MethodInvocationTree newSuperCall = make.insertMethodInvocationArgument(superCall, index, arg);
+++                rewrite(superCall, newSuperCall);
++             }
++             
++         }
++@@ -264,9 +259,6 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++     @Override
++     public Tree visitClass(ClassTree classTree, Element element) {
++         Element currentElement = workingCopy.getTrees().getElement(getCurrentPath());
++-        if (currentElement == null) {
++-            return super.visitClass(classTree, element);
++-        }
++         GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy); // helper        
++         if (currentElement!=null && currentElement == outer) {
++             Element outerouter = outer.getEnclosingElement();
++@@ -421,9 +413,6 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++     @Override
++     public Tree visitMemberSelect(MemberSelectTree memberSelect, Element element) {
++         Element current = getCurrentElement();
++-        if (current == null) {
++-            return super.visitMemberSelect(memberSelect, inner);
++-        }
++         if (inner.equals(current)) {
++             ExpressionTree ex = memberSelect.getExpression();
++             Tree newTree;
++@@ -450,7 +439,7 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++             }
++         } else if (isThisReferenceToOuter() && isThisInInner()) {
++             if (current.getModifiers().contains(Modifier.PRIVATE)) {
++-                referencedPrivateElement.add(current);
+++                referencedPrivateElement.add(getCurrentElement());
++             }
++             if (!"class".equals(memberSelect.getIdentifier().toString()) && !current.getModifiers().contains(Modifier.STATIC)) { //NOI18N)
++                 if (refactoring.getReferenceName()!=null) {
++@@ -487,18 +476,6 @@ public class InnerToOuterTransformer extends RefactoringVisitor {
++         return super.visitMemberSelect(memberSelect, element);
++     }
++ 
++-    @Override
++-    public Tree visitLambdaExpression(LambdaExpressionTree node, Element p) {
++-        List<? extends VariableTree> params = node.getParameters();
++-        boolean skipType = params.size() > 0 && (params.get(0).getType() == null
++-                || workingCopy.getTreeUtilities().isSynthetic(new TreePath(getCurrentPath(), params.get(0).getType())));
++-        if(skipType) {
++-            return scan(node.getBody(), p);
++-        } else {
++-            return super.visitLambdaExpression(node, p);
++-        }
++-    }
++-
++     private boolean isThisReferenceToInner() {
++         Element cur = getCurrentElement();
++         if (cur==null || cur.getKind() == ElementKind.PACKAGE) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InstantRefactoringPerformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InstantRefactoringPerformer.java
++index 7ae67aee6..e04242676 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InstantRefactoringPerformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InstantRefactoringPerformer.java
++@@ -94,6 +94,7 @@ import org.netbeans.api.editor.mimelookup.MimeRegistrations;
++ import org.netbeans.api.editor.settings.AttributesUtilities;
++ import org.netbeans.api.editor.settings.EditorStyleConstants;
++ import org.netbeans.api.editor.settings.FontColorSettings;
+++import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.api.progress.ProgressHandle;
++ import org.netbeans.api.progress.ProgressHandleFactory;
++ import org.netbeans.editor.BaseDocument;
++@@ -109,7 +110,6 @@ import org.netbeans.modules.refactoring.api.RefactoringSession;
++ import static org.netbeans.modules.refactoring.java.ui.ContextAnalyzer.SHOW;
++ import org.netbeans.modules.refactoring.java.ui.InstantRefactoringUI;
++ import org.netbeans.modules.refactoring.java.ui.SyncDocumentRegion;
++-import org.netbeans.modules.refactoring.java.ui.UIUtilities;
++ import org.netbeans.modules.refactoring.java.ui.instant.CompletionLayout;
++ import org.netbeans.modules.refactoring.java.ui.instant.InstantOption;
++ import org.netbeans.modules.refactoring.spi.RefactoringElementsBag;
++@@ -249,11 +249,11 @@ public final class InstantRefactoringPerformer implements DocumentListener, KeyL
++                 
++                 @Override
++                 public void run() {
++-                    UIUtilities.runWhenScanFinished(task, "Instant Refactoring");
+++                    ScanDialog.runWhenScanFinished(task, "Instant Refactoring");
++                 }
++             });
++         } else {
++-            UIUtilities.runWhenScanFinished(task, "Instant Refactoring");
+++            ScanDialog.runWhenScanFinished(task, "Instant Refactoring");
++         }
++     }
++ 
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceLocalExtensionTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceLocalExtensionTransformer.java
++index 8573d9bef..47055da67 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceLocalExtensionTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceLocalExtensionTransformer.java
++@@ -190,26 +190,18 @@ public class IntroduceLocalExtensionTransformer extends RefactoringVisitor {
++                     VariableTree variable = make.Variable(field, make.QualIdent(field));
++                     members.add(0, variable);
++                 } else {
++-                    ExecutableElement[] elements = new ExecutableElement[2];
++-                    MethodTree[] createdGetterAndSetter = createGetterAndSetter(field, field.getModifiers(), cs, elements);
+++                    MethodTree[] createdGetterAndSetter = createGetterAndSetter(field, field.getModifiers(), cs);
++                     ElementHandle<Element> fieldHandle = ElementHandle.create((Element) field);
++-                    MethodTree getter = createdGetterAndSetter[0];
++-                    MethodTree setter = createdGetterAndSetter[1];
++                     getterSetterMap.put(fieldHandle, new String[]{
++-                        getter == null ? elements[0].getSimpleName().toString() : getter.getName().toString(),
++-                        setter == null ? elements[1].getSimpleName().toString() : setter.getName().toString()});
++-                    if(getter != null) {
++-                       members.add(getter);
++-                    }
++-                    if(setter != null) {
++-                        members.add(setter);
++-                    }
+++                        createdGetterAndSetter[0].getName().toString(),
+++                        createdGetterAndSetter[1].getName().toString()});
+++                    members.addAll(Arrays.asList(createdGetterAndSetter));
++                 }
++             }
++         }
++     }
++ 
++-    private MethodTree[] createGetterAndSetter(VariableElement field, Set<Modifier> useModifiers, CodeStyle cs, ExecutableElement[] elements) {
+++    private MethodTree[] createGetterAndSetter(VariableElement field, Set<Modifier> useModifiers, CodeStyle cs) {
++         boolean staticMod = field.getModifiers().contains(Modifier.STATIC);
++         String getterName = CodeStyleUtils.computeGetterName(field.getSimpleName(), field.asType().getKind() == TypeKind.BOOLEAN, staticMod, cs);
++         String setterName = CodeStyleUtils.computeSetterName(field.getSimpleName(), staticMod, cs);
++@@ -231,12 +223,14 @@ public class IntroduceLocalExtensionTransformer extends RefactoringVisitor {
++         MethodTree[] result = new MethodTree[2];
++ 
++         ExecutableElement getterElm = null;
++-        getterElm = EncapsulateFieldRefactoringPlugin.findMethod(
++-                workingCopy,
++-                (TypeElement) field.getEnclosingElement(),
++-                getterName,
++-                Collections.<VariableElement>emptyList(), false);
++-        if (getterElm == null) {
+++        if (getterName != null) {
+++            getterElm = EncapsulateFieldRefactoringPlugin.findMethod(
+++                    workingCopy,
+++                    (TypeElement) field.getEnclosingElement(),
+++                    getterName,
+++                    Collections.<VariableElement>emptyList(), false);
+++        }
+++        if (getterElm == null && getterName != null) {
++             MethodTree getter = make.Method(
++                     make.Modifiers(mods),
++                     getterName,
++@@ -249,20 +243,21 @@ public class IntroduceLocalExtensionTransformer extends RefactoringVisitor {
++             result[0] = getter;
++             String jdText = null;
++             String prefix = jdText == null ? "" : jdText + "\n"; // NOI18N
++-            Comment comment = Comment.create(Comment.Style.JAVADOC, -2, -2, -2,
+++            Comment comment = Comment.create(
+++                    Comment.Style.JAVADOC, -2, -2, -2,
++                     prefix + "@return the " + field.getSimpleName()); // NOI18N
++             make.addComment(getter, comment, true);
++-        } else {
++-            elements[0] = getterElm;
++         }
++ 
++         ExecutableElement setterElm = null;
++-        setterElm = EncapsulateFieldRefactoringPlugin.findMethod(
++-                workingCopy,
++-                (TypeElement) field.getEnclosingElement(),
++-                setterName,
++-                Collections.<VariableElement>singletonList(field), false);
++-        if (setterElm == null) {
+++        if (setterName != null) {
+++            setterElm = EncapsulateFieldRefactoringPlugin.findMethod(
+++                    workingCopy,
+++                    (TypeElement) field.getEnclosingElement(),
+++                    setterName,
+++                    Collections.<VariableElement>singletonList(field), false);
+++        }
+++        if (setterElm == null && setterName != null) {
++             VariableTree paramTree = make.Variable(
++                     make.Modifiers(Collections.<Modifier>emptySet()), parName, fieldTree.getType(), null);
++             MethodTree setter = make.Method(
++@@ -282,8 +277,6 @@ public class IntroduceLocalExtensionTransformer extends RefactoringVisitor {
++                     Comment.Style.JAVADOC, -2, -2, -2,
++                     prefix + String.format("@param %s the %s to set", parName, fieldName)); // NOI18N
++             make.addComment(setter, comment, true);
++-        } else {
++-            elements[1] = setterElm;
++         }
++         return result;
++     }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceParameterPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceParameterPlugin.java
++index 131719657..acf0af053 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceParameterPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceParameterPlugin.java
++@@ -118,7 +118,7 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++                         super.visitVariable(vt, p);
++                         TreePath path = javac.getTrees().getPath(javac.getCompilationUnit(), vt);
++                         Element element = javac.getTrees().getElement(path);
++-                        boolean sameName = element != null && vt.getName().contentEquals(p) && !element.equals(parameterElement);
+++                        boolean sameName = vt.getName().contentEquals(p) && !element.equals(parameterElement);
++                 
++                         return sameName && element != variableElement;
++                     }
++@@ -128,7 +128,7 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++                         super.visitIdentifier(it, p);
++                         TreePath path = javac.getTrees().getPath(javac.getCompilationUnit(), it);
++                         Element element = javac.getTrees().getElement(path);
++-                        boolean sameName = element != null && VARIABLES.contains(element.getKind()) && it.getName().contentEquals(p) && !element.equals(parameterElement);
+++                        boolean sameName = VARIABLES.contains(element.getKind()) && it.getName().contentEquals(p) && !element.equals(parameterElement);
++                 
++                         return sameName && element != variableElement;
++                     }
++@@ -150,13 +150,7 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++         };
++ 
++         TreePath methodPath = JavaPluginUtils.findMethod(resolved);
++-        if (methodPath == null) {
++-            return p;
++-        }
++         final ExecutableElement method = (ExecutableElement) javac.getTrees().getElement(methodPath);
++-        if (method == null) {
++-            return p;
++-        }
++ 
++         boolean isConstructor = method.getKind() == ElementKind.CONSTRUCTOR;
++ 
++@@ -278,19 +272,22 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++                         } else {
++                             sttmts = findAddPosition(workingCopy, resolved, Collections.<TreePath>emptySet());
++                         }
++-                        if (sttmts != null) {
++-                            List<StatementTree> nueStatements2 = new LinkedList<StatementTree>(sttmts.getStatements());
+++                        if (sttmts == null) {
+++                            return;
+++                        }
++ 
++-                            if (expressionStatement) {
++-                                nueStatements2.remove(resolved.getParentPath().getLeaf());
++-                            }
++-                            if (variableRewrite) {
++-                                nueStatements2.remove(resolved.getLeaf());
++-                            }
+++                        List<StatementTree> nueStatements2 = new LinkedList<StatementTree>(sttmts.getStatements());
++ 
++-                            BlockTree nueBlock2 = make.Block(nueStatements2, false);
++-                            workingCopy.rewrite(sttmts, nueBlock2);
+++                        if (expressionStatement) {
+++                            nueStatements2.remove(resolved.getParentPath().getLeaf());
+++                        }
+++                        if (variableRewrite) {
+++                            nueStatements2.remove(resolved.getLeaf());
++                         }
+++
+++                        BlockTree nueBlock2 = make.Block(nueStatements2, false);
+++                        workingCopy.rewrite(sttmts, nueBlock2);
+++
++                         if (!variableRewrite) {
++                             Tree origParent = resolved.getParentPath().getLeaf();
++                             Tree leaf = resolved.getLeaf();
++@@ -396,7 +393,7 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++         }
++ 
++         Element el = info.getTrees().getElement(method);
++-        if (!RefactoringUtils.isExecutableElement(el)) {
+++        if (el != null && !(el.getKind() == ElementKind.METHOD || el.getKind() == ElementKind.CONSTRUCTOR)) {
++             preCheckProblem = createProblem(preCheckProblem, true, NbBundle.getMessage(IntroduceParameterPlugin.class, "ERR_ChangeParamsWrongType")); //NOI18N
++             return preCheckProblem;
++         }
++@@ -506,12 +503,7 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++                 TreePath path = treePathHandle.resolve(info);
++                 TreePath methodPath = JavaPluginUtils.findMethod(path);
++ 
++-                ExecutableElement method = methodPath == null ? null : (ExecutableElement) info.getTrees().getElement(methodPath);
++-                if (method == null) {
++-                    p = JavaPluginUtils.chainProblems(p, new Problem(true, NbBundle.getMessage(IntroduceParameterPlugin.class, "ERR_canNotResolve", 
++-                            methodPath != null ? methodPath.getLeaf().toString() : treePathHandle)));
++-                    return p;
++-                }
+++                ExecutableElement method = (ExecutableElement) info.getTrees().getElement(methodPath);
++                 List<? extends VariableElement> parameters = method.getParameters();
++                 paramTable = new ChangeParametersRefactoring.ParameterInfo[parameters.size() + 1];
++                 for (int originalIndex = 0; originalIndex < parameters.size(); originalIndex++) {
++@@ -555,12 +547,12 @@ public class IntroduceParameterPlugin extends JavaRefactoringPlugin {
++                 boolean variableRewrite = original.getKind() == Kind.VARIABLE;
++                 ExpressionTree expression = !variableRewrite ? (ExpressionTree) original : ((VariableTree) original).getInitializer();
++ 
++-                if (expression != null && expression.getKind() == Kind.PARENTHESIZED) { // If parenthesis are necessary, they will be added again later.
+++                if (expression.getKind() == Kind.PARENTHESIZED) { // If parenthesis are necessary, they will be added again later.
++                     ParenthesizedTree parents = (ParenthesizedTree) expression;
++                     expression = parents.getExpression();
++                 }
++ 
++-                paramTable[index] = new ChangeParametersRefactoring.ParameterInfo(-1, refactoring.getParameterName(), (refactoring.isFinal() ? FINAL : "") + type, expression == null ? ((VariableTree) original).getName().toString() : expression.toString());
+++                paramTable[index] = new ChangeParametersRefactoring.ParameterInfo(-1, refactoring.getParameterName(), (refactoring.isFinal() ? FINAL : "") + type, expression.toString());
++                 
++                 TreePath resolved = treePathHandle.resolve(info);
++                 TreePath meth = JavaPluginUtils.findMethod(resolved);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InvertBooleanRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InvertBooleanRefactoringPlugin.java
++index e15ddd9fe..081c0f228 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InvertBooleanRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InvertBooleanRefactoringPlugin.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++@@ -254,7 +251,7 @@ public class InvertBooleanRefactoringPlugin implements RefactoringPlugin { //ext
++                     String scriptTemplate;
++                     Tree leaf = path.getLeaf();
++                     TypeElement parent = (TypeElement) parameter.getTrees().getElement(path.getParentPath());
++-                    // XXX: parent should be checked ?
+++
++                     arguments.put("newName", invertBooleanRefactoring.getNewName());
++                     arguments.put("enclosing", parent.getQualifiedName().toString());
++ 
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaPluginUtils.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaPluginUtils.java
++index e012e047f..3495c660d 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaPluginUtils.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaPluginUtils.java
++@@ -76,10 +76,6 @@ public final class JavaPluginUtils {
++     private static final Logger LOG = Logger.getLogger(JavaPluginUtils.class.getName());
++ 
++     public static Problem isSourceElement(Element el, CompilationInfo info) {
++-        if (el == null) {
++-            // XXX: shouldn't we create a problem ? How ?
++-            return null;
++-        }
++         Problem preCheckProblem;
++         Element typeElement;
++         if(el.getKind() != ElementKind.PACKAGE) {
++@@ -536,8 +532,6 @@ public final class JavaPluginUtils {
++             } else {
++                 List<Tree> typeDeclarations = new LinkedList<Tree>(newCompilation.getTypeDecls());
++                 Tree templateClazz = typeDeclarations.remove(0); // TODO: Check for class with correct name, template could start with another type.
++-                // mark the template CU as removed; any untransfered comments will be (?) lost.
++-                workingCopy.getTreeMaker().asRemoved(templateClazz);
++                 if (workingCopy.getTreeUtilities().getComments(typeDecl, true).isEmpty()) {
++                     genUtils.copyComments(templateClazz, typeDecl, true);
++                 } else if (workingCopy.getTreeUtilities().getComments(typeDecl, false).isEmpty()) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaWhereUsedQueryPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaWhereUsedQueryPlugin.java
++index 9265fadbb..22c8cb74d 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaWhereUsedQueryPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/JavaWhereUsedQueryPlugin.java
++@@ -137,6 +137,101 @@ public class JavaWhereUsedQueryPlugin extends JavaRefactoringPlugin implements F
++         return null;
++     }
++     
+++    private Set<FileObject> getRelevantFiles(final TreePathHandle tph) {
+++        Set<FileObject> fileSet;
+++        ClasspathInfo cp = getClasspathInfo(refactoring);
+++        fromLibrary = tph.getFileObject() == null || tph.getFileObject().getNameExt().endsWith("class"); // NOI18N
+++        if(isSearchFromBaseClass()) {
+++            TreePathHandle sourceHandle = refactoring.getContext().lookup(TreePathHandle.class);
+++            if (fromLibrary && sourceHandle != null) {
+++                cp = RefactoringUtils.getClasspathInfoFor(sourceHandle, tph);
+++            } else {
+++                cp = RefactoringUtils.getClasspathInfoFor(tph);
+++            }
+++        }
+++        
+++        Scope customScope = refactoring.getContext().lookup(Scope.class);
+++        ClasspathInfo cpath;
+++        if (customScope != null) {
+++            fileSet = new TreeSet<>(new FileComparator());
+++            fileSet.addAll(customScope.getFiles());
+++            FileObject fo = null;
+++            if(fromLibrary) {
+++                fo = RefactoringUtils.getFileObject(tph);
+++                if (fo == null) {
+++                    fo = tph.getFileObject();
+++                }
+++            }
+++            if (!customScope.getSourceRoots().isEmpty()) {
+++                if(isSearchFromBaseClass() && fo != null) {
+++                    HashSet<FileObject> fileobjects = new HashSet<>(customScope.getSourceRoots());
+++                    fileobjects.add(fo);
+++                    cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), fileobjects.toArray(new FileObject[0]));
+++                } else {
+++                    cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), customScope.getSourceRoots().toArray(new FileObject[0]));
+++                }
+++                Set<FileObject> relevantFiles = getRelevantFiles(tph,
+++                        cpath,
+++                        isFindSubclasses(),
+++                        isFindDirectSubclassesOnly(),
+++                        isFindOverridingMethods(),
+++                        isSearchOverloadedMethods(),
+++                        isFindUsages(),
+++                        customScope.isDependencies(),
+++                        isSearchInComments(),
+++                        null, cancelRequested);
+++                fileSet.addAll(relevantFiles);
+++            }
+++            Map<FileObject, Set<NonRecursiveFolder>> folders = new HashMap<>();
+++            
+++            for(NonRecursiveFolder nonRecursiveFolder : customScope.getFolders()) {
+++                FileObject folder = nonRecursiveFolder.getFolder();
+++                ClassPath classPath = ClassPath.getClassPath(folder, ClassPath.SOURCE);
+++                final FileObject sourceRoot = classPath.findOwnerRoot(folder);
+++                Set<NonRecursiveFolder> packages = folders.get(sourceRoot);
+++                if(packages == null) {
+++                    packages = new HashSet<>();
+++                    folders.put(sourceRoot, packages);
+++                }
+++                packages.add(nonRecursiveFolder);
+++            }
+++            
+++            for (FileObject sourceRoot : folders.keySet()) {
+++                Set<NonRecursiveFolder> packages = folders.get(sourceRoot);
+++                if (packages != null && !packages.isEmpty()) {
+++                    if(isSearchFromBaseClass() && fo != null) {
+++                        cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), sourceRoot, fo);
+++                    } else {
+++                        cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), sourceRoot);
+++                    }
+++                    Set<FileObject> relevantFiles = getRelevantFiles(tph,
+++                            cpath,
+++                            isFindSubclasses(),
+++                            isFindDirectSubclassesOnly(),
+++                            isFindOverridingMethods(),
+++                            isSearchOverloadedMethods(),
+++                            isFindUsages(), customScope.isDependencies(),
+++                            isSearchInComments(), packages, cancelRequested);
+++                    fileSet.addAll(relevantFiles);
+++                }
+++            }
+++            return fileSet;
+++        } else {
+++            fileSet = getRelevantFiles(
+++                    tph,
+++                    cp,
+++                    isFindSubclasses(),
+++                    isFindDirectSubclassesOnly(),
+++                    isFindOverridingMethods(),
+++                    isSearchOverloadedMethods(),
+++                    isFindUsages(),
+++                    false,
+++                    isSearchInComments(),
+++                    null,
+++                    cancelRequested);
+++        }
+++        return fileSet;
+++    }
++     
++     public static Set<FileObject> getRelevantFiles(
++             final TreePathHandle tph, final ClasspathInfo cpInfo,
++@@ -165,9 +260,7 @@ public class JavaWhereUsedQueryPlugin extends JavaRefactoringPlugin implements F
++                 info.toPhase(JavaSource.Phase.RESOLVED);
++                 final Element el = tph.resolveElement(info);
++                 if (el == null) {
++-                    sourceSet.clear();
++-                    LOG.log(Level.INFO, "#250160 #145291: Cannot resolve handle: %s\n%s", new Object[] {tph, info.getClasspathInfo()});
++-                    return;
+++                    throw new NullPointerException(String.format("#145291: Cannot resolve handle: %s\n%s", tph, info.getClasspathInfo())); // NOI18N
++                 }
++                 Set<SearchScopeType> searchScopeType = new HashSet<>(1);
++                 final Set<String> packageSet = new HashSet<>(packages.size());
++@@ -261,7 +354,7 @@ public class JavaWhereUsedQueryPlugin extends JavaRefactoringPlugin implements F
++                                 continue;
++                             }
++                             for (Element e : te.getEnclosedElements()) {
++-                                if (RefactoringUtils.isExecutableElement(e)) {
+++                                if (e.getKind() == ElementKind.METHOD || e.getKind() == ElementKind.CONSTRUCTOR) {
++                                     for (ExecutableElement executableElement : methods) {
++                                         if (info.getElements().overrides((ExecutableElement) e, executableElement, te)) {
++                                             sourceSet.addAll(idx.getResources(ElementHandle.create(te), EnumSet.of(ClassIndex.SearchKind.METHOD_REFERENCES), searchScopeType, resourceType));
++@@ -287,6 +380,9 @@ public class JavaWhereUsedQueryPlugin extends JavaRefactoringPlugin implements F
++         }
++         Set<FileObject> result = sourceSet;
++         // filter out files that are not on source path
+++        for (FileObject fileObject : result) {
+++            LOG.fine(fileObject.getNameExt());
+++        }
++         if(!isIncludeDependencies) {
++             Set<FileObject> filteredSources = new HashSet<>(sourceSet.size());
++             ClassPath cp = cpInfo.getClassPath(ClasspathInfo.PathKind.SOURCE);
++@@ -305,7 +401,11 @@ public class JavaWhereUsedQueryPlugin extends JavaRefactoringPlugin implements F
++         return result;
++     }
++     private static final Logger LOG = Logger.getLogger(JavaWhereUsedQueryPlugin.class.getName());
++-
+++    
+++    static {
+++        LOG.setLevel(Level.ALL);
+++    }
+++    
++     private static Collection<FileObject> getImplementorsRecursive(ClassIndex idx, ClasspathInfo cpInfo, TypeElement el, AtomicBoolean cancel) {
++         Set<?> implementorsAsHandles = RefactoringUtils.getImplementorsAsHandles(idx, cpInfo, el, cancel);
++ 
++@@ -334,105 +434,15 @@ public class JavaWhereUsedQueryPlugin extends JavaRefactoringPlugin implements F
++         fireProgressListenerStart(ProgressEvent.START, -1);
++         usedAccessFilters.clear();
++         usedFilters.clear();
++-        
++-        final FindTask findTask = new FindTask(elements);
+++        Set<FileObject> a = getRelevantFiles(refactoring.getRefactoringSource().lookup(TreePathHandle.class));
+++        fireProgressListenerStep(a.size());
++         Problem problem = null;
++-        
++-        ClasspathInfo cp = getClasspathInfo(refactoring);
++-        fromLibrary = refactoring.getRefactoringSource().lookup(TreePathHandle.class).getFileObject() == null || refactoring.getRefactoringSource().lookup(TreePathHandle.class).getFileObject().getNameExt().endsWith("class"); // NOI18N
++-        if (isSearchFromBaseClass()) {
++-            TreePathHandle sourceHandle = refactoring.getContext().lookup(TreePathHandle.class);
++-            if (fromLibrary && sourceHandle != null) {
++-                cp = RefactoringUtils.getClasspathInfoFor(sourceHandle, refactoring.getRefactoringSource().lookup(TreePathHandle.class));
++-            } else {
++-                cp = RefactoringUtils.getClasspathInfoFor(refactoring.getRefactoringSource().lookup(TreePathHandle.class));
++-            }
++-        }
++-        Scope customScope = refactoring.getContext().lookup(Scope.class);
++-        if (customScope != null) {
++-
++-            // ********* 1 *********
++-            if (!customScope.getFiles().isEmpty()) {
++-                Set<FileObject> a = new TreeSet<>(new FileComparator());
++-                a.addAll(customScope.getFiles());
++-                fireProgressListenerStep(a.size());
++-                try {
++-                    queryFiles(a, findTask,  RefactoringUtils.getClasspathInfoFor(a.toArray(new FileObject[a.size()])));
++-                } catch (IOException e) {
++-                    problem = JavaPluginUtils.chainProblems(problem, createProblemAndLog(null, e));
++-                }
++-            }
++-
++-            // ********* 2 *********            
++-            FileObject fo = null;
++-            if (fromLibrary) {
++-                fo = RefactoringUtils.getFileObject(refactoring.getRefactoringSource().lookup(TreePathHandle.class));
++-                if (fo == null) {
++-                    fo = refactoring.getRefactoringSource().lookup(TreePathHandle.class).getFileObject();
++-                }
++-            }
++-            if (!customScope.getSourceRoots().isEmpty()) {
++-                ClasspathInfo cpath;
++-                if(isSearchFromBaseClass() && fo != null) {
++-                    HashSet<FileObject> fileobjects = new HashSet<>(customScope.getSourceRoots());
++-                    fileobjects.add(fo);
++-                    cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), fileobjects.toArray(new FileObject[0]));
++-                } else {
++-                    cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), customScope.getSourceRoots().toArray(new FileObject[0]));
++-                }
++-                Set<FileObject> a = getRelevantFiles(refactoring.getRefactoringSource().lookup(TreePathHandle.class), cpath, isFindSubclasses(), isFindDirectSubclassesOnly(), isFindOverridingMethods(), isSearchOverloadedMethods(), isFindUsages(), customScope.isDependencies(), isSearchInComments(), null, cancelRequested);
++-                
++-                fireProgressListenerStep(a.size());
++-                try {
++-                    queryFiles(a, findTask, cpath);
++-                } catch (IOException e) {
++-                    problem = JavaPluginUtils.chainProblems(problem, createProblemAndLog(null, e));
++-                }
++-            }
++-            
++-
++-            // ********* 3n *********
++-            Map<FileObject, Set<NonRecursiveFolder>> folders = new HashMap<>();
++-            for(NonRecursiveFolder nonRecursiveFolder : customScope.getFolders()) {
++-                FileObject folder = nonRecursiveFolder.getFolder();
++-                ClassPath classPath = ClassPath.getClassPath(folder, ClassPath.SOURCE);
++-                final FileObject sourceRoot = classPath.findOwnerRoot(folder);
++-                Set<NonRecursiveFolder> packages = folders.get(sourceRoot);
++-                if(packages == null) {
++-                    packages = new HashSet<>();
++-                    folders.put(sourceRoot, packages);
++-                }
++-                packages.add(nonRecursiveFolder);
++-            }
++-            for (FileObject sourceRoot1 : folders.keySet()) {
++-                Set<NonRecursiveFolder> packages1 = folders.get(sourceRoot1);
++-                if (packages1 != null && !packages1.isEmpty()) {
++-                    ClasspathInfo cpath;
++-                    if (isSearchFromBaseClass() && fo != null) {
++-                        cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), sourceRoot1, fo);
++-                    } else {
++-                        cpath = RefactoringUtils.getClasspathInfoFor(customScope.isDependencies(), sourceRoot1);
++-                    }
++-                    Set<FileObject> a = getRelevantFiles(refactoring.getRefactoringSource().lookup(TreePathHandle.class), cpath, isFindSubclasses(), isFindDirectSubclassesOnly(), isFindOverridingMethods(), isSearchOverloadedMethods(), isFindUsages(), customScope.isDependencies(), isSearchInComments(), packages1, cancelRequested);
++-                 
++-                    fireProgressListenerStep(a.size());
++-                    try {
++-                        queryFiles(a, findTask, cpath);
++-                    } catch (IOException e) {
++-                        problem = JavaPluginUtils.chainProblems(problem, createProblemAndLog(null, e));
++-                    }
++-                }
++-            }
++-        } else {
++-            Set<FileObject> a = getRelevantFiles(refactoring.getRefactoringSource().lookup(TreePathHandle.class), cp, isFindSubclasses(), isFindDirectSubclassesOnly(), isFindOverridingMethods(), isSearchOverloadedMethods(), isFindUsages(), false, isSearchInComments(), null, cancelRequested);
++-            fireProgressListenerStep(a.size());
++-            try {
++-                queryFiles(a, findTask, cp);
++-            } catch (IOException e) {
++-                problem = JavaPluginUtils.chainProblems(problem, createProblemAndLog(null, e));
++-            }
+++        try {
+++            final FindTask findTask = new FindTask(elements);
+++            queryFiles(a, findTask, getClasspathInfo(refactoring));
+++        } catch (IOException e) {
+++            problem = createProblemAndLog(null, e);
++         }
++-        
++         fireProgressListenerStop();
++         return problem;
++     }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveClassTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveClassTransformer.java
++index a4901b5c2..d5bac4665 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveClassTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveClassTransformer.java
++@@ -436,7 +436,7 @@ public class MoveClassTransformer extends RefactoringVisitor {
++     }
++ 
++     private boolean isTopLevelClass(Element el) {
++-        return el != null && (el.getKind().isClass()
+++        return (el.getKind().isClass()
++                 || el.getKind().isInterface())
++                 && el.getEnclosingElement().getKind() == ElementKind.PACKAGE;
++     }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveFileRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveFileRefactoringPlugin.java
++index cc862c361..c5d1ae72f 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveFileRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveFileRefactoringPlugin.java
++@@ -176,7 +176,6 @@ public class MoveFileRefactoringPlugin extends JavaRefactoringPlugin {
++     }
++ 
++     @Override
++-    @NbBundle.Messages("ERR_ClasspathNotFound=No classpath defined for {0}.")
++     public Problem fastCheckParameters() {
++         if (isRenameRefactoring) {
++             //folder rename
++@@ -203,14 +202,12 @@ public class MoveFileRefactoringPlugin extends JavaRefactoringPlugin {
++             try {
++                 final URL targetUrl = ((MoveRefactoring)refactoring).getTarget().lookup(URL.class);
++                 if(targetUrl != null) {
++-                    FileObject rootFO = null;
++-                    try {
++-                        rootFO = RefactoringUtils.getRootFileObject(targetUrl);
++-                    } catch (IllegalArgumentException | IOException ex) {
++-                        // target is invalid
++-                    }
+++                    FileObject rootFO = RefactoringUtils.getRootFileObject(targetUrl);
++                     if(rootFO == null || ClassPath.getClassPath(rootFO, ClassPath.SOURCE) == null) {
++-                        return new Problem(true, ERR_ClasspathNotFound(rootFO));
+++                        return new Problem(true, NbBundle.getMessage(
+++                        MoveFileRefactoringPlugin.class,
+++                        "ERR_ClasspathNotFound",
+++                        rootFO));
++                     }
++                     for (FileObject f: filesToMove) {
++                         if (!RefactoringUtils.isJavaFile(f)) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersTransformer.java
++index 77e545b5e..0232a5ae5 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersTransformer.java
++@@ -188,7 +188,7 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++             ExpressionTree expression = node.getExpression();
++             TreePath enclosingClassPath = JavaRefactoringUtils.findEnclosingClass(workingCopy, currentPath, true, true, true, true, true);
++             Element enclosingElement = workingCopy.getTrees().getElement(enclosingClassPath);
++-            if (target.equals(enclosingElement)) {
+++            if (enclosingElement.equals(target)) {
++                 IdentifierTree newIdt = make.Identifier(node.getIdentifier());
++                 rewrite(node, newIdt);
++             } else {
++@@ -199,7 +199,7 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++             TreePath enclosingClassPath = JavaRefactoringUtils.findEnclosingClass(workingCopy, currentPath, true, true, true, true, false);
++             Scope scope = workingCopy.getTrees().getScope(currentPath);
++             Element enclosingElement = workingCopy.getTrees().getElement(enclosingClassPath);
++-            if (target.equals(enclosingElement)
+++            if (enclosingElement.equals(target)
++                     && node.getKind() == Tree.Kind.MEMBER_SELECT
++                     && !scope.getEnclosingMethod().getModifiers().contains(Modifier.STATIC)) {
++                 IdentifierTree newIdt = make.Identifier(((MemberSelectTree) node).getIdentifier());
++@@ -237,7 +237,7 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++             IdentifierTree it = (IdentifierTree) node;
++             TreePath enclosingClassPath = JavaRefactoringUtils.findEnclosingClass(workingCopy, currentPath, true, true, true, true, true);
++             Element enclosingElement = workingCopy.getTrees().getElement(enclosingClassPath);
++-            if (enclosingElement == null || !enclosingElement.equals(target)) {
+++            if (!enclosingElement.equals(target)) {
++                 ExpressionTree qualIdent = make.QualIdent(target);
++                 MemberSelectTree memberSelect = make.MemberSelect(qualIdent, it.getName().toString());
++                 rewrite(it, memberSelect);
++@@ -304,13 +304,13 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++ 
++         if (el.getModifiers().contains(Modifier.STATIC)) {
++             if (node.getMethodSelect().getKind() == Tree.Kind.MEMBER_SELECT) {
++-                if (enclosingElement != null && enclosingElement.equals(target)) {
+++                if (enclosingElement.equals(target)) {
++                     newMethodSelect = make.Identifier(((MemberSelectTree) node.getMethodSelect()).getIdentifier());
++                 } else {
++                     newMethodSelect = make.MemberSelect(make.QualIdent(target), ((MemberSelectTree) node.getMethodSelect()).getIdentifier().toString());
++                 }
++             } else { // if (methodSelect.getKind() == Tree.Kind.IDENTIFIER) {
++-                if (enclosingElement == null || !enclosingElement.equals(target)) {
+++                if (!enclosingElement.equals(target)) {
++                     newMethodSelect = make.MemberSelect(make.QualIdent(target), el);
++                 } else {
++                     newMethodSelect = node.getMethodSelect();
++@@ -471,13 +471,11 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++                 ExpressionTree methodSelect = node.getMethodSelect();
++                 if(methodSelect.getKind() == Tree.Kind.MEMBER_SELECT) {
++                     VariableElement element = (VariableElement) workingCopy.getTrees().getElement(new TreePath(currentPath, ((MemberSelectTree)methodSelect).getExpression()));
++-                    if (element != null) {
++-                        TypeMirror asType = element.asType();
++-                        if(asType.getKind() == TypeKind.DECLARED) {
++-                            List<? extends TypeMirror> typeArguments1 = ((DeclaredType)asType).getTypeArguments();
++-                            for (TypeMirror typeMirror : typeArguments1) {
++-                                typeArguments.add((ExpressionTree)make.Type(typeMirror));
++-                            }
+++                    TypeMirror asType = element.asType();
+++                    if(asType.getKind() == TypeKind.DECLARED) {
+++                        List<? extends TypeMirror> typeArguments1 = ((DeclaredType)asType).getTypeArguments();
+++                        for (TypeMirror typeMirror : typeArguments1) {
+++                            typeArguments.add((ExpressionTree)make.Type(typeMirror));
++                         }
++                     }
++                 } else {
++@@ -532,16 +530,9 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++             for (TreePathHandle tph : allElements) {
++ 
++                 final TreePath resolvedPath = tph.resolve(workingCopy);
++-                if (resolvedPath == null) {
++-                    // XXX - should report a problem ?
++-                    continue;
++-                }
++                 Tree member = resolvedPath.getLeaf();
++                 Tree newMember = null;
++                 Element resolvedElement = workingCopy.getTrees().getElement(resolvedPath);
++-                if (resolvedElement == null) {
++-                    continue;
++-                }
++                 final GeneratorUtilities genUtils = GeneratorUtilities.get(workingCopy);
++                 genUtils.importComments(member, resolvedPath.getCompilationUnit());
++                 // Make a new Method tree
++@@ -578,11 +569,7 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++                         public Void visitIdentifier(IdentifierTree node, Void p) {
++                             TreePath treePath = trees.getPath(bodyPath.getCompilationUnit(), node);
++                             if(!workingCopy.getTreeUtilities().isSynthetic(treePath)) {
++-                                // FIXME: path may skip some intermediate types which bring the identifier.
++-                                Element el = trees.getElement(treePath);
++-                                if (el != null) {
++-                                    fqns.put(node, make.Identifier(el));
++-                                }
+++                                fqns.put(node, make.Identifier(trees.getElement(treePath)));
++                             }
++                             return super.visitIdentifier(node, p);
++                         }
++@@ -683,10 +670,8 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++                         };
++                         TreePath path = new TreePath(resolvedPath, removedParameter);
++                         Element element = trees.getElement(path);
++-                        if (element != null) {
++-                            final Pair<Element, ExpressionTree> pair = Pair.of(element, workingCopy.getTreeUtilities().parseExpression("this", new SourcePositions[1])); // NOI18N
++-                            idScan2.scan(body, pair);
++-                        }
+++                        final Pair<Element, ExpressionTree> pair = Pair.of(element, workingCopy.getTreeUtilities().parseExpression("this", new SourcePositions[1])); // NOI18N
+++                        idScan2.scan(body, pair);
++                     }
++ 
++                     body = (BlockTree) workingCopy.getTreeUtilities().translate(body, original2Translated);
++@@ -780,19 +765,12 @@ public class MoveMembersTransformer extends RefactoringVisitor {
++             ClassTree newClassTree = classTree;
++             for (TreePathHandle tph : allElements) {
++                 TreePath resolvedPath = tph.resolve(workingCopy);
++-                if (resolvedPath == null) {
++-                    // XXX: report missing target ?
++-                    continue;
++-                }
++                 Tree member = resolvedPath.getLeaf();
++                 if (delegate && member.getKind() == Tree.Kind.METHOD) {
++                     MethodTree methodTree = (MethodTree) member;
++                     int index = newClassTree.getMembers().indexOf(methodTree);
++                     newClassTree = make.removeClassMember(newClassTree, methodTree);
++                     ExecutableElement element = (ExecutableElement) workingCopy.getTrees().getElement(resolvedPath);
++-                    if (element == null) {
++-                        continue;
++-                    }
++                     List<ExpressionTree> paramList = new ArrayList<ExpressionTree>();
++ 
++                     for (VariableElement variableElement : element.getParameters()) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java
++index 4e6a4ff48..a8f4330e7 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java
++@@ -442,7 +442,7 @@ public class MoveTransformer extends RefactoringVisitor {
++                 MemberSelectTree memberSelect = (MemberSelectTree) qualifiedIdentifier;
++                 if(memberSelect.getIdentifier().contentEquals("*")) {
++                     Element packageElement = workingCopy.getTrees().getElement(new TreePath(getCurrentPath(), memberSelect.getExpression()));
++-                    if(packageElement != null && packageElement.getKind() == ElementKind.PACKAGE) {
+++                    if(packageElement.getKind() == ElementKind.PACKAGE) {
++                         PackageElement pakketje = (PackageElement) packageElement;
++                         if(isThisPackageMoving(pakketje)) {
++                             importToRemove.add(node);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/OperatorPrecedence.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/OperatorPrecedence.java
++index 47a979fcd..a90300c2d 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/OperatorPrecedence.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/OperatorPrecedence.java
++@@ -191,7 +191,7 @@ public class OperatorPrecedence {
++             ExpressionTree rightOperand = ((BinaryTree) parent).getRightOperand();
++             Element rightElement = trees.getElement(trees.getPath(cut, rightOperand));
++             
++-            if(elementToFind != null && elementToFind.equals(rightElement)) {
+++            if(elementToFind.equals(rightElement)) {
++                 return true;
++             }
++         }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PullUpTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PullUpTransformer.java
++index 2763251e4..b5521f84e 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PullUpTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PullUpTransformer.java
++@@ -151,7 +151,7 @@ public class PullUpTransformer extends RefactoringVisitor {
++             if (members[i].getGroup() == MemberInfo.Group.IMPLEMENTS) {
++                 for (Tree t : njuClass.getImplementsClause()) {
++                     Element currentInterface = workingCopy.getTrees().getElement(TreePath.getPath(getCurrentPath(), t));
++-                    if (currentInterface != null && currentInterface.equals(members[i].getElementHandle().resolve(workingCopy))) {
+++                    if (currentInterface.equals(members[i].getElementHandle().resolve(workingCopy))) {
++                         njuClass = make.removeClassImplementsClause(njuClass, t);
++                         rewrite(tree, njuClass);
++                     }
++@@ -391,7 +391,7 @@ public class PullUpTransformer extends RefactoringVisitor {
++                 if (isThis.equals("super") || isThis.endsWith(".super")) { //NOI18N
++                     TreePath currentPath = new TreePath(mpath, node);
++                     Element el = trees.getElement(currentPath);
++-                    if (el != null && el.getEnclosingElement().equals(targetType)) {
+++                    if (el.getEnclosingElement().equals(targetType)) {
++                         original2Translated.put(node, make.Identifier(node.getIdentifier()));
++                         return Boolean.TRUE;
++                     }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownTransformer.java
++index 2f6edae2e..cb51e3c12 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownTransformer.java
++@@ -131,13 +131,9 @@ public class PushDownTransformer extends RefactoringVisitor {
++     public Tree visitMemberSelect(MemberSelectTree node, Element source) {
++         // Check if from visitClass and return changed tree, otherwise rewrite
++         final Element el = workingCopy.getTrees().getElement(getCurrentPath());
++-        if (el == null) {
++-            // fail fast
++-            return super.visitMemberSelect(node, source);
++-        }
++         for (int i = 0; i<members.length; i++) {
++             Element member = members[i].getElementHandle().resolve(workingCopy);
++-            if (el.equals(member)) {
+++            if (el != null && el.equals(member)) {
++                 String isSuper = node.getExpression().toString();
++                 if (isSuper.equals("super") || isSuper.endsWith(".super")) { //NOI18N
++                     
++@@ -341,9 +337,6 @@ public class PushDownTransformer extends RefactoringVisitor {
++         // Remove implements
++         for (Tree t: tree.getImplementsClause()) {
++             Element currentInterface = workingCopy.getTrees().getElement(TreePath.getPath(getCurrentPath(), t));
++-            if (currentInterface == null) {
++-                continue;
++-            }
++             for (int i=0; i<members.length; i++) {
++                 if (members[i].getGroup()==MemberInfo.Group.IMPLEMENTS && currentInterface.equals(members[i].getElementHandle().resolve(workingCopy))) {
++                     njuClass = make.removeClassImplementsClause(njuClass, t);
++@@ -352,9 +345,9 @@ public class PushDownTransformer extends RefactoringVisitor {
++         }
++         
++         for (Tree t: njuClass.getMembers()) {
++-            Element current = workingCopy.getTrees().getElement(new TreePath(getCurrentPath(), t));
++             for (int i=0; i<members.length; i++) {
++-                if (members[i].getGroup()!=MemberInfo.Group.IMPLEMENTS && current.equals(members[i].getElementHandle().resolve(workingCopy))) {
+++                Element current = workingCopy.getTrees().getElement(new TreePath(getCurrentPath(), t));
+++                if (members[i].getGroup()!=MemberInfo.Group.IMPLEMENTS && current!=null && current.equals(members[i].getElementHandle().resolve(workingCopy))) {
++                     if (members[i].isMakeAbstract()) {
++                         if (el.getKind().isClass()) {
++                             
++@@ -417,7 +410,7 @@ public class PushDownTransformer extends RefactoringVisitor {
++ 
++             private void check() throws IllegalArgumentException {
++                 Element thisElement = workingCopy.getTrees().getElement(getCurrentPath());
++-                if (thisElement != null && thisElement.getKind()!=ElementKind.PACKAGE && workingCopy.getElementUtilities().enclosingTypeElement(thisElement) == el.getEnclosingElement()) {
+++                if (thisElement.getKind()!=ElementKind.PACKAGE && workingCopy.getElementUtilities().enclosingTypeElement(thisElement) == el.getEnclosingElement()) {
++                     Tree tree = workingCopy.getTrees().getTree(thisElement);
++                     if (thisElement.getKind().isField() && tree!=null) {
++                         makeProtectedIfPrivate(((VariableTree) tree).getModifiers());
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenamePropertyRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenamePropertyRefactoringPlugin.java
++index 0dfbddb53..e940c2aee 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenamePropertyRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenamePropertyRefactoringPlugin.java
++@@ -44,7 +44,6 @@ package org.netbeans.modules.refactoring.java.plugins;
++ import com.sun.source.util.TreePath;
++ import java.io.IOException;
++ import javax.lang.model.element.Element;
++-import javax.lang.model.element.ElementKind;
++ import javax.lang.model.element.ExecutableElement;
++ import javax.lang.model.element.Modifier;
++ import javax.lang.model.element.Name;
++@@ -54,7 +53,6 @@ import javax.lang.model.util.ElementFilter;
++ import org.netbeans.api.java.source.CodeStyle;
++ import org.netbeans.api.java.source.CodeStyleUtils;
++ import org.netbeans.api.java.source.CompilationController;
++-import org.netbeans.api.java.source.CompilationInfo;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.Task;
++ import org.netbeans.api.java.source.TreePathHandle;
++@@ -125,73 +123,44 @@ public class RenamePropertyRefactoringPlugin extends JavaRefactoringPlugin {
++     }
++ 
++     @Override
++-    protected Problem fastCheckParameters(CompilationController info) throws IOException {
+++    public Problem fastCheckParameters() {
++         if (!isRenameProperty()) {
++             return null;
++         }
++         initDelegates();
++-        
++-        info.toPhase(JavaSource.Phase.RESOLVED);
++-        Element el = property.resolveElement(info);
++-        if (el == null || el.getKind() != ElementKind.FIELD) {
++-            return null;
++-        }
++-        String oldName = el.getSimpleName().toString();
++-        String bareName = RefactoringUtils.removeFieldPrefixSuffix(el, codeStyle);
++ 
++-        boolean isStatic = el.getModifiers().contains(Modifier.STATIC);
++-        String bareNewName = CodeStyleUtils.removePrefixSuffix(refactoring.getNewName(),
++-                isStatic ? codeStyle.getStaticFieldNamePrefix() : codeStyle.getFieldNamePrefix(),
++-                isStatic ? codeStyle.getStaticFieldNameSuffix() : codeStyle.getFieldNameSuffix());
++-        
++-        if (bareName.equals(bareNewName)) {
++-            return null;
++-        }
++-        
++         Problem p = null;
++-        JavaRenameProperties renameProps = refactoring.getContext().lookup(JavaRenameProperties.class);
++-        boolean saveNoChange = false;
++-        if (renameProps != null) {
++-            saveNoChange = renameProps.isNoChangeOK();
++-            renameProps.setNoChangeOK(true);
++-        }
++-        try {
++-            if (getterDelegate != null) {
++-                String gettername = CodeStyleUtils.computeGetterName(
++-                                        refactoring.getNewName(), isBoolean, isStatic, codeStyle);
++-                getterDelegate.setNewName(gettername);
++-                p = JavaPluginUtils.chainProblems(p, getterDelegate.fastCheckParameters());
++-                if (p != null && p.isFatal()) {
++-                    return p;
++-                }
++-            }
++-            if (setterDelegate != null) {
++-                String settername = CodeStyleUtils.computeSetterName(
++-                                        refactoring.getNewName(), isStatic, codeStyle);
++-                setterDelegate.setNewName(settername);
++-                p = JavaPluginUtils.chainProblems(p, setterDelegate.fastCheckParameters());
++-                if (p != null && p.isFatal()) {
++-                    return p;
++-                }
+++        if (getterDelegate != null) {
+++            String gettername = CodeStyleUtils.computeGetterName(
+++                                    refactoring.getNewName(), isBoolean, isStatic, codeStyle);
+++            getterDelegate.setNewName(gettername);
+++            p = JavaPluginUtils.chainProblems(p, getterDelegate.fastCheckParameters());
+++            if (p != null && p.isFatal()) {
+++                return p;
++             }
++-            if (parameterDelegate != null) {
++-                String newParam = RefactoringUtils.addParamPrefixSuffix(
++-                                CodeStyleUtils.removePrefixSuffix(
++-                                refactoring.getNewName(),
++-                                isStatic ? codeStyle.getStaticFieldNamePrefix() : codeStyle.getFieldNamePrefix(),
++-                                isStatic ? codeStyle.getStaticFieldNameSuffix() : codeStyle.getFieldNameSuffix()), codeStyle);
++-                parameterDelegate.setNewName(newParam);
++-                p = JavaPluginUtils.chainProblems(p, parameterDelegate.fastCheckParameters());
++-                if (p != null && p.isFatal()) {
++-                    return p;
++-                }
+++        }
+++        if (setterDelegate != null) {
+++            String settername = CodeStyleUtils.computeSetterName(
+++                                    refactoring.getNewName(), isStatic, codeStyle);
+++            setterDelegate.setNewName(settername);
+++            p = JavaPluginUtils.chainProblems(p, setterDelegate.fastCheckParameters());
+++            if (p != null && p.isFatal()) {
+++                return p;
++             }
++-        } finally {
++-            if (renameProps != null) {
++-                renameProps.setNoChangeOK(saveNoChange);
+++        }
+++        if (parameterDelegate != null) {
+++            String newParam = RefactoringUtils.addParamPrefixSuffix(
+++                            CodeStyleUtils.removePrefixSuffix(
+++                            refactoring.getNewName(),
+++                            isStatic ? codeStyle.getStaticFieldNamePrefix() : codeStyle.getFieldNamePrefix(),
+++                            isStatic ? codeStyle.getStaticFieldNameSuffix() : codeStyle.getFieldNameSuffix()), codeStyle);
+++            parameterDelegate.setNewName(newParam);
+++            p = JavaPluginUtils.chainProblems(p, parameterDelegate.fastCheckParameters());
+++            if (p != null && p.isFatal()) {
+++                return p;
++             }
++         }
++-        return p = JavaPluginUtils.chainProblems(p, super.fastCheckParameters(info));
+++        return p = JavaPluginUtils.chainProblems(p, super.fastCheckParameters());
++     }
++ 
++     @Override
++@@ -276,8 +245,6 @@ public class RenamePropertyRefactoringPlugin extends JavaRefactoringPlugin {
++ 
++                 @Override
++                 public void run(CompilationController p) throws Exception {
++-                    JavaRenameProperties renameProps = refactoring.getContext().lookup(JavaRenameProperties.class);
++-                    
++                     p.toPhase(JavaSource.Phase.RESOLVED);
++                     codeStyle = RefactoringUtils.getCodeStyle(p);
++                     Element propertyElement = property.resolveElement(p);
++@@ -296,14 +263,12 @@ public class RenamePropertyRefactoringPlugin extends JavaRefactoringPlugin {
++                             continue;
++                         } else if (RefactoringUtils.isGetter(p, el, propertyElement)) {
++                             getterDelegate = new RenameRefactoring(Lookups.singleton(TreePathHandle.create(el, p)));
++-                            getterDelegate.getContext().add(renameProps);
++                             String gettername = CodeStyleUtils.computeGetterName(
++                                     refactoring.getNewName(), isBoolean, isStatic, codeStyle);
++                             getterDelegate.setNewName(gettername);
++                             getterDelegate.setSearchInComments(refactoring.isSearchInComments());
++                         } else if (RefactoringUtils.isSetter(p, el, propertyElement)) {
++                             setterDelegate = new RenameRefactoring(Lookups.singleton(TreePathHandle.create(el, p)));
++-                            setterDelegate.getContext().add(renameProps);
++                             String settername = CodeStyleUtils.computeSetterName(
++                                     refactoring.getNewName(), isStatic, codeStyle);
++                             setterDelegate.setNewName(settername);
++@@ -314,7 +279,6 @@ public class RenamePropertyRefactoringPlugin extends JavaRefactoringPlugin {
++                                 parameterDelegate.getContext().add(RenamePropertyRefactoringPlugin.this);
++                                 parameterDelegate.setNewName(newParam);
++                                 parameterDelegate.setSearchInComments(refactoring.isSearchInComments());
++-                                parameterDelegate.getContext().add(renameProps);
++                             }
++                         }
++                     }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameRefactoringPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameRefactoringPlugin.java
++index bd922d6d0..95d263e59 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameRefactoringPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameRefactoringPlugin.java
++@@ -64,7 +64,6 @@ import org.netbeans.modules.refactoring.api.RenameRefactoring;
++ import org.netbeans.modules.refactoring.java.RefactoringUtils;
++ import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
++ import org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin;
++-import org.netbeans.modules.refactoring.java.ui.JavaRenameProperties;
++ import org.netbeans.modules.refactoring.spi.RefactoringElementsBag;
++ import org.openide.filesystems.FileObject;
++ import org.openide.util.NbBundle;
++@@ -293,11 +292,8 @@ public class RenameRefactoringPlugin extends JavaRefactoringPlugin {
++                     }
++                 }
++                 if (nameNotChanged) {
++-                    JavaRenameProperties renameProps = refactoring.getContext().lookup(JavaRenameProperties.class);
++-                    if (renameProps == null || !renameProps.isNoChangeOK()) {
++-                        fastCheckProblem = createProblem(fastCheckProblem, true, getString("ERR_NameNotChanged"));
++-                        return fastCheckProblem;
++-                    }
+++                    fastCheckProblem = createProblem(fastCheckProblem, true, getString("ERR_NameNotChanged"));
+++                    return fastCheckProblem;
++                 }
++ 
++             }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameTransformer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameTransformer.java
++index 7c4b9cae5..c2b2114ac 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameTransformer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameTransformer.java
++@@ -238,7 +238,7 @@ public class RenameTransformer extends RefactoringVisitor {
++                     return;
++                 }
++                 final Name id = ((MemberSelectTree) idTree).getIdentifier();
++-                if (id == null || id.contentEquals("*") || !id.contentEquals(elementToFind.getSimpleName())) { // NOI18N
+++                if (id == null || id.contentEquals("*")) { // NOI18N
++                     // skip import static java.lang.Math.*
++                     return;
++                 }
++@@ -393,10 +393,7 @@ public class RenameTransformer extends RefactoringVisitor {
++         }
++         TreePath elementPath = path;
++         Element el = workingCopy.getTrees().getElement(elementPath);
++-        if (el == null) {
++-            // fail fast
++-            return;
++-        }
+++        
++         for (Element shadow : shadowed) {
++             if (shadow.equals(el)) {
++                 if (elementToFind.getModifiers().contains(Modifier.STATIC)) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithBuilderPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithBuilderPlugin.java
++index 589157f48..67f6489c9 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithBuilderPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithBuilderPlugin.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++@@ -95,7 +92,7 @@ public class ReplaceConstructorWithBuilderPlugin extends JavaRefactoringPlugin {
++     @Override
++     protected Problem preCheck(CompilationController javac) throws IOException {
++         Element constr = treePathHandle.resolveElement(javac);
++-        if(constr == null || constr.getKind() != ElementKind.CONSTRUCTOR) {
+++        if(constr.getKind() != ElementKind.CONSTRUCTOR) {
++             return new Problem(true, ERR_ReplaceWrongType());
++         }
++         if(constr.getModifiers().contains(Modifier.PRIVATE)) {
++@@ -116,9 +113,6 @@ public class ReplaceConstructorWithBuilderPlugin extends JavaRefactoringPlugin {
++         Problem problem = null;
++         javac.toPhase(JavaSource.Phase.RESOLVED);
++         TreePath constrPath = treePathHandle.resolve(javac);
++-        if (constrPath == null || constrPath.getLeaf().getKind() != Tree.Kind.METHOD) {
++-            return new Problem(true, ERR_ReplaceWrongType());
++-        }
++         TypeElement type = (TypeElement) javac.getTrees().getElement(constrPath.getParentPath());
++         for (Setter setter : refactoring.getSetters()) {
++             if(setter.isOptional()) {
++@@ -170,13 +164,7 @@ public class ReplaceConstructorWithBuilderPlugin extends JavaRefactoringPlugin {
++                 public void run(WorkingCopy workingCopy) throws Exception {
++                     workingCopy.toPhase(JavaSource.Phase.RESOLVED);
++                     TreePath constrPath = constr.resolve(workingCopy);
++-                    if (constrPath == null) {
++-                        return;
++-                    }
++                     ExecutableElement element = (ExecutableElement) workingCopy.getTrees().getElement(constrPath);
++-                    if (element == null || element.getKind() != ElementKind.CONSTRUCTOR) {
++-                        return;
++-                    }
++                     MethodTree constructor = (MethodTree) constrPath.getLeaf();
++                     TypeElement parent = (TypeElement) workingCopy.getTrees().getElement(constrPath.getParentPath());
++                     parentSimpleName[0] = parent.getSimpleName().toString();
++@@ -334,9 +322,7 @@ public class ReplaceConstructorWithBuilderPlugin extends JavaRefactoringPlugin {
++                     ruleCode[0] = rule.toString();
++                 }
++             });
++-            if (ruleCode[0] == null) {
++-                return new Problem(true, ERR_ReplaceWrongType());
++-            }
+++
++             List<ModificationResult> results = new ArrayList<ModificationResult>();
++ 
++             results.add(mod);
++@@ -348,7 +334,7 @@ public class ReplaceConstructorWithBuilderPlugin extends JavaRefactoringPlugin {
++                     final TreeMaker make = copy.getTreeMaker();
++                     Element element = copy.getTrees().getElement(occurrence.getOccurrenceRoot());
++                     ExecutableElement constrElement = (ExecutableElement) constr.resolveElement(copy);
++-                    if(constrElement == null || !constrElement.equals(element)) {
+++                    if(!constrElement.equals(element)) {
++                         return;
++                     }
++                     Collection<? extends TreePath> modifiers = occurrence.getMultiVariables().get("$modifiers$");
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithFactoryPlugin.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithFactoryPlugin.java
++index 0eafefe1a..3c4dacb6a 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithFactoryPlugin.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/ReplaceConstructorWithFactoryPlugin.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++@@ -107,11 +104,9 @@ public class ReplaceConstructorWithFactoryPlugin extends JavaRefactoringPlugin {
++         String factoryName = refactoring.getFactoryName();
++         
++         if (factoryName == null || factoryName.length() == 0) {
++-            // FIXME: I18N
++             return new Problem(true, "No factory method name specified.");
++         }
++         if (!SourceVersion.isIdentifier(factoryName)) {
++-            // FIXME: I18N
++             return new Problem(true, factoryName + " is not an identifier.");
++         }
++         return null;
++@@ -134,9 +129,6 @@ public class ReplaceConstructorWithFactoryPlugin extends JavaRefactoringPlugin {
++                 public void run(WorkingCopy parameter) throws Exception {
++                     parameter.toPhase(JavaSource.Phase.RESOLVED);
++                     TreePath constrPath = constr.resolve(parameter);
++-                    if (constrPath == null || constrPath.getLeaf().getKind() != Tree.Kind.METHOD) {
++-                        return;
++-                    }
++                     MethodTree constructor = (MethodTree) constrPath.getLeaf();
++                     TypeElement parent = (TypeElement) parameter.getTrees().getElement(constrPath.getParentPath());
++                     TreeMaker make = parameter.getTreeMaker();
++@@ -193,9 +185,7 @@ public class ReplaceConstructorWithFactoryPlugin extends JavaRefactoringPlugin {
++                     toCode[0]+=";;";
++                 }
++             });
++-            if (ruleCode[0] == null) {
++-                return new Problem(true, ERR_ReplaceWrongType());
++-            }
+++
++             List<ModificationResult> results = new ArrayList<ModificationResult>();
++ 
++             results.add(mod);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/VarUsageVisitor.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/VarUsageVisitor.java
++index 025eb550a..afebc2b24 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/VarUsageVisitor.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/VarUsageVisitor.java
++@@ -194,15 +194,14 @@ class VarUsageVisitor extends RefactoringVisitor {
++         List<? extends VariableTree> parameters = node.getParameters();
++         for (VariableTree variableTree : parameters) {
++             Element var = workingCopy.getTrees().getElement(new TreePath(getCurrentPath(), variableTree));
++-            ExecutableElement element = (ExecutableElement) workingCopy.getTrees().getElement(getCurrentPath());
++-            if(p.equals(var) && element != null) {
++-                // if var is != null then the enclosing method and class must exist as well.
+++            if(p.equals(var)) {
++                 TypeElement classElement = (TypeElement) workingCopy.getTrees().getElement(JavaRefactoringUtils.findEnclosingClass(workingCopy, getCurrentPath(), true, true, true, true, false));
++                 List<ExecutableElement> methods = ElementFilter.methodsIn(workingCopy.getElements().getAllMembers(classElement));
++                 String methodName = node.getName().toString();
++                 for (ExecutableElement method : methods) {
++                         if(methodName.equals(method.getSimpleName().toString())
++                         && node.getParameters().size() == method.getParameters().size()) {
+++                    ExecutableElement element = (ExecutableElement) workingCopy.getTrees().getElement(getCurrentPath());
++                     boolean sameParameters = true;
++                     for (int j = 0; j < node.getParameters().size(); j++) {
++                         TypeMirror exType = ((VariableElement)method.getParameters().get(j)).asType();
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/resources/mf-layer.xml b/refactoring.java/src/org/netbeans/modules/refactoring/java/resources/mf-layer.xml
++index d5efe44e5..8fa23c209 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/resources/mf-layer.xml
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/resources/mf-layer.xml
++@@ -21,7 +21,7 @@ License.  When distributing the software, include this License Header
++ Notice in each file and include the License file at
++ nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
++ particular file as subject to the "Classpath" exception as provided
++-by Oracle in the GPL Version 2 section of the License file that
+++by Sun in the GPL Version 2 section of the License file that
++ accompanied this code. If applicable, add the following below the
++ License Header, with the fields enclosed by brackets [] replaced by
++ your own identifying information:
++@@ -56,7 +56,7 @@ made subject to such option by the copyright holder.
++             </folder>
++         </folder>
++         -->
++-    </folder>
+++    </folder>   
++     <folder name="Editors">
++         <folder name="text">
++             <folder name="x-java">
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.form b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.form
++index 42e215cbc..ecdf595b4 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.form
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.form
++@@ -51,12 +51,13 @@
++                           <Component id="chkUpdateJavadoc" min="-2" max="-2" attributes="0"/>
++                           <Component id="chkGenJavadoc" min="-2" max="-2" attributes="0"/>
++                           <Component id="lblCodeGeneration" alignment="0" min="-2" max="-2" attributes="0"/>
++-                          <Group type="102" attributes="0">
+++                          <Group type="102" alignment="0" attributes="0">
++                               <EmptySpace max="-2" attributes="0"/>
++-                              <Group type="103" groupAlignment="0" attributes="0">
++-                                  <Component id="rbUpdateMethod" alignment="0" min="-2" max="-2" attributes="0"/>
++-                                  <Component id="rbOverloadMethod" alignment="0" min="-2" max="-2" attributes="0"/>
++-                              </Group>
+++                              <Component id="rbUpdateMethod" min="-2" max="-2" attributes="0"/>
+++                          </Group>
+++                          <Group type="102" alignment="0" attributes="0">
+++                              <EmptySpace max="-2" attributes="0"/>
+++                              <Component id="rbOverloadMethod" min="-2" max="-2" attributes="0"/>
++                           </Group>
++                       </Group>
++                       <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.java
++index b2b4f437f..ba06eed5d 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersPanel.java
++@@ -105,16 +105,11 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++     private static Action editAction = null;
++     private Action returnTypeAction;
++     
++-    @NbBundle.Messages({
++-        "LBL_ModifierNoChange=<do not change>",
++-        "LBL_ModifierDefault=<default>"
++-    })
++     private static final String[] modifierNames = {
++         "public", // NOI18N
++         "protected", // NOI18N
++-        Bundle.LBL_ModifierDefault(),
++-        "private", // NOI18N
++-        Bundle.LBL_ModifierNoChange(),
+++        "<default>", // NOI18N
+++        "private" // NOI18N
++     };
++     private ParameterInfo[] preConfiguration;
++     private final ReturnTypeDocListener returnTypeDocListener;
++@@ -143,7 +138,6 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++     private static final int MOD_PROTECTED_INDEX = 1;
++     private static final int MOD_DEFAULT_INDEX = 2;
++     private static final int MOD_PRIVATE_INDEX = 3;
++-    private static final int MOD_NOCHANGE_INDEX = 4;
++ 
++     private static final String ACTION_INLINE_EDITOR = "invokeInlineEditor";  //NOI18N
++ 
++@@ -304,8 +298,6 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++         case MOD_DEFAULT_INDEX: break; /* no modifier */
++         case MOD_PROTECTED_INDEX: modifiers.add(Modifier.PROTECTED); break;
++         case MOD_PUBLIC_INDEX: modifiers.add(Modifier.PUBLIC); break;
++-        case MOD_NOCHANGE_INDEX: 
++-            return null;
++         }
++         return modifiers;
++     }
++@@ -774,15 +766,7 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++         List<Object[]> newModel = new LinkedList<>();
++ 
++         TreePath path = refactoredObj.resolve(info);
++-        if (path == null) {
++-            return;
++-        }
++-        Element e = info.getTrees().getElement(path);
++-        if (!RefactoringUtils.isExecutableElement(e)) {
++-            parameterSpan = new int[] { 0, 0 }; // stub information
++-            return;
++-        }
++-        ExecutableElement method = (ExecutableElement)e;
+++        ExecutableElement method = (ExecutableElement) info.getTrees().getElement(path);
++         MethodTree tree = info.getTrees().getTree(method);
++         parameterSpan = info.getTreeUtilities().findMethodParameterSpan(tree);
++ 
++@@ -816,7 +800,6 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++                     parameterInfo.getName(),
++                     parameterInfo.getDefaultValue() == null ? "" : parameterInfo.getDefaultValue(),
++                     parameterInfo.getOriginalIndex(),
++-                    parameterInfo.getOriginalIndex() < 0 ? Boolean.TRUE :
++                     newModel.get(parameterInfo.getOriginalIndex())[4]});
++             }
++             newModel = preModel;
++@@ -880,22 +863,25 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++ 
++     private Set<Modifier> modifiers = new HashSet<Modifier>();
++     private List<String> typeParameters = new LinkedList<String>();
++-    private Modifier currentModifier = null;
++-    
++     private void setModifier(Set<Modifier> mods) {
++         modifiers.clear();
++         modifiers.addAll(mods);
++         modifiers.remove(Modifier.PRIVATE);
++         modifiers.remove(Modifier.PUBLIC);
++         modifiers.remove(Modifier.PROTECTED);
++-        if (mods.contains(Modifier.PUBLIC)) {
++-            currentModifier = Modifier.PUBLIC;
+++        // #170543: set only access modifiers
+++        if (mods.contains(Modifier.PRIVATE)) {
+++//            this.modifiers.add(Modifier.PRIVATE);
+++            modifiersCombo.setSelectedIndex(MOD_PRIVATE_INDEX);
++         } else if (mods.contains(Modifier.PROTECTED)) {
++-            currentModifier = Modifier.PROTECTED;
++-        } else if (mods.contains(Modifier.PRIVATE)) {
++-            currentModifier = Modifier.PRIVATE;
+++//            this.modifiers.add(Modifier.PROTECTED);
+++            modifiersCombo.setSelectedIndex(MOD_PROTECTED_INDEX);
+++        } else if (mods.contains(Modifier.PUBLIC)) {
+++//            this.modifiers.add(Modifier.PUBLIC);
+++            modifiersCombo.setSelectedIndex(MOD_PUBLIC_INDEX);
+++        } else {
+++            modifiersCombo.setSelectedIndex(MOD_DEFAULT_INDEX);
++         }
++-        modifiersCombo.setSelectedIndex(MOD_NOCHANGE_INDEX);
++     }
++ 
++     public String genDeclarationString() {
++@@ -903,18 +889,10 @@ public class ChangeParametersPanel extends JPanel implements CustomRefactoringPa
++         
++         // generate preview for modifiers
++         // access modifiers
++-        String mod;
++-        int idx = modifiersCombo.getSelectedIndex();
++-        if (idx == MOD_NOCHANGE_INDEX) {
++-            if (currentModifier != null) {
++-                buf.append(currentModifier.toString()).append(' ');
++-            }
++-        } else {
++-            buf.append(
++-                idx != MOD_DEFAULT_INDEX /*default modifier?*/ ?
++-                (String) modifiersCombo.getSelectedItem() + ' ' : ""
++-            );
++-        }
+++        String mod = modifiersCombo.getSelectedIndex() != MOD_DEFAULT_INDEX /*default modifier?*/ ?
+++            (String) modifiersCombo.getSelectedItem() + ' ' : ""; // NOI18N
+++        buf.append(mod);
+++        
++         // other than access modifiers - using data provided by the element
++         for (Modifier modifier : modifiers) {
++             buf.append(modifier.toString());
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersUI.java
++index 6d164781d..ec0341770 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ChangeParametersUI.java
++@@ -121,7 +121,7 @@ public class ChangeParametersUI implements RefactoringUI, JavaRefactoringUIFacto
++         
++         if(path != null && ((kind = path.getLeaf().getKind()) == Kind.METHOD_INVOCATION || kind == Kind.NEW_CLASS || kind == Kind.MEMBER_REFERENCE)) {
++             Element element = info.getTrees().getElement(path);
++-            if(element == null || element.asType().getKind() == TypeKind.ERROR) {
+++            if(element.asType().getKind() == TypeKind.ERROR) {
++                 return null;
++             }
++             ExecutableElement method = (ExecutableElement) element;
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ContextAnalyzer.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ContextAnalyzer.java
++index a7100df9c..48cae8677 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ContextAnalyzer.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ContextAnalyzer.java
++@@ -157,7 +157,7 @@ public final class ContextAnalyzer {
++                 protected RefactoringUI createRefactoringUI(FileObject[] selectedElements, Collection<TreePathHandle> handles) {
++                     if (!created) {
++                         if(handles.isEmpty() && selectedElements.length > 0 && "package-info".equals(selectedElements[0].getName())) {
++-                            ui = factory.create(null, new TreePathHandle[]{}, selectedElements, new NonRecursiveFolder[0]);
+++                            ui = factory.create(null, new TreePathHandle[]{}, selectedElements, null);
++                         } else {
++                             ui = factory.create(null, handles.toArray(new TreePathHandle[handles.size()]), selectedElements, pkg.toArray(new NonRecursiveFolder[pkg.size()]));
++                         }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldPanel.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldPanel.java
++index 7cfc81eea..310f36d40 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldPanel.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldPanel.java
++@@ -91,7 +91,6 @@ public final class EncapsulateFieldPanel extends javax.swing.JPanel implements C
++     private DefaultTableModel model;
++     private TreePathHandle selectedObjects;
++     private Collection<TreePathHandle> fields;
++-    private int offset;
++     private ChangeListener parent;
++     private String classname;
++     private static final String[] COLUMN_NAMES = {
++@@ -110,13 +109,12 @@ public final class EncapsulateFieldPanel extends javax.swing.JPanel implements C
++      *
++      * @param selectedObjects  array of selected objects
++      */
++-    public EncapsulateFieldPanel(TreePathHandle selectedObject, Collection<TreePathHandle> fields, int offset, ChangeListener parent) {
+++    public EncapsulateFieldPanel(TreePathHandle selectedObject, Collection<TreePathHandle> fields, ChangeListener parent) {
++         String title = getString("LBL_TitleEncapsulateFields");
++         
++         this.selectedObjects = selectedObject;
++         this.parent = parent;
++         this.fields = fields;
++-        this.offset = offset;
++         model = new TabM(COLUMN_NAMES, 0);
++         initComponents();
++         setName(title);
++@@ -196,12 +194,8 @@ public final class EncapsulateFieldPanel extends javax.swing.JPanel implements C
++             boolean staticMod = field.getModifiers().contains(Modifier.STATIC);
++             String getName = CodeStyleUtils.computeGetterName(field.getSimpleName(), field.asType().getKind() == TypeKind.BOOLEAN, staticMod, cs);
++             String setName = CodeStyleUtils.computeSetterName(field.getSimpleName(), staticMod, cs);
++-            MemberInfo<TreePathHandle> mi = MemberInfo.create(fieldTPath, javac);
++-            if (mi == null) {
++-                continue;
++-            }
++             model.addRow(new Object[] { 
++-                mi,
+++                MemberInfo.create(fieldTPath, javac),
++                 createGetter ? Boolean.TRUE : Boolean.FALSE,                        
++                 AccessorInfo.createGetter(javac, field, getName),
++                 createSetter ? Boolean.TRUE : Boolean.FALSE,                        
++@@ -583,19 +577,14 @@ private void jButtonSelectSettersActionPerformed(java.awt.event.ActionEvent evt)
++      * @return  array of all fields in a class.
++      */
++     private List<VariableElement> initFields(TreePath selectedField, CompilationInfo javac) {
++-        if (selectedField == null) {
++-            return Collections.emptyList();
++-        }
++         Element elm = javac.getTrees().getElement(selectedField);
++         TypeElement encloser = null;
++-        if (elm != null && ElementKind.FIELD == elm.getKind()) {
+++        if (ElementKind.FIELD == elm.getKind()) {
++             encloser = (TypeElement) elm.getEnclosingElement();
++         } else {
++             encloser = (TypeElement) elm;
++         }
++-        if (encloser == null) {
++-            return Collections.emptyList();
++-        }
+++        
++         List<VariableElement> result = new ArrayList<VariableElement>();
++         for (Element member : encloser.getEnclosedElements()) {
++             if (ElementKind.FIELD == member.getKind()) {
++@@ -613,15 +602,12 @@ private void jButtonSelectSettersActionPerformed(java.awt.event.ActionEvent evt)
++     private void initInsertPoints(TreePath selectedField, CompilationInfo javac) {
++         Element elm = javac.getTrees().getElement(selectedField);
++         TypeElement encloser = null;
++-        if (elm != null && ElementKind.FIELD == elm.getKind()) {
+++        if (ElementKind.FIELD == elm.getKind()) {
++             encloser = (TypeElement) elm.getEnclosingElement();
++         } else {
++             encloser = (TypeElement) elm;
++         }
++-        if (encloser == null) {
++-            InsertPoint.DEFAULT.index = offset;
++-            return;
++-        }
+++        
++         List<InsertPoint> result = new ArrayList<InsertPoint>();
++         int idx = 0;
++         TreePath encloserPath = javac.getTrees().getPath(encloser);
++@@ -640,7 +626,6 @@ private void jButtonSelectSettersActionPerformed(java.awt.event.ActionEvent evt)
++             }
++             ++idx;
++         }
++-        InsertPoint.DEFAULT.index = offset;
++         jComboInsertPoint.addItem(InsertPoint.DEFAULT);
++         if (!result.isEmpty()) {
++             jComboInsertPoint.addItem(new InsertPoint(result.get(0).index - 1,
++@@ -724,8 +709,8 @@ private void jButtonSelectSettersActionPerformed(java.awt.event.ActionEvent evt)
++         throw new IllegalStateException("unknown ModifierName: " + modName); // NOI18N
++     }
++     
++-    public Integer getInsertPoint() {
++-        return ((InsertPoint) jComboInsertPoint.getSelectedItem()).getIndex();
+++    public InsertPoint getInsertPoint() {
+++        return (InsertPoint) jComboInsertPoint.getSelectedItem();
++     }
++     
++     public SortBy getSortBy() {
++@@ -948,7 +933,7 @@ private void jButtonSelectSettersActionPerformed(java.awt.event.ActionEvent evt)
++         
++     }
++     
++-    private static final class InsertPoint {
+++    public static final class InsertPoint {
++         
++         public static final InsertPoint DEFAULT = new InsertPoint(Integer.MIN_VALUE,
++                 getString("EncapsulateFieldPanel.jComboInsertPoint.default")); // NOI18N
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldUI.java
++index 7f6d99555..eaf294485 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/EncapsulateFieldUI.java
++@@ -82,15 +82,32 @@ import org.openide.util.NbBundle;
++  * @author  Pavel Flaska
++  * @author  Jan Pokorsky
++  */
++-public final class EncapsulateFieldUI implements RefactoringUI {
+++public final class EncapsulateFieldUI implements RefactoringUI, JavaRefactoringUIFactory {
++ 
++     private EncapsulateFieldPanel panel;
++     private transient EncapsulateFieldsRefactoring refactoring;
++-    private int offset;
++     
++-    private EncapsulateFieldUI(TreePathHandle sourceType, int offset) {
+++    private static EncapsulateFieldUI create(CompilationInfo info, TreePathHandle... selectedObject) {
+++        if (selectedObject.length == 1) {
+++            TreePathHandle sourceType = resolveSourceType(selectedObject[0], info);
+++
+++            if (sourceType == null) {
+++                return null;
+++            }
+++
+++            return new EncapsulateFieldUI(sourceType);
+++        } else {
+++            return new EncapsulateFieldUI(selectedObject);
+++        }
+++    }
+++
+++    private Lookup lookup;
+++
+++    private EncapsulateFieldUI(Lookup lookup) {
+++        this.lookup = lookup;
+++    }
+++    private EncapsulateFieldUI(TreePathHandle sourceType) {
++         refactoring = new EncapsulateFieldsRefactoring(sourceType);
++-        this.offset = offset;
++     }
++     
++     private EncapsulateFieldUI(TreePathHandle[] handles) {
++@@ -106,7 +123,7 @@ public final class EncapsulateFieldUI implements RefactoringUI {
++     public CustomRefactoringPanel getPanel(ChangeListener parent) {
++         if (panel == null) {
++             Collection selectedObjects = refactoring.getRefactoringSource().lookup(Collection.class);
++-            panel = new EncapsulateFieldPanel(refactoring.getSelectedObject(), (Collection<TreePathHandle>) selectedObjects, offset, parent);
+++            panel = new EncapsulateFieldPanel(refactoring.getSelectedObject(), (Collection<TreePathHandle>) selectedObjects, parent);
++         }
++         return panel;
++     }
++@@ -173,9 +190,6 @@ public final class EncapsulateFieldUI implements RefactoringUI {
++      */
++     private static TreePathHandle resolveSourceType(TreePathHandle selectedObject, CompilationInfo javac) {
++         TreePath selectedField = selectedObject.resolve(javac);
++-        if (selectedField == null) {
++-            return null;
++-        }
++         Element elm = javac.getTrees().getElement(selectedField);
++         TypeElement encloser = null;
++         if (elm != null && ElementKind.FIELD == elm.getKind()
++@@ -198,83 +212,60 @@ public final class EncapsulateFieldUI implements RefactoringUI {
++     }
++ 
++     public static JavaRefactoringUIFactory factory(Lookup lookup) {
++-        return new EncapsulateFieldUIFactory(lookup);
+++        return new EncapsulateFieldUI(lookup);
++     }
++-
++-    private static final class EncapsulateFieldUIFactory implements JavaRefactoringUIFactory {
++-
++-        private Lookup lookup;
++-
++-        private EncapsulateFieldUIFactory(Lookup lookup) {
++-            this.lookup = lookup;
+++    
+++    @Override
+++    public RefactoringUI create(CompilationInfo info, TreePathHandle[] handles, FileObject[] files, NonRecursiveFolder[] packages) {
+++        EditorCookie ec = lookup.lookup(EditorCookie.class);
+++        if (ec == null) {
+++            return EncapsulateFieldUI.create(info, handles);
++         }
++-
++-        private static EncapsulateFieldUI create(CompilationInfo info, int offset, TreePathHandle... selectedObject) {
++-            if (selectedObject.length == 1) {
++-                TreePathHandle sourceType = resolveSourceType(selectedObject[0], info);
++-
++-                if (sourceType == null) {
++-                    return null;
++-                }
++-
++-                return new EncapsulateFieldUI(sourceType, offset);
++-            } else {
++-                return new EncapsulateFieldUI(selectedObject);
++-            }
+++        JEditorPane textC = NbDocument.findRecentEditorPane(ec);
+++        if (textC == null) {
+++            return EncapsulateFieldUI.create(info, handles);
++         }
+++        int startOffset = textC.getSelectionStart();
+++        int endOffset = textC.getSelectionEnd();
++ 
++-        @Override
++-        public RefactoringUI create(CompilationInfo info, TreePathHandle[] handles, FileObject[] files, NonRecursiveFolder[] packages) {
++-            EditorCookie ec = lookup.lookup(EditorCookie.class);
++-            if (ec == null) {
++-                return create(info, -1, handles);
++-            }
++-            JEditorPane textC = NbDocument.findRecentEditorPane(ec);
++-            if (textC == null) {
++-                return create(info, -1, handles);
++-            }
++-            int startOffset = textC.getSelectionStart();
++-            int endOffset = textC.getSelectionEnd();
++-
++-            if (startOffset == endOffset) {
++-                //cursor position
++-                return create(info, startOffset, handles[0]);
++-            }
+++        if (startOffset == endOffset) {
+++            //cursor position
+++            return EncapsulateFieldUI.create(info, handles[0]);
+++        }
++ 
++-            //editor selection
++-            TreePath path = info.getTreeUtilities().pathFor(startOffset);
++-            if (path == null) {
++-                return null;
++-            }
++-            TreePath enclosingClass = JavaRefactoringUtils.findEnclosingClass(info, path, true, true, true, true, true);
++-            if (enclosingClass == null) {
++-                return null;
++-            }
++-            Element el = info.getTrees().getElement(enclosingClass);
++-            if (el == null) {
++-                return null;
++-            }
++-            if (!(el.getKind().isClass() || el.getKind().isInterface())) {
++-                el = info.getElementUtilities().enclosingTypeElement(el);
++-            }
++-            Collection<TreePathHandle> h = new ArrayList<TreePathHandle>();
++-            for (Element e : ElementFilter.fieldsIn(el.getEnclosedElements())) {
++-                //            SourcePositions sourcePositions = info.getTrees().getSourcePositions();
++-                Tree leaf = info.getTrees().getPath(e).getLeaf();
++-                int[] namespan = info.getTreeUtilities().findNameSpan((VariableTree) leaf);
++-                if (namespan != null) {
++-                    long start = namespan[0]; //sourcePositions.getStartPosition(info.getCompilationUnit(), leaf);
++-                    long end = namespan[1]; //sourcePositions.getEndPosition(info.getCompilationUnit(), leaf);
++-                    if ((start <= endOffset && start >= startOffset)
++-                            || (end <= endOffset && end >= startOffset)) {
++-                        h.add(TreePathHandle.create(e, info));
++-                    }
+++        //editor selection
+++        TreePath path = info.getTreeUtilities().pathFor(startOffset);
+++        if(path == null) {
+++            return null;
+++        }
+++        TreePath enclosingClass = JavaRefactoringUtils.findEnclosingClass(info, path, true, true, true, true, true);
+++        if(enclosingClass == null) {
+++            return null;
+++        }
+++        Element el = info.getTrees().getElement(enclosingClass);
+++        if (el == null) {
+++            return null;
+++        }
+++        if (!(el.getKind().isClass() || el.getKind().isInterface())) {
+++            el = info.getElementUtilities().enclosingTypeElement(el);
+++        }
+++        Collection<TreePathHandle> h = new ArrayList<TreePathHandle>();
+++        for (Element e : ElementFilter.fieldsIn(el.getEnclosedElements())) {
+++//            SourcePositions sourcePositions = info.getTrees().getSourcePositions();
+++            Tree leaf = info.getTrees().getPath(e).getLeaf();
+++            int[] namespan = info.getTreeUtilities().findNameSpan((VariableTree) leaf);
+++            if(namespan != null) {
+++                long start = namespan[0]; //sourcePositions.getStartPosition(info.getCompilationUnit(), leaf);
+++                long end = namespan[1]; //sourcePositions.getEndPosition(info.getCompilationUnit(), leaf);
+++                if ((start <= endOffset && start >= startOffset) ||
+++                        (end <= endOffset && end >= startOffset)){
+++                    h.add(TreePathHandle.create(e, info));
++                 }
++             }
++-            if (h.isEmpty()) {
++-                return create(info, startOffset, handles[0]);
++-            }
++-            return create(info, -1, h.toArray(new TreePathHandle[h.size()]));
++         }
+++        if (h.isEmpty()) {
+++            return EncapsulateFieldUI.create(info, handles[0]);
+++        }
+++        return EncapsulateFieldUI.create(info, h.toArray(new TreePathHandle[h.size()]));
++     }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InlineRefactoringUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InlineRefactoringUI.java
++index 611bc337b..5a5bc3431 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InlineRefactoringUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InlineRefactoringUI.java
++@@ -142,21 +142,14 @@ public class InlineRefactoringUI implements RefactoringUI {
++                     case NULL_LITERAL:
++                     case STRING_LITERAL:
++                         TreePath tp = selectedElement.resolve(info);
++-                        if (tp == null) {
++-                            return null;
++-                        }
++                         TreePath parent = tp.getParentPath();
++                         Element parentElement = info.getTrees().getElement(parent);
++-                        if (parentElement != null && parentElement.getKind() == ElementKind.LOCAL_VARIABLE) {
+++                        if (parentElement.getKind() == ElementKind.LOCAL_VARIABLE) {
++                             selectedElement = TreePathHandle.create(parent, info);
++                         }
++                         break;
++                 }
++-                TreePath path = selectedElement.resolve(info);
++-                if(path == null || info.getTreeUtilities().isSynthetic(path)) {
++-                    return null;
++-                }
++-                Element element = info.getTrees().getElement(path);
+++                Element element = selectedElement.resolveElement(info);
++                 if(element == null) {
++                     return null;
++                 }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/IntroduceParameterPanel.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/IntroduceParameterPanel.java
++index fbc369372..76dae6829 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/IntroduceParameterPanel.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/IntroduceParameterPanel.java
++@@ -47,7 +47,6 @@ import com.sun.source.tree.Scope;
++ import com.sun.source.tree.Tree;
++ import com.sun.source.util.TreePath;
++ import java.awt.Component;
++-import java.awt.EventQueue;
++ import java.awt.event.ItemEvent;
++ import java.io.IOException;
++ import javax.lang.model.element.Element;
++@@ -109,30 +108,21 @@ public class IntroduceParameterPanel extends JPanel implements CustomRefactoring
++ 
++             @Override
++             public void insertUpdate(DocumentEvent de) {
++-                postUpdate();
+++                parent.stateChanged(null);
++             }
++ 
++             @Override
++             public void removeUpdate(DocumentEvent de) {
++-                postUpdate();
+++                parent.stateChanged(null);
++             }
++ 
++             @Override
++             public void changedUpdate(DocumentEvent de) {
++-                postUpdate();
+++                parent.stateChanged(null);
++             }
++         };
++         ((JEditorPane) singleLineEditor[1]).getDocument().addDocumentListener(nameChangedListener);
++     }
++-
++-    private void postUpdate() {
++-        EventQueue.invokeLater(new Runnable() {
++-            @Override
++-            public void run() {
++-                parent.stateChanged(null);
++-            }
++-        });
++-    }
++     
++     private boolean initialized = false;
++     @Override
++@@ -164,7 +154,7 @@ public class IntroduceParameterPanel extends JPanel implements CustomRefactoring
++                         
++                         Element methodElement = info.getTrees().getElement(methodPath);
++                         Doc javadocDoc = info.getElementUtilities().javaDocFor(methodElement);
++-                        if(javadocDoc != null && javadocDoc.commentText() == null || javadocDoc.getRawCommentText().equals("")) {
+++                        if(javadocDoc.commentText() == null || javadocDoc.getRawCommentText().equals("")) {
++                             chkGenJavadoc.setEnabled(true);
++                             chkGenJavadoc.setVisible(true);
++                             chkUpdateJavadoc.setVisible(false);
++@@ -180,10 +170,9 @@ public class IntroduceParameterPanel extends JPanel implements CustomRefactoring
++                         }
++                         
++                         Scope scope =  null;
++-                        if(methodTree.getBody() != null) {
++-                            TreePath bodyPath = new TreePath(methodPath, methodTree.getBody());
++-                            scope = info.getTrees().getScope(bodyPath);
++-                        }
+++                        TreePath bodyPath = new TreePath(methodPath, methodTree.getBody());
+++                        scope = info.getTrees().getScope(bodyPath);
+++                        
++                         CodeStyle cs;
++                         Document doc = info.getDocument();
++                         if(doc != null) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanAction.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanAction.java
++index d259f7505..2865839dd 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanAction.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanAction.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010-2011 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++@@ -41,6 +38,7 @@
++  */
++ package org.netbeans.modules.refactoring.java.ui;
++ 
+++import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.modules.refactoring.java.ui.ContextAnalyzer;
++ import org.netbeans.modules.refactoring.java.ui.JavaRefactoringGlobalAction;
++ import org.openide.awt.ActionID;
++@@ -84,6 +82,6 @@ public final class InvertBooleanAction extends JavaRefactoringGlobalAction {
++     @Override
++     public void performAction(Lookup context) {
++         Runnable task = ContextAnalyzer.createTask(context, InvertBooleanRefactoringUI.factory());
++-        UIUtilities.runWhenScanFinished(task, getName());
+++        ScanDialog.runWhenScanFinished(task, getName());
++     }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringPanel.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringPanel.java
++index 26e05d6b8..86e182d7d 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringPanel.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringPanel.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringUI.java
++index 2d30d5ffb..c36ffc31a 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/InvertBooleanRefactoringUI.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++@@ -149,9 +146,6 @@ public class InvertBooleanRefactoringUI implements RefactoringUI, JavaRefactorin
++         }
++         if (p != null && treeKinds.contains(p.getLeaf().getKind())) {
++             Element selected = info.getTrees().getElement(p);
++-            if (selected == null) {
++-                return null;
++-            }
++             TreePath selectedTree = info.getTrees().getPath(selected);
++             if (selected.getKind().isField() && ((VariableElement) selected).asType().getKind() == TypeKind.BOOLEAN) {
++                 return new InvertBooleanRefactoringUI(TreePathHandle.create(selectedTree, info), ((VariableElement) selected).getSimpleName().toString());
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRefactoringActionsProvider.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRefactoringActionsProvider.java
++index dafbfa959..b8f59d270 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRefactoringActionsProvider.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRefactoringActionsProvider.java
++@@ -44,6 +44,7 @@
++ 
++ package org.netbeans.modules.refactoring.java.ui;
++ 
+++import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.modules.refactoring.java.api.ui.JavaRefactoringActionsFactory;
++ import org.netbeans.modules.refactoring.java.spi.ui.JavaActionsImplementationProvider;
++ import org.openide.util.Lookup;
++@@ -61,7 +62,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++     @Override
++     public void doExtractInterface(final Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, ExtractInterfaceRefactoringUI.factory());
++-        UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.extractInterfaceAction()));
+++        ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.extractInterfaceAction()));
++     }
++ 
++     @Override
++@@ -72,7 +73,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++     @Override
++     public void doExtractSuperclass(Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, ExtractSuperclassRefactoringUI.factory());
++-        UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.extractSuperclassAction()));
+++        ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.extractSuperclassAction()));
++     }
++ 
++     @Override
++@@ -83,7 +84,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++     @Override
++     public void doPushDown(final Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, PushDownRefactoringUI.factory());
++-        UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.pushDownAction()));
+++        ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.pushDownAction()));
++     }
++ 
++     @Override
++@@ -94,7 +95,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++     @Override
++     public void doPullUp(final Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, PullUpRefactoringUI.factory());
++-        UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.pullUpAction()));
+++        ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.pullUpAction()));
++     }
++ 
++     @Override
++@@ -110,7 +111,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++     @Override
++     public void doUseSuperType(Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, UseSuperTypeRefactoringUI.factory());
++-        UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.useSuperTypeAction()));
+++        ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.useSuperTypeAction()));
++     }
++     
++     @Override
++@@ -121,7 +122,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++     @Override
++     public void doChangeParameters(Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, ChangeParametersUI.factory(lookup));
++-        UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.changeParametersAction()));
+++        ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.changeParametersAction()));
++     }
++     
++     @Override
++@@ -132,7 +133,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++     @Override
++     public void doIntroduceParameter(Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, IntroduceParameterUI.factory(lookup));
++-        UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.changeParametersAction()));
+++        ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.changeParametersAction()));
++     }    
++     
++     @Override
++@@ -143,7 +144,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++     @Override
++     public void doInnerToOuter(Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, InnerToOuterRefactoringUI.factory());
++-        UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.innerToOuterAction()));
+++        ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.innerToOuterAction()));
++     }
++ 
++     @Override
++@@ -154,7 +155,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++     @Override
++     public void doEncapsulateFields(Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, EncapsulateFieldUI.factory(lookup));
++-        UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.encapsulateFieldsAction()));
+++        ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.encapsulateFieldsAction()));
++     }
++ 
++     @Override
++@@ -165,7 +166,7 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++     @Override
++     public void doIntroduceLocalExtension(Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, IntroduceLocalExtensionUI.factory());
++-        UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.introduceLocalExtensionAction()));
+++        ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.introduceLocalExtensionAction()));
++     }
++     
++     @Override
++@@ -176,6 +177,6 @@ public class JavaRefactoringActionsProvider extends JavaActionsImplementationPro
++     @Override
++     public void doInline(Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, InlineRefactoringUI.factory());
++-        UIUtilities.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.inlineAction()));
+++        ScanDialog.runWhenScanFinished(task, RefactoringActionsProvider.getActionName(JavaRefactoringActionsFactory.inlineAction()));
++     }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRenameProperties.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRenameProperties.java
++index 63a75a26e..7e1391735 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRenameProperties.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/JavaRenameProperties.java
++@@ -50,7 +50,6 @@ public final class JavaRenameProperties {
++     private boolean isRenameGettersSetters;
++     private boolean isRenameTestClass;
++     private boolean isRenameTestClassMethod;
++-    private boolean noChangeOK;
++ 
++     public boolean isIsRenameGettersSetters() {
++         return isRenameGettersSetters;
++@@ -75,12 +74,4 @@ public final class JavaRenameProperties {
++     public void setIsRenameTestClassMethod(boolean isRenameTestClassMethod) {
++ 	this.isRenameTestClassMethod = isRenameTestClassMethod;
++     }
++-
++-    public boolean isNoChangeOK() {
++-        return noChangeOK;
++-    }
++-
++-    public void setNoChangeOK(boolean noChangeOK) {
++-        this.noChangeOK = noChangeOK;
++-    }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/MoveMembersPanel.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/MoveMembersPanel.java
++index 569aaf8b2..5189010d4 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/MoveMembersPanel.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/MoveMembersPanel.java
++@@ -1056,38 +1056,28 @@ public class MoveMembersPanel extends javax.swing.JPanel implements CustomRefact
++             boolean inherited = isParentInherited || (null != parent && !parent.equals(e.getEnclosingElement()));
++             Description d = new Description(e.getSimpleName().toString(), ElementHandle.create(e), e.getKind(), inherited);
++ 
++-            switch (e.getKind()) {
++-                case CLASS:
++-                case INTERFACE:
++-                case ENUM:
++-                case ANNOTATION_TYPE:
++-                    if(parent == null) {
++-                        d.setSubs(new HashSet<Description>());
++-                        d.setHtmlHeader(UIUtilities.createHeader((TypeElement) e, info.getElements().isDeprecated(e), d.isInherited(), true, false));
++-                    } else {
++-                        return null;
++-                    }
++-                    break;
++-
++-                case ENUM_CONSTANT:
++-                case FIELD:
++-                    d.setHtmlHeader(UIUtilities.createHeader((VariableElement) e, info.getElements().isDeprecated(e), d.isInherited(), true, false));
++-                    break;
++-                  
++-                case METHOD:
++-                    d.setHtmlHeader(UIUtilities.createHeader((ExecutableElement) e, info.getElements().isDeprecated(e), d.isInherited(), true, false));
++-                    break;
++-                case CONSTRUCTOR:
+++            if (e instanceof TypeElement) {
+++                if(parent == null) {
+++                    d.setSubs(new HashSet<Description>());
+++                    d.setHtmlHeader(UIUtilities.createHeader((TypeElement) e, info.getElements().isDeprecated(e), d.isInherited(), true, false));
+++                } else {
++                     return null;
++-                    
++-                default:
+++                }
+++            } else if (e instanceof ExecutableElement) {
+++                d.setHtmlHeader(UIUtilities.createHeader((ExecutableElement) e, info.getElements().isDeprecated(e), d.isInherited(), true, false));
+++            } else if (e instanceof VariableElement) {
+++                if (!(e.getKind() == ElementKind.FIELD)) {
++                     return null;
++-                    
+++                }
+++                d.setHtmlHeader(UIUtilities.createHeader((VariableElement) e, info.getElements().isDeprecated(e), d.isInherited(), true, false));
++             }
+++
++             d.setModifiers(e.getModifiers());
++             d.setPos(getPosition(e, info, pos));
++             d.setCpInfo(info.getClasspathInfo());
++             d.setSelected(isSelected(e, info));
+++            d.setIsConstructor(e.getKind() == ElementKind.CONSTRUCTOR);
+++
++             return d;
++         }
++ 
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/RefactoringActionsProvider.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/RefactoringActionsProvider.java
++index 14a88a68f..922b33307 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/RefactoringActionsProvider.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/RefactoringActionsProvider.java
++@@ -57,6 +57,7 @@ import org.netbeans.api.java.classpath.ClassPath;
++ import org.netbeans.api.java.source.JavaSource;
++ import org.netbeans.api.java.source.SourceUtils;
++ import org.netbeans.api.java.source.TreePathHandle;
+++import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.editor.Utilities;
++ import org.netbeans.modules.refactoring.api.ui.ExplorerContext;
++ import org.netbeans.modules.refactoring.api.ui.RefactoringActionsFactory;
++@@ -146,11 +147,11 @@ public class RefactoringActionsProvider extends ActionsImplementationProvider{
++                 
++                 @Override
++                 public void run() {
++-                    UIUtilities.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.renameAction()));
+++                    ScanDialog.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.renameAction()));
++                 }
++             });
++         } else {
++-            UIUtilities.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.renameAction()));
+++            ScanDialog.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.renameAction()));
++         }
++     }
++     
++@@ -195,7 +196,7 @@ public class RefactoringActionsProvider extends ActionsImplementationProvider{
++     @Override
++     public void doCopy(final Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, CopyClassRefactoringUI.factory(lookup));
++-        UIUtilities.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.copyAction()));
+++        ScanDialog.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.copyAction()));
++     }
++ 
++     /**
++@@ -296,7 +297,7 @@ public class RefactoringActionsProvider extends ActionsImplementationProvider{
++     @Override
++     public void doDelete(final Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, SafeDeleteUI.factory(lookup));
++-        UIUtilities.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.safeDeleteAction()));
+++        ScanDialog.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.safeDeleteAction()));
++     }
++     
++     public static FileObject getTarget(Lookup look) {
++@@ -438,7 +439,7 @@ public class RefactoringActionsProvider extends ActionsImplementationProvider{
++     @Override
++     public void doMove(final Lookup lookup) {
++         Runnable task = ContextAnalyzer.createTask(lookup, MoveClassUI.factory(lookup));
++-        UIUtilities.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.moveAction()));
+++        ScanDialog.runWhenScanFinished(task, getActionName(RefactoringActionsFactory.moveAction()));
++     }
++     private static boolean isSelectionHeterogeneous(Collection<? extends Node> nodes) {
++         boolean folderSelected = false;
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderAction.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderAction.java
++index 301bd01de..2515572ac 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderAction.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderAction.java
++@@ -41,6 +41,8 @@
++  */
++ package org.netbeans.modules.refactoring.java.ui;
++ 
+++import javax.lang.model.element.ElementKind;
+++import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.modules.refactoring.java.ui.ContextAnalyzer;
++ import org.netbeans.modules.refactoring.java.ui.JavaRefactoringGlobalAction;
++ import org.openide.awt.ActionID;
++@@ -82,6 +84,6 @@ public final class ReplaceConstructorWithBuilderAction extends JavaRefactoringGl
++     @Override
++     public void performAction(Lookup context) {
++         Runnable task = ContextAnalyzer.createTask(context, ReplaceConstructorWithBuilderUI.factory());
++-        UIUtilities.runWhenScanFinished(task, getName());
+++        ScanDialog.runWhenScanFinished(task, getName());
++     }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderUI.java
++index e4cf5a189..bd51739f2 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithBuilderUI.java
++@@ -190,7 +190,7 @@ public class ReplaceConstructorWithBuilderUI implements RefactoringUI, JavaRefac
++         }
++         if (path != null && treeKinds.contains(path.getLeaf().getKind())) {
++             Element selected = info.getTrees().getElement(path);
++-            if (selected != null && selected.getKind() == ElementKind.CONSTRUCTOR &&
+++            if (selected.getKind() == ElementKind.CONSTRUCTOR &&
++                     selected.getEnclosingElement().getKind() != ElementKind.ENUM) {
++                 return new ReplaceConstructorWithBuilderUI(TreePathHandle.create(selected, info), info);
++             }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryAction.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryAction.java
++index a08ad847a..82a649bc5 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryAction.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryAction.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++@@ -41,6 +38,7 @@
++  */
++ package org.netbeans.modules.refactoring.java.ui;
++ 
+++import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.modules.refactoring.java.ui.ContextAnalyzer;
++ import org.netbeans.modules.refactoring.java.ui.JavaRefactoringGlobalAction;
++ import org.openide.awt.ActionID;
++@@ -79,6 +77,6 @@ public final class ReplaceConstructorWithFactoryAction extends JavaRefactoringGl
++     @Override
++     public void performAction(Lookup context) {
++         Runnable task = ContextAnalyzer.createTask(context, ReplaceConstructorWithFactoryUI.factory());
++-        UIUtilities.runWhenScanFinished(task, getName());
+++        ScanDialog.runWhenScanFinished(task, getName());
++     }
++ }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryPanel.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryPanel.java
++index 96406900b..ecfcd865e 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryPanel.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryPanel.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryUI.java
++index 61ccb471a..312068d96 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/ReplaceConstructorWithFactoryUI.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++@@ -145,7 +142,7 @@ public class ReplaceConstructorWithFactoryUI implements RefactoringUI, JavaRefac
++         }
++         if (path != null && treeKinds.contains(path.getLeaf().getKind())) {
++             Element selected = info.getTrees().getElement(path);
++-            if (selected != null && selected.getKind() == ElementKind.CONSTRUCTOR && selected.getEnclosingElement().getKind() != ElementKind.ENUM) {
+++            if (selected.getKind() == ElementKind.CONSTRUCTOR && selected.getEnclosingElement().getKind() != ElementKind.ENUM) {
++                 return new ReplaceConstructorWithFactoryUI(TreePathHandle.create(selected, info), selected.getEnclosingElement().getSimpleName().toString());
++             }
++         }
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/UIUtilities.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/UIUtilities.java
++index 3485af458..3feb65a15 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/UIUtilities.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/UIUtilities.java
++@@ -62,11 +62,9 @@ import org.netbeans.api.editor.mimelookup.MimeLookup;
++ import org.netbeans.api.editor.mimelookup.MimePath;
++ import org.netbeans.api.editor.settings.FontColorSettings;
++ import org.netbeans.api.java.lexer.JavaTokenId;
++-import org.netbeans.api.java.source.ui.ScanDialog;
++ import org.netbeans.api.lexer.Token;
++ import org.netbeans.api.lexer.TokenHierarchy;
++ import org.netbeans.api.lexer.TokenSequence;
++-import org.netbeans.modules.parsing.api.ParserManager;
++ import org.netbeans.modules.refactoring.java.api.MemberInfo;
++ import org.netbeans.swing.plaf.LFCustoms;
++ import org.openide.util.Lookup;
++@@ -1201,18 +1199,6 @@ public final class UIUtilities {
++ 
++         return sb.toString();
++     }
++-    
++-    public static boolean runWhenScanFinished (final Runnable runnable, final String actionName) {
++-            return ScanDialog.runWhenScanFinished(
++-                () -> {
++-                    if (ParserManager.isParsing()) {
++-                        SwingUtilities.invokeLater(runnable);
++-                    } else {
++-                        runnable.run();
++-                    }
++-                },
++-                actionName);
++-    }
++ 
++     private static String printBounds(List<? extends TypeMirror> bounds, boolean html) {
++         if (bounds.size() == 1 && "java.lang.Object".equals(bounds.get(0).toString())) {
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.form b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.form
++index dd1344eec..4ce38af38 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.form
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.form
++@@ -115,8 +115,8 @@
++     </Component>
++     <Component class="javax.swing.JLabel" name="label">
++       <Properties>
++-        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++-          <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)" type="code"/>
+++        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++          <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/warning_16.png"/>
++         </Property>
++         <Property name="text" type="java.lang.String" value="<<Element>>" noResource="true"/>
++       </Properties>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.java
++index 634b82ea5..c52ec08fc 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelClass.java
++@@ -102,7 +102,7 @@ public class WhereUsedPanelClass extends WhereUsedPanel.WhereUsedInnerPanel {
++             }
++         });
++ 
++-        label.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)); // NOI18N
+++        label.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/warning_16.png"))); // NOI18N
++         org.openide.awt.Mnemonics.setLocalizedText(label, "<<Element>>"); // NOI18N
++ 
++         org.openide.awt.Mnemonics.setLocalizedText(lbl_usagesof, org.openide.util.NbBundle.getMessage(WhereUsedPanelClass.class, "LBL_UsagesOfElement")); // NOI18N
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.form b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.form
++index 6cd5f0454..d5763f7cb 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.form
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.form
++@@ -76,8 +76,8 @@
++   <SubComponents>
++     <Component class="javax.swing.JLabel" name="label">
++       <Properties>
++-        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++-          <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)" type="code"/>
+++        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++          <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/warning_16.png"/>
++         </Property>
++         <Property name="text" type="java.lang.String" value="<<Element>>" noResource="true"/>
++       </Properties>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.java
++index ead6a4c4e..232ce70c2 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelMethod.java
++@@ -103,7 +103,7 @@ public class WhereUsedPanelMethod extends WhereUsedPanel.WhereUsedInnerPanel {
++         btn_usages_overriders = new javax.swing.JRadioButton();
++         searchOverloaded = new javax.swing.JCheckBox();
++ 
++-        label.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)); // NOI18N
+++        label.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/warning_16.png"))); // NOI18N
++         label.setText("<<Element>>"); // NOI18N
++ 
++         searchInComments.setSelected(((Boolean) RefactoringModule.getOption("searchInComments.whereUsed", Boolean.FALSE)).booleanValue());
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.form b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.form
++index e86dd3e8e..f48e456be 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.form
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.form
++@@ -68,8 +68,8 @@
++     </Component>
++     <Component class="javax.swing.JLabel" name="label">
++       <Properties>
++-        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++-          <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)" type="code"/>
+++        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++          <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/warning_16.png"/>
++         </Property>
++         <Property name="text" type="java.lang.String" value="<<Element>>" noResource="true"/>
++       </Properties>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.java
++index e266f7eb7..52dde663f 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelPackage.java
++@@ -90,7 +90,7 @@ public class WhereUsedPanelPackage extends WhereUsedPanel.WhereUsedInnerPanel {
++ 
++         org.openide.awt.Mnemonics.setLocalizedText(lbl_usagesof, org.openide.util.NbBundle.getMessage(WhereUsedPanelPackage.class, "LBL_UsagesOfElement")); // NOI18N
++ 
++-        label.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)); // NOI18N
+++        label.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/warning_16.png"))); // NOI18N
++         org.openide.awt.Mnemonics.setLocalizedText(label, "<<Element>>"); // NOI18N
++ 
++         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.form b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.form
++index 536f09af0..54b65c96c 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.form
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.form
++@@ -61,8 +61,8 @@
++     </Component>
++     <Component class="javax.swing.JLabel" name="label">
++       <Properties>
++-        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
++-          <Connection code="org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)" type="code"/>
+++        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+++          <Image iconType="3" name="/org/netbeans/modules/refactoring/java/resources/warning_16.png"/>
++         </Property>
++         <Property name="text" type="java.lang.String" value="<<Element>>" noResource="true"/>
++       </Properties>
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.java
++index 1bc52e7e8..ed7983943 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanelVariable.java
++@@ -90,7 +90,7 @@ public class WhereUsedPanelVariable extends WhereUsedPanel.WhereUsedInnerPanel {
++             }
++         });
++ 
++-        label.setIcon(org.openide.util.ImageUtilities.loadImageIcon("/org/netbeans/modules/refactoring/java/resources/warning_16.png", false)); // NOI18N
+++        label.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/netbeans/modules/refactoring/java/resources/warning_16.png"))); // NOI18N
++         org.openide.awt.Mnemonics.setLocalizedText(label, "<<Element>>"); // NOI18N
++ 
++         org.openide.awt.Mnemonics.setLocalizedText(lbl_usagesof, org.openide.util.NbBundle.getMessage(WhereUsedPanelVariable.class, "LBL_UsagesOfElement")); // NOI18N
++diff --git a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedQueryUI.java b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedQueryUI.java
++index a98c50101..df8f63227 100644
++--- a/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedQueryUI.java
+++++ b/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedQueryUI.java
++@@ -67,7 +67,6 @@ import org.netbeans.modules.refactoring.api.AbstractRefactoring;
++ import org.netbeans.modules.refactoring.api.Problem;
++ import org.netbeans.modules.refactoring.api.Scope;
++ import org.netbeans.modules.refactoring.api.WhereUsedQuery;
++-import org.netbeans.modules.refactoring.java.RefactoringUtils;
++ import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
++ import org.netbeans.modules.refactoring.java.api.WhereUsedQueryConstants;
++ import org.netbeans.modules.refactoring.java.plugins.JavaPluginUtils;
++@@ -337,7 +336,7 @@ public class WhereUsedQueryUI implements RefactoringUI, Openable, JavaRefactorin
++             }
++         }
++         final List<Pair<Pair<String, Icon>, TreePathHandle>> classes;
++-        if(RefactoringUtils.isExecutableElement(el)) {
+++        if(el.getKind() == ElementKind.CONSTRUCTOR || el.getKind() == ElementKind.METHOD) {
++             ExecutableElement method = (ExecutableElement) el;
++             classes = new LinkedList<Pair<Pair<String, Icon>, TreePathHandle>>();
++             Element enclosingElement = method.getEnclosingElement();
++diff --git a/refactoring.java/test/qa-functional/data/projects/RefactoringTest/nbproject/build-impl.xml b/refactoring.java/test/qa-functional/data/projects/RefactoringTest/nbproject/build-impl.xml
++index 95d577c60..868cabb21 100644
++--- a/refactoring.java/test/qa-functional/data/projects/RefactoringTest/nbproject/build-impl.xml
+++++ b/refactoring.java/test/qa-functional/data/projects/RefactoringTest/nbproject/build-impl.xml
++@@ -1180,7 +1180,7 @@ is divided into following sections:
++     <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
++         <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
++         <startprofiler/>
++-        <antcall target="run-test-with-main"/>
+++        <antcal target="run-test-with-main"/>
++     </target>
++     <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
++         <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
++diff --git a/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/ConvertAnonymousToMemberTest.java b/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/ConvertAnonymousToMemberTest.java
++index be14d5fb0..7cb9f23c8 100644
++--- a/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/ConvertAnonymousToMemberTest.java
+++++ b/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/ConvertAnonymousToMemberTest.java
++@@ -36,6 +36,132 @@
++  * made subject to such option by the copyright holder.
++  *
++  * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ *
+++ *//*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License.  When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ *
+++ *//*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License.  When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ *
+++ *//*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License.  When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ *
++  */
++ 
++ package org.netbeans.modules.test.refactoring;
++diff --git a/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/EncapsulateFieldTest.java b/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/EncapsulateFieldTest.java
++index 1514b0e4f..b7c0a174c 100644
++--- a/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/EncapsulateFieldTest.java
+++++ b/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/EncapsulateFieldTest.java
++@@ -39,7 +39,49 @@
++  *
++  * Portions Copyrighted 2013 Sun Microsystems, Inc.
++  *
+++ *//*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain a copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License.  When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+++ * single choice of license, a recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ *
++  */
+++
++ package org.netbeans.modules.test.refactoring;  
++ 
++ import java.awt.*;
++diff --git a/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/operators/EncapsulateFieldOperator.java b/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/operators/EncapsulateFieldOperator.java
++index 7e0836358..2a666bba1 100644
++--- a/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/operators/EncapsulateFieldOperator.java
+++++ b/refactoring.java/test/qa-functional/src/org/netbeans/modules/test/refactoring/operators/EncapsulateFieldOperator.java
++@@ -38,6 +38,46 @@
++  * Contributor(s):
++  *
++  * Portions Copyrighted 2013 Sun Microsystems, Inc.
+++ *//*
+++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+++ *
+++ * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
+++ *
+++ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+++ * Other names may be trademarks of their respective owners.
+++ *
+++ * The contents of this file are subject to the terms of either the GNU
+++ * General Public License Version 2 only ("GPL") or the Common
+++ * Development and Distribution License("CDDL") (collectively, the
+++ * "License"). You may not use this file except in compliance with the
+++ * License. You can obtain x copy of the License at
+++ * http://www.netbeans.org/cddl-gplv2.html
+++ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+++ * specific language governing permissions and limitations under the
+++ * License.  When distributing the software, include this License Header
+++ * Notice in each file and include the License file at
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Oracle in the GPL Version 2 section of the License file that
+++ * accompanied this code. If applicable, add the following below the
+++ * License Header, with the fields enclosed by brackets [] replaced by
+++ * your own identifying information:
+++ * "Portions Copyrighted [year] [name of copyright owner]"
+++ *
+++ * If you wish your version of this file to be governed by only the CDDL
+++ * or only the GPL Version 2, indicate your decision by adding
+++ * "[Contributor] elects to include this software in this distribution
+++ * under the [CDDL or GPL Version 2] license." If you do not indicate x
+++ * single choice of license, x recipient has the option to distribute
+++ * your version of this file under either the CDDL, the GPL Version 2 or
+++ * to extend the choice of license to its licensees as provided above.
+++ * However, if you add GPL Version 2 code and therefore, elected the GPL
+++ * Version 2 license, then the option applies only if the new code is
+++ * made subject to such option by the copyright holder.
+++ *
+++ * Contributor(s):
+++ *
+++ * Portions Copyrighted 2013 Sun Microsystems, Inc.
++  */
++ package org.netbeans.modules.test.refactoring.operators;
++ 
++diff --git a/refactoring.java/test/unit/data/SimpleJ2SEApp/nbproject/build-impl.xml b/refactoring.java/test/unit/data/SimpleJ2SEApp/nbproject/build-impl.xml
++index 16ef3bf94..04e73d239 100644
++--- a/refactoring.java/test/unit/data/SimpleJ2SEApp/nbproject/build-impl.xml
+++++ b/refactoring.java/test/unit/data/SimpleJ2SEApp/nbproject/build-impl.xml
++@@ -1180,7 +1180,7 @@ is divided into following sections:
++     <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
++         <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
++         <startprofiler/>
++-        <antcall target="run-test-with-main"/>
+++        <antcal target="run-test-with-main"/>
++     </target>
++     <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
++         <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
++diff --git a/refactoring.java/test/unit/data/SimpleJ2SEAppChild/nbproject/build-impl.xml b/refactoring.java/test/unit/data/SimpleJ2SEAppChild/nbproject/build-impl.xml
++index 7a48b79d5..b5f7c3473 100644
++--- a/refactoring.java/test/unit/data/SimpleJ2SEAppChild/nbproject/build-impl.xml
+++++ b/refactoring.java/test/unit/data/SimpleJ2SEAppChild/nbproject/build-impl.xml
++@@ -1188,7 +1188,7 @@ is divided into following sections:
++     <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
++         <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
++         <startprofiler/>
++-        <antcall target="run-test-with-main"/>
+++        <antcal target="run-test-with-main"/>
++     </target>
++     <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
++         <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ChangeParametersTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ChangeParametersTest.java
++index 9024e3c88..2922cb676 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ChangeParametersTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ChangeParametersTest.java
++@@ -72,92 +72,6 @@ public class ChangeParametersTest extends RefactoringTestBase {
++         JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
++     }
++     
++-    public void testDoNotChangeModifiers258034() throws Exception {
++-        writeFilesAndWaitForScan(src,
++-                new File("t/A.java", "package t; public class A {\n"
++-                        + "    /**\n"
++-                        + "     * \n"
++-                        + "     * @param x the value of x\n"
++-                        + "     */\n"
++-                        + "    protected void testMethod(int a, int x) {\n"
++-                        + "         System.out.println(x);\n"
++-                        + "    }\n"
++-                        + "\n"
++-                        + "    public static void main(string[] args) {\n"
++-                        + "        testMethod(2, 1);\n"
++-                        + "    }\n"
++-                        + "}\n"),
++-                new File("t/B.java", "package t; public class B extends A {\n"
++-                        + "    public void testMethod(int a, int b) {\n"
++-                        + "         int x = a;\n"
++-                        + "    }\n"
++-                        + "}\n"));
++-        ParameterInfo[] paramTable = new ParameterInfo[]{new ParameterInfo(0, "b", "int", null), new ParameterInfo(1, "x", "int", null)};
++-        performChangeParameters(null, null, null, paramTable, Javadoc.NONE, 1, false);
++-        verifyContent(src,
++-                new File("t/A.java", "package t; public class A {\n"
++-                        + "    /**\n"
++-                        + "     * \n"
++-                        + "     * @param x the value of x\n"
++-                        + "     */\n"
++-                        + "    protected void testMethod(int b, int x) {\n"
++-                        + "         System.out.println(x);\n"
++-                        + "    }\n"
++-                        + "\n"
++-                        + "    public static void main(string[] args) {\n"
++-                        + "        testMethod(2, 1);\n"
++-                        + "    }\n"
++-                        + "}\n"),
++-                new File("t/B.java", "package t; public class B extends A {\n"
++-                        + "    public void testMethod(int a, int b) {\n"
++-                        + "         int x = a;\n"
++-                        + "    }\n"
++-                        + "}\n"));
++-    }
++-    
++-    public void testForceChangeModifiers258034() throws Exception {
++-        writeFilesAndWaitForScan(src,
++-                new File("t/A.java", "package t; public class A {\n"
++-                        + "    /**\n"
++-                        + "     * \n"
++-                        + "     * @param x the value of x\n"
++-                        + "     */\n"
++-                        + "    protected void testMethod(int a, int x) {\n"
++-                        + "         System.out.println(x);\n"
++-                        + "    }\n"
++-                        + "\n"
++-                        + "    public static void main(string[] args) {\n"
++-                        + "        testMethod(2, 1);\n"
++-                        + "    }\n"
++-                        + "}\n"),
++-                new File("t/B.java", "package t; public class B extends A {\n"
++-                        + "    public void testMethod(int a, int b) {\n"
++-                        + "         int x = a;\n"
++-                        + "    }\n"
++-                        + "}\n"));
++-        ParameterInfo[] paramTable = new ParameterInfo[]{new ParameterInfo(0, "b", "int", null), new ParameterInfo(1, "x", "int", null)};
++-        performChangeParameters(EnumSet.noneOf(Modifier.class), null, null, paramTable, Javadoc.NONE, 1, false);
++-        verifyContent(src,
++-                new File("t/A.java", "package t; public class A {\n"
++-                        + "    /**\n"
++-                        + "     * \n"
++-                        + "     * @param x the value of x\n"
++-                        + "     */\n"
++-                        + "    void testMethod(int b, int x) {\n"
++-                        + "         System.out.println(x);\n"
++-                        + "    }\n"
++-                        + "\n"
++-                        + "    public static void main(string[] args) {\n"
++-                        + "        testMethod(2, 1);\n"
++-                        + "    }\n"
++-                        + "}\n"),
++-                new File("t/B.java", "package t; public class B extends A {\n"
++-                        + "    void testMethod(int a, int b) {\n"
++-                        + "         int x = a;\n"
++-                        + "    }\n"
++-                        + "}\n"));
++-    }
++-    
++     public void test255269() throws Exception {
++         writeFilesAndWaitForScan(src,
++                 new File("t/A.java", "package t;\n"
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/CopyClassTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/CopyClassTest.java
++index 7e0ca7bcc..6d70c88cd 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/CopyClassTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/CopyClassTest.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2009-2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesPerfTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesPerfTest.java
++index 8223e2b41..ed1c72b7e 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesPerfTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesPerfTest.java
++@@ -51,7 +51,6 @@ import org.openide.filesystems.FileObject;
++ import java.io.*;
++ import javax.lang.model.element.PackageElement;
++ import junit.framework.Test;
++-import org.netbeans.api.fileinfo.NonRecursiveFolder;
++ import org.netbeans.api.java.source.*;
++ import org.netbeans.junit.Log;
++ import org.netbeans.junit.NbModuleSuite;
++@@ -114,7 +113,7 @@ public class FindUsagesPerfTest extends RefPerfTestCase {
++                 public void run(CompilationController controller) throws Exception {
++                     controller.toPhase(JavaSource.Phase.RESOLVED);
++ 
++-                    final RefactoringUI ui = WhereUsedQueryUI.factory().create(controller, new TreePathHandle[]{element}, null, new NonRecursiveFolder[0]);
+++                    final RefactoringUI ui = WhereUsedQueryUI.factory().create(controller, new TreePathHandle[]{element}, null, null);
++                     ui.getPanel(null);
++                     try {
++                         ui.setParameters();
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InlineTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InlineTest.java
++index fb5f44981..9216f4b9d 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InlineTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InlineTest.java
++@@ -71,60 +71,6 @@ public class InlineTest extends RefactoringTestBase {
++         JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
++     }
++     
++-    public void test258579b() throws Exception {
++-        writeFilesAndWaitForScan(src,
++-                new File("t/A.java", "package t;\n"
++-                        + "public class A {\n"
++-                        + "    public static void main(String[] args) {\n"
++-                        + "        for (foo(); ; foo(), foo()) { }\n"
++-                        + "    }\n"
++-                        + "    private void foo() {\n"
++-                        + "    }\n"
++-                        + "}\n"));
++-        final InlineRefactoring[] r = new InlineRefactoring[1];
++-        createInlineMethodRefactoring(src.getFileObject("t/A.java"), 2, r);
++-        performRefactoring(r);
++-        verifyContent(src,
++-                new File("t/A.java", "package t;\n"
++-                        + "public class A {\n"
++-                        + "    public static void main(String[] args) {\n"
++-                        + "        for (; ; ) { }\n"
++-                        + "    }\n"
++-                        + "}\n"));
++-    }
++-    
++-    public void test258579a() throws Exception {
++-        writeFilesAndWaitForScan(src,
++-                new File("t/A.java", "package t;\n"
++-                        + "public class A {\n"
++-                        + "    String greet = \"\";\n"
++-                        + "    public static void main(String[] args) {\n"
++-                        + "        new A().foo(\"\");\n"
++-                        + "    }\n"
++-                        + "    private void foo(String msg) {\n"
++-                        + "    }\n"
++-                        + "    private class Inner {\n"
++-                        + "        public void bar() {\n"
++-                        + "            foo(\"\");\n"
++-                        + "        }\n"
++-                        + "    }\n"
++-                        + "}\n"));
++-        final InlineRefactoring[] r = new InlineRefactoring[1];
++-        createInlineMethodRefactoring(src.getFileObject("t/A.java"), 3, r);
++-        performRefactoring(r);
++-        verifyContent(src,
++-                new File("t/A.java", "package t;\n"
++-                        + "public class A {\n"
++-                        + "    String greet = \"\";\n"
++-                        + "    public static void main(String[] args) {\n"
++-                        + "    }\n"
++-                        + "    private class Inner {\n"
++-                        + "        public void bar() {\n"
++-                        + "        }\n"
++-                        + "    }\n"
++-                        + "}\n"));
++-    }
++-    
++     public void test216817() throws Exception {
++         writeFilesAndWaitForScan(src,
++                 new File("t/A.java", "package t;\n"
++@@ -471,6 +417,7 @@ public class InlineTest extends RefactoringTestBase {
++                 new File("t/B.java", "package t;\n"
++                 + "public class B {\n"
++                 + "    public void testMethodB(A a) {\n"
+++                + "        ;\n"
++                 + "    }\n"
++                 + "}"));
++     }
++@@ -1481,6 +1428,7 @@ public class InlineTest extends RefactoringTestBase {
++                 + "public class A {\n"
++                 + "    public int getRating() {\n"
++                 + "        System.out.println(\"Less then five?\");\n"
+++                + "        ;\n"
++                 + "        System.out.println(\"Less then five?\");\n"
++                 + "        return (numberOfLateDeliveries > 5) ? 2 : 1;\n"
++                 + "    }\n"
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InnerToOutterTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InnerToOutterTest.java
++index 0390e4810..985e9d857 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InnerToOutterTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InnerToOutterTest.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2009-2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++@@ -61,50 +58,6 @@ public class InnerToOutterTest extends RefactoringTestBase {
++         super(name);
++     }
++     
++-
++-    
++-    public void test259004() throws Exception {
++-        String source;
++-        writeFilesAndWaitForScan(src,
++-                new File("t/A.java", source = "package t;\n"
++-                        + "\n"
++-                        + "import java.util.function.Consumer;\n"
++-                        + "\n"
++-                        + "public class A {\n"
++-                        + "\n"
++-                        + "public static void main(String[] args) {\n"
++-                        + "    Consumer<F> c = f -> {};\n"
++-                        + "}\n"
++-                        + "\n"
++-                        + "public static final class F {}\n"
++-                        + "}"));
++-        performInnerToOuterTest(null, source.indexOf('F') + 1);
++-        verifyContent(src,
++-                new File("t/A.java", source = "package t;\n"
++-                        + "\n"
++-                        + "import java.util.function.Consumer;\n"
++-                        + "\n"
++-                        + "public class A {\n"
++-                        + "\n"
++-                        + "public static void main(String[] args) {\n"
++-                        + "    Consumer<F> c = f -> {};\n"
++-                        + "}\n"
++-                        + "\n"
++-                        + "}"),
++-                new File("t/F.java", "/*\n"
++-                        + " * Refactoring License\n"
++-                        + " */\n"
++-                        + "\n"
++-                        + "package t;\n"
++-                        + "\n"
++-                        + "/**\n"
++-                        + " *\n"
++-                        + " * @author junit\n"
++-                        + " */\n"
++-                        + "public final class F {\n"
++-                        + "}\n"));
++-    }
++-    
++     public void test238000() throws Exception {
++         String source;
++         writeFilesAndWaitForScan(src,
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceLocalExtensionTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceLocalExtensionTest.java
++index f7bac70e2..b7be11460 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceLocalExtensionTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceLocalExtensionTest.java
++@@ -110,10 +110,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++                 .append("\n").append("        return 1;")
++                 .append("\n").append("    }");
++                 sb.append("\n").append("")
++-                .append("\n").append("    public void setSomeMagicNumber(int number) {")
++-                .append("\n").append("        this.someMagicNumber = number;")
++-                .append("\n").append("    }");
++-                sb.append("\n").append("")
++                 .append("\n").append("    /**")
++                 .append("\n").append("     * Returns <tt>true</tt> if this list contains no elements.")
++                 .append("\n").append("     *")
++@@ -770,7 +766,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++                 + "package t;\n"
++                 + "\n"
++                 + "import java.io.Serializable;\n"
++-                + "import java.time.Instant;\n"
++                 + "import java.util.Date;\n"
++                 + "\n"
++                 + "/**\n"
++@@ -912,14 +907,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++                 + "        return delegate.getTimezoneOffset();\n"
++                 + "    }\n"
++                 + "\n"
++-                + "    public static DateExt from(Instant instnt) {\n"
++-                + "        return new DateExt(Date.from(instnt));\n"
++-                + "    }\n"
++-                + "\n"
++-                + "    public Instant toInstant() {\n"
++-                + "        return delegate.toInstant();\n"
++-                + "    }\n"
++-                + "\n"
++                 + "    public boolean equals(Object o) {\n"
++                 + "        Object target = o;\n"
++                 + "        if (o instanceof DateExt) {\n"
++@@ -949,16 +936,10 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++                 .append("\n").append("package t;")
++                 .append("\n").append("")
++                 .append("\n").append("import java.util.Collection;")
++-                .append("\n").append("import java.util.Comparator;")
++                 .append("\n").append("import java.util.Iterator;")
++                 .append("\n").append("import java.util.List;")
++                 .append("\n").append("import java.util.ListIterator;")
++                 .append("\n").append("import java.util.Objects;")
++-                .append("\n").append("import java.util.Spliterator;")
++-                .append("\n").append("import java.util.function.Consumer;")
++-                .append("\n").append("import java.util.function.Predicate;")
++-                .append("\n").append("import java.util.function.UnaryOperator;")
++-                .append("\n").append("import java.util.stream.Stream;")
++                 .append("\n").append("")
++                 .append("\n").append("/**")
++                 .append("\n").append(" *")
++@@ -994,23 +975,14 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++                 .append("\n").append("        return delegate.someMagicNumber;")
++                 .append("\n").append("    }");
++                 sb1.append("\n").append("")
++-                .append("\n").append("    public static final MyList[] wrap(SingleList... singleLists) { return Arrays.stream(singleLists).map((SingleList t) -> new t.MyList(t)).toArray(t.MyList[]::new); }");
++-                sb1.append("\n").append("")
++-                .append("\n").append("    @Override public void forEach(Consumer<? super E> cnsmr) {")
++-                .append("\n").append("        delegate.forEach(cnsmr);")
++-                .append("\n").append("    }");
++-                sb1.append("\n").append("")
++-                .append("\n").append("    @Override public boolean removeIf(Predicate<? super E> prdct) {")
++-                .append("\n").append("        return delegate.removeIf(prdct);")
++-                .append("\n").append("    }");
++-                sb1.append("\n").append("")
++-                .append("\n").append("    @Override public Stream<E> stream() {")
++-                .append("\n").append("        return delegate.stream();")
+++                .append("\n").append("    /**")
+++                .append("\n").append("     * @param someMagicNumber the someMagicNumber to set")
+++                .append("\n").append("     */")
+++                .append("\n").append("    public void setSomeMagicNumber(int someMagicNumber) {")
+++                .append("\n").append("        this.delegate.someMagicNumber = someMagicNumber;")
++                 .append("\n").append("    }");
++                 sb1.append("\n").append("")
++-                .append("\n").append("    @Override public Stream<E> parallelStream() {")
++-                .append("\n").append("        return delegate.parallelStream();")
++-                .append("\n").append("    }");
+++                .append("\n").append("    public static final MyList[] wrap(SingleList... singleLists) { return Arrays.stream(singleLists).map((SingleList t) -> new t.MyList(t)).toArray(t.MyList[]::new); }");
++                 sb1.append("\n").append("")
++                 .append("\n").append("    public boolean containsAll(Collection<?> clctn) {")
++                 .append("\n").append("        return delegate.containsAll(clctn);")
++@@ -1028,18 +1000,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++                 .append("\n").append("        return delegate.toString();")
++                 .append("\n").append("    }");
++                 sb1.append("\n").append("")
++-                .append("\n").append("    @Override public void replaceAll(UnaryOperator<E> uo) {")
++-                .append("\n").append("        delegate.replaceAll(uo);")
++-                .append("\n").append("    }");
++-                sb1.append("\n").append("")
++-                .append("\n").append("    @Override public void sort(Comparator<? super E> cmprtr) {")
++-                .append("\n").append("        delegate.sort(cmprtr);")
++-                .append("\n").append("    }");
++-                sb1.append("\n").append("")
++-                .append("\n").append("    @Override public Spliterator<E> spliterator() {")
++-                .append("\n").append("        return delegate.spliterator();")
++-                .append("\n").append("    }");
++-                sb1.append("\n").append("")
++                 .append("\n").append("    public Iterator<E> iterator() {")
++                 .append("\n").append("        return delegate.iterator();")
++                 .append("\n").append("    }");
++@@ -1065,8 +1025,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++                 .append("\n").append("        return delegate.size();")
++                 .append("\n").append("    }");
++                 sb1.append("\n").append("")
++-                .append("\n").append("    public void setSomeMagicNumber(int number) { delegate.setSomeMagicNumber(number); } ");
++-                sb1.append("\n").append("")
++                 .append("\n").append("    /**")
++                 .append("\n").append("     * Returns <tt>true</tt> if this list contains no elements.")
++                 .append("\n").append("     *")
++@@ -1380,15 +1338,9 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++                 .append("\n").append("package t;")
++                 .append("\n").append("")
++                 .append("\n").append("import java.util.Collection;")
++-                .append("\n").append("import java.util.Comparator;")
++                 .append("\n").append("import java.util.Iterator;")
++                 .append("\n").append("import java.util.List;")
++                 .append("\n").append("import java.util.ListIterator;")
++-                .append("\n").append("import java.util.Spliterator;")
++-                .append("\n").append("import java.util.function.Consumer;")
++-                .append("\n").append("import java.util.function.Predicate;")
++-                .append("\n").append("import java.util.function.UnaryOperator;")
++-                .append("\n").append("import java.util.stream.Stream;")
++                 .append("\n").append("")
++                 .append("\n").append("/**")
++                 .append("\n").append(" *")
++@@ -1422,23 +1374,14 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++                 .append("\n").append("    public int getSomeMagicNumber() {")
++                 .append("\n").append("        return delegate.someMagicNumber;")
++                 .append("\n").append("    }");
++-                sb1.append("\n").append("public static final MyList[] wrap(SingleList... singleLists) { return Arrays.stream(singleLists).map((SingleList t) -> new t.MyList(t)).toArray(t.MyList[]::new); }");
++-                sb1.append("\n").append("")
++-                .append("\n").append("    @Override public void forEach(Consumer<? super E> cnsmr) {")
++-                .append("\n").append("        delegate.forEach(cnsmr);")
++-                .append("\n").append("    }");
++-                sb1.append("\n").append("")
++-                .append("\n").append("    @Override public boolean removeIf(Predicate<? super E> prdct) {")
++-                .append("\n").append("        return delegate.removeIf(prdct);")
++-                .append("\n").append("    }");
++-                sb1.append("\n").append("")
++-                .append("\n").append("    @Override public Stream<E> stream() {")
++-                .append("\n").append("        return delegate.stream();")
++-                .append("\n").append("    }");
++                 sb1.append("\n").append("")
++-                .append("\n").append("    @Override public Stream<E> parallelStream() {")
++-                .append("\n").append("        return delegate.parallelStream();")
+++                .append("\n").append("    /**")
+++                .append("\n").append("     * @param someMagicNumber the someMagicNumber to set")
+++                .append("\n").append("     */")
+++                .append("\n").append("    public void setSomeMagicNumber(int someMagicNumber) {")
+++                .append("\n").append("        this.delegate.someMagicNumber = someMagicNumber;")
++                 .append("\n").append("    }");
+++                sb1.append("\n").append("public static final MyList[] wrap(SingleList... singleLists) { return Arrays.stream(singleLists).map((SingleList t) -> new t.MyList(t)).toArray(t.MyList[]::new); }");
++                 sb1.append("\n").append("")
++                 .append("\n").append("    public boolean containsAll(Collection<?> clctn) {")
++                 .append("\n").append("        return delegate.containsAll(clctn);")
++@@ -1456,18 +1399,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++                 .append("\n").append("        return delegate.toString();")
++                 .append("\n").append("    }");
++                 sb1.append("\n").append("")
++-                .append("\n").append("    @Override public void replaceAll(UnaryOperator<E> uo) {")
++-                .append("\n").append("        delegate.replaceAll(uo);")
++-                .append("\n").append("    }");
++-                sb1.append("\n").append("")
++-                .append("\n").append("    @Override public void sort(Comparator<? super E> cmprtr) {")
++-                .append("\n").append("        delegate.sort(cmprtr);")
++-                .append("\n").append("    }");
++-                sb1.append("\n").append("")
++-                .append("\n").append("    @Override public Spliterator<E> spliterator() {")
++-                .append("\n").append("        return delegate.spliterator();")
++-                .append("\n").append("    }");
++-                sb1.append("\n").append("")
++                 .append("\n").append("    public Iterator<E> iterator() {")
++                 .append("\n").append("        return delegate.iterator();")
++                 .append("\n").append("    }");
++@@ -1493,8 +1424,6 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++                 .append("\n").append("        return delegate.size();")
++                 .append("\n").append("    }");
++                 sb1.append("\n").append("")
++-                .append("\n").append("    public void setSomeMagicNumber(int number) { delegate.setSomeMagicNumber(number); } ");
++-                sb1.append("\n").append("")
++                 .append("\n").append("    /**")
++                 .append("\n").append("     * Returns <tt>true</tt> if this list contains no elements.")
++                 .append("\n").append("     *")
++@@ -1797,8 +1726,8 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++     
++     public void testNameClash() throws Exception {
++         writeFilesAndWaitForScan(src,
++-                new File("t/A.java", "package t; import java.util.*; public class A { public static void main(String[] args) { Exception ex = new IllegalFormatException(); } }"));
++-        performIntroduceLocalExtension("IllegalFormatException", false, true, "t", IntroduceLocalExtensionRefactoring.Equality.DELEGATE);
+++                new File("t/A.java", "package t; import java.util.*; public class A { public static void main(String[] args) { List<String> lijst = new ArrayList<String>(); } }"));
+++        performIntroduceLocalExtension("ArrayList", false, true, "t", IntroduceLocalExtensionRefactoring.Equality.DELEGATE);
++         StringBuilder sb1 = new StringBuilder();
++         //<editor-fold defaultstate="collapsed" desc="Result">
++         sb1.append("/*")
++@@ -1806,18 +1735,32 @@ public class IntroduceLocalExtensionTest extends RefactoringTestBase {
++         .append("\n").append(" */")
++         .append("\n").append("package t;")
++         .append("\n").append("")
+++        .append("\n").append("import java.util.Collection;")
+++        .append("\n").append("")
++         .append("\n").append("/**")
++         .append("\n").append(" *")
++         .append("\n").append(" * @author junit")
++         .append("\n").append(" */")
++-        .append("\n").append("public class IllegalFormatException extends java.util.IllegalFormatException {")
+++        .append("\n").append("public class ArrayList<E> extends java.util.ArrayList<E> {")
+++        .append("\n").append("")
+++        .append("\n").append("    public ArrayList(int arg0) {")
+++        .append("\n").append("        super(arg0);")
+++        .append("\n").append("    }")
+++        .append("\n").append("")
+++        .append("\n").append("    public ArrayList() {")
+++        .append("\n").append("        super();")
+++        .append("\n").append("    }")
+++        .append("\n").append("")
+++        .append("\n").append("    public ArrayList(Collection<? extends E> arg0) {")
+++        .append("\n").append("        super(arg0);")
+++        .append("\n").append("    }")
++         .append("\n").append("")
++         .append("\n").append("}")
++         .append("\n");
++         //</editor-fold>
++         verifyContent(src,
++-                new File("t/A.java", "package t; import java.util.*; public class A { public static void main(String[] args) { Exception ex = new t.IllegalFormatException(); } }"),
++-                new File("t/IllegalFormatException.java", sb1.toString()));
+++                new File("t/A.java", "package t; import java.util.*; public class A { public static void main(String[] args) { List<String> lijst = new t.ArrayList<String>(); } }"),
+++                new File("t/ArrayList.java", sb1.toString()));
++     }
++     
++     private void performIntroduceLocalExtensionInterface(final String source, final String name, final boolean wrap, final boolean replace, final String packageName, final IntroduceLocalExtensionRefactoring.Equality equality, Problem... expectedProblems) throws Exception {
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceParameterTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceParameterTest.java
++index 2c2a1da89..d01f2f01f 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceParameterTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceParameterTest.java
++@@ -67,45 +67,6 @@ public class IntroduceParameterTest extends RefactoringTestBase {
++         super(name);
++     }
++     
++-    public void testAbstractMethod() throws Exception {
++-        String source;
++-        writeFilesAndWaitForScan(src,
++-                new File("t/A.java", source = "package t;\n"
++-                + "public abstract class A {\n"
++-                + "public abstract int cislo(int a);\n"
++-                + "public void m() {\n"
++-                + "    System.out.println(cislo(1));\n"
++-                + "}\n"
++-                + "}\n"),
++-                new File("t/F.java", "package t;\n"
++-                + "public class F extends A {\n"
++-                + "    public int cislo(int a) {\n"
++-                + "        return 2;\n"
++-                + "    }\n"
++-                + "    public void bar() {\n"
++-                + "        System.out.println(cislo(1) + 1);\n"
++-                + "    }\n"
++-                + "}\n"));
++-        performIntroduce(src.getFileObject("t/A.java"), source.lastIndexOf("int a") +4, Javadoc.NONE, false, false );
++-        verifyContent(src,
++-                new File("t/A.java", "package t;\n"
++-                + "public abstract class A {\n"
++-                + "public abstract int cislo(int a, int introduced);\n"
++-                + "public void m() {\n"
++-                + "    System.out.println(cislo(1, 1));\n"
++-                + "}\n"
++-                + "}\n"),
++-                new File("t/F.java", "package t;\n"
++-                + "public class F extends A {\n"
++-                + "    public int cislo(int a, int introduced) {\n"
++-                + "        return 2;\n"
++-                + "    }\n"
++-                + "    public void bar() {\n"
++-                + "        System.out.println(cislo(1, 1) + 1);\n"
++-                + "    }\n"
++-                + "}\n"));
++-    }
++-    
++     public void test238154() throws Exception {
++         String source;
++         writeFilesAndWaitForScan(src,
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBase.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBaseTest.java
++similarity index 99%
++rename from refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBase.java
++rename to refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBaseTest.java
++index 2dca75574..ce2cfbab0 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBase.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBaseTest.java
++@@ -67,9 +67,9 @@ import org.openide.util.lookup.Lookups;
++  *
++  * @author Ralph Ruijs <ralphbenjamin at netbeans.org>
++  */
++-public class MoveBase extends RefactoringTestBase {
+++public class MoveBaseTest extends RefactoringTestBase {
++ 
++-    public MoveBase(String name) {
+++    public MoveBaseTest(String name) {
++         super(name);
++     }
++     
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassTest.java
++index d0b2a0977..2da3239a9 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassTest.java
++@@ -48,7 +48,7 @@ import org.netbeans.modules.refactoring.api.Problem;
++  *
++  * @author Ralph Ruijs <ralphbenjamin at netbeans.org>
++  */
++-public class MoveClassTest extends MoveBase {
+++public class MoveClassTest extends MoveBaseTest {
++ 
++     public MoveClassTest(String name) {
++         super(name);
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveFieldTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveFieldTest.java
++index 6e71a6dfa..535fcabd1 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveFieldTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveFieldTest.java
++@@ -48,7 +48,7 @@ import org.netbeans.modules.refactoring.java.api.JavaMoveMembersProperties.Visib
++  *
++  * @author Ralph Ruijs
++  */
++-public class MoveFieldTest extends MoveBase {
+++public class MoveFieldTest extends MoveBaseTest {
++ 
++     public MoveFieldTest(String name) {
++         super(name);
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveJavaFileTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveJavaFileTest.java
++index 4475b8322..ba7b2b9ce 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveJavaFileTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveJavaFileTest.java
++@@ -165,7 +165,7 @@ public class MoveJavaFileTest extends RefactoringTestBase {
++         performMoveClass(Lookups.singleton(src.getFileObject("u/B.java")), new URL(src.getURL(), "t/"));
++         verifyContent(src,
++                       new File("t/package-info.java", "package t;"),
++-                      new File("A.java", "import t.B; public class A { public void foo() { int d = B.c; } }"),
+++                      new File("A.java", " import t.B; public class A { public void foo() { int d = B.c; } }"),
++                       new File("t/B.java", "package t; public class B { public static int c = 5; }"));
++     }
++     
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveMethodTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveMethodTest.java
++index f9a1a520f..f865b74f8 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveMethodTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveMethodTest.java
++@@ -48,7 +48,7 @@ import org.netbeans.modules.refactoring.java.api.JavaMoveMembersProperties.Visib
++  *
++  * @author Ralph Ruijs
++  */
++-public class MoveMethodTest extends MoveBase {
+++public class MoveMethodTest extends MoveBaseTest {
++ 
++     public MoveMethodTest(String name) {
++         super(name);
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefTestBase.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefTestBase.java
++index 396521716..5a859d31f 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefTestBase.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefTestBase.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2009-2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefactoringTestBase.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefactoringTestBase.java
++index 31a198e71..babac6c47 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefactoringTestBase.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefactoringTestBase.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2009-2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2009-2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RenameTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RenameTest.java
++index 579af3935..a6d856c0c 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RenameTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RenameTest.java
++@@ -70,33 +70,6 @@ public class RenameTest extends RefactoringTestBase {
++         super(name);
++     }
++     
++-    public void testStaticImportDoubled() throws Exception {
++-        writeFilesAndWaitForScan(src, new File("Test.java", "import static java.util.Objects.requireNonNull;\n"
++-                + "\n"
++-                + "public class Test {\n"
++-                + "\n"
++-                + "final int number;\n"
++-                + "\n"
++-                + "public Test(final Integer number) {\n"
++-                + "    this.number = requireNonNull(number);\n"
++-                + "}\n"
++-                + "\n"
++-                + "}"));
++-        JavaRenameProperties props = new JavaRenameProperties();
++-        performRename(src.getFileObject("Test.java"), 0, -1, "getal", props, true);
++-        verifyContent(src, new File("Test.java", "import static java.util.Objects.requireNonNull;\n"
++-                + "\n"
++-                + "public class Test {\n"
++-                + "\n"
++-                + "final int getal;\n"
++-                + "\n"
++-                + "public Test(final Integer number) {\n"
++-                + "    this.getal = requireNonNull(number);\n"
++-                + "}\n"
++-                + "\n"
++-                + "}"));
++-    }
++-    
++     public void testMethodChainInTest() throws Exception {
++         writeFilesAndWaitForScan(src,
++                 new File("t/SampleClass.java", "package t;\n"
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithBuilderTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithBuilderTest.java
++index 41f0a9d5c..c114d4dd2 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithBuilderTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithBuilderTest.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
++diff --git a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithFactoryTest.java b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithFactoryTest.java
++index 996fff666..e0ae9426d 100644
++--- a/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithFactoryTest.java
+++++ b/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/ReplaceConstructorWithFactoryTest.java
++@@ -1,10 +1,7 @@
++ /*
++  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
++  *
++- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
++- *
++- * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
++- * Other names may be trademarks of their respective owners.
+++ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
++  *
++  * The contents of this file are subject to the terms of either the GNU
++  * General Public License Version 2 only ("GPL") or the Common
++@@ -16,9 +13,9 @@
++  * specific language governing permissions and limitations under the
++  * License.  When distributing the software, include this License Header
++  * Notice in each file and include the License file at
++- * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+++ * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
++  * particular file as subject to the "Classpath" exception as provided
++- * by Oracle in the GPL Version 2 section of the License file that
+++ * by Sun in the GPL Version 2 section of the License file that
++  * accompanied this code. If applicable, add the following below the
++  * License Header, with the fields enclosed by brackets [] replaced by
++  * your own identifying information:
diff --cc debian/patches/netbeans-spi.java.hints-1.patch
index 0000000,0000000..96cc947
new file mode 100644
--- /dev/null
+++ b/debian/patches/netbeans-spi.java.hints-1.patch
@@@ -1,0 -1,0 +1,43 @@@
++From: Markus Koschany <apo at debian.org>
++Date: Sun, 25 Dec 2016 22:48:08 +0100
++Subject: netbeans spi.java.hints
++
++Ugly workaround for a FTBFS due to missing OpenJDK 9 classes. Module was
++replaced with the one from 8.1.
++
++Forwarded: not-needed
++---
++ .../src/org/netbeans/modules/java/hints/spiimpl/Utilities.java      | 6 ++----
++ 1 file changed, 2 insertions(+), 4 deletions(-)
++
++diff --git a/spi.java.hints/src/org/netbeans/modules/java/hints/spiimpl/Utilities.java b/spi.java.hints/src/org/netbeans/modules/java/hints/spiimpl/Utilities.java
++index ef23abdb9..925217ef6 100644
++--- a/spi.java.hints/src/org/netbeans/modules/java/hints/spiimpl/Utilities.java
+++++ b/spi.java.hints/src/org/netbeans/modules/java/hints/spiimpl/Utilities.java
++@@ -76,7 +76,6 @@ import com.sun.tools.javac.api.JavacTrees;
++ import com.sun.tools.javac.code.Flags;
++ import com.sun.tools.javac.code.Symtab;
++ import com.sun.tools.javac.code.Type;
++-import com.sun.tools.javac.comp.ArgumentAttr;
++ import com.sun.tools.javac.comp.Attr;
++ import com.sun.tools.javac.comp.AttrContext;
++ import com.sun.tools.javac.comp.Enter;
++@@ -658,8 +657,8 @@ public class Utilities {
++         resolve.disableAccessibilityChecks();
++         Enter enter = Enter.instance(jti.getContext());
++         enter.shadowTypeEnvs(true);
++-        ArgumentAttr argumentAttr = ArgumentAttr.instance(jti.getContext());
++-        ArgumentAttr.LocalCacheContext cacheContext = argumentAttr.withLocalCacheContext();
+++        //ArgumentAttr argumentAttr = ArgumentAttr.instance(jti.getContext());
+++        //ArgumentAttr.LocalCacheContext cacheContext = argumentAttr.withLocalCacheContext();
++         try {
++             Attr attr = Attr.instance(jti.getContext());
++             Env<AttrContext> env = ((JavacScope) scope).getEnv();
++@@ -667,7 +666,6 @@ public class Utilities {
++                 return attr.attribExpr((JCTree) tree,env, Type.noType);
++             return attr.attribStat((JCTree) tree,env);
++         } finally {
++-            cacheContext.leave();
++             log.useSource(prev);
++             log.popDiagnosticHandler(discardHandler);
++             resolve.restoreAccessbilityChecks();
diff --cc debian/patches/series
index a34d693,0000000..d374d93
mode 100644,000000..100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@@ -1,36 -1,0 +1,46 @@@
 +netbeans-platform-disable-net.java-modules.patch
 +netbeans-platform-empty-binaries-list.patch
 +netbeans-platform-jemmy.patch
 +netbeans-platform-junitlib.patch
 +netbeans-platform-nbi.patch
 +netbeans-platform-nojnabinaries.patch
 +netbeans-platform-o.n.html.ko4j.patch
 +netbeans-platform-properties.patch
 +netbeans-empty-binaries-list.patch
 +antlr-3.5.2.patch
 +db.dataview-setRowFilter-method.patch
 +javaewah-version.patch
 +netbeans-build.patch
 +netbeans-cluster-properties.patch
 +netbeans-CommandLineParser.patch
 +netbeans-commons-net.patch
 +netbeans-com.sun.tools.hc.patch
 +netbeans-dlight.nativeexecution.patch
 +netbeans-ide-launcher.patch
 +netbeans-javacc.patch
 +netbeans-libs.jaxb.patch
 +netbeans-nocopy.patch
 +netbeans-o.apache.tools.ant.module.patch
 +netbeans-o.n.bootstrap.patch
 +netbeans-slf4j.dummy.patch
 +netbeans-small-ide.patch
 +netbeans-spi.java.hints.patch
 +netbeans-updatecenters.patch
 +netbeans-wildUpperBound.patch
 +netbeans-xml.jaxb.api.patch
 +netbeans-xsl-httpserver.patch
 +osgi-update.patch
 +reproducible-build.patch
 +netbeans-extexecution.patch
 +netbeans-svnclientadapter.patch
 +netbeans-lib.nbjavac.patch
++netbeans-java.source.patch
++netbeans-java.source.base.patch
++netbeans-java.completion.patch
++netbeans-java.sourceui.patch
++netbeans-spi.java.hints-1.patch
++netbeans-refactoring-java.patch
++netbeans-java.editor.patch
++netbeans-java.debug.patch
++netbeans-java.hints.patch
++netbeans-javadoc.patch
diff --cc debian/rules
index 9216cb6,0000000..c9eeeef
mode 100755,000000..100755
--- a/debian/rules
+++ b/debian/rules
@@@ -1,200 -1,0 +1,200 @@@
 +#!/usr/bin/make -f
 +
 +export JAVA_HOME=/usr/lib/jvm/default-java
 +export TZ=UTC
 +
 +# Included clusters
 +pkg-nb                         := netbeans
 +base-apisupport                := apisupport3
 +base-ide                       := ide14
 +base-java                      := java5
 +base-nb                        := nb
 +base-platform                  := platform18
 +
 +pkg-apisupport                 := libnb-$(base-apisupport)-java
 +pkg-ide                        := libnb-$(base-ide)-java
 +pkg-java                       := libnb-$(base-java)-java
 +
 +
 +NBDIR := /usr/share/netbeans
 +export JAVADIR := /usr/share/java
 +
 +JH_JAR           := jhall.jar
 +JSEARCH_JAR      := jsearch.jar
 +NB_JH_JAR        := jhall-2.0_05.jar
 +NB_JSEARCH_JAR   := jsearch-2.0_05.jar
 +
 +NB_INSTALL_DIR   := usr/share/netbeans
 +
 +
 +INSTALL          := dh_install -p
 +LINK             := dh_link -p
 +
 +DEB_UPSTREAM_VERSION = $(shell dpkg-parsechangelog | \
 +                       grep -e '^Version' | \
 +                       perl -pi -e 's/^Version:\s+(.*)\+dfsg\d+-\d+.*$$/$$1/')
 +
 +BUILDSTAMP := $(shell date --utc --date="`dpkg-parsechangelog -SDate`" "+%Y%m%d")
 +BUILD_DATE := $(shell dpkg-parsechangelog --show-field=Date)
 +
 +# Defined function to be used to create symlinks
 +define symlink
 +	mkdir -p $(dir $(2))
 +	ln -sf $(1) $(2)
 +endef
 +
 +%:
 +	dh $@ --with javahelper
 +
 +
 +override_dh_auto_build:
 +	# w3c-sgml-lib: needed for xml validation, otherwise FTBFS
 +	mkdir -p nbbuild/external/xhtml1-dtds
 +	ln -sf /usr/share/xml/w3c-sgml-lib/schema/dtd/REC-xhtml1-20020801/xhtml* nbbuild/external/xhtml1-dtds
 +	ln -sf /usr/share/xml/w3c-sgml-lib/schema/dtd/REC-xhtml-modularization-20100729/xhtml* nbbuild/external/xhtml1-dtds
 +	# link Debian's system jars
 +	$(shell awk 'NF==4 {printf("ln -sf %s %s/%s;\n",$$1,$$2,$$4)}' debian/linked-jars)
 +	# ReproducibleBuilds TimestampsInZip
 +	# https://wiki.debian.org/ReproducibleBuilds/TimestampsInZip
 +	find '$(CURDIR)' -newermt '$(BUILD_DATE)' -print0 | \
 +		xargs -0r touch --no-dereference --date='$(BUILD_DATE)'
 +	################################################################
 +	# Build the IDE. DISPLAY must be unset to avoid build failures.
 +	unset DISPLAY; ant \
 +	-Dbuildstamp=$(BUILDSTAMP) \
 +	-Dhg.id=debian-$(DEB_UPSTREAM_VERSION) \
 +	-Dpermit.jdk8.builds=true \
 +	-Dbuild.compiler.deprecation=false \
 +	-Dbuild.compiler.debug=false \
 +	-Dext.binaries.downloaded=true \
 +	-Dverify.checkout=false \
 +	-Dcluster.config=basic \
 +	-f nbbuild/build.xml build-nozip
 +	# Convert the *.icns hicolor icon into a png icon
 +	icns2png -x -s 128x128 -d 32 ide.branding/release/netbeans.icns
 +
 +
 +
 +override_dh_auto_install:
 +	# recreate links
 +	$(shell awk 'NF==4 {printf("ln -sf %s nbbuild/netbeans/%s/%s;\n",$$1,$$3,$$4)}' debian/linked-jars)
 +	# Install libraries
 +	mh_installjar -plibnb-absolutelayout-java -l debian/pom/AbsoluteLayout.xml \
 +		nbbuild/netbeans/java/modules/ext/AbsoluteLayout.jar
 +	mh_installpom -plibnb-absolutelayout-java debian/pom/AbsoluteLayout.xml
 +	#
 +	# Install IDE package files
 +	echo > nbbuild/netbeans/ide/.noautoupdate
 +	echo > nbbuild/netbeans/ide/.lastModified
 +	$(INSTALL)$(pkg-ide) nbbuild/netbeans/ide/*               $(NB_INSTALL_DIR)/$(base-ide)
 +	$(INSTALL)$(pkg-ide) nbbuild/netbeans/ide/.noautoupdate   $(NB_INSTALL_DIR)/$(base-ide)
 +	$(INSTALL)$(pkg-ide) nbbuild/netbeans/ide/.lastModified   $(NB_INSTALL_DIR)/$(base-ide)
 +	# See netbeans-slf4j.dummy.patch for further information
 +	$(LINK)$(pkg-ide) usr/share/java/slf4j-api.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/slf4j-dummy.jar
 +	# Symlink IDE modules to corresponding system jar files
 +	$(LINK)$(pkg-ide) usr/share/java/org.eclipse.jgit.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/org-eclipse-jgit.jar
 +	$(LINK)$(pkg-ide) usr/share/java/org.eclipse.jgit.java7.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/org-eclipse-jgit-java7.jar
 +	$(LINK)$(pkg-ide) usr/share/java/sqljet.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/sqljet.jar
 +	$(LINK)$(pkg-ide) usr/share/java/svnClientAdapter.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/svnClientAdapter-main.jar
 +	$(LINK)$(pkg-ide) usr/share/java/svn-javahl.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/svnjavahl.jar
 +	$(LINK)$(pkg-ide) usr/share/java/svnkit-javahl16.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/svnkit-javahl16.jar
 +	$(LINK)$(pkg-ide) usr/share/java/trilead-ssh2.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/trilead.ssh2.jar
 +	$(LINK)$(pkg-ide) usr/share/java/jsch.agentproxy.usocket-jna.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/jsch-agentproxy-usocket-jna.jar
 +	$(LINK)$(pkg-ide) usr/share/java/htmlparser.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/html5-parser.jar
 +	$(LINK)$(pkg-ide) usr/share/java/jsch.agentproxy.sshagent.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/jsch-agentproxy-sshagent.jar
 +	$(LINK)$(pkg-ide) usr/share/java/jsch.agentproxy.pageant.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/jsch-agentproxy-pageant.jar
 +	$(LINK)$(pkg-ide) usr/share/java/jsch.agentproxy.core.jar $(NB_INSTALL_DIR)/$(base-ide)/modules/ext/jsch-agentproxy-core.jar
 +	# Make hostinfo.sh executable to silence Lintian warning about script-not-exectuable
 +	find . -type f -name "hostinfo.sh" -exec chmod a+x {} \;
 +
 +	# Install Java package files
 +	echo > nbbuild/netbeans/java/.noautoupdate
 +	echo > nbbuild/netbeans/java/.lastModified
 +	$(INSTALL)$(pkg-java) nbbuild/netbeans/extide/*           $(NB_INSTALL_DIR)/$(base-java)
 +	$(INSTALL)$(pkg-java) nbbuild/netbeans/java/*             $(NB_INSTALL_DIR)/$(base-java)
 +	$(INSTALL)$(pkg-java) nbbuild/netbeans/java/.noautoupdate $(NB_INSTALL_DIR)/$(base-java)
 +	$(INSTALL)$(pkg-java) nbbuild/netbeans/java/.lastModified $(NB_INSTALL_DIR)/$(base-java)
 +	# Link in Ant libraries and binaries
 +	-rmdir debian/$(pkg-java)/$(NB_INSTALL_DIR)/$(base-java)/ant/lib
 +	$(LINK)$(pkg-java)    usr/share/ant/bin     $(NB_INSTALL_DIR)/$(base-java)/ant/bin
 +	$(LINK)$(pkg-java)    usr/share/ant/etc     $(NB_INSTALL_DIR)/$(base-java)/ant/etc
 +	$(LINK)$(pkg-java)    usr/share/ant/lib     $(NB_INSTALL_DIR)/$(base-java)/ant/lib
 +	# Link in AbsoluteLayout jar
 +	-rm debian/$(pkg-java)/$(NB_INSTALL_DIR)/$(base-java)/modules/ext/AbsoluteLayout.jar
 +	$(LINK)$(pkg-java)    usr/share/java/AbsoluteLayout.jar  $(NB_INSTALL_DIR)/$(base-java)/modules/ext/AbsoluteLayout.jar
 +
 +	# Install API support package files
 +	echo > nbbuild/netbeans/apisupport/.noautoupdate
 +	echo > nbbuild/netbeans/apisupport/.lastModified
 +	$(INSTALL)$(pkg-apisupport) nbbuild/netbeans/apisupport/*              $(NB_INSTALL_DIR)/$(base-apisupport)
 +	$(INSTALL)$(pkg-apisupport) nbbuild/netbeans/apisupport/.noautoupdate  $(NB_INSTALL_DIR)/$(base-apisupport)
 +	$(INSTALL)$(pkg-apisupport) nbbuild/netbeans/apisupport/.lastModified  $(NB_INSTALL_DIR)/$(base-apisupport)
 +	# Install Netbeans package files
 +	echo > nbbuild/netbeans/nb/.noautoupdate
 +	$(INSTALL)$(pkg-nb) nbbuild/netbeans/nb/*               $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/nb
 +	$(INSTALL)$(pkg-nb) nbbuild/netbeans/nb/.lastModified   $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/nb
 +	$(INSTALL)$(pkg-nb) nbbuild/netbeans/nb/.noautoupdate   $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/nb
 +	$(INSTALL)$(pkg-nb) nbbuild/netbeans/bin/*              $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/bin
 +	$(INSTALL)$(pkg-nb) nbbuild/netbeans/CREDITS.html                 usr/share/$(pkg-nb)
 +	$(INSTALL)$(pkg-nb) nbbuild/netbeans/README.html                  usr/share/$(pkg-nb)
 +	$(INSTALL)$(pkg-nb) nbbuild/netbeans/netbeans.css                 usr/share/$(pkg-nb)
 +	# Install 128x128 netbeans icon to hicolor directory
 +	mv netbeans_128x128x32.png netbeans.png
 +	$(INSTALL)$(pkg-nb) netbeans.png usr/share/icons/hicolor/128x128/apps
 +	$(LINK)$(pkg-nb)    $(NB_INSTALL_DIR)/$(base-platform) $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/platform
 +	$(LINK)$(pkg-nb)    $(NB_INSTALL_DIR)/harness          $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/harness
 +	$(LINK)$(pkg-nb)    $(NB_INSTALL_DIR)/$(base-apisupport) $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/apisupport
 +	$(LINK)$(pkg-nb)    $(NB_INSTALL_DIR)/$(base-ide)        $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/ide
 +	$(LINK)$(pkg-nb)    $(NB_INSTALL_DIR)/$(base-java)       $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/java
 +	# Symlink netbeans icon to the appropriate hicolor directory
 +	$(LINK)$(pkg-nb) $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/nb/netbeans.png \
 +	/usr/share/icons/hicolor/32x32/apps/netbeans.png
 +
 +	# Create file marker to avoid displaying license dialog at first IDE start
 +	echo > debian/license_accepted
 +	$(INSTALL)$(pkg-nb) debian/license_accepted $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/nb/var
 +	# Install file productid used by autoupdate to report installation type
 +	$(INSTALL)$(pkg-nb) debian/productid   $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/nb/config
 +
 +	# Install netbeans.conf
 +	$(INSTALL)$(pkg-nb) nbbuild/netbeans/etc/netbeans.conf etc
 +	$(LINK)$(pkg-nb) etc/netbeans.conf $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/etc/netbeans.conf
 +
 +	# Install netbeans.xpm icon
 +	$(INSTALL)$(pkg-nb) debian/icons/netbeans.xpm usr/share/pixmaps
 +
 +	# Install netbeans.clusters
 +	$(INSTALL)$(pkg-nb) nbbuild/netbeans/etc/netbeans.clusters etc
 +	$(LINK)$(pkg-nb) etc/netbeans.clusters $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/etc/netbeans.clusters
 +
 +	# Install netbeans.import which is a required file when importing settings
 +	# from an older version of Netbeans (see also #808908)
 +	$(INSTALL)$(pkg-nb) nbbuild/netbeans/etc/netbeans.import etc
 +	$(LINK)$(pkg-nb) etc/netbeans.import $(NB_INSTALL_DIR)/$(DEB_UPSTREAM_VERSION)/etc/netbeans.import
 +
 +	# Install launcher
 +	$(INSTALL)$(pkg-nb) nbbuild/netbeans/bin/netbeans usr/bin
 +
 +	# Install desktop file
 +	$(INSTALL)$(pkg-nb) debian/netbeans.desktop usr/share/applications
 +
 +
 +override_dh_auto_clean:
 +	$(call symlink, $(JAVADIR)/$(JH_JAR), javahelp/external/$(NB_JH_JAR))
 +	$(call symlink, $(JAVADIR)/$(JSEARCH_JAR), apisupport.harness/external/$(NB_JSEARCH_JAR))
- 	ant -Dpermit.jdk7.builds=true -f nbbuild/build.xml clean
++	ant -Dpermit.jdk8.builds=true -f nbbuild/build.xml clean
 +	mh_clean
 +	# remove all the symlinks to jar files we created
 +	find . -name "*.jar" -type l -delete
 +	$(RM) -r nbbuild/external/xhtml1-dtds
 +	$(RM) nbbuild/nbproject/private/scan-cache-standard.ser
 +	$(RM) debian/license_accepted
 +	$(RM) swingapp/src/org/netbeans/modules/swingapp/resources/CRUDShellApp.zip
 +	$(RM) swingapp/src/org/netbeans/modules/swingapp/resources/BasicShellApp.zip
 +
 +override_jh_depends:
 +	# Skipping jh_depends run - since we use symlinks to /usr/share/java then
 +	# jh_depends gets it wrong.
 +
 +get-orig-source:
 +	uscan --verbose --download-current-version --force-download

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/netbeans.git



More information about the pkg-java-commits mailing list