Merge pull request #5693 from mbien/fix-maven-compiler-plugin-checks

[maven hints] try to infer compiler plugin version from active maven version.
diff --git a/enterprise/api.web.webmodule/src/org/netbeans/modules/web/spi/webmodule/WebPrivilegedTemplates.java b/enterprise/api.web.webmodule/src/org/netbeans/modules/web/spi/webmodule/WebPrivilegedTemplates.java
index da0b9a2..139588e 100644
--- a/enterprise/api.web.webmodule/src/org/netbeans/modules/web/spi/webmodule/WebPrivilegedTemplates.java
+++ b/enterprise/api.web.webmodule/src/org/netbeans/modules/web/spi/webmodule/WebPrivilegedTemplates.java
@@ -38,7 +38,7 @@
      *         by a framework and then appropriate templates for the framework can be offered
      *         in the list of privileged list of templates.
      *
-     * @return full paths to privileged templates, e.g. <samp>Templates/Other/XmlFile.xml</samp>; never null.
+     * @return full paths to privileged templates, e.g. <code>Templates/Other/XmlFile.xml</code>; never null.
      */
     public String[] getPrivilegedTemplates(WebModule webModule);
 }
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/OpenServiceConsoleAction.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/OpenServiceConsoleAction.java
index ad2a6df..2bf9e01 100644
--- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/OpenServiceConsoleAction.java
+++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/OpenServiceConsoleAction.java
@@ -33,7 +33,7 @@
 
 @ActionID(
         category = "Tools",
-        id = "org.netbeans.modules.cloud.oracle.OpenServiceConsoleAction"
+        id = "org.netbeans.modules.cloud.oracle.actions.OpenServiceConsoleAction"
 )
 @ActionRegistration(
         displayName = "#CTL_OpenServiceConsoleAction"
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/database/DatabaseNode.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/database/DatabaseNode.java
index 01f2ca6..94af7f8 100644
--- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/database/DatabaseNode.java
+++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/database/DatabaseNode.java
@@ -81,7 +81,7 @@
                         DatabaseItem item = new DatabaseItem(
                                 OCID.of(d.getId(), "Databases"), //NOI18N
                                 d.getDbName(),
-                                d.getServiceConsoleUrl(),
+                                d.getConnectionUrls().getApexUrl().replace("apex", "admin/_sdw"),
                                 getConnectionName(profiles));
                         StringBuilder sb = new StringBuilder();
                         sb.append(Bundle.LBL_WorkloadType(d.getDbWorkload().getValue()));
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/DescriptionInterface.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/DescriptionInterface.java
index 5a7b23a..e39e82b 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/DescriptionInterface.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/DescriptionInterface.java
@@ -69,7 +69,7 @@
     public String getDefaultDescription();
 
     /**
-     * Returns all description elements in the form of <@link java.util.Map>. 
+     * Returns all description elements in the form of {@link java.util.Map}. 
      *
      * @return map of all descriptions in the form of [locale:description]
      */
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/DisplayNameInterface.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/DisplayNameInterface.java
index 2892a5f..fcd4b4b 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/DisplayNameInterface.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/DisplayNameInterface.java
@@ -69,7 +69,7 @@
     public String getDefaultDisplayName();
     
     /**
-     * Returns all display-name elements in the form of <@link java.util.Map>. 
+     * Returns all display-name elements in the form of {@link java.util.Map}. 
      *
      * @return map of all display-names in the form of [locale:display-name]
      */
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/IconInterface.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/IconInterface.java
index 2e13cab..eb20e84 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/IconInterface.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/IconInterface.java
@@ -109,7 +109,7 @@
      */
     public org.netbeans.modules.j2ee.dd.api.common.Icon getDefaultIcon();
     /**
-     * Returns all icon elements in the form of <@link java.util.Map>. 
+     * Returns all icon elements in the form of {@link java.util.Map}. 
      *
      * @return map of all icons in the form of [locale:String[]{smallIcon, largeIcon}]
      */
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/RootInterface.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/RootInterface.java
index a943b7d..91bfc93 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/RootInterface.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/common/RootInterface.java
@@ -67,8 +67,8 @@
      *
      *	Then,
      *		MERGE_UPDATE is 	G1 - E1 + E2	(G1 becomes G2)
-     *		MERGE_UNION is 	G1 U G2 <=> G1 + E2
-     *		MERGE_INTERSECT is	G1 n G2 <=> (G1 U G2) - E1 - E2
+     *		MERGE_UNION is 	G1 U G2 &lt;=&gt; G1 + E2
+     *		MERGE_INTERSECT is	G1 n G2 &lt;=&gt; (G1 U G2) - E1 - E2
      *</pre>
      * @param root of the bean graph that is merged with actual bean graph
      * @param mode type of merging (INTERSECT, UNION, UPDATE)
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/FilterMapping.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/FilterMapping.java
index 4e853c2..6237f29 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/FilterMapping.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/FilterMapping.java
@@ -69,7 +69,6 @@
          */
 	public java.lang.String getDispatcher(int index) throws VersionNotSupportedException;
         /** Setter for dispatcher property.
-         * @param index position in the array of dispatchers
          * @param value array of dispatcher properties
          */
 	public void setDispatcher(java.lang.String[] value) throws VersionNotSupportedException;
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/JspPropertyGroup.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/JspPropertyGroup.java
index bc9f616..c4aad5f 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/JspPropertyGroup.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/JspPropertyGroup.java
@@ -37,7 +37,6 @@
          */
 	public java.lang.String getUrlPattern(int index);
         /** Setter for url-pattern property.
-         * @param index position in the array of url-patterns
          * @param value array of url-pattern properties
          */
 	public void setUrlPattern(java.lang.String[] value);
@@ -102,7 +101,6 @@
          */
 	public java.lang.String getIncludePrelude(int index);
         /** Setter for include-prelude property.
-         * @param index position in the array of include-preludes
          * @param value array of include-prelude properties
          */
 	public void setIncludePrelude(java.lang.String[] value);
@@ -135,7 +133,6 @@
          */
 	public java.lang.String getIncludeCoda(int index);
         /** Setter for include-coda property.
-         * @param index position in the array of include-codas
          * @param value array of include-coda properties
          */
 	public void setIncludeCoda(java.lang.String[] value);
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/ServletMapping.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/ServletMapping.java
index 98c77e7..7f2dda8 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/ServletMapping.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/ServletMapping.java
@@ -34,7 +34,6 @@
          */
 	public java.lang.String getServletName();
         /** Getter for url-pattern property. Use ServletMapping25.setUrlPattern(int, String) instead.
-         * @return property value 
          */
         @Deprecated
 	public void setUrlPattern(java.lang.String value);
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/WebFragment.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/WebFragment.java
index 6e7f9e2..a311565 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/WebFragment.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/WebFragment.java
@@ -22,7 +22,7 @@
  * Interface for WebFragment element.<br>
  * The WebFragment object is the root of bean graph generated<br>
  * for deployment descriptor(web-fragment.xml) file.<br>
- * For getting the root (WebFragment object) use the {@link WebFragmentProvider#getDDRoot} method.
+ * For getting the root (WebFragment object) use the {@link WebFragmentProvider#getWebFragmentRoot(org.openide.filesystems.FileObject) } method.
  *
  *<p><b><font color="red"><em>Important note: Do not provide an implementation of this interface unless you are a DD API provider!</em></font></b>
  *</p>
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/WebResourceCollection.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/WebResourceCollection.java
index 8eb7ee1a..236d3b0 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/WebResourceCollection.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/WebResourceCollection.java
@@ -45,7 +45,6 @@
          */
 	public java.lang.String getUrlPattern(int index);
         /** Setter for url-pattern property.
-         * @param index position in the array of url-patterns
          * @param value array of url-pattern properties
          */
 	public void setUrlPattern(java.lang.String[] value);
@@ -78,7 +77,6 @@
          */
 	public java.lang.String getHttpMethod(int index);
         /** Setter for http-method property.
-         * @param index position in the array of http-methods
          * @param value array of http-method properties
          */
 	public void setHttpMethod(java.lang.String[] value);
diff --git a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/WelcomeFileList.java b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/WelcomeFileList.java
index 6e9a054..057b652 100644
--- a/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/WelcomeFileList.java
+++ b/enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/api/web/WelcomeFileList.java
@@ -36,7 +36,6 @@
          */
 	public java.lang.String getWelcomeFile(int index);
         /** Setter for welcome-file property.
-         * @param index position in the array of welcome-files
          * @param value array of welcome-file properties
          */
 	public void setWelcomeFile(java.lang.String[] value);
diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/J2eeModule.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/J2eeModule.java
index aff9693..ea375a0 100644
--- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/J2eeModule.java
+++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/J2eeModule.java
@@ -92,14 +92,14 @@
     /**
      * J2EE specification version 1.3
      * @since 1.5
-     * @deprecated use {@link Profile#J2EE_13}
+     * @deprecated use {@link org.netbeans.api.j2ee.core.Profile#J2EE_13}
      */
     @Deprecated
     public static final String J2EE_13 = "1.3"; //NOI18N
     /**
      * J2EE specification version 1.4
      * @since 1.5
-     * @deprecated use {@link Profile#J2EE_14}
+     * @deprecated use {@link org.netbeans.api.j2ee.core.Profile#J2EE_14}
      */
     @Deprecated
     public static final String J2EE_14 = "1.4"; //NOI18N
@@ -108,7 +108,7 @@
      * JAVA EE 5 specification version
      *
      * @since 1.6
-     * @deprecated use {@link Profile#JAVA_EE_5}
+     * @deprecated use {@link org.netbeans.api.j2ee.core.Profile#JAVA_EE_5}
      */
     @Deprecated
     public static final String JAVA_EE_5 = "1.5"; // NOI18N
diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/J2eePlatform.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/J2eePlatform.java
index 5261a0d..4369d27 100644
--- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/J2eePlatform.java
+++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/J2eePlatform.java
@@ -479,7 +479,7 @@
      * @param moduleType one of the constants defined in
      *   {@link org.netbeans.modules.j2ee.deployment.devmodules.api.J2eeModule}
      * @return list of supported J2EE specification versions.
-     * @deprecated use {@link #getSupportedProfiles(java.lang.Object)}
+     * @deprecated use {@link #getSupportedProfiles(Type)}
      */
     @Deprecated
     public Set<String> getSupportedSpecVersions(Object moduleType) {
@@ -513,9 +513,9 @@
 
     /**
      * Returns the set of supported profiles (terminology of Java EE 6) for
-     * the given module type (one of {@link J2eeModule#EAR},
-     * {@link J2eeModule#EJB}, {@link J2eeModule#WAR}, {@link J2eeModule#RAR}
-     * and {@link J2eeModule#CAR}).
+     * the given module type (one of {@link J2eeModule.Type#EAR},
+     * {@link J2eeModule.Type#EJB}, {@link J2eeModule.Type#WAR}, {@link J2eeModule.Type#RAR}
+     * and {@link J2eeModule.Type#CAR}).
      *
      * @param moduleType type of the module
      * @return set of {@link Profile}s supported by the server.
@@ -711,7 +711,6 @@
     /**
      * Lookup providing a way to find non mandatory technologies supported
      * by the platform.
-     * <p>
      * <div class="nonnormative">
      * The typical example of such support is a webservice stack.
      * </div>
diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/ServerInstance.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/ServerInstance.java
index ec170d2..e21f9a7 100644
--- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/ServerInstance.java
+++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/ServerInstance.java
@@ -285,7 +285,7 @@
 
         /**
          * Returns the set of libraries the server has access to and can be deployed
-         * on request (by call to {@link #deployRequiredLibraries(java.util.Set)}.
+         * on request (by call to {@link org.netbeans.modules.j2ee.deployment.devmodules.api.ServerInstance.LibraryManager#deployLibraries(java.util.Set)}.
          *
          * @return the set of libraries which can be deployed on server
          */
diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/spi/J2eeModuleProvider.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/spi/J2eeModuleProvider.java
index ab72ebb..e3c0011 100644
--- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/spi/J2eeModuleProvider.java
+++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/spi/J2eeModuleProvider.java
@@ -516,7 +516,7 @@
          * Removes the listener listening for deploy on save.
          * 
          * @param listener listener to remove
-         * @see #addDeployOnSaveListener(org.netbeans.modules.j2ee.deployment.devmodules.spi.J2eeModuleProvider.DeployOnSaveListener)
+         * @see #addDeployOnSaveListener(DeployOnSaveListener)
          * @since 1.97
          */
         public void removeDeployOnSaveListener( DeployOnSaveListener listener );
diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/api/ServerLibrary.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/api/ServerLibrary.java
index 3df993e..60c9480 100644
--- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/api/ServerLibrary.java
+++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/api/ServerLibrary.java
@@ -54,7 +54,6 @@
     /**
      * Returns the specification title of the library. May return
      * <code>null</code>.
-     * <p>
      * <div class="nonnormative">
      * For example specification title for JSF would be JavaServer Faces.
      * </div>
@@ -80,7 +79,6 @@
     /**
      * Returns the implementation title of the library. May return
      * <code>null</code>.
-     * <p>
      * <div class="nonnormative">
      * For example specification title for MyFaces implementation of JSF
      * this would be something like MyFaces.
diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/api/ServerLibraryDependency.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/api/ServerLibraryDependency.java
index 4ce21d7..168ab02 100644
--- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/api/ServerLibraryDependency.java
+++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/api/ServerLibraryDependency.java
@@ -165,7 +165,7 @@
     }
 
     /**
-     * @{@inheritDoc}
+     * {@inheritDoc}
      *
      * Dependencies are equal if they have the same name, specification version,
      * implementation version and exact match flag.
@@ -219,7 +219,7 @@
     }
 
     /**
-     * @{@inheritDoc}
+     * {@inheritDoc}
      * <p>
      * Implementation consistent with {@link #equals(java.lang.Object)}.
      * @see #equals(java.lang.Object)
diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/J2eePlatformImpl.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/J2eePlatformImpl.java
index 90f7ca8..b0c34f3 100644
--- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/J2eePlatformImpl.java
+++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/J2eePlatformImpl.java
@@ -131,7 +131,7 @@
      * class.
      *
      * @return list of supported J2EE specification versions.
-     * @deprecated override {@link #getSupportedProfiles()} and {@link #getSupportedProfiles(java.lang.Object)}
+     * @deprecated override {@link #getSupportedProfiles()} and {@link #getSupportedProfiles(Type)}
      */
     @Deprecated
     public Set<String> getSupportedSpecVersions() {
@@ -151,7 +151,7 @@
      * @param moduleType one of the constants defined in 
      *   {@link org.netbeans.modules.j2ee.deployment.devmodules.api.J2eeModule}
      * @return list of supported J2EE specification versions.
-     * @deprecated override {@link #getSupportedProfiles()} and {@link #getSupportedProfiles(java.lang.Object)}
+     * @deprecated override {@link #getSupportedProfiles()} and {@link #getSupportedProfiles(Type)}
      */
     @Deprecated
     public Set <String> getSupportedSpecVersions(Object moduleType) {
@@ -181,7 +181,7 @@
     /**
      * Returns a set of supported profiles for the given module type
      * (one of {@link J2eeModule#EAR}, {@link J2eeModule#EJB},
-     * {@link J2eeModule#WAR}, {@link J2eeModule#RAR} and {@link J2eeModule#CAR}).
+     * {@link J2eeModule#WAR}, {@link org.netbeans.modules.j2ee.deployment.devmodules.api.J2eeModule.Type#RAR} and {@link org.netbeans.modules.j2ee.deployment.devmodules.api.J2eeModule.Type#CAR}).
      * By default method converts specification version returned by
      * {@link #getSupportedSpecVersions(java.lang.Object)} to profiles.
      *
@@ -316,7 +316,6 @@
     /**
      * Lookup providing a way to find non mandatory technologies supported
      * by the platform.
-     * <p>
      * <div class="nonnormative">
      * The typical example of such support is a webservice stack.
      * </div>
diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/OldJSPDebug.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/OldJSPDebug.java
index 257f36e..feb3b9f 100644
--- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/OldJSPDebug.java
+++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/OldJSPDebug.java
@@ -32,7 +32,7 @@
  */
 public interface OldJSPDebug extends FindJSPServlet {
 
-    /** Creates a servlet <-> JSP mapping for a given JSP. May be null if the server is not running
+    /** Creates a servlet &lt;-&gt; JSP mapping for a given JSP. May be null if the server is not running
      *  or the page has not been compiled. Also may be null if the server plugin does not support
      *  creation of the line mapping information.
      * @param module web module in which the JSP is located.
@@ -42,7 +42,7 @@
      */
     public JspSourceMapper getSourceMapper(TargetModuleID module, String jspResourcePath);
     
-    /** Provides common interface for JSP <----> Java mappings */
+    /** Provides common interface for JSP &lt;----&gt; Java mappings */
     public interface JspSourceMapper {
         
         /** Converts the JSP file name (from the string int the servlet comments into
diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/ServerLibraryImplementation.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/ServerLibraryImplementation.java
index 446e7d2..7cac2a0 100644
--- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/ServerLibraryImplementation.java
+++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/ServerLibraryImplementation.java
@@ -35,7 +35,6 @@
     /**
      * Returns the specification title of the library. May return
      * <code>null</code>.
-     * <p>
      * <div class="nonnormative">
      * For example specification title for JSF would be JavaServer Faces.
      * </div>
@@ -48,7 +47,6 @@
     /**
      * Returns the implementation title of the library. May return
      * <code>null</code>.
-     * <p>
      * <div class="nonnormative">
      * For example specification title for MyFaces implementation of JSF
      * this would be something like MyFaces.
diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/ServerLibraryManager.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/ServerLibraryManager.java
index ab5f1bf..af6a367 100644
--- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/ServerLibraryManager.java
+++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/ServerLibraryManager.java
@@ -37,7 +37,7 @@
 
     /**
      * Returns the set of libraries the server has access to and can be deployed
-     * on request (by call to {@link #deployRequiredLibraries(java.util.Set)}.
+     * on request (by call to {@link org.netbeans.modules.j2ee.deployment.devmodules.api.ServerInstance.LibraryManager#deployLibraries(java.util.Set)}.
      *
      * @return the set of libraries which can be deployed on server
      */
diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/config/ModuleConfigurationFactory2.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/config/ModuleConfigurationFactory2.java
index ae8d568..e7198cf 100644
--- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/config/ModuleConfigurationFactory2.java
+++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/config/ModuleConfigurationFactory2.java
@@ -40,7 +40,7 @@
      * 
      * @param j2eeModule J2EE module the created ModuleConfigucation should be 
      *        associated with
-     * @param deployment URL of the target server instance
+     * @param instanceUrl  URL of the target server instance
      * 
      * @return ModuleConfiguration associated with the specified J2EE module
      */    
diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/config/ServerLibraryConfiguration.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/config/ServerLibraryConfiguration.java
index c11a17f..2bab489 100644
--- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/config/ServerLibraryConfiguration.java
+++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/plugins/spi/config/ServerLibraryConfiguration.java
@@ -42,7 +42,7 @@
      * to work properly.
      * <p>
      * Once library is configured it should be present in the result
-     * of the {@link #getRequiredLibraries()} call.
+     * of the {@link #getLibraries()} call.
      *
      * @param library the library the enterprise module needs in order to work
      *             properly
diff --git a/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java b/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java
index 193f4a3..bbf2118 100644
--- a/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java
+++ b/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java
@@ -91,6 +91,7 @@
 import org.gradle.api.plugins.ExtensionAware;
 import org.gradle.api.plugins.ExtensionContainer;
 import org.gradle.api.plugins.ExtensionsSchema.ExtensionSchema;
+import org.gradle.api.plugins.ExtraPropertiesExtension;
 import org.gradle.api.provider.Provider;
 import org.gradle.api.reflect.HasPublicType;
 import org.gradle.api.reflect.TypeOf;
@@ -100,6 +101,7 @@
 import org.gradle.api.tasks.TaskDependency;
 import org.gradle.api.tasks.bundling.Jar;
 import org.gradle.api.tasks.testing.Test;
+import org.gradle.internal.extensibility.DefaultExtraPropertiesExtension;
 import org.gradle.jvm.JvmLibrary;
 import org.gradle.language.base.artifact.SourcesArtifact;
 import org.gradle.language.java.artifact.JavadocArtifact;
@@ -121,6 +123,11 @@
      * project loader is enabled to FINER level.
      */
     private static final Logger LOG =  Logging.getLogger(NbProjectInfoBuilder.class);
+
+    /**
+     * Name of the default extensibility point for various domain objects defined by Gradle.
+     */
+    private static final String DEFAULT_EXTENSION_NAME = "ext"; // NOI18N
     
     private static final String NB_PREFIX = "netbeans.";
     private static final Set<String> CONFIG_EXCLUDES = new HashSet<>(asList( new String[]{
@@ -536,32 +543,45 @@
         return adapter.isMutableType(potentialValue);
     }
     
+    private void addNestedKeys(String prefix, Map<String, String> propertyTypes, Collection<String> keys) {
+            propertyTypes.merge(prefix + COLLECTION_KEYS_MARKER, String.join(";;", keys), (old, add) -> {
+                List<String> oldList = new ArrayList<>(Arrays.asList(old.split(";;")));
+                List<String> newList = Arrays.asList(add.split(";;"));
+                oldList.addAll(newList);
+                return String.join(";;", oldList);
+            });
+    }
+    
     private void inspectObjectAndValues0(Class clazz, Object object, String prefix, Map<String, Map<String, String>> globalTypes, Map<String, String> propertyTypes, Map<String, Object> defaultValues, Set<String> excludes, boolean type) {
         Class nonDecorated = findNonDecoratedClass(clazz);
         
         // record object's type first, even though the value may be excluded (i.e. ignored class). Do not add types for collection or map items -- to much clutter.
+        String typeKey = prefix;
+        if (prefix.endsWith(".")) {
+            typeKey = prefix.substring(0, prefix.length() - 1);
+        } else {
+            typeKey = prefix;
+        }
         if (type) {
-            String typeKey = prefix;
-            if (prefix.endsWith(".")) {
-                typeKey = prefix.substring(0, prefix.length() - 1);
-            } else {
-                typeKey = prefix;
-            }
             if (propertyTypes.putIfAbsent(typeKey, nonDecorated.getName()) != null && object == null) {
                 // type already introspected, no value to fetch properties from.
                 return;
             }
         }
-        if (clazz == null || (excludes == null && ignoreClassesPattern.matcher(clazz.getName()).matches())) {
+        
+        if (clazz == null || clazz.isEnum()) {
             return;
         }
-        if (clazz.isEnum() || clazz.isArray()) {
+        if (clazz.isArray() || (excludes == null && ignoreClassesPattern.matcher(clazz.getName()).matches())) {
+            // try to dump as a list/map
+            dumpValue(object, typeKey, propertyTypes, defaultValues, clazz, null);
             return;
         }
 
         MetaClass mclazz = GroovySystem.getMetaClassRegistry().getMetaClass(clazz);
         Map<String, String> globTypes = globalTypes.computeIfAbsent(nonDecorated.getName(), cn -> new HashMap<>());
         List<MetaProperty> props = mclazz.getProperties();
+        List<String> addedKeys = new ArrayList<>();
         for (MetaProperty mp : props) {
             Class propertyDeclaringClass = null;
             String getterName = null;
@@ -656,6 +676,8 @@
                 }
             }
             
+            addedKeys.add(propName);
+            
             String cn = findNonDecoratedClass(t).getName();
             globTypes.put(propName, cn);
             propertyTypes.put(prefix + propName, cn);
@@ -675,6 +697,7 @@
                         itemClass = findIterableItemClass(pubType.getConcreteClass());
                     }
                     propertyTypes.put(prefix + propName + COLLECTION_TYPE_MARKER, COLLECTION_TYPE_NAMED);
+                    propertyTypes.put(prefix + propName, findNonDecoratedClass(t).getName());
                     if (itemClass != null) {
                         propertyTypes.put(prefix + propName + COLLECTION_ITEM_MARKER, itemClass.getName());
                         newPrefix = prefix + propName + COLLECTION_ITEM_PREFIX; // NOI18N
@@ -683,88 +706,10 @@
 
                     NamedDomainObjectContainer nc = (NamedDomainObjectContainer)value;
                     Map<String, ?> m = new HashMap<>(nc.getAsMap());
-                    List<String> ss = new ArrayList<>(m.keySet());
-                    propertyTypes.put(prefix + propName + COLLECTION_KEYS_MARKER, String.join(";;", ss));
-                    for (Map.Entry<String, ?> it : m.entrySet()) {
-                        String k = it.getKey();
-                        newPrefix = prefix + propName + "." + k + "."; // NOI18N
-                        Object v = it.getValue();
-                        defaultValues.put(prefix + propName + "." + k, Objects.toString(v)); // NOI18N
-                        inspectObjectAndValues(v.getClass(), v, newPrefix, globalTypes, propertyTypes, defaultValues, null, false);
-                    }
+                    dumpContainerProperties(m, prefix + propName, defaultValues);
                     dumped = true;
-                } else if (Iterable.class.isAssignableFrom(t)) {
-                    itemClass = findIterableItemClass(t);
-                    if (itemClass == null && typeParameters != null && !typeParameters.isEmpty()) {
-                        if (typeParameters.get(0) instanceof Class) {
-                            itemClass = (Class)typeParameters.get(0);
-                        }
-                    }
-                    
-                    propertyTypes.put(prefix + propName + COLLECTION_TYPE_MARKER, COLLECTION_TYPE_LIST);
-                    if (itemClass != null) {
-                        cn = findNonDecoratedClass(itemClass).getName();
-                        propertyTypes.put(prefix + propName + COLLECTION_ITEM_MARKER, cn);
-                        String newPrefix = prefix + propName + COLLECTION_ITEM_PREFIX; // NOI18N
-                        if (!cn.startsWith("java.lang.") && !Provider.class.isAssignableFrom(t)) { //NOI18N
-                            inspectObjectAndValues(itemClass, null, newPrefix, globalTypes, propertyTypes, defaultValues);
-                        }
-                    }
-                    
-                    if (value instanceof Iterable) {
-                        int index = 0;
-                        try {
-                            for (Object o : (Iterable)value) {
-                                String newPrefix = prefix + propName + "[" + index + "]."; // NOI18N
-                                defaultValues.put(prefix + propName + "[" + index + "]", Objects.toString(o)); //NOI18N
-                                inspectObjectAndValues(o.getClass(), o, newPrefix, globalTypes, propertyTypes, defaultValues, null, false);
-                                index++;
-                            }
-                        } catch (RuntimeException ex) {
-                            // values cannot be obtained
-                        }
-                        dumped = true;
-                    }
-                } else if (value instanceof Map) {
-                    Map mvalue = (Map)value;
-                    Set<Object> ks = mvalue.keySet();
-                    Class keyClass = findIterableItemClass(ks.getClass());
-                    if (keyClass == null || keyClass == java.lang.Object.class) {
-                        boolean ok = true;
-                        for (Object k : ks) {
-                            if (!(k instanceof String)) {
-                                ok = false;
-                            }
-                        }
-                        if (ok) {
-                            keyClass = String.class;
-                        }
-                    }
-                    if (keyClass == String.class) {
-                        itemClass = findIterableItemClass(mvalue.values().getClass());
-
-                        String keys = ks.stream().map(k -> k.toString()).map((String k) -> k.replace(";", "\\;")).collect(Collectors.joining(";;"));
-                        propertyTypes.put(prefix + propName + COLLECTION_KEYS_MARKER, keys);
-                        
-                        propertyTypes.put(prefix + propName + COLLECTION_TYPE_MARKER, COLLECTION_TYPE_MAP);
-                        if (itemClass != null) {
-                            cn = findNonDecoratedClass(itemClass).getName();
-                            propertyTypes.put(prefix + propName + COLLECTION_ITEM_MARKER, cn);
-                            String newPrefix = prefix + propName + COLLECTION_ITEM_PREFIX; // NOI18N
-                            if (!cn.startsWith("java.lang.") && !Provider.class.isAssignableFrom(t)) { //NOI18N
-                                inspectObjectAndValues(itemClass, null, newPrefix, globalTypes, propertyTypes, defaultValues);
-                            }
-                        }
-
-                        for (Object o : ks) {
-                            String k = o.toString();
-                            String newPrefix = prefix + propName + "[" + k + "]"; // NOI18N
-                            Object v = mvalue.get(o);
-                            defaultValues.put(newPrefix, Objects.toString(v)); // NOI18N
-                            inspectObjectAndValues(v.getClass(), v, newPrefix + ".", globalTypes, propertyTypes, defaultValues, null, itemClass == null);
-                        }
-                        dumped = true;
-                    }
+                } else {
+                    dumped = dumpValue(value, prefix + propName, propertyTypes, defaultValues, t, typeParameters);
                 }
                 
                 if (!dumped) {
@@ -777,6 +722,129 @@
                 }
             }
         }
+        addNestedKeys(typeKey, propertyTypes, addedKeys);
+    }
+    
+    private void dumpContainerProperties(Map<String, ?> m, String prefix, Map<String, Object> defaultValues) {
+        // merge with other properties
+        addNestedKeys(prefix, propertyTypes, m.keySet());
+
+        for (Map.Entry<String, ?> it : m.entrySet()) {
+            String k = it.getKey();
+            String newPrefix = prefix + "." + k + "."; // NOI18N
+            Object v = it.getValue();
+            defaultValues.put(prefix + "." + k, Objects.toString(v)); // NOI18N
+            inspectObjectAndValues(v.getClass(), v, newPrefix, globalTypes, propertyTypes, defaultValues, null, false);
+        }
+    }
+    
+    private boolean dumpValue(Object value, String prefix, Map<String, String> propertyTypes, Map<String, Object> defaultValues, Class t, List<Type> typeParameters) {
+        // attemtp to enumerate membrs of a Container or an Iterable.
+        Class itemClass = null;
+        String cn = null;
+        boolean dumped = false;
+        if ((value instanceof NamedDomainObjectContainer) && (value instanceof HasPublicType)) {
+            String newPrefix;
+
+            TypeOf pubType = ((HasPublicType)value).getPublicType();
+            if (pubType != null && pubType.getComponentType() != null) {
+                itemClass = pubType.getComponentType().getConcreteClass();
+            } else {
+                itemClass = findIterableItemClass(pubType.getConcreteClass());
+            }
+            propertyTypes.put(prefix + COLLECTION_TYPE_MARKER, COLLECTION_TYPE_NAMED);
+            if (itemClass != null) {
+                propertyTypes.put(prefix + COLLECTION_ITEM_MARKER, itemClass.getName());
+                newPrefix = prefix + COLLECTION_ITEM_PREFIX; // NOI18N
+                inspectObjectAndValues(itemClass, null, newPrefix, globalTypes, propertyTypes, defaultValues);
+            }
+
+            NamedDomainObjectContainer nc = (NamedDomainObjectContainer)value;
+            Map<String, ?> m = new HashMap<>(nc.getAsMap());
+            List<String> ss = new ArrayList<>(m.keySet());
+            propertyTypes.put(prefix + COLLECTION_KEYS_MARKER, String.join(";;", ss));
+            for (String k : m.keySet()) {
+                newPrefix = prefix + "." + k + "."; // NOI18N
+                Object v = m.get(k);
+                defaultValues.put(prefix + "." + k, Objects.toString(v)); // NOI18N
+                inspectObjectAndValues(v.getClass(), v, newPrefix, globalTypes, propertyTypes, defaultValues, null, false);
+            }
+            dumped = true;
+        } else if (Iterable.class.isAssignableFrom(t)) {
+            itemClass = findIterableItemClass(t);
+            if (itemClass == null && typeParameters != null && !typeParameters.isEmpty()) {
+                if (typeParameters.get(0) instanceof Class) {
+                    itemClass = (Class)typeParameters.get(0);
+                }
+            }
+
+            propertyTypes.put(prefix + COLLECTION_TYPE_MARKER, COLLECTION_TYPE_LIST);
+            
+            if (itemClass != null) {
+                cn = findNonDecoratedClass(itemClass).getName();
+                propertyTypes.put(prefix + COLLECTION_ITEM_MARKER, cn);
+                String newPrefix = prefix + COLLECTION_ITEM_PREFIX; // NOI18N
+                if (!cn.startsWith("java.lang.") && !Provider.class.isAssignableFrom(t)) { //NOI18N
+                    inspectObjectAndValues(itemClass, null, newPrefix, globalTypes, propertyTypes, defaultValues);
+                }
+            }
+
+            if (value instanceof Iterable) {
+                int index = 0;
+                try {
+                    for (Object o : (Iterable)value) {
+                        String newPrefix = prefix + "[" + index + "]."; // NOI18N
+                        defaultValues.put(prefix + "[" + index + "]", Objects.toString(o)); //NOI18N
+                        inspectObjectAndValues(o.getClass(), o, newPrefix, globalTypes, propertyTypes, defaultValues, null, false);
+                        index++;
+                    }
+                } catch (RuntimeException ex) {
+                    // values cannot be obtained
+                }
+                dumped = true;
+            }
+        } else if (value instanceof Map) {
+            Map mvalue = (Map)value;
+            Set<Object> ks = mvalue.keySet();
+            Class keyClass = findIterableItemClass(ks.getClass());
+            if (keyClass == null || keyClass == java.lang.Object.class) {
+                boolean ok = true;
+                for (Object k : ks) {
+                    if (!(k instanceof String)) {
+                        ok = false;
+                    }
+                }
+                if (ok) {
+                    keyClass = String.class;
+                }
+            }
+            if (keyClass == String.class) {
+                itemClass = findIterableItemClass(mvalue.values().getClass());
+
+                String keys = ks.stream().map(k -> k.toString()).map((String k) -> k.replace(";", "\\;")).collect(Collectors.joining(";;"));
+                propertyTypes.put(prefix + COLLECTION_KEYS_MARKER, keys);
+
+                propertyTypes.put(prefix + COLLECTION_TYPE_MARKER, COLLECTION_TYPE_MAP);
+                if (itemClass != null) {
+                    cn = findNonDecoratedClass(itemClass).getName();
+                    propertyTypes.put(prefix + COLLECTION_ITEM_MARKER, cn);
+                    String newPrefix = prefix + COLLECTION_ITEM_PREFIX; // NOI18N
+                    if (!cn.startsWith("java.lang.") && !Provider.class.isAssignableFrom(t)) { //NOI18N
+                        inspectObjectAndValues(itemClass, null, newPrefix, globalTypes, propertyTypes, defaultValues);
+                    }
+                }
+
+                for (Object o : ks) {
+                    String k = o.toString();
+                    String newPrefix = prefix + "[" + k + "]"; // NOI18N
+                    Object v = mvalue.get(o);
+                    defaultValues.put(newPrefix, Objects.toString(v)); // NOI18N
+                    inspectObjectAndValues(v.getClass(), v, newPrefix + ".", globalTypes, propertyTypes, defaultValues, null, itemClass == null);
+                }
+                dumped = true;
+            }
+        }
+        return dumped;
     }
     
     private static Class findNonDecoratedClass(Class clazz) {
@@ -810,7 +878,7 @@
             
             Object ext;
             try {
-                ext = project.getExtensions().getByName(extName);
+                ext = container.getByName(extName);
                 if (ext == null) {
                     continue;
                 }
@@ -818,6 +886,15 @@
                 // ignore, the extension could not be obtained, ignore.
                 continue;
             }
+            
+            // special case for 'ext' DefaultProperiesExtension whose properties are 'merged' with the base object
+            // can be read in the buildscript as if the object itself defined them
+            if (DEFAULT_EXTENSION_NAME.equals(extName) && (ext instanceof ExtraPropertiesExtension)) {
+                String p = prefix.endsWith(".") ? prefix.substring(0, prefix.length() - 1) : prefix;
+                dumpContainerProperties(((ExtraPropertiesExtension)ext).getProperties(), p, values);
+                continue;
+            }
+            
             Class c = findNonDecoratedClass(ext.getClass());
             propertyTypes.put(prefix + extName, c.getName());
             inspectObjectAndValues(ext.getClass(), ext, prefix + extName + ".", globalTypes, propertyTypes, values);
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/BuildPropertiesSupport.java b/extide/gradle/src/org/netbeans/modules/gradle/api/BuildPropertiesSupport.java
index 091992e..1f8590a 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/api/BuildPropertiesSupport.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/api/BuildPropertiesSupport.java
@@ -45,11 +45,11 @@
  * then use
  * <ul>
  * <li>{@link BuildPropertiesSupport#findExtensionProperty(java.lang.String, java.lang.String)}, or
- * <li>{@link BuildPropertiesSupport#findTaskProperty(java.lang.String, java.lang.String)
+ * <li>{@link BuildPropertiesSupport#findTaskProperty(java.lang.String, java.lang.String)}
  * </ul>
  * <p>
  * There's a limited support for maps and lists. If a {@link Property} indicates a {@link BuildPropertiesSupport.PropertyKind#MAP} type, it is
- * possible to use {@link #keys} to enumerate keys of the map. For {@link PropertyKidn#LIST}s, {@link #items} enumerate items of the list.
+ * possible to use {@link #keys} to enumerate keys of the map. For {@link PropertyKind#LIST}s, {@link #items} enumerate items of the list.
  * @author sdedic
  * @since 2.28
  */
@@ -180,10 +180,12 @@
     }
     
     /**
-     * Returns keys of map-style properties. Works only for properties of {@link PropertyKind#MAP}.
-     * @param owner
-     * @return 
+     * Returns keys of map-style properties. Works only for properties of {@link PropertyKind#MAP} or
+     * {@link PropertyKind#STRUCTURE}. May return an empty list, if keys cannot be enumerated or represented as Strings.
+     * @param owner the property
+     * @return list of keys, possibly empty. Does not return null
      */
+    @NonNull
     public Collection<String> keys(Property owner) {
         if ((owner.getKind() != PropertyKind.STRUCTURE) && (owner.getKind() != PropertyKind.MAP)) {
             return Collections.emptyList();
@@ -204,8 +206,9 @@
      * @param base the map property
      * @param key map item's key
      * @param path optional path within an item to the property.
-     * @return map item, or a property of a map item.
+     * @return map item, or a property of a map item. Null, if the item can not be found.
      */
+    @CheckForNull
     public Property get(Property base, String key, String path) {
         if ((base.getKind() != PropertyKind.MAP)) {
             return null;
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/GradleBaseProject.java b/extide/gradle/src/org/netbeans/modules/gradle/api/GradleBaseProject.java
index 76f8ddd..36d6c62 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/api/GradleBaseProject.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/api/GradleBaseProject.java
@@ -47,7 +47,7 @@
  * Note: Caching / storing this object inn a member field is discouraged. Use
  * {@link GradleBaseProject#get(Project)} instead.
  * </p>
- * @see @see <a href="https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html">org.gradle.api.Project</a>
+ * @see <a href="https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html">org.gradle.api.Project</a>
  * @since 1.0
  * @author Laszlo Kishalmi
  */
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/GradleConfiguration.java b/extide/gradle/src/org/netbeans/modules/gradle/api/GradleConfiguration.java
index 63966d6..3c21520 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/api/GradleConfiguration.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/api/GradleConfiguration.java
@@ -216,7 +216,7 @@
     /**
      * Returns the attributes of this configuration. The returned map is a
      * simplified version of the Gradle configuration
-     * {@link https://docs.gradle.org/current/javadoc/org/gradle/api/attributes/AttributeContainer.html AttributeContainer},
+     * <a href="https://docs.gradle.org/current/javadoc/org/gradle/api/attributes/AttributeContainer.html">AttributeContainer</a>,
      * where the attribute names are the keys and the attribute string values are the values.
      *
      * @return the attributes of this configuration
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/ModuleSearchSupport.java b/extide/gradle/src/org/netbeans/modules/gradle/api/ModuleSearchSupport.java
index 28d70d3..45725af 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/api/ModuleSearchSupport.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/api/ModuleSearchSupport.java
@@ -39,7 +39,6 @@
      * all for that parameter.
      *
      * @see java.util.regex.Pattern
-     * {@
      * @param group regexp matcher for the group part.
      * @param artifact regexp matcher for the artifact part.
      * @param version regexp matcher for the version part.
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/NbGradleProject.java b/extide/gradle/src/org/netbeans/modules/gradle/api/NbGradleProject.java
index ae4ebeb..b82bd8b 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/api/NbGradleProject.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/api/NbGradleProject.java
@@ -70,7 +70,7 @@
      * E.g. If we just need to know if the project is a Gradle project, there
      * is no need to go and fetch all the dependencies.
      * <p>
-     * <img src="doc-files/gradle-quality.png" alt="Quality States"/>
+     * <img src="doc-files/gradle-quality.png" alt="Quality States">
      * </p>
      * <p>
      * Gradle project is associated with the quality of the
@@ -262,9 +262,9 @@
      * the current {@link #getQuality()} level. Reason for the reload may be specified: if the reload
      * takes some time (i.e. executing Gradle build), the IDE may use the {@code reason} text to annotate
      * the ongoing progress.
-     * <p/>
+     * <p>
      * The returned {@link CompletionStage} may complete in this thread, or asynchronously in an unspecified thread.
-     * <p/>
+     * <p>
      * Note that the loading may fail, so the returned Quality may be <b>less than requested</b>. For example
      * if the project is not trusted, its Gradle build will not be executed, so the returned quality can be {@link Quality#EVALUATED}.
      * 
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/execute/ActionMapping.java b/extide/gradle/src/org/netbeans/modules/gradle/api/execute/ActionMapping.java
index b35097b..f91ea6d 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/api/execute/ActionMapping.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/api/execute/ActionMapping.java
@@ -27,7 +27,7 @@
  * <p>
  * The mapping can cause the action to be <b>disabled</b>: if {@link #getReloadRule()} == {@link ReloadRule#NEVER} and
  * {@link #getArgs()} == {@code null}. Such mapping had no effect in previous versions. This can be checked by a
- * convenience method {@link RunUtils#isActionDisabled}.
+ * convenience method {@link ActionMapping#isDisabled}.
  * @since 1.0
  * @since 2.14 concept of empty/disabled action
  * @author Laszlo Kishalmi
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/execute/GradleExecConfiguration.java b/extide/gradle/src/org/netbeans/modules/gradle/api/execute/GradleExecConfiguration.java
index 0587811..b560425 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/api/execute/GradleExecConfiguration.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/api/execute/GradleExecConfiguration.java
@@ -29,6 +29,7 @@
 import org.netbeans.modules.gradle.execute.GradleExecAccessor;
 import org.netbeans.modules.gradle.spi.actions.BeforeBuildActionHook;
 import org.netbeans.modules.gradle.execute.ProjectConfigurationSupport;
+import org.netbeans.modules.gradle.spi.actions.AfterBuildActionHook;
 import org.netbeans.modules.gradle.spi.actions.DefaultGradleActionsProvider;
 import org.netbeans.spi.project.ProjectConfiguration;
 import org.netbeans.spi.project.ProjectConfigurationProvider;
@@ -43,7 +44,7 @@
  * The configuration can be defined by the user using the UI. There are no API calls (yet) to 
  * create or manage Configurations.
  * <p>
- * <a name="request-for-invocation">One can <b>request action invocation</b> in a specific {@link GradleExecConfiguration}. In that
+ * <a name="request-for-invocation"></a>One can <b>request action invocation</b> in a specific {@link GradleExecConfiguration}. In that
  * case, {@link ActionMapping} for the action specific for the selected configuration (if defined) will be used. Also, if the {@link #getCommandLineArgs()}
  * or {@link #getProjectProperties()} are not empty, their values will be combined with the {@link ActionMapping} settings.
  * To invoke a Project Action with a specific Configuration, place the Configuration instance in the Action's context Lookup:
@@ -195,7 +196,7 @@
     /**
      * Attempts to find an effective configuration for the project. The effective configuration is the 
      * {@link ProjectConfigurationProvider#getActiveConfiguration()}, unless it has been overriden by contents of 
-     * the `context` {@link Lookup}, or by some caller. Can be used from implementations of {@link AfterBuildActionHoo},
+     * the `context` {@link Lookup}, or by some caller. Can be used from implementations of {@link AfterBuildActionHook},
      * {@link BeforeBuildActionHook} etc.
      * 
      * @param prj project
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/package-info.java b/extide/gradle/src/org/netbeans/modules/gradle/api/package-info.java
index 9343bec..7ccb07d 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/api/package-info.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/api/package-info.java
@@ -19,7 +19,7 @@
 /**
  * Domain and access classes for Gradle projects.
  * <p>
- * <img src="doc-files/gradle-classes.png" alt="Main Gradle Support Classes"/>
+ * <img src="doc-files/gradle-classes.png" alt="Main Gradle Support Classes">
  * </p>
  * @since 1.0
  */
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/loaders/ExtensionPropertiesExtractor.java b/extide/gradle/src/org/netbeans/modules/gradle/loaders/ExtensionPropertiesExtractor.java
index 1f45a2b..10c3ebe 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/loaders/ExtensionPropertiesExtractor.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/loaders/ExtensionPropertiesExtractor.java
@@ -27,6 +27,7 @@
 import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 import org.netbeans.modules.gradle.api.BuildPropertiesSupport;
 import org.netbeans.modules.gradle.spi.GradleFiles;
 import org.netbeans.modules.gradle.spi.ProjectInfoExtractor;
@@ -121,15 +122,16 @@
                 default:
                     return null;
             }
-            if (base.getName()== null || propertyPath == null) {
+            if (base.getName()== null) {
                 return null;
             }
             Object id = base.getId();
             String path;
+            String suffix = propertyPath == null ? "" : "." + propertyPath; // NOI18N
             if (id == null) {
-                path = base.getName() + "." + propertyPath; // NOI18N
+                path = base.getName() + suffix; // NOI18N
             } else if (id instanceof String) {
-                path = id.toString() + "." + propertyPath; // NOI18N
+                path = id.toString() + suffix; // NOI18N
             } else {
                 return null;
             }
@@ -170,7 +172,7 @@
             if (c == null) {
                 return null;
             }
-            return Arrays.asList(c.split(";;")).stream().map(s -> s.replaceAll("\\;", ";")).collect(Collectors.toList());
+            return Stream.of(c.split(";;")).map(s -> s.replace("\\;", ";")).collect(Collectors.toList());
         }
 
         @Override
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/spi/actions/GradleActionsProvider.java b/extide/gradle/src/org/netbeans/modules/gradle/spi/actions/GradleActionsProvider.java
index c89bb54..cd371a7 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/spi/actions/GradleActionsProvider.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/spi/actions/GradleActionsProvider.java
@@ -46,7 +46,7 @@
  * <div class="nonnormative">
  * This is an example, how to disable e.g. {@code debug.single} action in a specific configuration the user may activate:
  * {@snippet file="org/netbeans/modules/gradle/actions/declarative-actions2.xml" region="disable-action-xml"}
- * 
+ * </div>
  * @author Laszlo Kishalmi
  * @author Svata Dedic
  */
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/spi/actions/ProjectActionMappingProvider.java b/extide/gradle/src/org/netbeans/modules/gradle/spi/actions/ProjectActionMappingProvider.java
index 88e404b..301539a 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/spi/actions/ProjectActionMappingProvider.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/spi/actions/ProjectActionMappingProvider.java
@@ -36,11 +36,11 @@
  *     ProjectActionMappingProvider pamp = project.getLookup().lookup(ProjectActionMappingProvider.class);
  *     ActionMapping actionMapping = pamp.findMapping(action);
  *     GradleCommandLine cli = new GradleCommandLine(
- *             RunUtils.evaluateAcrionArgs(project, actionMapping.getArgs(), action, context));
+ *             RunUtils.evaluateActionArgs(project, actionMapping.getArgs(), action, context));
  * </pre>
  * <p>
  * Since 2.14, the Provider may return a disabled {@link ActionMapping}. Check using 
- * {@link RunUtils#isActionDisabled}, rather than just {@code == null}.
+ * {@link ActionMapping#isDisabled}, rather than just {@code == null}.
  * 
  * @author Laszlo Kishalmi
  * @since 2.6
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/spi/execute/GradleDistributionProvider.java b/extide/gradle/src/org/netbeans/modules/gradle/spi/execute/GradleDistributionProvider.java
index 3e9e1dc..74965d0 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/spi/execute/GradleDistributionProvider.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/spi/execute/GradleDistributionProvider.java
@@ -36,7 +36,7 @@
      * GradleDistribution requirements. Gradle defaults of the actual project
      * and tooling API would be used in that case (not recommended).
      *
-     * @return The {@link GradeDistribution} to use for the project.
+     * @return The {@link GradleDistribution} to use for the project.
      */
     GradleDistribution getGradleDistribution();
 
@@ -44,13 +44,13 @@
      * Add a {@link ChangeListener} to be notified when the required
      * {@link GradleDistribution} changes for the project;
      *
-     * @param l the {@link ChanegListener}
+     * @param l the {@link ChangeListener}
      */
     void addChangeListener(ChangeListener l);
 
     /**
      * Remove a registered {@link ChangeListener}.
-     * @param l the {@link ChanegListener}
+     * @param l the {@link ChangeListener}
      */
     void removeChangeListener(ChangeListener l);
 
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java b/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
index bdf327b..7fdc1dd 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
@@ -171,7 +171,7 @@
 
     /** Builder to specify additional parameters for the {@link #createGradleInit(java.io.File, java.lang.String)}
      * operation. At the end call {@link #add()} to finish the operation and 
-     * add it to the list of {@link OperationStep}s to perform.
+     * add it to the list of {@link TemplateOperation.OperationStep}s to perform.
      * 
      * @since 2.20
      */
@@ -179,7 +179,7 @@
         InitOperation() {
         }
 
-        /** Add the operation to the list of {@link OperationStep}s to perform.
+        /** Add the operation to the list of {@link TemplateOperation.OperationStep}s to perform.
          * @since 2.20
          */
         public final void add() {
diff --git a/extide/gradle/test/unit/data/buildprops/micronaut/build.gradle b/extide/gradle/test/unit/data/buildprops/micronaut/build.gradle
index 15ddebd..9e0b09a 100644
--- a/extide/gradle/test/unit/data/buildprops/micronaut/build.gradle
+++ b/extide/gradle/test/unit/data/buildprops/micronaut/build.gradle
@@ -61,7 +61,22 @@
 
 graalvmNative.binaries.main.systemProperties = [prop1 : 'value1', 'prop2': 'value2', 'prop;;3': 'value3' ];
 
+graalvmNative.binaries.main.buildArgs.addAll([ 'x', 'y', 'z' ])
+
+// define an extra property using extension mechanism
+graalvmNative.ext.weirdKeys = [ 
+    normalKey: 'Hello!',
+    'semi;key': "There",
+    'semi;;key': "DoubleSemi",
+    'semi;\\;key': "EscapedSemi"
+]
+
+// initialize a List<String>
+tasks.named('nativeCompile')  {
+    options.get().getRuntimeArgs().addAll(['a', 'b'])
+}
 
 println project.group
 println project.name
 println project.version
+println tasks.nativeCompile.options.get().getRuntimeArgs().get()
diff --git a/extide/gradle/test/unit/src/org/netbeans/modules/gradle/loaders/ExtensionPropertiesExtractorTest.java b/extide/gradle/test/unit/src/org/netbeans/modules/gradle/loaders/ExtensionPropertiesExtractorTest.java
index 2f766ba..372f303 100644
--- a/extide/gradle/test/unit/src/org/netbeans/modules/gradle/loaders/ExtensionPropertiesExtractorTest.java
+++ b/extide/gradle/test/unit/src/org/netbeans/modules/gradle/loaders/ExtensionPropertiesExtractorTest.java
@@ -20,15 +20,22 @@
 
 import java.io.File;
 import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Iterator;
+import java.util.List;
+import java.util.stream.Collectors;
 import static junit.framework.TestCase.assertNotNull;
+import org.gradle.internal.impldep.com.google.common.collect.Streams;
 import org.netbeans.api.project.Project;
 import org.netbeans.api.project.ProjectManager;
 import org.netbeans.api.project.ui.OpenProjects;
 import org.netbeans.junit.NbTestCase;
 import org.netbeans.modules.gradle.ProjectTrust;
 import org.netbeans.modules.gradle.api.BuildPropertiesSupport;
+import org.netbeans.modules.gradle.api.BuildPropertiesSupport.PropertyKind;
 import org.netbeans.modules.gradle.api.NbGradleProject;
 import org.netbeans.modules.gradle.options.GradleExperimentalSettings;
 import org.openide.filesystems.FileObject;
@@ -164,6 +171,25 @@
         item = support.get(prop, "test", null);
         assertNotNull(item);
     }
+    
+    public void testAddedListExtensionProperty() throws Exception {
+        Project p = makeProject("buildprops/micronaut");
+        BuildPropertiesSupport support = BuildPropertiesSupport.get(p);
+        assertNotNull(support);
+        
+        BuildPropertiesSupport.Property prop;
+        
+
+        prop = support.findExtensionProperty("graalvmNative", "binaries.main.buildArgs");
+        assertEquals(BuildPropertiesSupport.PropertyKind.LIST, prop.getKind());
+        Iterable<BuildPropertiesSupport.Property> it = support.items(prop, null);
+        assertNotNull(it);
+        Iterator<BuildPropertiesSupport.Property> iter = it.iterator();
+        assertTrue(iter.hasNext());
+        
+        List<String> l = Streams.stream(iter).map(BuildPropertiesSupport.Property::getStringValue).collect(Collectors.toList());
+        assertEquals(Arrays.asList("x", "y", "z"), l);
+    }
 
     public void testMapExtensionProperty2() throws Exception {
         Project p = makeProject("buildprops/micronaut");
@@ -194,7 +220,33 @@
         assertNotNull(item);
         assertEquals("value3", item.getStringValue());
     }
-
+    
+    /**
+     * Keys are ;; delimited, check various weird keys that needs to be encoded, if they decode back properly.
+     * @throws Exception 
+     */
+    public void testWeirdKeysMapExtensionProperty() throws Exception {
+        Project p = makeProject("buildprops/micronaut");
+        BuildPropertiesSupport support = BuildPropertiesSupport.get(p);
+        assertNotNull(support);
+        
+        BuildPropertiesSupport.Property prop;
+        prop = support.findExtensionProperty("graalvmNative", "weirdKeys");
+        prop = support.get(prop, "main", null);
+        prop = support.findExtensionProperty("graalvmNative", null);
+        BuildPropertiesSupport.Property prop2 = support.get(prop, "binaries", null);
+        prop = support.findExtensionProperty("graalvmNative", "weirdKeys");
+        
+        
+        Collection<String> keys = support.keys(prop);
+        assertNotNull(keys);
+        
+        List<String> sorted = new ArrayList<>(keys);
+        Collections.sort(sorted);
+        
+        assertEquals(Arrays.asList("normalKey", "semi;;key", "semi;\\;key", "semi;key"), sorted);
+    }
+    
 
     public void testSimpleTaskProperty() throws Exception {
         Project p = makeProject("buildprops/micronaut");
@@ -213,8 +265,8 @@
         prop = support.findTaskProperty("nativeCompile", "options");
         assertNotNull(prop);
         assertEquals(BuildPropertiesSupport.PropertyKind.STRUCTURE, prop.getKind());
-
-        assertTrue(support.keys(prop).isEmpty());
+        
+        assertFalse(support.keys(prop).isEmpty());
         assertFalse(support.items(prop, null).iterator().hasNext());
 
         prop = support.findTaskProperty("nativeTestCompile", "workingDirectory");
@@ -228,4 +280,21 @@
         assertFalse(support.items(prop, null).iterator().hasNext());
     }
     
+    /**
+     * Checks that a list property of a task is populated
+     * @throws Exception 
+     */
+    public void testTaskListProperty() throws Exception {
+        Project p = makeProject("buildprops/micronaut");
+        BuildPropertiesSupport support = BuildPropertiesSupport.get(p);
+        assertNotNull(support);
+        
+        BuildPropertiesSupport.Property prop = support.findTaskProperty("nativeCompile", "options.runtimeArgs");
+        assertNotNull(prop);
+        assertEquals(PropertyKind.LIST, prop.getKind());
+        
+        assertTrue(support.keys(prop).isEmpty());
+        assertTrue(support.items(prop, null).iterator().hasNext());
+    }
+    
 }
diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/IntrospectedInfo.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/IntrospectedInfo.java
index d6e236f..728bc09 100644
--- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/IntrospectedInfo.java
+++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/IntrospectedInfo.java
@@ -59,10 +59,10 @@
  * and makes them safely serializable (stores only classnames, etc.).
  * <p>
  * All task and type names may be namespace-qualified for use
- * in Ant 1.6: a name of the form <samp>nsuri:localname</samp> refers to
- * an XML element with namespace <samp>nsuri</samp> and local name <samp>localname</samp>.
+ * in Ant 1.6: a name of the form <code>nsuri:localname</code> refers to
+ * an XML element with namespace <code>nsuri</code> and local name <code>localname</code>.
  * Attribute names could also be similarly qualified, but in practice attributes
- * used in Ant never have a defined namespace. The prefix <samp>antlib:org.apache.tools.ant:</samp>
+ * used in Ant never have a defined namespace. The prefix <code>antlib:org.apache.tools.ant:</code>
  * is implied, not expressed, on Ant core element names (for backwards compatibility).
  * Subelement names are *not* namespace-qualified here, even though in the script
  * they would be - because the namespace used in the script will actually vary
diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/support/ActionUtils.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/support/ActionUtils.java
index 3b56e55..47dc8c8 100644
--- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/support/ActionUtils.java
+++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/support/ActionUtils.java
@@ -122,11 +122,11 @@
      * </p>
      * @param context a selection as provided to e.g. <code>ActionProvider.isActionEnabled(...)</code>
      * @param dir a constraining parent directory, or null to not check for a parent directory
-     * @param suffix a file suffix (e.g. <samp>.java</samp>) to constrain files by,
+     * @param suffix a file suffix (e.g. <code>.java</code>) to constrain files by,
      *               or null to not check suffixes
      * @param strict if true, all files in the selection have to be accepted
      * @return a nonempty selection of disk files, or null
-     * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/spi/project/ActionProvider.html#isActionEnabled(java.lang.String,%20org.openide.util.Lookup)"><code>ActionProvider.isActionEnabled(...)</code></a>
+     * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/spi/project/ActionProvider.html#isActionEnabled-java.lang.String-org.openide.util.Lookup-"><code>ActionProvider.isActionEnabled(...)</code></a>
      */
     public static FileObject[] findSelectedFiles(Lookup context, FileObject dir, String suffix, boolean strict) {
         if (dir != null && !dir.isFolder()) {
@@ -181,7 +181,7 @@
      * <span class="nonnormative">(If you expect the target files to be created
      * by Ant you do not need this method, since Ant's mappers suffice.)</span>
      * The file paths considered by the regular expression (if supplied) always use
-     * <samp>/</samp> as the separator.
+     * <code>/</code> as the separator.
      * <p class="nonnormative">
      * Typical usage to map a set of Java source files to corresponding tests:
      * <code>regexpMapFiles(files, srcDir, Pattern.compile("/([^/]+)\\.java"), testSrcDir, "/\\1Test.java", true)</code>
@@ -239,7 +239,7 @@
     /**
      * Create an "includes" string such as is accepted by many Ant commands
      * as well as filesets.
-     * <samp>/</samp> is always used as the separator in the relative paths.
+     * <code>/</code> is always used as the separator in the relative paths.
      * @param files a list of files or folders to include, in the case of folder
      * the generated include contains recursively all files under the folder.
      * @param dir a directory in which all the files reside
@@ -254,7 +254,7 @@
     /**
      * Create an "includes" string such as is accepted by many Ant commands
      * as well as filesets.
-     * <samp>/</samp> is always used as the separator in the relative paths.
+     * <code>/</code> is always used as the separator in the relative paths.
      * @param files a list of files or folders to include, in the case of folder
      * the generated include contains recursively all files under the folder.
      * @param dir a directory in which all the files reside
diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/support/TargetLister.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/support/TargetLister.java
index 07da834..e57ce25 100644
--- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/support/TargetLister.java
+++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/api/support/TargetLister.java
@@ -138,7 +138,7 @@
         
         /**
          * Gets the qualified name of the target.
-         * This consists of the name of the project followed by a dot (<samp>.</samp>)
+         * This consists of the name of the project followed by a dot (<code>.</code>)
          * followed by the simple target name.
          * (Or just the simple target name in case the project has no defined name;
          * questionable whether this is even legal.)
@@ -200,13 +200,13 @@
         
         /**
          * Tests whether a target is marked as internal to the script.
-         * Currently this means that the target name begins with a hyphen (<samp>-</samp>),
+         * Currently this means that the target name begins with a hyphen (<code>-</code>),
          * though the precise semantics may be changed according to changes in Ant.
          * Conventionally, internal targets are not intended to be run directly, and only
          * exist to be called from other targets. As such, they should not normally
          * be presented in the context of targets you might want to run.
          * @return true if this is marked as an internal target, false for a regular target
-         * @see <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22020">Ant issue #22020</a>
+         * @see <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=22020">Ant issue #22020</a>
          */
         public boolean isInternal() {
             String n = getName();
diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/spi/AntLogger.java b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/spi/AntLogger.java
index 574c3fc..48786ce 100644
--- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/spi/AntLogger.java
+++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/spi/AntLogger.java
@@ -72,14 +72,14 @@
  * which may or may not handle any events which have not already been consumed
  * (marking them consumed itself) and will typically process message logged events
  * by printing them to the output somehow, using hyperlinks for common file error
- * patterns such as <samp>/path/to/File.java:34: some message</samp>. It may also
+ * patterns such as <code>/path/to/File.java:34: some message</code>. It may also
  * handle sequences of messages logged within a task in the format
  * </p>
  * <pre>&nbsp;/path/to/File.java:34: you cannot throw a bogus exception here
  * &nbsp;        throw new Exception("bogus!");
  * &nbsp;                            ^</pre>
  * <p>
- * by linking to the column number indicated by the caret (<samp>^</samp>).
+ * by linking to the column number indicated by the caret (<code>^</code>).
  * </p>
  * <p>
  * Please Note: Using <code>System.out</code> or <code>System.err</code> in your subclass 
@@ -88,7 +88,7 @@
  * </p>
  * </div>
  * @author Jesse Glick
- * @see <a href="http://www.netbeans.org/issues/show_bug.cgi?id=42525">Issue #42525</a>
+ * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=42525">Issue #42525</a>
  * @since org.apache.tools.ant.module/3 3.12
  */
 public abstract class AntLogger {
diff --git a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/spi/package.html b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/spi/package.html
index 3fe3416..e5da90f 100644
--- a/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/spi/package.html
+++ b/extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/spi/package.html
@@ -63,7 +63,7 @@
 <samp>org-netbeans-modules-foo.jar</samp>.
 Create an entry in that JAR <samp>org/netbeans/modules/foo/antlib.xml</samp>
 listing tasks (or types, macrodefs, etc.) you wish to define, in the
-<a href="http://ant.apache.org/manual/CoreTypes/antlib.html">standard Antlib format</a>.
+<a href="https://ant.apache.org/manual/Types/antlib.html">standard Antlib format</a>.
 For example:</p>
 
 <pre>
@@ -131,7 +131,7 @@
 </pre>
 
 <p>Complete working example of task registration:
-<a href="http://www.netbeans.org/source/browse/ant/browsetask/"><samp>ant/browsetask</samp>
+<a href="https://github.com/apache/netbeans/tree/master/java/ant.browsetask"><samp>java/ant.browsetask</samp>
 module</a></p>
 
 </body>
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/Bundle.java b/harness/jellytools.platform/src/org/netbeans/jellytools/Bundle.java
index 8c0d0df..edb9f4c 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/Bundle.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/Bundle.java
@@ -97,11 +97,11 @@
         return getString(getBundle(bundle), key);
     }
     
-    /** Gets string from bundle, removes mnemonic (i.e. '&' or '(&X)') from it
+    /** Gets string from bundle, removes mnemonic (i.e. '&amp;' or '(&amp;X)') from it
      * and cuts parameters like {0} from the end.
      * @param bundle path to bundle (e.g. "org.netbeans.core.Bundle")
      * @param key key of requested string
-     * @return string from bundle in current locale. Mnemonic (i.e. '&' or '(&X)')
+     * @return string from bundle in current locale. Mnemonic (i.e. '&amp;' or '(&amp;X)')
      * is removed and parameter patterns are also removed starting by first '{'.
      */
     public static String getStringTrimmed(String bundle, String key) {
@@ -118,7 +118,7 @@
         return java.text.MessageFormat.format(getString(bundle, key), params);
     }
     
-    /** Gets string from bundle and formats it. It removes mnemonic (i.e. '&' or '(&X)') 
+    /** Gets string from bundle and formats it. It removes mnemonic (i.e. '&amp;' or '(&amp;X)') 
      * from it and cuts parameters like {0} from the end if any.
      * @param bundle path to bundle (e.g. "org.netbeans.core.Bundle")
      * @param key key of requested string
@@ -130,7 +130,7 @@
         return trim(getString(getBundle(bundle), key, params));
     }
     
-    /** Removes mnemonic (i.e. '&' or '(&X)') and cut parameters like {0} from the end.
+    /** Removes mnemonic (i.e. '&amp;' or '(&amp;X)') and cut parameters like {0} from the end.
      * @param value string to modify
      * @return string with removed mnemonic and parameters like {0} from the end.
      */
@@ -146,7 +146,7 @@
 
     /**
      * Removes an ampersand from a text string; commonly used to strip out unneeded mnemonics.
-     * Replaces the first occurence of <samp>&amp;?</samp> by <samp>?</samp> or <samp>(&amp;??</samp> by the empty string 
+     * Replaces the first occurence of <em>&amp;?</em> by <samp>?</samp> or <samp>(&amp;??</samp> by the empty string 
      * where <samp>?</samp> is a wildcard for any character.
      * <samp>&amp;?</samp> is a shortcut in English locale.
      * <samp>(&amp;?)</samp> is a shortcut in Japanese locale.
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/FavoritesOperator.java b/harness/jellytools.platform/src/org/netbeans/jellytools/FavoritesOperator.java
index c3f06c6..bd06ea5 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/FavoritesOperator.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/FavoritesOperator.java
@@ -28,7 +28,7 @@
  * Functionality related to files tree is delegated to JTreeOperator (method
  * tree()) and nodes.<p>
  *
- * Example:<p>
+ * Example:
  * <pre>
  *      FavoritesOperator fo = FavoritesOperator.invoke();
  *      // or when Favorites pane is already opened
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/OptionsOperator.java b/harness/jellytools.platform/src/org/netbeans/jellytools/OptionsOperator.java
index d340772..7a22c20 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/OptionsOperator.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/OptionsOperator.java
@@ -163,7 +163,7 @@
     //definition levels
 
     /**
-     * Shows definition levels column by clicking on the "<<" table
+     * Shows definition levels column by clicking on the "&lt;&lt;" table
      * column title.
      */
     public void showLevels() {
@@ -302,7 +302,7 @@
     }
 
     /**
-     * Clicks on "<<" column header.
+     * Clicks on "&lt;&lt;" column header.
      */
     protected void clickOnSecondHeader() {
         JTableHeader header = treeTable().getTableHeader();
@@ -365,7 +365,7 @@
                                                "OpenIDE-Module-Display-Category"));
     }
 
-    /** Selects Fonts & Colors category. */
+    /** Selects Fonts &amp; Colors category. */
     public void selectFontAndColors() {
         selectCategory(Bundle.getStringTrimmed("org.netbeans.modules.options.colors.Bundle",
                                                "CTL_Font_And_Color_Options"));
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/WizardOperator.java b/harness/jellytools.platform/src/org/netbeans/jellytools/WizardOperator.java
index c94a9bf..64cf134 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/WizardOperator.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/WizardOperator.java
@@ -71,8 +71,8 @@
         return _btNext;
     }
     
-    /** Returns operator of "< Back" button.
-     * @return  JButtonOperator instance of "< Back" button
+    /** Returns operator of "&lt; Back" button.
+     * @return  JButtonOperator instance of "&lt; Back" button
      */
     public JButtonOperator btBack() {
         if (_btBack == null) {
@@ -108,7 +108,7 @@
         btNext().push();
     }
     
-    /** Pushes "< Back" button. */
+    /** Pushes "&lt; Back" button. */
     public void back() {
         btBack().push();
     }
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/actions/AddLocaleAction.java b/harness/jellytools.platform/src/org/netbeans/jellytools/actions/AddLocaleAction.java
index 6ca41ea..8b72bc5 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/actions/AddLocaleAction.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/actions/AddLocaleAction.java
@@ -23,7 +23,7 @@
 /** Used to call "Add | Locale..." popup menu item on properties node.
  * @see Action
  * @see ActionNoBlock
- * @see org.netbeans.jellytools.nodes.PropertiesNode
+ * @see <a href="@org-netbeans-modules-jellytools-ide@/org/netbeans/jellytools/nodes/PropertiesNode.html">org.netbeans.jellytools.nodes.PropertiesNode</a>
  * @author <a href="mailto:vojtech.sigler@sun.com">Vojtech Sigler</a> */
 public class AddLocaleAction extends ActionNoBlock {
 
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/actions/EditAction.java b/harness/jellytools.platform/src/org/netbeans/jellytools/actions/EditAction.java
index 805c3b8..f095ded 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/actions/EditAction.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/actions/EditAction.java
@@ -23,9 +23,9 @@
 /** Used to call "Edit" popup menu item or
  * "org.openide.actions.EditAction".
  * @see Action
- * @see org.netbeans.jellytools.nodes.PropertiesNode
- * @see org.netbeans.jellytools.nodes.URLNode
- * @see org.netbeans.jellytools.nodes.FormNode
+ * @see <a href="@org-netbeans-modules-jellytools-ide@/org/netbeans/jellytools/nodes/PropertiesNode.html">org.netbeans.jellytools.nodes.PropertiesNode</a>
+ * @see <a href="@org-netbeans-modules-jellytools-ide@/org/netbeans/jellytools/nodes/URLNode.html">org.netbeans.jellytools.nodes.URLNode</a>
+ * @see <a href="@org-netbeans-modules-jellytools-java@/org/netbeans/jellytools/nodes/FormNode.html">org.netbeans.jellytools.nodes.FormNode</a>
  * @author <a href="mailto:adam.sotona@sun.com">Adam Sotona</a> */
 public class EditAction extends Action {
 
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/actions/ExploreFromHereAction.java b/harness/jellytools.platform/src/org/netbeans/jellytools/actions/ExploreFromHereAction.java
index 4cde319..cbf015b 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/actions/ExploreFromHereAction.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/actions/ExploreFromHereAction.java
@@ -23,7 +23,7 @@
 /** Used to call "Explore From Here" popup menu item,
  * "org.openide.actions.OpenLocalExplorerAction".
  * @see Action
- * @see org.netbeans.jellytools.nodes.FolderNode
+ * @see <a href="@org-netbeans-modules-jellytools-ide@/org/netbeans/jellytools/nodes/FolderNode.html">org.netbeans.jellytools.nodes.FolderNode</a>
  * @author <a href="mailto:adam.sotona@sun.com">Adam Sotona</a> */
 public class ExploreFromHereAction extends Action {
 
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/nodes/Node.java b/harness/jellytools.platform/src/org/netbeans/jellytools/nodes/Node.java
index 6ec3a12..3af7ea7 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/nodes/Node.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/nodes/Node.java
@@ -37,7 +37,7 @@
  * Ancestor class for all nodes.<p> Nodes should help to easier testing of
  * JTree's. The most frequent usage in IDE is in file views but nodes can be
  * used in any component which includes a JTree instance. Nodes are also used as
- * parameters for action's performing. <p> Example:<p>
+ * parameters for action's performing. <p> Example:
  * <pre>
  *     Node node = new Node(new SourcePackagesNode("My Project"), "org.netbeans.jellytools.nodes|Node.java");
  *     System.out.println(node.getText());
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/ClasspathCustomEditorOperator.java b/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/ClasspathCustomEditorOperator.java
index c9fe4bf..1724c2d 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/ClasspathCustomEditorOperator.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/ClasspathCustomEditorOperator.java
@@ -39,7 +39,7 @@
 public class ClasspathCustomEditorOperator extends NbDialogOperator {
 
     /** Creates new ClasspathCustomEditorOperator
-     * @throws TimeoutExpiredException when NbDialog not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when NbDialog not found
      * @param title String title of custom editor */
     public ClasspathCustomEditorOperator(String title) {
         super(title);
@@ -60,7 +60,7 @@
 
 
     /** Tries to find Add Directory... JButton in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JButtonOperator
      */
     public JButtonOperator btAddDirectory() {
@@ -73,7 +73,7 @@
     }
 
     /** Tries to find "Move Down" JButton in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JButtonOperator
      */
     public JButtonOperator btMoveDown() {
@@ -86,7 +86,7 @@
     }
 
     /** Tries to find null JList in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JListOperator
      */
     public JListOperator lstClasspath() {
@@ -97,7 +97,7 @@
     }
 
     /** Tries to find Add JAR/ZIP... JButton in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JButtonOperator
      */
     public JButtonOperator btAddJARZIP() {
@@ -110,7 +110,7 @@
     }
 
     /** Tries to find "Remove" JButton in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JButtonOperator
      */
     public JButtonOperator btRemove() {
@@ -123,7 +123,7 @@
     }
 
     /** Tries to find "Move Up" JButton in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JButtonOperator
      */
     public JButtonOperator btMoveUp() {
@@ -136,7 +136,7 @@
     }
 
     /** clicks on Add Directory... JButton
-     * @throws TimeoutExpiredException when JButton not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when JButton not found
      * @return FileCustomEditorOperator of directory selector */
     public FileCustomEditorOperator addDirectory() {
         btAddDirectory().pushNoBlock();
@@ -146,14 +146,14 @@
     }
 
     /** clicks on "Move Down" JButton
-     * @throws TimeoutExpiredException when JButton not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when JButton not found
      */
     public void moveDown() {
         btMoveDown().push();
     }
 
     /** clicks on Add JAR/ZIP... JButton
-     * @throws TimeoutExpiredException when JButton not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when JButton not found
      * @return FileCustomEditorOperator of JAR or ZIP file selector */
     public FileCustomEditorOperator addJARZIP() {
         btAddJARZIP().pushNoBlock();
@@ -222,14 +222,14 @@
     }
 
     /** clicks on "Remove" JButton
-     * @throws TimeoutExpiredException when JButton not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when JButton not found
      */
     public void remove() {
         btRemove().push();
     }
 
     /** clicks on "Move Up" JButton
-     * @throws TimeoutExpiredException when JButton not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when JButton not found
      */
     public void moveUp() {
         btMoveUp().push();
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/FontCustomEditorOperator.java b/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/FontCustomEditorOperator.java
index 30d0cea..fc7bd1b 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/FontCustomEditorOperator.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/FontCustomEditorOperator.java
@@ -36,7 +36,7 @@
 public class FontCustomEditorOperator extends NbDialogOperator {
 
     /** Creates new FontCustomEditorOperator
-     * @throws TimeoutExpiredException when NbDialog not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when NbDialog not found
      * @param title String title of custom editor */
     public FontCustomEditorOperator(String title) {
         super(title);
@@ -65,7 +65,7 @@
 
 
     /** Tries to find null JList in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JListOperator
      */
     public JListOperator lstFontName() {
@@ -76,7 +76,7 @@
     }
 
     /** Tries to find null JList in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JListOperator
      */
     public JListOperator lstFontSize() {
@@ -87,7 +87,7 @@
     }
 
     /** Tries to find null JTextField in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JTextFieldOperator
      */
     public JTextFieldOperator txtFontName() {
@@ -98,7 +98,7 @@
     }
 
     /** Tries to find null JTextField in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JTextFieldOperator
      */
     public JTextFieldOperator txtFontSize() {
@@ -109,7 +109,7 @@
     }
 
     /** Tries to find null JTextField in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JTextFieldOperator
      */
     public JTextFieldOperator txtFontStyle() {
@@ -120,7 +120,7 @@
     }
 
     /** Tries to find null JList in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JListOperator
      */
     public JListOperator lstFontStyle() {
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/ProcessDescriptorCustomEditorOperator.java b/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/ProcessDescriptorCustomEditorOperator.java
index 2f5986e..e1ead20 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/ProcessDescriptorCustomEditorOperator.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/ProcessDescriptorCustomEditorOperator.java
@@ -40,7 +40,7 @@
 public class ProcessDescriptorCustomEditorOperator extends NbDialogOperator {
 
     /** Creates new ProcessDescriptorCustomEditorOperator
-     * @throws TimeoutExpiredException when NbDialog not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when NbDialog not found
      * @param title String title of custom editor */
     public ProcessDescriptorCustomEditorOperator(String title) {
         super(title);
@@ -58,7 +58,7 @@
     private JTextAreaOperator _txtArguments;
 
     /** Tries to find null JTextArea in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JTextAreaOperator
      */
     public JTextAreaOperator txtArgumentKey() {
@@ -69,7 +69,7 @@
     }
 
     /** Tries to find Browse... JButton in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JButtonOperator
      */
     public JButtonOperator btSelectProcessExecutable() {
@@ -82,7 +82,7 @@
     }
 
     /** Tries to find null JTextField in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JTextFieldOperator
      */
     public JTextFieldOperator txtProcess() {
@@ -93,7 +93,7 @@
     }
 
     /** Tries to find null JTextArea in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JTextAreaOperator
      */
     public JTextAreaOperator txtArguments() {
@@ -110,7 +110,7 @@
     }
 
     /** clicks on ... JButton
-     * @throws TimeoutExpiredException when JButton not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when JButton not found
      * @return FileCustomEditorOperator */
     public FileCustomEditorOperator selectProcessExecutable() {
         btSelectProcessExecutable().pushNoBlock();
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/StringArrayCustomEditorOperator.java b/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/StringArrayCustomEditorOperator.java
index 7cd3e0b..190df00 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/StringArrayCustomEditorOperator.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/properties/editors/StringArrayCustomEditorOperator.java
@@ -34,7 +34,7 @@
 public class StringArrayCustomEditorOperator extends NbDialogOperator {
 
     /** Creates new StringArrayCustomEditorOperator
-     * @throws TimeoutExpiredException when NbDialog not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when NbDialog not found
      * @param title String title of custom editor */
     public StringArrayCustomEditorOperator(String title) {
         super(title);
@@ -59,7 +59,7 @@
     //******************************
 
     /** Tries to find "Edit" JButton in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JButtonOperator
      */
     public JButtonOperator btEdit() {
@@ -72,7 +72,7 @@
     }
 
     /** Tries to find "Down" JButton in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JButtonOperator
      */
     public JButtonOperator btDown() {
@@ -85,7 +85,7 @@
     }
 
     /** Tries to find "Up" JButton in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JButtonOperator
      */
     public JButtonOperator btUp() {
@@ -98,7 +98,7 @@
     }
 
     /** Tries to find "Add" JButton in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JButtonOperator
      */
     public JButtonOperator btAdd() {
@@ -111,7 +111,7 @@
     }
 
     /** Tries to find JList in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JListOperator
      */
     public JListOperator lstItemList() {
@@ -122,7 +122,7 @@
     }
 
     /** Tries to find "Remove" JButton in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JButtonOperator
      */
     public JButtonOperator btRemove() {
@@ -135,7 +135,7 @@
     }
 
     /** Tries to find null JTextField in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JTextFieldOperator
      */
     public JTextFieldOperator txtItemText() {
@@ -146,35 +146,35 @@
     }
 
     /** clicks on "Edit" JButton
-     * @throws TimeoutExpiredException when JButton not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when JButton not found
      */
     public void edit() {
         btEdit().push();
     }
 
     /** clicks on "Down" JButton
-     * @throws TimeoutExpiredException when JButton not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when JButton not found
      */
     public void down() {
         btDown().push();
     }
 
     /** clicks on "Up" JButton
-     * @throws TimeoutExpiredException when JButton not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when JButton not found
      */
     public void up() {
         btUp().push();
     }
 
     /** clicks on "Add" JButton
-     * @throws TimeoutExpiredException when JButton not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when JButton not found
      */
     public void add() {
         btAdd().push();
     }
 
     /** clicks on "Remove" JButton
-     * @throws TimeoutExpiredException when JButton not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when JButton not found
      */
     public void remove() {
         btRemove().push();
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/widgets/ConnectionWidgetOperator.java b/harness/jellytools.platform/src/org/netbeans/jellytools/widgets/ConnectionWidgetOperator.java
index 57974f7..d31cb08 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/widgets/ConnectionWidgetOperator.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/widgets/ConnectionWidgetOperator.java
@@ -165,7 +165,7 @@
     }
 
     /** Returns list of control points.
-     * @return List<Point> of control points
+     * @return {@code List<Point>} of control points
      */
     @SuppressWarnings("unchecked")
     public List<Point> getControlPoints() {
diff --git a/harness/jellytools.platform/src/org/netbeans/jellytools/widgets/LabelWidgetOperator.java b/harness/jellytools.platform/src/org/netbeans/jellytools/widgets/LabelWidgetOperator.java
index 24cdd33..1caba21 100644
--- a/harness/jellytools.platform/src/org/netbeans/jellytools/widgets/LabelWidgetOperator.java
+++ b/harness/jellytools.platform/src/org/netbeans/jellytools/widgets/LabelWidgetOperator.java
@@ -60,7 +60,6 @@
     /** Waits for LabelWidget with specified label under given parent.
      * @param parentWidgetOper parent WidgetOperator
      * @param label label of widget
-     * @param index index of widget to be found
      */
     public LabelWidgetOperator(WidgetOperator parentWidgetOper, String label) {
         this(parentWidgetOper, label, 0);
diff --git a/ide/api.debugger/apichanges.xml b/ide/api.debugger/apichanges.xml
index 5dc80e9..5d5725f 100644
--- a/ide/api.debugger/apichanges.xml
+++ b/ide/api.debugger/apichanges.xml
@@ -298,7 +298,7 @@
              <p>
              In order to be able to register debugger services on System FileSystem,
              which brings more flexibility and better performance (see also
-             <a href="http://www.netbeans.org/issues/show_bug.cgi?id=153093#desc7"/>),
+             <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=153093#desc7"/>),
              we add non-recursive content of <code>org.openide.util.Lookups.forPath()</code>
              into debugger lookup.
              Since debugger needs retrieve context-aware services from the lookup,
diff --git a/ide/api.debugger/src/org/netbeans/api/debugger/ActionsManager.java b/ide/api.debugger/src/org/netbeans/api/debugger/ActionsManager.java
index cbf40f4..d5b0cd3b 100644
--- a/ide/api.debugger/src/org/netbeans/api/debugger/ActionsManager.java
+++ b/ide/api.debugger/src/org/netbeans/api/debugger/ActionsManager.java
@@ -164,7 +164,7 @@
     /**
      * Post action on this DebuggerEngine.
      * This method does not block till the action is done,
-     * if {@link #canPostAsynchronously} returns true.
+     * if <code>#canPostAsynchronously}</code> returns true.
      * Otherwise it behaves like {@link #doAction}.
      * The returned task, or
      * {@link ActionsManagerListener} can be used to
diff --git a/ide/api.debugger/src/org/netbeans/api/debugger/Breakpoint.java b/ide/api.debugger/src/org/netbeans/api/debugger/Breakpoint.java
index 8306272..ec931a6 100644
--- a/ide/api.debugger/src/org/netbeans/api/debugger/Breakpoint.java
+++ b/ide/api.debugger/src/org/netbeans/api/debugger/Breakpoint.java
@@ -135,7 +135,7 @@
     
     /**
      * Get the style of hit count filtering.
-     * @return the style of hit count filtering, or <cpde>null</code> when no count filter is set.
+     * @return the style of hit count filtering, or <code>null</code> when no count filter is set.
      */
     public final synchronized HIT_COUNT_FILTERING_STYLE getHitCountFilteringStyle() {
         return hitCountFilteringStyle;
@@ -285,7 +285,7 @@
      * <p>
      * Not all breakpoint implementations honor dependent breakpoints.
      * Use {@link #canHaveDependentBreakpoints()} to determine if the operation is supported.
-     * @param breakpointsToEnable The set of breakpoints.
+     * @param breakpointsToDisable The set of breakpoints.
      * @throws UnsupportedOperationException if the breakpoint does not support
      * dependent breakpoints - see {@link #canHaveDependentBreakpoints()}.
      * @since 1.35
diff --git a/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerEngine.java b/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerEngine.java
index 3d805c2..12c9abc 100644
--- a/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerEngine.java
+++ b/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerEngine.java
@@ -30,9 +30,10 @@
  * It provides root of threads hierarchy (call stacks, locals)
  * and manages debugger actions.
  *
- * <p><br><table border="1" cellpadding="3" cellspacing="0" width="100%">
- * <tbody><tr bgcolor="#ccccff">
- * <td colspan="2"><font size="+2"><b>Description </b></font></td>
+ * <table>
+ * <caption>Description of DebuggerEngine</caption>
+ * <tbody><tr>
+ * <td colspan="2" style="background-color:#4D7A97"><font size="+2"><b>Description </b></font></td>
  * </tr><tr><td align="left" valign="top" width="1%"><font size="+1">
  * <b>Functionality</b></font></td><td>
  *
@@ -52,8 +53,8 @@
  * <br>
  * <b>Support for aditional services:</b>
  *    DebuggerEngine is final class. That is why the standard method how to 
- *    extend its functionality is using lookup methods ({@link #lookup} and 
- *    {@link #lookupFirst}).
+ *    extend its functionality is using lookup methods ({@link #lookup(String,Class)} and 
+ *    {@link #lookupFirst(String,Class)}).
  *    There are two ways how to register some service provider for some
  *    type of DebuggerEngine:
  *    <ul>
diff --git a/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerManager.java b/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerManager.java
index d0e78c9..0fa20cc 100644
--- a/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerManager.java
+++ b/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerManager.java
@@ -48,13 +48,14 @@
  * {@link org.netbeans.api.debugger.Watch}es.
  *  
  *
- * <p><br><table border="1" cellpadding="3" cellspacing="0" width="100%">
- * <tbody><tr bgcolor="#ccccff">
- * <td colspan="2"><font size="+2"><b>Description </b></font></td>
+ * <table>
+ * <caption>Description of DebuggerManager</caption>
+ * <tbody><tr>
+ * <td colspan="2" style="background-color:#4D7A97"><font size="+2"><b>Description </b></font></td>
  * </tr><tr><td align="left" valign="top" width="1%"><font size="+1">
  * <b>Functionality</b></font></td><td> 
  *
- * <b>Start & finish debugging:</b>
+ * <b>Start &amp; finish debugging:</b>
  *    DebuggerManager manages a process of starting a new debugging (
  *    {@link #startDebugging}). It cooperates with all installed
  *    {@link org.netbeans.spi.debugger.DebuggerEngineProvider}s to create a new 
@@ -89,7 +90,7 @@
  * <br><br>
  * <b>Watches management:</b>
  *    DebuggerManager keeps list of all shared watches ({@link #getWatches}).
- *    Watch can be created & added ({@link #createWatch}).
+ *    Watch can be created &amp; added ({@link #createWatch}).
  *
  * <br><br>
  * <b>Support for listening:</b>
@@ -227,7 +228,7 @@
     /**
      * Join two lookups together.
      * The result will merge the lookups.
-     * The result of its {@link #lookup} method will additionally implement {@link Customizer}.
+     * The result of its {@link #lookup(String,Class)} method will additionally implement {@link Customizer}.
      * @param cp1 first lookup
      * @param cp2 second lookup
      * @return a merger of the two
@@ -624,7 +625,7 @@
      *    a variable name).
      * @return the new watch
      * @throws ArrayIndexOutOfBoundsException if the index is out of range
-     *         <code>(index < 0 || index > getWatches().length)</code>
+     *         <code>(index &lt; 0 || index &gt; getWatches().length)</code>
      * @since 1.22
      */
     public Watch createWatch (int index, String expr) {
diff --git a/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerManagerAdapter.java b/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerManagerAdapter.java
index 2883aa8..866357f 100644
--- a/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerManagerAdapter.java
+++ b/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerManagerAdapter.java
@@ -57,7 +57,6 @@
     /**
      * Called when set of watches is initialized.
      *
-     * @return initial set of watches
      */
     public void initWatches () {
     }
diff --git a/ide/api.debugger/src/org/netbeans/api/debugger/Session.java b/ide/api.debugger/src/org/netbeans/api/debugger/Session.java
index b43eaef..d4d4425 100644
--- a/ide/api.debugger/src/org/netbeans/api/debugger/Session.java
+++ b/ide/api.debugger/src/org/netbeans/api/debugger/Session.java
@@ -31,9 +31,10 @@
  * be simple bean with properties like process ID, session name, etc.
  * All other functionality is delegated to current debugger engine.
  *
- * <p><br><table border="1" cellpadding="3" cellspacing="0" width="100%">
- * <tbody><tr bgcolor="#ccccff">
- * <td colspan="2"><font size="+2"><b>Description </b></font></td>
+ * <table>
+ * <caption>Description of Session</caption>
+ * <tbody><tr>
+ * <td colspan="2" style="background-color:#4D7A97"><font size="+2"><b>Description </b></font></td>
  * </tr><tr><td align="left" valign="top" width="1%"><font size="+1">
  * <b>Functionality</b></font></td><td>
  *
@@ -62,8 +63,8 @@
  * <br><br>
  * <b>Support for additional services:</b>
  *    Session is final class. The standard method how to 
- *    extend its functionality is using lookup methods ({@link #lookup} and 
- *    {@link #lookupFirst}).
+ *    extend its functionality is using lookup methods ({@link #lookup(String,Class)} and 
+ *    {@link #lookupFirst(String,Class)}).
  *    There are two ways how to register some service provider for some
  *    type of Session:
  *    <ul>
diff --git a/ide/api.debugger/src/org/netbeans/api/debugger/SessionBridge.java b/ide/api.debugger/src/org/netbeans/api/debugger/SessionBridge.java
index 16133f4..879538a 100644
--- a/ide/api.debugger/src/org/netbeans/api/debugger/SessionBridge.java
+++ b/ide/api.debugger/src/org/netbeans/api/debugger/SessionBridge.java
@@ -37,7 +37,7 @@
  * the debugging session for a debug action. A registered implementation of
  * {@link SessionChanger} can decide to change the session in order to perform
  * the given action.
- * <p/>
+ * <p>
  * In the current implementation, step into action of JPDA debugger is suggested
  * for a session change only. The support can be extended according to the future
  * requirements.
@@ -93,7 +93,7 @@
      * @param properties Properties describing the current state of the current session before the given action.
      *                   The actual properties are specific for the particular session type.
      * @return <code>true</code> when the session is changed and another session
-     *         decided to perform the given action.<br/>
+     *         decided to perform the given action.<br>
      *         <code>false</code> when no other session would like to perform this action.
      */
     public boolean suggestChange(Session origin, String action, Map<Object, Object> properties) {
@@ -186,7 +186,7 @@
          * @param properties Session-specific properties describing the state
          *        right before the given action. These are used by a new session
          *        to complete the given action.
-         * @return A new session, or <code>null<code> when this handler decides
+         * @return A new session, or <code>null</code> when this handler decides
          *         not to change the debug session for this action.
          */
         Session changeSuggested(Session origin, String action, Map<Object, Object> properties);
diff --git a/ide/api.debugger/src/org/netbeans/spi/debugger/ContextAwareService.java b/ide/api.debugger/src/org/netbeans/spi/debugger/ContextAwareService.java
index 692b0c9..647fa18 100644
--- a/ide/api.debugger/src/org/netbeans/spi/debugger/ContextAwareService.java
+++ b/ide/api.debugger/src/org/netbeans/spi/debugger/ContextAwareService.java
@@ -34,7 +34,7 @@
  *       &lt;/file&gt;
  *   &lt;/folder&gt;</pre>
  *
- * <br/>
+ * <br>
  *
  * @author Martin Entlicher
  * @since 1.16
diff --git a/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/Issue.java b/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/Issue.java
index 233faf8..59afd65 100644
--- a/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/Issue.java
+++ b/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/Issue.java
@@ -189,7 +189,7 @@
     /**
      * Determines whether this issue is finished/closed.
      * 
-     * @return <code>true<code> in case this Issue is finished, otherwise <code>false</code>
+     * @return <code>true</code> in case this Issue is finished, otherwise <code>false</code>
      * @since 1.85
      */
     public boolean isFinished() {
@@ -230,7 +230,7 @@
     /**
      * Determines whether it is possible to attach files to this Issue.
      * 
-     * @return <code>true<code> in case it is possible to attach files to 
+     * @return <code>true</code> in case it is possible to attach files to 
      * this Issue, otherwise <code>false</code>
      * @since 1.85
      */
@@ -267,7 +267,7 @@
      * <p>
      * 
      * @param comment the comment
-     * @param close <code>true<code> in case this issue should be closed.
+     * @param close <code>true</code> in case this issue should be closed.
      * @see org.netbeans.modules.bugtracking.spi.IssueProvider#addComment(java.lang.Object, java.lang.String, boolean) 
      * @since 1.85
      */
diff --git a/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/IssueQuickSearch.java b/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/IssueQuickSearch.java
index 4a68ded..b61365e 100644
--- a/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/IssueQuickSearch.java
+++ b/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/IssueQuickSearch.java
@@ -36,7 +36,6 @@
  *   <li>a button to create a new repository
  *   <li>a field to type some text into - to find Issues either by id or summary.
  * </ul>
- * </p>
  * 
  * @author Tomas Stupka
  * @since 1.85
diff --git a/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/RepositoryManager.java b/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/RepositoryManager.java
index a3eda2f..b07ec5c 100644
--- a/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/RepositoryManager.java
+++ b/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/RepositoryManager.java
@@ -125,7 +125,7 @@
      * 
      * @param connectorId
      * @param repositoryId
-     * @return a Repository with the given connector- and repository id or <code>null<code>.
+     * @return a Repository with the given connector- and repository id or <code>null</code>.
      * @since 1.85
      */
     public Repository getRepository(String connectorId, String repositoryId) {
diff --git a/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/RepositoryQuery.java b/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/RepositoryQuery.java
index 50fdfd3..d0cd3e7 100644
--- a/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/RepositoryQuery.java
+++ b/ide/bugtracking/src/org/netbeans/modules/bugtracking/api/RepositoryQuery.java
@@ -36,7 +36,7 @@
  * <li> The IDE keeps track in what context bugtracking related operations were done 
  * - e.g. when closing an issue during a VCS commit.</li>
  * <li> Other systems might provide information about bugtracking repositories - e.g. Maven</li>
- * </p>
+ * </ul>
  * 
  * @author Tomas Stupka
  * @since 1.85
diff --git a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/BugtrackingConnector.java b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/BugtrackingConnector.java
index c12f3cc..2179caf 100644
--- a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/BugtrackingConnector.java
+++ b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/BugtrackingConnector.java
@@ -58,9 +58,9 @@
      * 
      * <p>
      * The to be returned {@link Repository} instance can be obtained via 
-     * <br/>
+     * <br>
      * {@link BugtrackingSupport#createRepository(java.lang.Object, org.netbeans.modules.bugtracking.spi.IssueStatusProvider, org.netbeans.modules.bugtracking.spi.IssueScheduleProvider, org.netbeans.modules.bugtracking.spi.IssuePriorityProvider, org.netbeans.modules.bugtracking.spi.IssueFinder) }
-     * <br/>
+     * <br>
      * in which scope the implementation particular repository representation is 
      * coupled with provider implementations giving access to the plugin internal data. 
      * </p>
@@ -84,9 +84,9 @@
      * 
      * <p>
      * The to be returned {@link Repository} instance can be obtained via 
-     * <br/>
+     * <br>
      * {@link BugtrackingSupport#createRepository(java.lang.Object, org.netbeans.modules.bugtracking.spi.IssueStatusProvider, org.netbeans.modules.bugtracking.spi.IssueScheduleProvider, org.netbeans.modules.bugtracking.spi.IssuePriorityProvider, org.netbeans.modules.bugtracking.spi.IssueFinder) }
-     * <br/>
+     * <br>
      * in which scope the implementation particular repository representation is 
      * coupled with provider implementations giving access to the plugin internal data. 
      * </p>
diff --git a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/BugtrackingSupport.java b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/BugtrackingSupport.java
index b096fc0..d7bbb9e 100644
--- a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/BugtrackingSupport.java
+++ b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/BugtrackingSupport.java
@@ -46,11 +46,11 @@
     /**
      * Creates a new BugtrackingSupport preconfigured with mandatory provider implementations.
      * 
-     * @param repositoryProvider a {@link RepositoryProvider} to access the implementation specific repository.<br/> 
+     * @param repositoryProvider a {@link RepositoryProvider} to access the implementation specific repository.<br> 
      *                           Is mandatory and cannot be null.
-     * @param queryProvider a {@link QueryProvider} to access queries from the given repository.<br/>
+     * @param queryProvider a {@link QueryProvider} to access queries from the given repository.<br>
      *                      Is mandatory and cannot be null.
-     * @param issueProvider an {@link IssueProvider} to access issues from the given repository.<br/>
+     * @param issueProvider an {@link IssueProvider} to access issues from the given repository.<br>
      *                      Is mandatory and cannot be null.
      * @since 1.85
      */
@@ -65,15 +65,15 @@
      * 
      * @param r a implementation specific repository instance
      * @param issueStatusProvider an {@link IssueStatusProvider} to provide status information 
-     *                            of an implementation specific issue.<br/> 
+     *                            of an implementation specific issue.<br> 
      *                            Might be null.
      * @param issueSchedulingProvider an {@link IssueScheduleProvider} to provide scheduling information 
-     *                                of an implementation specific issue.<br/> 
+     *                                of an implementation specific issue.<br> 
      *                                Might be null.
      * @param issuePriorityProvider an {@link IssuePriorityProvider} to provide priority information 
-     *                              of an implementation specific issue.<br/> 
+     *                              of an implementation specific issue.<br> 
      *                              Might be null.
-     * @param issueFinder an {@link IssueFinder} to find issue references in text..<br/> 
+     * @param issueFinder an {@link IssueFinder} to find issue references in text..<br> 
      *                    Might be null.
      * 
      * @return a {@link Repository} instance
@@ -184,7 +184,7 @@
 
     /**
      * Priority icons used by default in the Tasks Dashboard sorted from the highest priority. 
-     * <br/>
+     * <br>
      * Use them in case you want your bugtracking plugin implementation to use 
      * the same icons as are used by default in the Tasks Dashboard, or provide a 
      * {@link IssuePriorityProvider} implementation via {@link #createRepository(java.lang.Object, org.netbeans.modules.bugtracking.spi.IssueStatusProvider, org.netbeans.modules.bugtracking.spi.IssueScheduleProvider, org.netbeans.modules.bugtracking.spi.IssuePriorityProvider, org.netbeans.modules.bugtracking.spi.IssueFinder) }
diff --git a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/IssueStatusProvider.java b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/IssueStatusProvider.java
index 80b84ca..a4a82f4 100644
--- a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/IssueStatusProvider.java
+++ b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/IssueStatusProvider.java
@@ -44,7 +44,7 @@
  * </p>
  * 
  * <p>
- * <b>Incoming changes:</b><br/>
+ * <b>Incoming changes:</b><br>
  * Represented by the status values INCOMING_NEW or INCOMING_MODIFIED. In case 
  * the implementation keeps track of changes the user haven't seen yet 
  * (e.g. by opening the Issue UI) then it is also expected to provide the 
@@ -52,7 +52,7 @@
  * </p>
  * 
  * <p>
- * <b>Outgoing changes:</b><br/>
+ * <b>Outgoing changes:</b><br>
  * Represented by the status values OUTGOING_NEW or OUTGOING_MODIFIED. Typically each
  * particular issue editor UI is expected to provide a way to change an issue 
  * and to submit those changes. In case the implementation keeps track of changes 
@@ -64,10 +64,11 @@
  * <p>
  * Even though the status value is entirely given by the particular implementation, 
  * the precedence of Status values is expected to be the following:
- * <table border="1" cellpadding="3" cellspacing="0">
- * <tr bgcolor="#ccccff">
- * <td><b>Issue state</b></font></td>
- * <td><b>Expected Status</b></font></td>
+ * <table>
+ * <caption>precedence of Status</caption>
+ * <tr>
+ * <th style="background-color:#ccccff"><b>Issue state</b></th>
+ * <th style="background-color:#ccccff"><b>Expected Status</b></th>
  * </tr>
  *  <tr>
  *      <td>no changes</td>
@@ -153,18 +154,17 @@
 
     /**
      * Sets the information if the user has seen the incoming changes or 
-     * wishes to mark them as seen (so that they aren't annotated anymore).<br/>
+     * wishes to mark them as seen (so that they aren't annotated anymore).<br>
      * Called e.g. by the 'Mark as Seen/Unseen' action in the Tasks Dashboard or when an Issue was opened 
      * by the user.
      * 
      * <p>
      * The expected result of setting seen to <b><code>true</code></b>:
-     * </p>
-     * <p>
-     * <table border="1" cellpadding="3" cellspacing="0">
-     * <tr bgcolor="#ccccff">
-     * <td><b>Status before</b></font></td>
-     * <td><b>Status after </b></font></td>
+     * <table>
+     * <caption>expected result</caption>
+     * <tr>
+     * <th style="background-color:#ccccff"><b>Status before</b></th>
+     * <th style="background-color:#ccccff"><b>Status after </b></th>
      * </tr>
      *  <tr>
      *      <td>SEEN</td>
@@ -184,7 +184,6 @@
      *  </tr>
      * 
      * </table>
-     * </p>
      * 
      * <p>
      * It is up the particular implementation if and for how long the information 
diff --git a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/QueryController.java b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/QueryController.java
index cab265d..3133a6a 100644
--- a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/QueryController.java
+++ b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/QueryController.java
@@ -86,7 +86,7 @@
      * 
      * @param mode
      * @return <code>true</code> if the given mode is provided by the particular 
-     * implementation, otherwise false</code>
+     * implementation, otherwise <code>false</code>
      * @since 1.85
      */
     public boolean providesMode(QueryMode mode);
diff --git a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/QueryProvider.java b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/QueryProvider.java
index b5f5369..67897cb 100644
--- a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/QueryProvider.java
+++ b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/QueryProvider.java
@@ -107,8 +107,7 @@
      * Refreshes the given query. 
      * 
      * <p>
-     * <b>Note</p> that this call is made periodically by the infrastructure. 
-     * <p>
+     * <b>Note</b> that this call is made periodically by the infrastructure.
      * 
      * @param q the particular query instance
      * @since 1.85
diff --git a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/RepositoryProvider.java b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/RepositoryProvider.java
index ff4ba36..18ac6d6 100644
--- a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/RepositoryProvider.java
+++ b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/RepositoryProvider.java
@@ -170,7 +170,6 @@
      * <p>
      * Note that in case this method returns <code>true</code> {@link IssueProvider#attachFile(java.lang.Object, java.io.File, java.lang.String, boolean)}
      * has to be implemented as well.
-     * <p/>
      * 
      * @param r an implementation specific repository
      * @return <code>true</code> in case it is possible to attach files, otherwise <code>false</code>
diff --git a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/RepositoryQueryImplementation.java b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/RepositoryQueryImplementation.java
index 12a0285..3d963d2 100644
--- a/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/RepositoryQueryImplementation.java
+++ b/ide/bugtracking/src/org/netbeans/modules/bugtracking/spi/RepositoryQueryImplementation.java
@@ -25,7 +25,6 @@
  * a bugtracking repository.
  * <p>
  * Note that this interface is not meant to be implemented by bugtracking plugins.
- * <p/>
  * 
  * @author Tomas Stupka
  * @since 1.85
diff --git a/ide/code.analysis/nbproject/project.xml b/ide/code.analysis/nbproject/project.xml
index e04418d..5518558 100644
--- a/ide/code.analysis/nbproject/project.xml
+++ b/ide/code.analysis/nbproject/project.xml
@@ -61,11 +61,11 @@
                     </run-dependency>
                 </dependency>
                 <dependency>
-                    <code-name-base>org.netbeans.modules.autoupdate.ui</code-name-base>
+                    <code-name-base>org.netbeans.modules.autoupdate.services</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
                     <run-dependency>
-                        <specification-version>1.35</specification-version>
+                        <specification-version>1.76</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/ide/code.analysis/src/org/netbeans/modules/analysis/Utils.java b/ide/code.analysis/src/org/netbeans/modules/analysis/Utils.java
index 596b634..2d3b9d3 100644
--- a/ide/code.analysis/src/org/netbeans/modules/analysis/Utils.java
+++ b/ide/code.analysis/src/org/netbeans/modules/analysis/Utils.java
@@ -21,8 +21,8 @@
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
+import org.netbeans.api.autoupdate.PluginInstaller;
 import org.netbeans.modules.analysis.spi.Analyzer.MissingPlugin;
-import org.netbeans.modules.autoupdate.ui.api.PluginManager;
 
 /**
  *
@@ -33,8 +33,9 @@
     public static void installMissingPlugins(Collection<? extends MissingPlugin> inPlugins) {
         Set<MissingPlugin> plugins = new HashSet<MissingPlugin>(inPlugins);
 
+        // TODO: Shouldn't be this loop reduced to a single call to install multiple modules at once ?
         for (MissingPlugin missing : plugins) {
-            PluginManager.installSingle(SPIAccessor.ACCESSOR.getCNB(missing), SPIAccessor.ACCESSOR.getDisplayName(missing));
+            PluginInstaller.getDefault().install(SPIAccessor.ACCESSOR.getCNB(missing), SPIAccessor.ACCESSOR.getDisplayName(missing), null);
         }
     }
 }
diff --git a/ide/core.ide/src/org/netbeans/api/core/ide/ServicesTabNodeRegistration.java b/ide/core.ide/src/org/netbeans/api/core/ide/ServicesTabNodeRegistration.java
index cd5b5fc..c007aed 100644
--- a/ide/core.ide/src/org/netbeans/api/core/ide/ServicesTabNodeRegistration.java
+++ b/ide/core.ide/src/org/netbeans/api/core/ide/ServicesTabNodeRegistration.java
@@ -30,7 +30,7 @@
  * static method that returns {@link Node}. Its presence means that
  * the node shall appear in the <em>Services</em> tab.
  * @since org.netbeans.core.ide/1 1.15
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  */
 @Retention(RetentionPolicy.SOURCE)
 @Target({ ElementType.METHOD, ElementType.TYPE })
diff --git a/ide/csl.api/nbproject/project.properties b/ide/csl.api/nbproject/project.properties
index 217459e..b25098a 100644
--- a/ide/csl.api/nbproject/project.properties
+++ b/ide/csl.api/nbproject/project.properties
@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-spec.version.base=2.77.0
+spec.version.base=2.78.0
 is.autoload=true
 javac.source=1.8
 
diff --git a/ide/csl.api/test/unit/src/org/netbeans/modules/csl/api/test/CslTestBase.java b/ide/csl.api/test/unit/src/org/netbeans/modules/csl/api/test/CslTestBase.java
index 2c97bab..6f5ab18 100644
--- a/ide/csl.api/test/unit/src/org/netbeans/modules/csl/api/test/CslTestBase.java
+++ b/ide/csl.api/test/unit/src/org/netbeans/modules/csl/api/test/CslTestBase.java
@@ -3062,8 +3062,12 @@
     }
 
     public void checkCompletionDocumentation(final String file, final String caretLine, final boolean includeModifiers, final String itemPrefix) throws Exception {
+        checkCompletionDocumentation(file, caretLine, includeModifiers, itemPrefix, QueryType.COMPLETION);
+    }
+
+    public void checkCompletionDocumentation(final String file, final String caretLine, final boolean includeModifiers, final String itemPrefix, QueryType queryType) throws Exception {
         // TODO call TestCompilationInfo.setCaretOffset!
-        final QueryType type = QueryType.COMPLETION;
+        final QueryType type = queryType;
         final boolean caseSensitive = true;
 
         Source testSource = getTestSource(getTestFile(file));
diff --git a/ide/db.dataview/nbproject/project.properties b/ide/db.dataview/nbproject/project.properties
index cb75622..b25e67e 100644
--- a/ide/db.dataview/nbproject/project.properties
+++ b/ide/db.dataview/nbproject/project.properties
@@ -26,7 +26,7 @@
         ${basedir}/external/ooxml-schemas-1.4.jar:\
         ${basedir}/external/xmlbeans-3.1.0.jar:\
         ${basedir}/external/commons-collections4-4.4.jar:\
-        ${nb_all}/ide/libs.commons_compress/external/commons-compress-1.21.jar
+        ${nb_all}/ide/libs.commons_compress/external/commons-compress-1.23.0.jar
 
 test.config.stableBTD.includes=**/*Test.class
 test.config.stableBTD.excludes=\
diff --git a/ide/db/src/org/netbeans/api/db/explorer/DatabaseConnection.java b/ide/db/src/org/netbeans/api/db/explorer/DatabaseConnection.java
index 55f5262..0732ceb 100644
--- a/ide/db/src/org/netbeans/api/db/explorer/DatabaseConnection.java
+++ b/ide/db/src/org/netbeans/api/db/explorer/DatabaseConnection.java
@@ -319,7 +319,7 @@
      * Returns the {@link java.sql.Connection} instance which encapsulates 
      * the physical connection to the database if this database connection
      * is connected. Note that "connected" here means "connected using the
-     * Database Explorer". Unless <code>test</code is set to <code>true</code>,
+     * Database Explorer". Unless <code>test</code> is set to <code>true</code>,
      * there is no check if {@link java.sql.Connection#close}
      * has been called on the returned connection. However,
      * clients should not call <code>Connection.close()</code> on the returned
diff --git a/ide/db/src/org/netbeans/api/db/explorer/node/BaseNode.java b/ide/db/src/org/netbeans/api/db/explorer/node/BaseNode.java
index 8c2c398..01ba3a3 100644
--- a/ide/db/src/org/netbeans/api/db/explorer/node/BaseNode.java
+++ b/ide/db/src/org/netbeans/api/db/explorer/node/BaseNode.java
@@ -189,10 +189,6 @@
     /**
      * Set up the node
      * 
-     * @param dataLookup the data lookup
-     * @param layerEntry the name of the layer entry folder
-     * @param factory the associated child node factory, or null if this node
-     * doesn't provide child nodes.
      */
     protected void setup() {
         // put the node registry and this node into the lookup
diff --git a/ide/db/src/org/netbeans/api/db/explorer/node/ChildNodeFactory.java b/ide/db/src/org/netbeans/api/db/explorer/node/ChildNodeFactory.java
index 6e9d86d..932ee6f 100644
--- a/ide/db/src/org/netbeans/api/db/explorer/node/ChildNodeFactory.java
+++ b/ide/db/src/org/netbeans/api/db/explorer/node/ChildNodeFactory.java
@@ -41,7 +41,7 @@
     /**
      * Constructor. 
      * 
-     * @param dataLookup the associated data lookup
+     * @param lookup the associated data lookup
      */
     public ChildNodeFactory(Lookup lookup) {
         dataLookup = lookup;
diff --git a/ide/diff/src/org/netbeans/api/diff/PatchUtils.java b/ide/diff/src/org/netbeans/api/diff/PatchUtils.java
index 251655f..94814c2 100644
--- a/ide/diff/src/org/netbeans/api/diff/PatchUtils.java
+++ b/ide/diff/src/org/netbeans/api/diff/PatchUtils.java
@@ -44,7 +44,7 @@
      * 
      * @param patch the patch file
      * @param context the file or folder to be updated with the patch
-     * @throws PatchException
+     * @throws org.netbeans.modules.diff.builtin.PatchException
      * @throws IOException - the patch is invalid or cannot be applied
      * @since 1.19
      */
@@ -60,7 +60,7 @@
      *  <li>normal</li>
      *  <li>unified</li>
      * </ul>
-     * @param file patch file
+     * @param patch patch file
      * @return true if the given input stream is a patch otherwise false
      * @throws IOException
      * @since 1.19
diff --git a/ide/editor.bracesmatching/src/org/netbeans/spi/editor/bracesmatching/BraceContext.java b/ide/editor.bracesmatching/src/org/netbeans/spi/editor/bracesmatching/BraceContext.java
index c3fca3f..ed56d2d 100644
--- a/ide/editor.bracesmatching/src/org/netbeans/spi/editor/bracesmatching/BraceContext.java
+++ b/ide/editor.bracesmatching/src/org/netbeans/spi/editor/bracesmatching/BraceContext.java
@@ -25,19 +25,19 @@
  * by a semantically connected text, such as `if' statement or `while' statement in a do-while
  * loop in Java. Such text may be displayed as a context for the brace highlight. The marked text
  * should include the brace sign itself.
- * <p/>
+ * <p>
  * It may be necessary to provide a completely unrelated context, such is in the example
  * of if-else statement. The 'else' does not provide enough information itself as it is 
  * just a negation of earlier condition. Such related piece of text can be reported as 'related' 
- * BraceContext instance. Note that <i>related</b> instances may be chained - see the example below.
- * <p/>
+ * BraceContext instance. Note that <i>related</i> instances may be chained - see the example below.
+ * <p>
  * The infrastructure uses the provided information to present the context to the user. If 
  * a 'related' positions are present the infrastructure will attempt to present the source
  * on the 'context' and 'related' positions in the source text order (e.g. displays portion of the document);
  * contents between 'context' and 'related' positions may be suppressed.
- * <p/>
+ * <p>
  * An example of context and related areas for Java (PHP) if-elseif-else, with the origin t
- * <code><pre>
+ * <pre>{@code
  *  //  vvvvvvvvvvvvvvvvv -- related
  *      if (condition1) {
  *  //  vvvvvvvvvvvvvvvvvvvvvvvvvvv -- related
@@ -48,7 +48,7 @@
  *      ...
  *      }
  * //   ^ -- origin/caret location
- * </pre></code>
+ * }</pre>
  * @author sdedic
  */
 public final class BraceContext {
diff --git a/ide/editor.bracesmatching/src/org/netbeans/spi/editor/bracesmatching/BracesMatcher.java b/ide/editor.bracesmatching/src/org/netbeans/spi/editor/bracesmatching/BracesMatcher.java
index 247ac41..2968366 100644
--- a/ide/editor.bracesmatching/src/org/netbeans/spi/editor/bracesmatching/BracesMatcher.java
+++ b/ide/editor.bracesmatching/src/org/netbeans/spi/editor/bracesmatching/BracesMatcher.java
@@ -126,7 +126,6 @@
      * <p>It is essential for all implementations to respond when thread running
      * this method is interrupted and abort the task and return immediately. This can
      * be done simply by checking the thread's status like in the code below.
-     * <p>
      * 
      * <pre>
      * if (MatcherContext.isTaskCanceled()) {
@@ -158,7 +157,7 @@
          * of the origin will be passed in, but the implementation should be prepared to
          * handle (or ignore) each of the starting offsets reported by {@link #findOrigin()} or 
          * {@link #findMatches()}.
-         * <p/>
+         * <p>
          * Note: the document is <b>not read locked</b> by the caller. If the passed position does
          * not exist in the document, or seems obsolete, the SPI should return {@code null}.
          * 
diff --git a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/api/CodeTemplate.java b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/api/CodeTemplate.java
index 1e920fb..3647ebd 100644
--- a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/api/CodeTemplate.java
+++ b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/api/CodeTemplate.java
@@ -28,7 +28,7 @@
  * Code template is represented by a parametrized text
  * that, after pre-processing, can be pasted into a given
  * text component.
- * <br/>
+ * <br>
  * Code template instances are either persistent (can be retrieved by
  * {@link CodeTemplateManager#getCodeTemplates()})
  * or temporary code templates that can be created
diff --git a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/api/CodeTemplateManager.java b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/api/CodeTemplateManager.java
index 309ddd1..6c48c82 100644
--- a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/api/CodeTemplateManager.java
+++ b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/api/CodeTemplateManager.java
@@ -57,7 +57,7 @@
 
     /**
      * Get unmodifiable collection of the code templates for this manager.
-     * <br/>
+     * <br>
      * This method will block until the code templates will be loaded.
      *
      * @return non-null unmodifiable collection of the code templates.
diff --git a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateFilter.java b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateFilter.java
index 9ec76ad..aef6fd7 100644
--- a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateFilter.java
+++ b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateFilter.java
@@ -44,7 +44,7 @@
     
     /**
      * Factory for producing of the code template filters.
-     * <br/>
+     * <br>
      * It should be registered in the MimeLookup for a given mime-type.
      */
     @MimeLocation(subfolderName="CodeTemplateFilterFactories")
@@ -79,7 +79,7 @@
     /**
      * Factory for producing of the code template filters that filter templates
      * based on their contexts.
-     * <br/>
+     * <br>
      * It should be registered in the MimeLookup for a given mime-type.
      * 
      * @since 1.34
diff --git a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateInsertRequest.java b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateInsertRequest.java
index db75e4f..d47367f 100644
--- a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateInsertRequest.java
+++ b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateInsertRequest.java
@@ -31,7 +31,9 @@
  * to gather the data necessary to insert
  * the particular code template into the document (such as the template's parameters).
  *
- * <h3>State</h3>
+ * <p>
+ * <strong>State</strong>
+ * </p>
  * The insert request can be in three states:
  * <ul>
  *   <li>It is not inserted into the document yet.
@@ -44,7 +46,9 @@
  *     work to do. Code templates processor(s) servicing the request will be released.
  * </ul>
  *
- * <h3>Parameters</h3>
+ * <p>
+ * <strong>Parameters</strong>
+ * </p>
  * The code template's text is first parsed to find the parameters.
  * Each first occurrence of a parameter with particular name define
  * a master parameter. All the other occurrences of a parameter with the same name
@@ -132,7 +136,7 @@
      *  and the inserted default values are being modified by the user
      *  which can result into
      *  {@link CodeTemplateProcessor#parameterValueChanged(CodeTemplateParameter, boolean)}.
-     *  <p/>
+     *  <p>
      *  Returns false if the code template was not yet inserted into the document
      *  i.e. the {@link CodeTemplateProcessor#updateDefaultValues()}
      *  is currently being called on the registered processors.
@@ -158,10 +162,10 @@
     
     /**
      * Get the present parametrized text handled by this request.
-     * <br/>
+     * <br>
      * By default the code template's parametrized text obtained
      * by {@link CodeTemplate#getParametrizedText()} is used.
-     * <br/>
+     * <br>
      * The parametrized text can be modified by {@link #setParametrizedText(String)}.
      */
     public String getParametrizedText() {
@@ -170,11 +174,11 @@
     
     /**
      * Set the parametrized text to a new value.
-     * <br/>
+     * <br>
      * This may be necessary if some parameters are just artificial
      * and should be expanded by a particular code template processor
      * before the regular processing.
-     * <br/>
+     * <br>
      * Once this method is called the new parametrized text will be parsed
      * and a fresh new list of parameters will be created.
      *
@@ -187,10 +191,10 @@
     /**
      * Get the text where all the parameters are replaced
      * by their present values.
-     * <br/>
+     * <br>
      * This is the text to be physically inserted into the document
      * once the template processors possibly update the parameter's values.
-     * <br/>
+     * <br>
      * After the text gets physically inserted into the document this method
      * continues to return the "living" text of the document with the inserted template.
      */
@@ -200,10 +204,10 @@
 
     /**
      * Return offset of the inserted template in the document's text.
-     * <br/>
+     * <br>
      * The offset is physically represented as a swing position
      * so it will reflect possible subsequent document mutations.
-     * <br/>
+     * <br>
      * Before the template gets inserted into the document this method
      * returns zero.
      */
diff --git a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateParameter.java b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateParameter.java
index 846a584..1f58e5d 100644
--- a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateParameter.java
+++ b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateParameter.java
@@ -29,7 +29,7 @@
  * A first occurrence of the parameter in the parametrized text of the code template
  * define a master parameter. All other occurrences of the parameter
  * with the same name will become slave parameters.
- * <br/>
+ * <br>
  * The value of the master parameter
  * will be used for the slaves as well automatically and document modifications
  * to master parameter's value will be propagated to slaves as well.
@@ -42,10 +42,10 @@
  * ${param hint ... }
  * </pre>
  * The hints give additional specification of what the parameter's value should be.
- * <br/>
+ * <br>
  * The slave parameters inherit their value from their master so it has no sense
  * to define any hints for slave parameters.
- * <br/>
+ * <br>
  * The hints without explicit <code>=value</code> are assigned with string value "true".
  * 
  * @author Miloslav Metelka
@@ -75,11 +75,11 @@
     /**
      * Name of the hint that defines whether the given parameter is editable
      * by the user or not.
-     * <br/>
+     * <br>
      * If the parameter is not editable the user cannot jump to it by <i>TAB</i>
      * key during the post-insert editing. The value however can be changed
      * by the code template processor(s).
-     * <br/>
+     * <br>
      * Example of non-editable parameter:
      * <pre>
      * ${param editable=false}
@@ -99,8 +99,7 @@
      * // paramC comes first, then paramB, then paramA
      * ${paramA} ${paramB ordering=2} ${paramC ordering=1}
      * </pre>
-     * </p>
-     * https://netbeans.org/bugzilla/show_bug.cgi?id=181703
+     * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=181703">#181703</a>
      * @since 1.43.0
      */
     public static final String ORDERING_HINT_NAME = "ordering"; // NOI18N
@@ -122,9 +121,9 @@
      * Get the present value of this parameter.
      * 
      * @return non-null text value of this parameter.
-     *  <br/>
+     *  <br>
      *  The default value of the parameter is set to the name of the parameter.
-     *  <br/>
+     *  <br>
      *  If the parameter has hint of name
      *  {@link #DEFAULT_VALUE_HINT_NAME} then the default value
      *  is taken from the hint.
@@ -141,13 +140,13 @@
     
     /**
      * Set a new value for this parameter.
-     * <br/>
+     * <br>
      * The value can only be set to the master parameters
      * because slave parameters will inherit values from their masters.
-     * <br/>
+     * <br>
      * If the code template was not yet inserted into the text the value
      * will be remembered and used as a default value during insertion.
-     * <br/>
+     * <br>
      * If the code template was already inserted and it's still actively
      * being changed then the value is propagated directly to the document's text.
      * 
@@ -183,7 +182,7 @@
      * 
      * @return &gt;=0 starting offset of this parameter in the text being
      *  inserted into the document.
-     *  <br/>
+     *  <br>
      *  After the code template gets inserted into the document
      *  the value continues to be updated if the user changes the value
      *  by typing until the code template gets released which can be
@@ -195,7 +194,7 @@
     
     /**
      * Get starting offset of this parameter in the parametrized text.
-     * <br/>
+     * <br>
      * The parametrized text can be obtained
      * by {@link CodeTemplateInsertRequest#getParametrizedText()}.
      *
@@ -208,7 +207,7 @@
     
     /**
      * Get the ending offset of this parameter in the parametrized text.
-     * <br/>
+     * <br>
      * The parametrized text can be obtained
      * by {@link CodeTemplateInsertRequest#getParametrizedText()}.
      *
@@ -222,7 +221,7 @@
 
     /**
      * Get map of the [String,String] hints in the parameter.
-     * <br/>
+     * <br>
      * For example the hints map for <code>${param hint1 hint2="defaultValue"}</code>
      * will contain ["hint1","true"] and ["hint2","defaultValue"].
      */
@@ -244,7 +243,7 @@
      * Get unmodifiable collection of the slave parameters.
      *
      * @return non-null collection of the slave parameters for this parameter.
-     *  <br/>
+     *  <br>
      *  The collection will be empty if this is a slave parameter
      *  or a master with no slaves.
      */
diff --git a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateProcessor.java b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateProcessor.java
index 131de6d..206268e 100644
--- a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateProcessor.java
+++ b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateProcessor.java
@@ -34,10 +34,10 @@
     /**
      * Update the values of the parameters in the parsed code template
      * before the code template gets physically inserted into the document.
-     * <br/>
+     * <br>
      * The processor may call {@link CodeTemplateInsertRequest#getMasterParameters()}
      * to find the master parameters.
-     * <br/>
+     * <br>
      * On each parameter {@link CodeTemplateParameter#setValue(String)}
      * can be called. The value will be propagated to all slave parameters
      * automatically.
@@ -47,12 +47,12 @@
     /**
      * Notification that a master parameter's value has been modified
      * by the user and the processor may need to react to it.
-     * <br/>
+     * <br>
      * This notification is only done after the code template was physically
      * inserted into the document i.e. {@link CodeTemplateInsertRequest#isInserted()}
      * returns true.
      * 
-     * <br/>
+     * <br>
      * Typically the processor either does nothing or it may change other
      * parameter(s)' values. The change may occur in the same thread
      * or it may post the parameter's new value recomputation and changing
@@ -69,10 +69,10 @@
      * @param masterParameter master parameter that was changed.
      * @param typingChange allows to react to user's typing immediately
      *  or only react once the active parameter gets changed e.g. by <i>TAB</i>.
-     *  <br/>
+     *  <br>
      *  <code>true</code> is passed if the parameter value was modified
      *  by user's typing. Some processors may want such immediate reaction.
-     *  <br/>
+     *  <br>
      *  Others will only react when this parameter
      *  is <code>false</code> which happens when
      *  at least one typing change occurred in the current active parameter
@@ -84,7 +84,7 @@
     /**
      * Notify the processor that the insert request which it services
      * was already completed and there is no more work to do.
-     * <br/>
+     * <br>
      * The processor can free possible resources related to the insert
      * request processing.
      *
diff --git a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateProcessorFactory.java b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateProcessorFactory.java
index 3a45760..a8b0237 100644
--- a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateProcessorFactory.java
+++ b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateProcessorFactory.java
@@ -23,7 +23,7 @@
 
 /**
  * Factory constructs code template processor for a given insert request.
- * <br/>
+ * <br>
  * The factory instances are looked up
  * by {@link org.netbeans.api.editor.mimelookup.MimeLookup}
  * so they should be registered in an xml-layer in
diff --git a/ide/editor.completion/src/org/netbeans/spi/editor/completion/CompletionItem.java b/ide/editor.completion/src/org/netbeans/spi/editor/completion/CompletionItem.java
index 04b4d19..d4f9908 100644
--- a/ide/editor.completion/src/org/netbeans/spi/editor/completion/CompletionItem.java
+++ b/ide/editor.completion/src/org/netbeans/spi/editor/completion/CompletionItem.java
@@ -44,7 +44,7 @@
     /**
      * Gets invoked when user presses <code>VK_ENTER</code> key
      * or when she double-clicks on this item with the mouse cursor.
-     * <br/>
+     * <br>
      * This method gets invoked from AWT thread.
      *
      * @param component non-null text component for which the completion was invoked.
@@ -62,7 +62,7 @@
     /**
      * Process the key pressed when this completion item was selected
      * in the completion popup window.
-     * <br/>
+     * <br>
      * This method gets invoked from AWT thread.
      *
      * @param evt non-null key event of the pressed key. It should be consumed
@@ -120,7 +120,7 @@
      * <br>
      * The implementation can invoke the {@link #defaultAction(JTextComponent)}
      * if necessary.
-     * <br/>
+     * <br>
      * This method gets invoked from AWT thread.
      *
      * @param component non-null text component for which the completion was invoked.
diff --git a/ide/editor.completion/src/org/netbeans/spi/editor/completion/CompletionTask.java b/ide/editor.completion/src/org/netbeans/spi/editor/completion/CompletionTask.java
index a7cc405..9fc7a6b 100644
--- a/ide/editor.completion/src/org/netbeans/spi/editor/completion/CompletionTask.java
+++ b/ide/editor.completion/src/org/netbeans/spi/editor/completion/CompletionTask.java
@@ -75,7 +75,7 @@
      * 
      * @param resultSet non-null result set to which the results
      *  of the refreshing must be added.
-     *  <br/>
+     *  <br>
      *  Null result set may be passed in case the <code>query()</code>
      *  was not invoked yet and user has typed a character. In this case
      *  the provider may hide the completion
diff --git a/ide/editor.completion/src/org/netbeans/spi/editor/completion/support/AsyncCompletionQuery.java b/ide/editor.completion/src/org/netbeans/spi/editor/completion/support/AsyncCompletionQuery.java
index af21f7a..42fab0b 100644
--- a/ide/editor.completion/src/org/netbeans/spi/editor/completion/support/AsyncCompletionQuery.java
+++ b/ide/editor.completion/src/org/netbeans/spi/editor/completion/support/AsyncCompletionQuery.java
@@ -43,10 +43,10 @@
 
     /**
      * Called in response to <code>CompletionTask.refresh(null)</code>.
-     * <br/>
+     * <br>
      * The method gets invoked once the the user types a character
      * but the <code>CompletionTask.query()</code> was not yet invoked.
-     * <br/>
+     * <br>
      * The method may want to inspect the typed character before the caret
      * position and decide whether the completion should be hidden
      * if the typed character is inappropriate e.g. ";" for java completion.
diff --git a/ide/editor.completion/src/org/netbeans/spi/editor/completion/support/CompletionUtilities.java b/ide/editor.completion/src/org/netbeans/spi/editor/completion/support/CompletionUtilities.java
index 3d5cc35..89a5e72 100644
--- a/ide/editor.completion/src/org/netbeans/spi/editor/completion/support/CompletionUtilities.java
+++ b/ide/editor.completion/src/org/netbeans/spi/editor/completion/support/CompletionUtilities.java
@@ -79,7 +79,7 @@
 
     /**
      * Get preferred width of the item by knowing its left and right html texts.
-     * <br/>
+     * <br>
      * It is supposed that the item will have an icon 16x16 and an appropriate
      * space is reserved for it.
      *
@@ -117,21 +117,21 @@
      * 
      * @param leftHtmlText html text that will be displayed on the left side
      *  of the item's rendering area next to the icon.
-     *  <br/>
+     *  <br>
      *  It may be null which indicates that no left text will be displayed.
-     *  <br/>
+     *  <br>
      *  If there's not enough horizontal space in the rendering area
      *  the text will be shrinked and "..." will be displayed at the end.
      *
      * @param rightHtmlText html text that will be aligned to the right edge
      *  of the item's rendering area.
-     *  <br/>
+     *  <br>
      *  It may be null which means that no right text will be displayed.
-     *  <br/>
+     *  <br>
      *  The right text is always attempted to be fully displayed unlike
      *  the left text that may be shrinked if there's not enough rendering space
      *  in the horizontal direction.
-     *  <br/>
+     *  <br>
      *  If there's not enough space even for the right text it will be shrinked
      *  and "..." will be displayed at the end of the rendered string.
      * @param g non-null graphics through which the rendering happens.
@@ -186,7 +186,7 @@
 
     /**
      * Builder for simple {@link CompletionItem} instances.
-     * <br/>
+     * <br>
      * Example usage:
      * <pre>
      * CompletionUtilities.newCompletionItemBuilder(insertText)
diff --git a/ide/editor.settings.storage/apichanges.xml b/ide/editor.settings.storage/apichanges.xml
index 80d2aa1..b8dd3ca 100644
--- a/ide/editor.settings.storage/apichanges.xml
+++ b/ide/editor.settings.storage/apichanges.xml
@@ -228,7 +228,7 @@
             <description>
             <p>
                 The phase 1 of the editor settings enhancements, please see
-                <a href="http://www.netbeans.org/issues/show_bug.cgi?id=90403">issue 90403</a>
+                <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=90403">issue 90403</a>
                 for details. Briefly, the changes involve introducing a special
                 folder for each setting type, profiles are always stored in their
                 own folder, modules are allowed to register multiple settings files,
diff --git a/ide/editor.settings.storage/src/org/netbeans/modules/editor/settings/storage/api/EditorSettings.java b/ide/editor.settings.storage/src/org/netbeans/modules/editor/settings/storage/api/EditorSettings.java
index 10bf53e..ee285e5 100644
--- a/ide/editor.settings.storage/src/org/netbeans/modules/editor/settings/storage/api/EditorSettings.java
+++ b/ide/editor.settings.storage/src/org/netbeans/modules/editor/settings/storage/api/EditorSettings.java
@@ -30,7 +30,7 @@
 
 /**
  * This singleton class contains access methods for editor settings like
- * font & colors profiles and keymaps.
+ * font &amp; colors profiles and keymaps.
  *
  * @author Jan Jancura
  */
@@ -103,9 +103,9 @@
     public static final String PROP_MIME_TYPES = MimeTypesTracker.PROP_MIME_TYPES;
     
     /**
-     * Returns set of font & colors profiles.
+     * Returns set of font &amp; colors profiles.
      *
-     * @return set of font & colors profiles
+     * @return set of font &amp; colors profiles
      */
     public abstract Set<String> getFontColorProfiles ();
     
@@ -118,25 +118,25 @@
     public abstract boolean isCustomFontColorProfile (String profile);
     
     /**
-     * Returns name of current font & colors profile.
+     * Returns name of current font &amp; colors profile.
      *
-     * @return name of current font & colors profile
+     * @return name of current font &amp; colors profile
      */
     public abstract String getCurrentFontColorProfile ();
     
     /**
-     * Sets current font & colors profile.
+     * Sets current font &amp; colors profile.
      *
      * @param profile a profile name
      */
     public abstract void setCurrentFontColorProfile (String profile);
     
     /**
-     * Returns font & color defaults for given profile or null, if the profile
+     * Returns font &amp; color defaults for given profile or null, if the profile
      * is unknown .
      *
      * @param profile a profile name
-     * @return font & color defaults for given profile or null
+     * @return font &amp; color defaults for given profile or null
      * 
      * @deprecated Use getFontColorSettings(new String[0]).getAllFontColors(profile) instead.
      */
@@ -146,11 +146,11 @@
     );
     
     /**
-     * Returns default values for font & color defaults for given profile 
+     * Returns default values for font &amp; color defaults for given profile 
      * or null, if the profile is unknown.
      *
      * @param profile a profile name
-     * @return font & color defaults for given profile or null
+     * @return font &amp; color defaults for given profile or null
      * 
      * @deprecated Use getFontColorSettings(new String[0]).getAllFontColorsDefaults(profile) instead.
      */
@@ -160,10 +160,10 @@
     );
     
     /**
-     * Sets font & color defaults for given profile.
+     * Sets font &amp; color defaults for given profile.
      *
      * @param profile a profile name
-     * @param fontColors font & color defaults to be used
+     * @param fontColors font &amp; color defaults to be used
      * 
      * @deprecated Use getFontColorSettings(new String[0]).setAllFontColors(profile, fontColors) instead.
      */
@@ -267,7 +267,7 @@
     /**
      * Returns set of keymap profiles.
      *
-     * @return set of font & colors profiles
+     * @return set of font &amp; colors profiles
      */
     public abstract Set<String> getKeyMapProfiles ();
     
diff --git a/ide/editor.settings.storage/src/org/netbeans/modules/editor/settings/storage/api/FontColorSettingsFactory.java b/ide/editor.settings.storage/src/org/netbeans/modules/editor/settings/storage/api/FontColorSettingsFactory.java
index 54500e2..267f0fc 100644
--- a/ide/editor.settings.storage/src/org/netbeans/modules/editor/settings/storage/api/FontColorSettingsFactory.java
+++ b/ide/editor.settings.storage/src/org/netbeans/modules/editor/settings/storage/api/FontColorSettingsFactory.java
@@ -23,7 +23,7 @@
 import javax.swing.text.AttributeSet;
 
 /**
- * Getters and setters for font & color editor profiles. Instances of this 
+ * Getters and setters for font &amp; color editor profiles. Instances of this 
  * class should be registered in <code>MimeLookup</code> for particular mime types.
  *
  * @author Jan Jancura
@@ -41,12 +41,12 @@
     public abstract Collection<AttributeSet> getAllFontColors (String profile);
     
     /**
-     * Gets default values for all font & colors for given profile, or null
+     * Gets default values for all font &amp; colors for given profile, or null
      * if profile does not exist or if it does not have any defaults. 
      * 
      * @param profile the name of profile
      *
-     * @return default values for all font & colors
+     * @return default values for all font &amp; colors
      */
     public abstract Collection<AttributeSet> getAllFontColorDefaults 
         (String profile);
diff --git a/ide/editor.settings.storage/src/org/netbeans/modules/editor/settings/storage/spi/support/StorageSupport.java b/ide/editor.settings.storage/src/org/netbeans/modules/editor/settings/storage/spi/support/StorageSupport.java
index 4a87f25..df971e1 100644
--- a/ide/editor.settings.storage/src/org/netbeans/modules/editor/settings/storage/spi/support/StorageSupport.java
+++ b/ide/editor.settings.storage/src/org/netbeans/modules/editor/settings/storage/spi/support/StorageSupport.java
@@ -48,7 +48,7 @@
     /**
      * Converts a list of <code>KeyStroke</code>s to its textual representation. There
      * are two available formats for the textual representation:
-     * 
+     * <ul>
      * <li><b>Human readable</b> - this format encodes a <code>KeyStroke</code> to
      *   a string that looks like for example 'Ctrl+A' or 'Alt+Shift+M'.
      * <li><b>Emacs style</b> - this format encodes a <code>KeyStroke</code> to
@@ -56,14 +56,14 @@
      *   It uses methods from <code>org.openide.util.Utilities</code>, which take
      *   care of Mac OS specifics and use 'D' and 'O' wildcards for encoding 'Ctrl'
      *   and 'Alt' keys.
-     * 
+     * </ul>
      * @param keys The <code>KeyStrokes</code> to convert.
      * @param emacsStyle If <code>true</code> the returned string will be in so called
      *   Emacs style, ortherwise it will be in human readable format.
      * 
      * @return The textual representation of <code>KeyStroke</code>s passed in.
      * @since 1.16
-     * @deprecated Use {@link KeyStrokeUtils#getKeyStrokesAsText} or {@link Utilities#keyToString(javax.swing.KeyStroke[], java.lang.String, boolean)}
+     * @deprecated Use {@link KeyStrokeUtils#getKeyStrokesAsText} or {@link Utilities#keyToString(javax.swing.KeyStroke, boolean)}
      */
     public static String keyStrokesToString(Collection<? extends KeyStroke> keys, boolean emacsStyle) {
         if (!emacsStyle) {
@@ -84,7 +84,7 @@
 
     /**
      * Converts a textual representation of key strokes to an array of <code>KeyStroke</code>
-     * objects. Please see {@link #keyStrokesToString(Collection<KeyStroke>, boolean)}
+     * objects. Please see {@link #keyStrokesToString(Collection, boolean)}
      * ror details about the available formats.
      * 
      * @param key The textual representation of keystorkes to convert. Its format
diff --git a/ide/editor/src/org/netbeans/modules/editor/EditorWarmUpTask.java b/ide/editor/src/org/netbeans/modules/editor/EditorWarmUpTask.java
index fc8f3de..8aa8b73 100644
--- a/ide/editor/src/org/netbeans/modules/editor/EditorWarmUpTask.java
+++ b/ide/editor/src/org/netbeans/modules/editor/EditorWarmUpTask.java
@@ -28,7 +28,7 @@
  * pre-initialize some suitable parts of the module to improve first time usage
  * experience - which might suffer from long response time due to class loading
  * and various initialization.
- * See {@link org.netbeans.core.AfterStartWarmUp} for details about how the task is run.
+ * See <a href="https://github.com/apache/netbeans/blob/master/platform/core.startup/src/org/netbeans/core/startup/WarmUpSupport.java">WarmUpSupport</a> for details about how the task is run.
  *
  */
 
diff --git a/ide/editor/src/org/netbeans/modules/editor/options/AnnotationTypeProcessor.java b/ide/editor/src/org/netbeans/modules/editor/options/AnnotationTypeProcessor.java
index eafe442..a4ae54d 100644
--- a/ide/editor/src/org/netbeans/modules/editor/options/AnnotationTypeProcessor.java
+++ b/ide/editor/src/org/netbeans/modules/editor/options/AnnotationTypeProcessor.java
@@ -108,7 +108,7 @@
 
     /** Create an instance.
      * @return the instance of type {@link #instanceClass}
-     * @exception IOException if an I/O error occured
+     * @exception java.io.IOException if an I/O error occured
      * @exception ClassNotFoundException if a class was not found
      */
     public Object instanceCreate() throws java.io.IOException, ClassNotFoundException {
@@ -122,8 +122,6 @@
      * class without actually creating it.
      *
      * @return the representation class of the instance
-     * @exception IOException if an I/O error occurred
-     * @exception ClassNotFoundException if a class was not found
      */
     public Class instanceClass() {
         return AnnotationType.class;
diff --git a/ide/jellytools.ide/src/org/netbeans/jellytools/FilesTabOperator.java b/ide/jellytools.ide/src/org/netbeans/jellytools/FilesTabOperator.java
index a06ace2..9cbb25b 100644
--- a/ide/jellytools.ide/src/org/netbeans/jellytools/FilesTabOperator.java
+++ b/ide/jellytools.ide/src/org/netbeans/jellytools/FilesTabOperator.java
@@ -29,7 +29,7 @@
  * Functionality related to Projects tree is delegated to JTreeOperator (method
  * tree()) and nodes (method getProjectNode()).<p>
  *
- * Example:<p>
+ * Example:
  * <pre>
  *      FilesTabOperator fto = new FilesTabOperator();
  *      // or when Files pane is not already opened
diff --git a/ide/jellytools.ide/src/org/netbeans/jellytools/ProjectsTabOperator.java b/ide/jellytools.ide/src/org/netbeans/jellytools/ProjectsTabOperator.java
index a9377d3..e023bfc 100644
--- a/ide/jellytools.ide/src/org/netbeans/jellytools/ProjectsTabOperator.java
+++ b/ide/jellytools.ide/src/org/netbeans/jellytools/ProjectsTabOperator.java
@@ -32,7 +32,7 @@
  * Functionality related to Projects tree is delegated to JTreeOperator (method
  * tree()) and nodes (method getRootNode()).<p>
  *
- * Example:<p>
+ * Example:
  * <pre>
  *      ProjectsTabOperator pto = new ProjectsTabOperator();
  *      // or when Projects pane is not already opened
diff --git a/ide/jellytools.ide/src/org/netbeans/jellytools/RuntimeTabOperator.java b/ide/jellytools.ide/src/org/netbeans/jellytools/RuntimeTabOperator.java
index 7d2eab2..cfe95d9 100644
--- a/ide/jellytools.ide/src/org/netbeans/jellytools/RuntimeTabOperator.java
+++ b/ide/jellytools.ide/src/org/netbeans/jellytools/RuntimeTabOperator.java
@@ -28,7 +28,7 @@
 /** Operator handling Services TopComponent.<p>
  * Functionality related to Services tree is delegated to JTreeOperator (method
  * tree()) and nodes (method getRootNode()).<p>
- * Example:<p>
+ * Example:
  * <pre>
  *      RuntimeTabOperator rto = RuntimeTabOperator.invoke();
  *      // or when Runtime pane is already opened
diff --git a/ide/jellytools.ide/src/org/netbeans/jellytools/modules/debugger/actions/DebugProjectAction.java b/ide/jellytools.ide/src/org/netbeans/jellytools/modules/debugger/actions/DebugProjectAction.java
index 4cc112f..de0290a 100644
--- a/ide/jellytools.ide/src/org/netbeans/jellytools/modules/debugger/actions/DebugProjectAction.java
+++ b/ide/jellytools.ide/src/org/netbeans/jellytools/modules/debugger/actions/DebugProjectAction.java
@@ -25,7 +25,7 @@
  * Used to call "Debug" popup menu item on project's root node.
  *
  * @see Action
- * @see org.netbeans.jellytools.nodes.JavaProjectRootNode
+ * @see <a href="@org-netbeans-modules-jellytools-java@/org/netbeans/jellytools/nodes/JavaProjectRootNode.html">org.netbeans.jellytools.nodes.JavaProjectRootNode</a>
  * @author Vojtech Sigler
  */
 public class DebugProjectAction extends Action {
diff --git a/ide/jumpto/src/org/netbeans/spi/jumpto/symbol/SymbolProvider.java b/ide/jumpto/src/org/netbeans/spi/jumpto/symbol/SymbolProvider.java
index 6f7dfda..c73ea30 100644
--- a/ide/jumpto/src/org/netbeans/spi/jumpto/symbol/SymbolProvider.java
+++ b/ide/jumpto/src/org/netbeans/spi/jumpto/symbol/SymbolProvider.java
@@ -63,7 +63,7 @@
      * up calling {@link #cancel} on the same symbol provider during the operation, in which
      * case the method can return incomplete results. If there is a "current project",
      * the Go To Symbol infrastructure will perform the search in two passes; first it
-     * will call {@link #getSymbolNames} with the current project, which should be a reasonably
+     * will call {@link SymbolDescriptor#getSymbolName()} with the current project, which should be a reasonably
      * fast search, and display those symbols first. It will then call the method again
      * with a null project, which should return all symbols.
      * <p>
@@ -242,7 +242,7 @@
         /**
           * Adds list of result descriptors.
           *
-          * @param  symbolDescriptor  symbol descriptor to be added to result
+          * @param  symbolDescriptors  symbol descriptor to be added to result
           */
         @SuppressWarnings("unchecked")
         public void addResult(List<? extends SymbolDescriptor> symbolDescriptors) {
diff --git a/ide/jumpto/src/org/netbeans/spi/jumpto/type/TypeDescriptor.java b/ide/jumpto/src/org/netbeans/spi/jumpto/type/TypeDescriptor.java
index 740dc3f..061b291 100644
--- a/ide/jumpto/src/org/netbeans/spi/jumpto/type/TypeDescriptor.java
+++ b/ide/jumpto/src/org/netbeans/spi/jumpto/type/TypeDescriptor.java
@@ -113,7 +113,7 @@
      * This will only be called when the dialog is opening the type, so
      * does not have to be as fast as the other descriptor attributes.
      * 
-     * @todo This method is intended to replace the open() call below.
+     * XXX This method is intended to replace the open() call below.
      *
      * @return The document offset of the type declaration in the declaration file
      */
@@ -121,7 +121,7 @@
      
     /**
      * Open the type declaration in the editor. 
-     * @todo Should we nuke this method and only have type declarations return
+     * XXX Should we nuke this method and only have type declarations return
      *   their offsets? I looked at the Java implementation and it's leveraging 
      *   some utility methods to open the type declaration; I have similar methods
      *   in Ruby. It might be more convenient
diff --git a/ide/jumpto/src/org/netbeans/spi/jumpto/type/TypeProvider.java b/ide/jumpto/src/org/netbeans/spi/jumpto/type/TypeProvider.java
index d513717..29e652b 100644
--- a/ide/jumpto/src/org/netbeans/spi/jumpto/type/TypeProvider.java
+++ b/ide/jumpto/src/org/netbeans/spi/jumpto/type/TypeProvider.java
@@ -32,7 +32,7 @@
  *
  * The Type Providers are registered in Lookup.
  *
- * @todo Should we return a Collection rather than a List?
+ * XXX Should we return a Collection rather than a List?
  *
  * @author Tor Norbye
  */
@@ -63,7 +63,7 @@
      * up calling {@link #cancel} on the same type provider during the operation, in which
      * case the method can return incomplete results. If there is a "current project",
      * the Go To Type infrastructure will perform the search in two passes; first it
-     * will call {@link #getTypeNames} with the current project, which should be a reasonably
+     * will call {@link TypeDescriptor#getTypeName()} with the current project, which should be a reasonably
      * fast search, and display those types first. It will then call the method again
      * with a null project, which should return all types.
      * <p>
@@ -226,7 +226,7 @@
         /**
           * Adds list of result descriptors.
           *
-          * @param  typeDescriptor  type descriptor to be added to result
+          * @param  typeDescriptors  type descriptor to be added to result
           */
         public void addResult(@NonNull final List<? extends TypeDescriptor> typeDescriptors) {
             for (TypeDescriptor typeDescriptor : typeDescriptors) {
diff --git a/ide/libs.commons_compress/external/binaries-list b/ide/libs.commons_compress/external/binaries-list
index 47ecf32..312658f 100644
--- a/ide/libs.commons_compress/external/binaries-list
+++ b/ide/libs.commons_compress/external/binaries-list
@@ -14,4 +14,4 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-4EC95B60D4E86B5C95A0E919CB172A0AF98011EF org.apache.commons:commons-compress:1.21
+4AF2060EA9B0C8B74F1854C6CAFE4D43CFC161FC org.apache.commons:commons-compress:1.23.0
diff --git a/ide/libs.commons_compress/external/commons-compress-1.21-license.txt b/ide/libs.commons_compress/external/commons-compress-1.23.0-license.txt
similarity index 99%
rename from ide/libs.commons_compress/external/commons-compress-1.21-license.txt
rename to ide/libs.commons_compress/external/commons-compress-1.23.0-license.txt
index 5429e1f..55d972a 100644
--- a/ide/libs.commons_compress/external/commons-compress-1.21-license.txt
+++ b/ide/libs.commons_compress/external/commons-compress-1.23.0-license.txt
@@ -1,5 +1,5 @@
 Name: Commons Compress
-Version: 1.21
+Version: 1.23.0
 OSR: 19203
 Description: The Apache Commons Compress library defines an API for working with ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200, bzip2, 7z, arj, lzma, snappy, DEFLATE, lz4, Brotli, Zstandard, DEFLATE64 and Z files.
 Origin: https://commons.apache.org/proper/commons-compress/index.html
diff --git a/ide/libs.commons_compress/external/commons-compress-1.21-notice.txt b/ide/libs.commons_compress/external/commons-compress-1.23.0-notice.txt
similarity index 100%
rename from ide/libs.commons_compress/external/commons-compress-1.21-notice.txt
rename to ide/libs.commons_compress/external/commons-compress-1.23.0-notice.txt
diff --git a/ide/libs.commons_compress/nbproject/project.properties b/ide/libs.commons_compress/nbproject/project.properties
index 14d35d0..81f9b37 100644
--- a/ide/libs.commons_compress/nbproject/project.properties
+++ b/ide/libs.commons_compress/nbproject/project.properties
@@ -18,5 +18,5 @@
 is.autoload=true
 javac.compilerargs=-Xlint -Xlint:-serial
 javac.source=1.8
-release.external/commons-compress-1.21.jar=modules/ext/commons-compress-1.21.jar
+release.external/commons-compress-1.23.0.jar=modules/ext/commons-compress-1.23.0.jar
 spec.version.base=0.26.0
diff --git a/ide/libs.commons_compress/nbproject/project.xml b/ide/libs.commons_compress/nbproject/project.xml
index 2c0edd4..3dec083 100644
--- a/ide/libs.commons_compress/nbproject/project.xml
+++ b/ide/libs.commons_compress/nbproject/project.xml
@@ -36,8 +36,8 @@
                 <package>org.apache.commons.compress.utils</package>
             </friend-packages>
             <class-path-extension>
-                <runtime-relative-path>ext/commons-compress-1.21.jar</runtime-relative-path>
-                <binary-origin>external/commons-compress-1.21.jar</binary-origin>
+                <runtime-relative-path>ext/commons-compress-1.23.0.jar</runtime-relative-path>
+                <binary-origin>external/commons-compress-1.23.0.jar</binary-origin>
             </class-path-extension>
         </data>
     </configuration>
diff --git a/ide/libs.commons_compress/src/org/netbeans/libs/commons_compress/mf-layer.xml b/ide/libs.commons_compress/src/org/netbeans/libs/commons_compress/mf-layer.xml
index 9c67fa3..9be466f 100644
--- a/ide/libs.commons_compress/src/org/netbeans/libs/commons_compress/mf-layer.xml
+++ b/ide/libs.commons_compress/src/org/netbeans/libs/commons_compress/mf-layer.xml
@@ -27,7 +27,7 @@
             <file name="org-netbeans-lib-commons_compress-antlibrary.instance">
                 <attr name="instanceCreate" methodvalue="org.apache.tools.ant.module.spi.AutomaticExtraClasspath.url"/>
                 <attr name="instanceOf" stringvalue="org.apache.tools.ant.module.spi.AutomaticExtraClasspathProvider"/>
-                <attr name="url" urlvalue="nbinst://org.netbeans.libs.commons_compress/modules/ext/commons-compress-1.21.jar"/>
+                <attr name="url" urlvalue="nbinst://org.netbeans.libs.commons_compress/modules/ext/commons-compress-1.23.0.jar"/>
             </file>
         </folder>
     </folder>
diff --git a/ide/nativeimage.api/src/org/netbeans/modules/nativeimage/api/Symbol.java b/ide/nativeimage.api/src/org/netbeans/modules/nativeimage/api/Symbol.java
index cf18960..56aba3e 100644
--- a/ide/nativeimage.api/src/org/netbeans/modules/nativeimage/api/Symbol.java
+++ b/ide/nativeimage.api/src/org/netbeans/modules/nativeimage/api/Symbol.java
@@ -36,7 +36,7 @@
     }
 
     /**
-     * Get the symbol name. Never <code>null<code>.
+     * Get the symbol name. Never <code>null</code>.
      *
      * @since 0.2
      */
diff --git a/ide/nativeimage.api/src/org/netbeans/modules/nativeimage/api/debug/NIDebugger.java b/ide/nativeimage.api/src/org/netbeans/modules/nativeimage/api/debug/NIDebugger.java
index 21d3511..f4a212f 100644
--- a/ide/nativeimage.api/src/org/netbeans/modules/nativeimage/api/debug/NIDebugger.java
+++ b/ide/nativeimage.api/src/org/netbeans/modules/nativeimage/api/debug/NIDebugger.java
@@ -152,7 +152,7 @@
      * @param startedEngine the corresponding DebuggerEngine is passed to this consumer
      * @return future that completes on the execution finish
      * @since 0.4
-     * @deprecated Use {@link #start(StartDebugParameters, Consumer) and set {@link StartDebugParameters.Builder#processID(long)}.
+     * @deprecated Use {@link #start(StartDebugParameters, Consumer)} and set {@link StartDebugParameters.Builder#processID(Long)}.
      */
     @Deprecated
     public CompletableFuture<Void> attach(String executablePath, long processId, String debugger, Consumer<DebuggerEngine> startedEngine) {
diff --git a/ide/nativeimage.api/src/org/netbeans/modules/nativeimage/spi/debug/NIDebuggerProvider.java b/ide/nativeimage.api/src/org/netbeans/modules/nativeimage/spi/debug/NIDebuggerProvider.java
index 0f3d509..4fd0427 100644
--- a/ide/nativeimage.api/src/org/netbeans/modules/nativeimage/spi/debug/NIDebuggerProvider.java
+++ b/ide/nativeimage.api/src/org/netbeans/modules/nativeimage/spi/debug/NIDebuggerProvider.java
@@ -127,7 +127,7 @@
      * @param startedEngine the corresponding DebuggerEngine is passed to this consumer
      * @return future that completes on the execution finish
      * @since 0.4
-     * @deprecated Use {@link #start(StartDebugParameters, Consumer)} and set {@link StartDebugParameters.Builder#processID(long)}.
+     * @deprecated Use {@link #start(StartDebugParameters, Consumer)} and set {@link StartDebugParameters.Builder#processID(Long)}.
      */
     @Deprecated
     default CompletableFuture<Void> attach(String executablePath, long processId, String debugger, Consumer<DebuggerEngine> startedEngine) {
diff --git a/ide/o.openidex.util/src/org/openidex/search/SearchGroup.java b/ide/o.openidex.util/src/org/openidex/search/SearchGroup.java
index 98373d7..fa16d63 100644
--- a/ide/o.openidex.util/src/org/openidex/search/SearchGroup.java
+++ b/ide/o.openidex.util/src/org/openidex/search/SearchGroup.java
@@ -274,7 +274,7 @@
      * to all search types) is computed. Then a search group is created
      * for each of the <code>Class</code>s.
      *
-     * @param  search types to create search groups for
+     * @param items search types to create search groups for
      * @return  created search groups
      * @see  SearchType#getSearchTypeClasses()
      */
diff --git a/ide/o.openidex.util/src/org/openidex/search/SearchHistory.java b/ide/o.openidex.util/src/org/openidex/search/SearchHistory.java
index 9a300fe..bb51464 100644
--- a/ide/o.openidex.util/src/org/openidex/search/SearchHistory.java
+++ b/ide/o.openidex.util/src/org/openidex/search/SearchHistory.java
@@ -29,7 +29,7 @@
 
 /**
  * Shareable search history. Known implementations are explorer search
- * dialog and editor find&replace dialog.
+ * dialog and editor find&amp;replace dialog.
  *
  * Typical use case:
  * Editor registers a listener to listen on lastSelected SearchPattern. If user
diff --git a/ide/parsing.api/src/org/netbeans/modules/parsing/api/ParserManager.java b/ide/parsing.api/src/org/netbeans/modules/parsing/api/ParserManager.java
index 2b2fdac..7ade6f7 100644
--- a/ide/parsing.api/src/org/netbeans/modules/parsing/api/ParserManager.java
+++ b/ide/parsing.api/src/org/netbeans/modules/parsing/api/ParserManager.java
@@ -304,7 +304,7 @@
     
     /**
      * Runs given task in parser thread.
-     * @param mimetype      specifying the parser
+     * @param mimeType      specifying the parser
      * @param userTask      a user task
      * @throws ParseException encapsulating the user exception
      */
@@ -325,7 +325,7 @@
      * scan is running the method behaves exactly like the {#link ParserManager#parse},
      * it performs the given task synchronously (in caller thread). If there is an another {@link UserTask}
      * running this method waits until it's completed.
-     * @param mimetype A mimetype specifying the parser.
+     * @param mimeType A mimetype specifying the parser.
      * @param userTask A task started when parsing is done.
      * @return {@link Future} which can be used to find out the state of the task {@link Future#isDone} or {@link Future#isCancelled}.
      * The caller may cancel the task using {@link Future#cancel} or wait until the task is performed {@link Future#get}.
@@ -388,7 +388,7 @@
     }
 
     /**
-     * Determines if the MIME type can be parsed. Rejects unknown MIME types (must be amongst {@link #getAllMimeTypes}.
+     * Determines if the MIME type can be parsed. Rejects unknown MIME types (must be amongst <a href="https://github.com/apache/netbeans/tree/master/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/Util.java">getAllMimeTypes</a>.
      * Then accepts only text/* MIME type and specific hardcoded application/ MIME types.
      * 
      * @param mimeType the MIME type to check
diff --git a/ide/parsing.api/src/org/netbeans/modules/parsing/api/Source.java b/ide/parsing.api/src/org/netbeans/modules/parsing/api/Source.java
index f886f9e..8afd727 100644
--- a/ide/parsing.api/src/org/netbeans/modules/parsing/api/Source.java
+++ b/ide/parsing.api/src/org/netbeans/modules/parsing/api/Source.java
@@ -124,7 +124,7 @@
      * Gets a <code>Source</code> instance for a file. The <code>FileObject</code>
      * passed to this method has to be a valid data file. There is no <code>Source</code>
      * representation for a folder.
-     * <p/>
+     * <p>
      * This form allows to specify Lookup that provides access to context-dependent
      * services for the parsing system and the user tasks called from parsing API.
      * 
@@ -183,7 +183,7 @@
     }
     
     /**
-     * Gets a <code>Source</cide> instance for a <code>Document</code>. For details, please 
+     * Gets a <code>Source</code> instance for a <code>Document</code>. For details, please 
      * see {@link #create(javax.swing.text.Document)}; this form allows to specify
      * a Lookup that provides access to user or context-dependent services.
      * 
@@ -972,7 +972,7 @@
      * Returns a Lookup providing a context for the source.
      * In the presence of multiple scopes or users in the system, this Lookup may
      * provide access to necessary context-dependent services or scope-dependent data.
-     * <p/>
+     * <p>
      * A Source may be created with a Lookup, or it will use the default Lookup as a context
      * @return Lookup.
      * @since 9.2
diff --git a/ide/parsing.api/src/org/netbeans/modules/parsing/spi/Parser.java b/ide/parsing.api/src/org/netbeans/modules/parsing/spi/Parser.java
index 8648f23..509cb46 100644
--- a/ide/parsing.api/src/org/netbeans/modules/parsing/spi/Parser.java
+++ b/ide/parsing.api/src/org/netbeans/modules/parsing/spi/Parser.java
@@ -83,7 +83,7 @@
     
     /**
      * Called by the infrastructure to stop the parser operation.
-     * @param reason of the cancel, see {@link Parser#CancelReason}
+     * @param reason of the cancel, see {@link Parser.CancelReason}
      * @param event an additional info if the reason is SOURCE_MODIFICATION_EVENT, otherwise null
      * @since 
      */
@@ -121,7 +121,7 @@
         
         /**
          * Creates a {@link Result} for given snapshot
-         * @param snapshot
+         * @param _snapshot
          */
         protected Result (
             final Snapshot      _snapshot
diff --git a/ide/parsing.api/src/org/netbeans/modules/parsing/spi/Scheduler.java b/ide/parsing.api/src/org/netbeans/modules/parsing/spi/Scheduler.java
index 9c43144..9c00915 100644
--- a/ide/parsing.api/src/org/netbeans/modules/parsing/spi/Scheduler.java
+++ b/ide/parsing.api/src/org/netbeans/modules/parsing/spi/Scheduler.java
@@ -119,7 +119,7 @@
      * Reschedule all tasks registered for <code>this</code> Scheduler (see
      * {@link ParserResultTask#getSchedulerClass()}, and sets new {@link Source}s for them.
      * 
-     * @param sources       A collection of {@link Source}s.
+     * @param source       A {@link Source}.
      */
     //tzezula: really unclear usages of sources field (synchronization, live cycle, may it be called twice with different set of sources?).
     //tzezula: should set CHANGE_EXPECTED flag on the sources.
diff --git a/ide/parsing.api/src/org/netbeans/modules/parsing/spi/support/CancelSupport.java b/ide/parsing.api/src/org/netbeans/modules/parsing/spi/support/CancelSupport.java
index 1a1b898..cc76873 100644
--- a/ide/parsing.api/src/org/netbeans/modules/parsing/spi/support/CancelSupport.java
+++ b/ide/parsing.api/src/org/netbeans/modules/parsing/spi/support/CancelSupport.java
@@ -43,7 +43,6 @@
  * }
  * }
  * </pre>
- * </p>
  * @since 1.74
  * @author Tomas Zezula
  */
diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/api/indexing/IndexingManager.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/api/indexing/IndexingManager.java
index 491cf22..b48004e 100644
--- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/api/indexing/IndexingManager.java
+++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/api/indexing/IndexingManager.java
@@ -77,7 +77,7 @@
      * job will take.
      *
      * @param root The common parent folder of the files that should be reindexed.
-     * @param filesOrFolders The files to reindex. Can be <code>null</code> or an empty
+     * @param files The files to reindex. Can be <code>null</code> or an empty
      *   collection in which case <b>all</b> files under the <code>root</code> will
      *   be reindexed.
      */
@@ -102,7 +102,7 @@
      * job will take.
      *
      * @param root The common parent folder of the files that should be reindexed.
-     * @param filesOrFolders The files to reindex. Can be <code>null</code> or an empty
+     * @param files The files to reindex. Can be <code>null</code> or an empty
      *   collection in which case <b>all</b> files under the <code>root</code> will
      *   be reindexed.
      * @param fullRescan If <code>true</code> no timestamps check will be done
@@ -138,7 +138,7 @@
      * should be preferred.
      *
      * @param root The common parent folder of the files that should be reindexed.
-     * @param filesOrFolders The files to reindex. Can be <code>null</code> or an empty
+     * @param files The files to reindex. Can be <code>null</code> or an empty
      *   collection in which case <b>all</b> files under the <code>root</code> will
      *   be reindexed.
      * @param fullRescan If <code>true</code> no timestamps check will be done
@@ -165,7 +165,7 @@
      * job will take.
      *
      * @param root The common parent folder of the files that should be reindexed.
-     * @param filesOrFolders The files to reindex. Can be <code>null</code> or an empty
+     * @param files The files to reindex. Can be <code>null</code> or an empty
      *   collection in which case <b>all</b> files under the <code>root</code> will
      *   be reindexed.
      */
@@ -183,7 +183,7 @@
      * job will take.
      *
      * @param root The common parent folder of the files that should be reindexed.
-     * @param filesOrFolders The files to reindex. Can be <code>null</code> or an empty
+     * @param files The files to reindex. Can be <code>null</code> or an empty
      *   collection in which case <b>all</b> files under the <code>root</code> will
      *   be reindexed.
      * @param fullRescan If <code>true</code> no timestamps check will be done
@@ -244,8 +244,7 @@
      *   indexers will be refreshed (ie. all types of indexers will used,
      *   not just <code>CustomIndexers</code>).
      *
-     * @since 1.8
-     * @since 
+     * @since 1.8 
      */
     public void refreshAllIndices(String indexerName) {
         if (indexerName != null) {
diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/ConstrainedBinaryIndexer.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/ConstrainedBinaryIndexer.java
index 09446d2..4e8fc0c 100644
--- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/ConstrainedBinaryIndexer.java
+++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/ConstrainedBinaryIndexer.java
@@ -32,7 +32,7 @@
  * An binary indexer with declared constraints on the binary.
  * The subclasses of this indexer are registered by {@link ConstrainedBinaryIndexer.Registration}.
  * @author Tomas Zezula
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  * @since 1.48
  */
 public abstract class ConstrainedBinaryIndexer {
diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/CustomIndexerFactory.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/CustomIndexerFactory.java
index f93b6a8..532f55c 100644
--- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/CustomIndexerFactory.java
+++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/CustomIndexerFactory.java
@@ -34,7 +34,7 @@
 public abstract class CustomIndexerFactory extends SourceIndexerFactory {
     
     /**
-     * Creates  new {@link Indexer}.
+     * Creates  new {@link CustomIndexer}.
      * @return an indexer
      */
     public abstract CustomIndexer createIndexer ();
diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/EmbeddingIndexerFactory.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/EmbeddingIndexerFactory.java
index a6460d0..97166d1 100644
--- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/EmbeddingIndexerFactory.java
+++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/EmbeddingIndexerFactory.java
@@ -35,8 +35,8 @@
 public abstract class EmbeddingIndexerFactory extends SourceIndexerFactory {
    
     /**
-     * Creates  new {@link Indexer}.
-     * @param indexing for which the indexer should be created
+     * Creates  new {@link EmbeddingIndexer}.
+     * @param indexable for which the indexer should be created
      * @param snapshot for which the indexer should be created
      * @return an indexer
      */
diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/IndexabilityQueryImplementation.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/IndexabilityQueryImplementation.java
index 2ac7058..6e4c91f 100644
--- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/IndexabilityQueryImplementation.java
+++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/IndexabilityQueryImplementation.java
@@ -34,7 +34,7 @@
  * {@link org.openide.filesystems} with respect to threading semantics.
  * </p>
  *
- * @see org.netbeans.api.queries.IndexabilityQuery
+ * @see org.netbeans.modules.parsing.impl.indexing.IndexabilityQuery
  * @since org.netbeans.modules.parsing.indexing 9.24.0
  */
 public interface IndexabilityQueryImplementation {
diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/PathRecognizer.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/PathRecognizer.java
index 137fce2..c8d3af1 100644
--- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/PathRecognizer.java
+++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/PathRecognizer.java
@@ -30,21 +30,21 @@
 
     /**
      * Returns names under which the source paths are registered in
-     * the {@link GlobalPathRegistry}
+     * the <a href="@org-netbeans-api-java-classpath@/org/netbeans/api/java/classpath/GlobalPathRegistry.html">GlobalPathRegistry</a>.
      * @return set of source path names
      */
     public abstract Set<String> getSourcePathIds ();
 
     /**
      * Returns names under which the library paths are registered in
-     * the {@link GlobalPathRegistry}.
+     * the <a href="@org-netbeans-api-java-classpath@/org/netbeans/api/java/classpath/GlobalPathRegistry.html">GlobalPathRegistry</a>.
      * @return set of library path names
      */
     public abstract Set<String> getLibraryPathIds ();
 
     /**
      * Returns names under which the binary library paths are registered in
-     * the {@link GlobalPathRegistry}.
+     * the <a href="@org-netbeans-api-java-classpath@/org/netbeans/api/java/classpath/GlobalPathRegistry.html">GlobalPathRegistry</a>.
      * @return set of binary library path names
      */
     public abstract Set<String> getBinaryLibraryPathIds ();
diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/SourceIndexerFactory.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/SourceIndexerFactory.java
index ea1f7bf..7f7052d 100644
--- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/SourceIndexerFactory.java
+++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/SourceIndexerFactory.java
@@ -75,7 +75,7 @@
     /**
      * Called by indexing infrastructure to allow indexer to clean indexes for deleted files.
      * @param deleted the collection of deleted {@link Indexable}s
-     * @param contents an indexing context
+     * @param context an indexing context
      * <div class="nonnormative">
      *  <p>If the {@link IndexingSupport} is used to implement the {@link SourceIndexerFactory}
      * the implementation of this method should delegate to {@link IndexingSupport#isValid()}</p>
diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/support/IndexingSupport.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/support/IndexingSupport.java
index f98db09..b39b915 100644
--- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/support/IndexingSupport.java
+++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/support/IndexingSupport.java
@@ -101,7 +101,7 @@
 
     /**
      * Creates a new {@link IndexDocument}. This method does exactly the same as
-     * {@link #createDocument(org.netbeans.modules.parsing.spi.indexing.Indexable), but you can
+     * {@link #createDocument(org.netbeans.modules.parsing.spi.indexing.Indexable)}, but you can
      * use <code>FileObject</code>s directly. The <code>FileObject</code> passed in
      * as a parameter has to be in the folders hierarchy under the root, which
      * this <code>IndexingSupport</code> instance was created for.
diff --git a/ide/project.ant.ui/src/org/netbeans/api/project/ant/FileChooser.java b/ide/project.ant.ui/src/org/netbeans/api/project/ant/FileChooser.java
index e9794ca..42f1715 100644
--- a/ide/project.ant.ui/src/org/netbeans/api/project/ant/FileChooser.java
+++ b/ide/project.ant.ui/src/org/netbeans/api/project/ant/FileChooser.java
@@ -143,7 +143,7 @@
     
     /**
      * For "Use Variable Path" option this method returns list of paths which 
-     * start with a variable from {@link PropertyUtils.getGlobalProperties()}. eg.
+     * start with a variable from {@link org.netbeans.spi.project.support.ant.PropertyUtils#getGlobalProperties()}. eg.
      * "${var.MAVEN}/path/file.jar". For all other options selected this method 
      * returns null.
      * 
diff --git a/ide/project.ant.ui/src/org/netbeans/spi/project/support/ant/ui/StoreGroup.java b/ide/project.ant.ui/src/org/netbeans/spi/project/support/ant/ui/StoreGroup.java
index 770d482..b597122 100644
--- a/ide/project.ant.ui/src/org/netbeans/spi/project/support/ant/ui/StoreGroup.java
+++ b/ide/project.ant.ui/src/org/netbeans/spi/project/support/ant/ui/StoreGroup.java
@@ -54,7 +54,7 @@
  *       <ol>
  *          <li>Get the EditableProperties you want to store the model in e.g. private or project 
  *              properties</li>
- *          <li>Call the store method on given <CODE>SourceGroup<CODE> with the {@link EditableProperties} as parameter</li>
+ *          <li>Call the store method on given <CODE>SourceGroup</CODE> with the {@link EditableProperties} as parameter</li>
  *          <li>Manually store models which need some special handling.</li>
  *       </ol>
  *
diff --git a/ide/project.ant/src/org/netbeans/api/project/ant/AntArtifact.java b/ide/project.ant/src/org/netbeans/api/project/ant/AntArtifact.java
index 808e06e..e4232b3 100644
--- a/ide/project.ant/src/org/netbeans/api/project/ant/AntArtifact.java
+++ b/ide/project.ant/src/org/netbeans/api/project/ant/AntArtifact.java
@@ -45,7 +45,7 @@
  * For example, if a build script is known to generate a JAR of a certain name
  * as a result of running a certain target, this object will name that JAR
  * and point to the script and target responsible for creating it. You can use
- * this information to add an <samp>&lt;ant&gt;</samp> task to another project
+ * this information to add an <em>&lt;ant&gt;</em> task to another project
  * which will generate that JAR as a dependency before using it.
  * @see org.netbeans.spi.project.support.ant.SimpleAntArtifact
  * @author Jesse Glick
@@ -91,21 +91,21 @@
     
     /**
      * Get a location for the Ant script that is able to produce this artifact.
-     * The name <samp>build.xml</samp> is conventional.
+     * The name <em>build.xml</em> is conventional.
      * @return the location of an Ant project file (might not currently exist)
      */
     public abstract File getScriptLocation();
     
     /**
      * Get the name of the Ant target that is able to produce this artifact.
-     * E.g. <samp>jar</samp> would be conventional for JAR artifacts.
+     * E.g. <em>jar</em> would be conventional for JAR artifacts.
      * @return an Ant target name
      */
     public abstract String getTargetName();
     
     /**
      * Get the name of an Ant target that will delete this artifact.
-     * Typically this should be <samp>clean</samp>.
+     * Typically this should be <em>clean</em>.
      * The target may delete other build products as well.
      * @return an Ant target name
      */
@@ -126,7 +126,7 @@
     private static final Set<String> warnedClasses = Collections.synchronizedSet(new HashSet<String>());
     /**
      * Get the locations of the build artifacts relative to the Ant script.
-     * For example, <samp>dist/mylib.jar</samp>. The method is not defined 
+     * For example, <em>dist/mylib.jar</em>. The method is not defined 
      * as abstract only for backward compatibility reasons. <strong>It must be
      * overridden.</strong> The order is important and should stay the same
      * unless the artifact was changed.
diff --git a/ide/project.ant/src/org/netbeans/spi/project/ant/AntBuildExtenderImplementation.java b/ide/project.ant/src/org/netbeans/spi/project/ant/AntBuildExtenderImplementation.java
index 6afe30b..3150476 100644
--- a/ide/project.ant/src/org/netbeans/spi/project/ant/AntBuildExtenderImplementation.java
+++ b/ide/project.ant/src/org/netbeans/spi/project/ant/AntBuildExtenderImplementation.java
@@ -27,9 +27,9 @@
  * A typical setup in the project type includes:
  * <ul>
  * <li>Provide an instance of {@link org.netbeans.api.project.ant.AntBuildExtender} in project's lookup for use by 3rd
- * party modules.</<li>
+ * party modules.</li>
  * <li>Use the new {@link org.netbeans.spi.project.support.ant.GeneratedFilesHelper#GeneratedFilesHelper(AntProjectHelper,AntBuildExtender)} constructor to
- *  create the helper for generating build related files.</<li>
+ *  create the helper for generating build related files.</li>
  * </ul>
  * @author mkleint
  * @since org.netbeans.modules.project.ant 1.16
diff --git a/ide/project.ant/src/org/netbeans/spi/project/support/ant/AntBasedProjectRegistration.java b/ide/project.ant/src/org/netbeans/spi/project/support/ant/AntBasedProjectRegistration.java
index eaade8e..784e599 100644
--- a/ide/project.ant/src/org/netbeans/spi/project/support/ant/AntBasedProjectRegistration.java
+++ b/ide/project.ant/src/org/netbeans/spi/project/support/ant/AntBasedProjectRegistration.java
@@ -58,7 +58,7 @@
      * the project's specific configuration data in <code>nbproject/project.xml</code>
      * (inside <code>&lt;configuration&gt;</code>).
      * 
-     * @return a simple name; <samp>data</samp> is recommended but not required
+     * @return a simple name; <em>data</em> is recommended but not required
      */
     String sharedName() default "data";
 
@@ -67,8 +67,8 @@
      * the project's specific configuration data in <code>nbproject/project.xml</code>
      * (inside <code>&lt;configuration&gt;</code>).
      * 
-     * @return an XML namespace, e.g. <samp>http://www.netbeans.org/ns/j2se-project</samp>
-     *         or <samp>http://www.netbeans.org/ns/j2se-project-private</samp>
+     * @return an XML namespace, e.g. <em>http://www.netbeans.org/ns/j2se-project</em>
+     *         or <em>http://www.netbeans.org/ns/j2se-project-private</em>
      */
     String sharedNamespace();
 
@@ -77,7 +77,7 @@
      * the project's specific configuration data in <code>nbproject/private/private.xml</code>
      * (inside <code>&lt;project-private&gt;</code>).
      * 
-     * @return a simple name; <samp>data</samp> is recommended but not required
+     * @return a simple name; <em>data</em> is recommended but not required
      */
     String privateName() default "data";
 
@@ -86,8 +86,8 @@
      * the project's specific configuration data in <code>nbproject/private/private.xml</code>
      * (inside <code>&lt;project-private&gt;</code>).
      * 
-     * @return an XML namespace, e.g. <samp>http://www.netbeans.org/ns/j2se-project</samp>
-     *         or <samp>http://www.netbeans.org/ns/j2se-project-private</samp>
+     * @return an XML namespace, e.g. <em>http://www.netbeans.org/ns/j2se-project</em>
+     *         or <em>http://www.netbeans.org/ns/j2se-project-private</em>
      */
     String privateNamespace();
 }
diff --git a/ide/project.ant/src/org/netbeans/spi/project/support/ant/AntBasedProjectType.java b/ide/project.ant/src/org/netbeans/spi/project/support/ant/AntBasedProjectType.java
index 6e2018b..74c262a 100644
--- a/ide/project.ant/src/org/netbeans/spi/project/support/ant/AntBasedProjectType.java
+++ b/ide/project.ant/src/org/netbeans/spi/project/support/ant/AntBasedProjectType.java
@@ -58,7 +58,7 @@
      * It is forbidden for the result of this method to change from call to call.
      * @param shared if true, refers to <code>project.xml</code>, else refers to
      *               <code>private.xml</code>
-     * @return a simple name; <samp>data</samp> is recommended but not required
+     * @return a simple name; <em>data</em> is recommended but not required
      */
     String getPrimaryConfigurationDataElementName(boolean shared);
     
@@ -70,8 +70,8 @@
      * It is forbidden for the result of this method to change from call to call.
      * @param shared if true, refers to <code>project.xml</code>, else refers to
      *               <code>private.xml</code>
-     * @return an XML namespace, e.g. <samp>http://www.netbeans.org/ns/j2se-project</samp>
-     *         or <samp>http://www.netbeans.org/ns/j2se-project-private</samp>
+     * @return an XML namespace, e.g. <em>http://www.netbeans.org/ns/j2se-project</em>
+     *         or <em>http://www.netbeans.org/ns/j2se-project-private</em>
      */
     String getPrimaryConfigurationDataElementNamespace(boolean shared);
 
diff --git a/ide/project.ant/src/org/netbeans/spi/project/support/ant/AntProjectHelper.java b/ide/project.ant/src/org/netbeans/spi/project/support/ant/AntProjectHelper.java
index 41a4e15..785012c 100644
--- a/ide/project.ant/src/org/netbeans/spi/project/support/ant/AntProjectHelper.java
+++ b/ide/project.ant/src/org/netbeans/spi/project/support/ant/AntProjectHelper.java
@@ -1052,7 +1052,7 @@
      * A file is considered out of date if there is no file represented by the
      * matching target pattern (which has the same format), or the target file is older
      * than the source file, or the source file is modified as per
-     * {@link org.openide.loaders.DataObject#isModified}.
+     * <a href="@org-openide-loaders@/org/openide/loaders/DataObject.html#isModified--" >DataObject#isModified()</a>.
      * An attempt is made to fire changes from the status object whenever the result
      * should change from one call to the next.
      * <p>
@@ -1064,12 +1064,12 @@
      * A typical set of source and target patterns would be:
      * </p>
      * <ol>
-     * <li><samp>${src.dir}/*.java</samp>
-     * <li><samp>${test.src.dir}/*.java</samp>
+     * <li><em>${src.dir}/*.java</em>
+     * <li><em>${test.src.dir}/*.java</em>
      * </ol>
      * <ol>
-     * <li><samp>${build.classes.dir}/*.class</samp>
-     * <li><samp>${test.build.classes.dir}/*.class</samp>
+     * <li><em>${build.classes.dir}/*.class</em>
+     * <li><em>${test.build.classes.dir}/*.class</em>
      * </ol>
      * </div>
      * @param eval a property evaluator to interpret the patterns with
@@ -1089,12 +1089,12 @@
      * is in a fixed location under a standard Ant-based project.
      * @param type the type of artifact, e.g. <a href="@org-netbeans-modules-java-project@/org/netbeans/api/java/project/JavaProjectConstants.html#ARTIFACT_TYPE_JAR"><code>JavaProjectConstants.ARTIFACT_TYPE_JAR</code></a>
      * @param locationProperty an Ant property name giving the project-relative
-     *                         location of the artifact, e.g. <samp>dist.jar</samp>
+     *                         location of the artifact, e.g. <em>dist.jar</em>
      * @param eval a way to evaluate the location property (e.g. {@link #getStandardPropertyEvaluator})
      * @param targetName the name of an Ant target which will build the artifact,
-     *                   e.g. <samp>jar</samp>
+     *                   e.g. <em>jar</em>
      * @param cleanTargetName the name of an Ant target which will delete the artifact
-     *                        (and maybe other build products), e.g. <samp>clean</samp>
+     *                        (and maybe other build products), e.g. <em>clean</em>
      * @return an artifact
      */
     public AntArtifact createSimpleAntArtifact(String type, String locationProperty, PropertyEvaluator eval, String targetName, String cleanTargetName) {
@@ -1106,14 +1106,14 @@
      * is in a fixed location under a standard Ant-based project.
      * @param type the type of artifact, e.g. <a href="@org-netbeans-modules-java-project@/org/netbeans/api/java/project/JavaProjectConstants.html#ARTIFACT_TYPE_JAR"><code>JavaProjectConstants.ARTIFACT_TYPE_JAR</code></a>
      * @param locationProperty an Ant property name giving the project-relative
-     *                         location of the artifact, e.g. <samp>dist.jar</samp>
+     *                         location of the artifact, e.g. <em>dist.jar</em>
      * @param eval a way to evaluate the location property (e.g. {@link #getStandardPropertyEvaluator})
      * @param targetName the name of an Ant target which will build the artifact,
-     *                   e.g. <samp>jar</samp>
+     *                   e.g. <em>jar</em>
      * @param cleanTargetName the name of an Ant target which will delete the artifact
-     *                        (and maybe other build products), e.g. <samp>clean</samp>
+     *                        (and maybe other build products), e.g. <em>clean</em>
      * @param buildScriptProperty an Ant property name giving the project-relative
-     *      location and name of the build.xml or null if default one (<samp>build.xml</samp>) 
+     *      location and name of the build.xml or null if default one (<em>build.xml</em>) 
      *      should be used; default value is also used if property is given but its value is null
      * @return an artifact
      * @since org.netbeans.modules.project.ant/1 1.25
@@ -1172,10 +1172,10 @@
      * A quick rule of thumb is that the include list should contain any
      * source directories which <em>might</em> reside outside the project directory;
      * and the exclude list should contain any directories which you would want
-     * to add to a <samp>.cvsignore</samp> file if using CVS (for example).
+     * to add to a <em>.cvsignore</em> file if using CVS (for example).
      * </p>
      * <p>
-     * Note that in this case <samp>${src.dir}</samp> and <samp>${test.src.dir}</samp>
+     * Note that in this case <em>${src.dir}</em> and <em>${test.src.dir}</em>
      * may be relative paths inside the project directory; relative paths pointing
      * outside of the project directory; or absolute paths (generally outside of the
      * project directory). If they refer to locations inside the project directory,
diff --git a/ide/project.ant/src/org/netbeans/spi/project/support/ant/EditableProperties.java b/ide/project.ant/src/org/netbeans/spi/project/support/ant/EditableProperties.java
index 1ea3742..ae21943 100644
--- a/ide/project.ant/src/org/netbeans/spi/project/support/ant/EditableProperties.java
+++ b/ide/project.ant/src/org/netbeans/spi/project/support/ant/EditableProperties.java
@@ -29,7 +29,7 @@
 /**
  * Similar to {@link java.util.Properties} but designed to retain additional
  * information needed for safe hand-editing.
- * Useful for various <samp>*.properties</samp> in a project:
+ * Useful for various <em>*.properties</em> in a project:
  * <ol>
  * <li>Can associate comments with particular entries.
  * <li>Order of entries preserved during modifications whenever possible.
@@ -142,7 +142,7 @@
      * Same behavior as {@link #setProperty(String,String)} with the difference that each item
      * will be stored on its own line of text. {@link #getProperty} will simply concatenate
      * all the items into one string, so generally separators
-     * (such as <samp>:</samp> for path-like properties) must be included in
+     * (such as <em>:</em> for path-like properties) must be included in
      * the items (for example, at the end of all but the last item).
      * @param key a property name; cannot be null nor empty
      * @param value the desired value; cannot be null; can be empty array
diff --git a/ide/project.ant/src/org/netbeans/spi/project/support/ant/PathMatcher.java b/ide/project.ant/src/org/netbeans/spi/project/support/ant/PathMatcher.java
index f257582..d102584 100644
--- a/ide/project.ant/src/org/netbeans/spi/project/support/ant/PathMatcher.java
+++ b/ide/project.ant/src/org/netbeans/spi/project/support/ant/PathMatcher.java
@@ -43,41 +43,41 @@
  * The format is based on Ant patterns. Some details:
  * </p>
  * <ul>
- * <li>A file path to be matched must be a <samp>/</samp>-separated
+ * <li>A file path to be matched must be a <em>/</em>-separated
  * relative path from an unspecified base directory. A path representing
- * a folder must end in <samp>/</samp>, except for the path representing
+ * a folder must end in <em>/</em>, except for the path representing
  * the root folder, which is the empty string. Thus, the full path to a file
  * is always the simple concatenation of the path to its containing folder,
  * and the file's basename.
  * <li>An include or exclude list, if not null, is a list of nonempty patterns separated
  * by spaces and/or commas. It may be an empty list; this is equivalent to null in the
  * case of excludes, but in the case of includes means that nothing matches.
- * <li>A pattern may use either <samp>/</samp> or <samp>\</samp> as a path separator
+ * <li>A pattern may use either <em>/</em> or <em>\</em> as a path separator
  * interchangeably.
  * <li>Most characters in a pattern match literally, and match a complete file path.
- * A folder path ends in <samp>/</samp>, so the pattern <samp>foo</samp> will <em>not</em>
- * match a folder named <samp>foo</samp>.
- * <li><samp>*</samp> in a pattern matches zero or more characters within a path component
- * (i.e. not including <samp>/</samp>).
- * <li><samp>**</samp> matches zero or more complete path components. It must be preceded
+ * A folder path ends in <em>/</em>, so the pattern <em>foo</em> will <em>not</em>
+ * match a folder named <em>foo</em>.
+ * <li><em>*</em> in a pattern matches zero or more characters within a path component
+ * (i.e. not including <em>/</em>).
+ * <li><em>**</em> matches zero or more complete path components. It must be preceded
  * by a slash (or be at the beginning of the pattern) and be followed by a slash (or be at
  * the end of the pattern).
- * <li><samp>foo/</samp> is treated the same as <samp>foo/**</samp> and matches the whole
- * tree rooted at the folder <samp>foo</samp>.
- * <li><samp>/**<!---->/</samp> can match just a single <samp>/</samp>. <samp>**<!---->/</samp>
- * and <samp>/**</samp> can match the empty string at path boundaries.
+ * <li><em>foo/</em> is treated the same as <em>foo/**</em> and matches the whole
+ * tree rooted at the folder <em>foo</em>.
+ * <li><em>/**<!---->/</em> can match just a single <em>/</em>. <em>**<!---->/</em>
+ * and <em>/**</em> can match the empty string at path boundaries.
  * </ul>
  * <p>
  * Some example patterns:
  * </p>
  * <dl>
- * <dt><samp>foo/bar/</samp>
- * <dd>The folder <samp>foo/bar</samp> and anything inside it.
- * <dt><samp>foo/bar/baz</samp>
- * <dd>The file <samp>foo/bar/baz</samp>.
- * <dt><samp>**<!---->/foo/</samp>
- * <dd>Any folder named <samp>foo</samp> and anything inside it.
- * <dt><samp>**<!---->/*.java</samp>
+ * <dt><em>foo/bar/</em>
+ * <dd>The folder <em>foo/bar</em> and anything inside it.
+ * <dt><em>foo/bar/baz</em>
+ * <dd>The file <em>foo/bar/baz</em>.
+ * <dt><em>**<!---->/foo/</em>
+ * <dd>Any folder named <em>foo</em> and anything inside it.
+ * <dt><em>**<!---->/*.java</em>
  * <dd>Any Java source file (even in the default package).
  * </dl>
  * @since org.netbeans.modules.project.ant/1 1.15
@@ -184,8 +184,8 @@
      * Find folders which match although their parent folders do not; or folders
      * which do not match but which contain files which do.
      * <ul>
-     * <li>Wildcard-free folder include paths, such as <samp>foo/bar/</samp> (or the
-     * equivalent <samp>foo/bar/**</samp>), are returned directly if they are not excluded.
+     * <li>Wildcard-free folder include paths, such as <em>foo/bar/</em> (or the
+     * equivalent <em>foo/bar/**</em>), are returned directly if they are not excluded.
      * <li>Wildcard-using paths trigger a scan of the provided root directory.
      * Any actual files or folders found beneath that root which {@link #matches match}
      * are noted, and their minimal paths are returned.
diff --git a/ide/project.ant/src/org/netbeans/spi/project/support/ant/PropertyEvaluator.java b/ide/project.ant/src/org/netbeans/spi/project/support/ant/PropertyEvaluator.java
index ee241cc..b5bc8a9 100644
--- a/ide/project.ant/src/org/netbeans/spi/project/support/ant/PropertyEvaluator.java
+++ b/ide/project.ant/src/org/netbeans/spi/project/support/ant/PropertyEvaluator.java
@@ -46,9 +46,9 @@
     
     /**
      * Evaluate a block of text possibly containing property references.
-     * The syntax is the same as for Ant: <samp>${foo}</samp> means the value
-     * of the property <samp>foo</samp>; <samp>$$</samp> is an escape for
-     * <samp>$</samp>; references to undefined properties are left unsubstituted.
+     * The syntax is the same as for Ant: <em>${foo}</em> means the value
+     * of the property <em>foo</em>; <em>$$</em> is an escape for
+     * <em>$</em>; references to undefined properties are left unsubstituted.
      * @param text some text possibly containing one or more property references
      * @return its value, or null if some problem (such a circular definition) made
      *         it impossible to retrieve the values of some properties
diff --git a/ide/project.ant/src/org/netbeans/spi/project/support/ant/PropertyUtils.java b/ide/project.ant/src/org/netbeans/spi/project/support/ant/PropertyUtils.java
index 20842e8..608f30e 100644
--- a/ide/project.ant/src/org/netbeans/spi/project/support/ant/PropertyUtils.java
+++ b/ide/project.ant/src/org/netbeans/spi/project/support/ant/PropertyUtils.java
@@ -389,7 +389,7 @@
      * @param basedir a directory to resolve relative to (need not exist on disk)
      * @param file a file or directory to find a relative path for
      * @return a relativized path (slash-separated), or null if it is not possible (e.g. different DOS drives);
-     *         just <samp>.</samp> in case the paths are the same
+     *         just <em>.</em> in case the paths are the same
      * @throws IllegalArgumentException if the basedir is known to be a file and not a directory
      */
     public static @CheckForNull String relativizeFile(File basedir, File file) {
@@ -458,7 +458,7 @@
     /**
      * Split an Ant-style path specification into components.
      * Tokenizes on <code>:</code> and <code>;</code>, paying
-     * attention to DOS-style components such as <samp>C:\FOO</samp>.
+     * attention to DOS-style components such as <em>C:\FOO</em>.
      * Also removes any empty components.
      * @param path an Ant-style path (elements arbitrary) using DOS or Unix separators
      * @return a tokenization of that path into components
diff --git a/ide/project.ant/src/org/netbeans/spi/project/support/ant/ReferenceHelper.java b/ide/project.ant/src/org/netbeans/spi/project/support/ant/ReferenceHelper.java
index 256afc2..af682e8 100644
--- a/ide/project.ant/src/org/netbeans/spi/project/support/ant/ReferenceHelper.java
+++ b/ide/project.ant/src/org/netbeans/spi/project/support/ant/ReferenceHelper.java
@@ -397,15 +397,15 @@
      * Adds a project property if necessary to refer to its location of the foreign
      * project - a shared property if the foreign project
      * is {@link CollocationQuery collocated} with this one, else a private property.
-     * This property is named <samp>project.<i>foreignProjectName</i></samp>.
-     * Example: <samp>project.mylib=../mylib</samp>
+     * This property is named <em>project.<i>foreignProjectName</i></em>.
+     * Example: <em>project.mylib=../mylib</em>
      * <p>
      * Adds a project property to refer to the artifact's location.
-     * This property is named <samp>reference.<i>foreignProjectName</i>.<i>targetName</i></samp>
-     * and will use <samp>${project.<i>foreignProjectName</i>}</samp> and be a shared
+     * This property is named <em>reference.<i>foreignProjectName</i>.<i>targetName</i></em>
+     * and will use <em>${project.<i>foreignProjectName</i>}</em> and be a shared
      * property - unless the artifact location is an absolute URI, in which case the property
      * will also be private.
-     * Example: <samp>reference.mylib.jar=${project.mylib}/dist/mylib.jar</samp>
+     * Example: <em>reference.mylib.jar=${project.mylib}/dist/mylib.jar</em>
      * <p>
      * Also records the artifact type, (relative) script path, and build and
      * clean target names.
@@ -941,7 +941,7 @@
      * the behavior is identical to {@link #createForeignFileReference(AntArtifact)}.
      * <p>
      * Acquires write access.
-     * @param path a file path to refer to (need not currently exist)
+     * @param filepath a file path to refer to (need not currently exist)
      * @param expectedArtifactType the required {@link AntArtifact#getType}
      * @return a string which can refer to that file somehow
      *
diff --git a/ide/project.ant/src/org/netbeans/spi/project/support/ant/SourcesHelper.java b/ide/project.ant/src/org/netbeans/spi/project/support/ant/SourcesHelper.java
index 00a2abd..b3bad8c 100644
--- a/ide/project.ant/src/org/netbeans/spi/project/support/ant/SourcesHelper.java
+++ b/ide/project.ant/src/org/netbeans/spi/project/support/ant/SourcesHelper.java
@@ -366,7 +366,6 @@
      * .add()  // adding as principal root, continuing configuration
      * .type("java").add(); // adding as typed root
      * </pre>
-     * </p>
      * @since org.netbeans.modules.project.ant/1 1.33
      */
     public final class SourceRootConfig {
@@ -399,7 +398,7 @@
          * Value is evaluated and then treated as a comma- or space-separated pattern list,
          * as detailed in the Javadoc for {@link PathMatcher}.
          * (As a special convenience, a value consisting solely of an Ant property reference
-         * which cannot be evaluated, e.g. <samp>${undefined}</samp>, is ignored.)
+         * which cannot be evaluated, e.g. <em>${undefined}</em>, is ignored.)
          * {@link SourceGroup#contains} will then reflect the includes and excludes for files, but note that the
          * semantics of that method requires that a folder be "contained" in case any folder or file
          * beneath it is contained, and in particular the root folder is always contained.
@@ -527,7 +526,7 @@
      * if the common location is internal.
      * </p>
      * <p>
-     * Source location need not to exist physically, when {@link #hint(String) hint} is specified
+     * Source location need not to exist physically, when {@link SourceRootConfig#hint(String) hint} is specified
      * and {@link SourceGroupModifier} created by this helper is added to project
      * lookup, source root can be created on demand.
      * </p>
@@ -540,7 +539,6 @@
      * @param location a project-relative or absolute path giving the location
      *                 of a source tree; may contain Ant property substitutions
      * @return source root configuration, that may be added to <code>SourcesHelper</code>
-     * @see SourceRootConfig#location(String) for details about location parameter
      */
     public SourceRootConfig sourceRoot(String location) {
         return new SourceRootConfig(location);
diff --git a/ide/project.libraries.ui/src/org/netbeans/api/project/libraries/LibraryChooser.java b/ide/project.libraries.ui/src/org/netbeans/api/project/libraries/LibraryChooser.java
index 0892d1f..b19e223 100644
--- a/ide/project.libraries.ui/src/org/netbeans/api/project/libraries/LibraryChooser.java
+++ b/ide/project.libraries.ui/src/org/netbeans/api/project/libraries/LibraryChooser.java
@@ -57,8 +57,8 @@
     }
 
     /**
-     * Filter for use by {@link LibraryChooser#createPanel()} or 
-     * {@link LibraryChooser#showDialog()}.
+     * Filter for use by {@link #createPanel(LibraryManager, org.netbeans.api.project.libraries.LibraryChooser.Filter)} or 
+     * {@link #showDialog(LibraryManager, org.netbeans.api.project.libraries.LibraryChooser.Filter, org.netbeans.api.project.libraries.LibraryChooser.LibraryImportHandler) }.
      */
     public interface Filter {
 
diff --git a/ide/project.libraries/src/org/netbeans/spi/project/libraries/ArealLibraryProvider.java b/ide/project.libraries/src/org/netbeans/spi/project/libraries/ArealLibraryProvider.java
index 8e4423a..537812e 100644
--- a/ide/project.libraries/src/org/netbeans/spi/project/libraries/ArealLibraryProvider.java
+++ b/ide/project.libraries/src/org/netbeans/spi/project/libraries/ArealLibraryProvider.java
@@ -29,8 +29,8 @@
 /**
  * Library provider which can define libraries in particular areas.
  * There is no explicit method to save a library; setters on {@link LibraryImplementation} should do this.
- * @param A the type of storage area used by this provider
- * @param L the type of library created by this provider
+ * @param <A> the type of storage area used by this provider
+ * @param <L> the type of library created by this provider
  * @since org.netbeans.modules.project.libraries/1 1.15
  */
 public interface ArealLibraryProvider<A extends LibraryStorageArea, L extends LibraryImplementation2> {
diff --git a/ide/project.libraries/src/org/netbeans/spi/project/libraries/LibraryFactory.java b/ide/project.libraries/src/org/netbeans/spi/project/libraries/LibraryFactory.java
index 998c334..6ce8365 100644
--- a/ide/project.libraries/src/org/netbeans/spi/project/libraries/LibraryFactory.java
+++ b/ide/project.libraries/src/org/netbeans/spi/project/libraries/LibraryFactory.java
@@ -39,7 +39,7 @@
     /**
      * Creates Library for LibraryImplementation
      * @param libraryImplementation the library SPI object
-     * @return Library API instance, for which the {@link Library#getManager} will be {@link LibraryManager#getDefault}
+     * @return Library API instance, for which the {@link Library#getManager()} will be {@link org.netbeans.api.project.libraries.LibraryManager#getDefault()}
      */
     public static Library createLibrary (LibraryImplementation libraryImplementation) {
         assert libraryImplementation != null;
diff --git a/ide/project.libraries/src/org/netbeans/spi/project/libraries/LibraryProvider.java b/ide/project.libraries/src/org/netbeans/spi/project/libraries/LibraryProvider.java
index 2077ab1..43dd96b 100644
--- a/ide/project.libraries/src/org/netbeans/spi/project/libraries/LibraryProvider.java
+++ b/ide/project.libraries/src/org/netbeans/spi/project/libraries/LibraryProvider.java
@@ -26,7 +26,7 @@
  * Library storage is a source of libraries used by LibraryManager.
  * LibraryManager allows existence of multiple LibraryProviders registered in
  * the default lookup.
- * @param L the type of implementation which will be produced by this provider
+ * @param <L> the type of implementation which will be produced by this provider
  */
 public interface LibraryProvider<L extends LibraryImplementation> {
 
diff --git a/ide/project.libraries/src/org/netbeans/spi/project/libraries/LibraryTypeProvider.java b/ide/project.libraries/src/org/netbeans/spi/project/libraries/LibraryTypeProvider.java
index b473e6e..bde9450 100644
--- a/ide/project.libraries/src/org/netbeans/spi/project/libraries/LibraryTypeProvider.java
+++ b/ide/project.libraries/src/org/netbeans/spi/project/libraries/LibraryTypeProvider.java
@@ -53,8 +53,8 @@
 
     /**
      * Creates a new empty library implementation.
-     * Generally will use {@link LibrariesSupport#createLibraryImplementation}.
-     * This method is <strong>not</strong> used by {@link LibraryManager#createLibrary} except in the case of {@link LibraryManager#getDefault}.
+     * Generally will use {@link org.netbeans.spi.project.libraries.support.LibrariesSupport#createLibraryImplementation}.
+     * This method is <strong>not</strong> used by {@link org.netbeans.api.project.libraries.LibraryManager#createLibrary} except in the case of {@link org.netbeans.api.project.libraries.LibraryManager#getDefault}.
      * @return the created library model, never null
      */
     public LibraryImplementation createLibrary ();
@@ -65,7 +65,7 @@
      * If the LibraryTypeProvider implementation requires clean of
      * additional settings (e.g. remove properties in the build.properties)
      * it should be done in this method.
-     * This method is <strong>not</strong> used by {@link LibraryManager#createLibrary} except in the case of {@link LibraryManager#getDefault}.
+     * This method is <strong>not</strong> used by {@link org.netbeans.api.project.libraries.LibraryManager#createLibrary} except in the case of {@link org.netbeans.api.project.libraries.LibraryManager#getDefault}.
      * @param libraryImpl
      */
     public void libraryDeleted (LibraryImplementation libraryImpl);
@@ -77,7 +77,7 @@
      * If the LibraryTypeProvider implementation requires initialization of
      * additional settings (e.g. adding properties into the build.properties)
      * it should be done in this method.
-     * This method is <strong>not</strong> used by {@link LibraryManager#createLibrary} except in the case of {@link LibraryManager#getDefault}.
+     * This method is <strong>not</strong> used by {@link org.netbeans.api.project.libraries.LibraryManager#createLibrary} except in the case of {@link org.netbeans.api.project.libraries.LibraryManager#getDefault}.
      */
     public void libraryCreated (LibraryImplementation libraryImpl);
 
diff --git a/ide/project.libraries/src/org/netbeans/spi/project/libraries/WritableLibraryProvider.java b/ide/project.libraries/src/org/netbeans/spi/project/libraries/WritableLibraryProvider.java
index 0f9a188..7f89606 100644
--- a/ide/project.libraries/src/org/netbeans/spi/project/libraries/WritableLibraryProvider.java
+++ b/ide/project.libraries/src/org/netbeans/spi/project/libraries/WritableLibraryProvider.java
@@ -24,7 +24,7 @@
 
 /**
  * LibraryProvider supporting modifications.
- * @param L the {@link LibraryImplementation} type
+ * @param <L> the {@link LibraryImplementation} type
  * @author Tomas Zezula
  * @since 1.48
  */
diff --git a/ide/project.libraries/src/org/netbeans/spi/project/libraries/support/LibrariesSupport.java b/ide/project.libraries/src/org/netbeans/spi/project/libraries/support/LibrariesSupport.java
index b393d2b..6ad912e 100644
--- a/ide/project.libraries/src/org/netbeans/spi/project/libraries/support/LibrariesSupport.java
+++ b/ide/project.libraries/src/org/netbeans/spi/project/libraries/support/LibrariesSupport.java
@@ -68,8 +68,8 @@
 
     /**
      * Policy for handling content items which cannot be converted into the desired format.
-     * @see #convertURIsToURLs(java.util.List)
-     * @see #convertURLsToURIs(java.util.List)
+     * @see #convertURIsToURLs(java.util.List,ConversionMode)
+     * @see #convertURLsToURIs(java.util.List,ConversionMode)
      * @since 1.48
      */
     public enum ConversionMode {
@@ -82,7 +82,7 @@
          */
         WARN,
         /**
-         * {@link #toString(ClassPath.PathConversionMode)} will fail with an {@link IllegalArgumentException}.
+         * <code>toString(ClassPath.PathConversionMode)</code> will fail with an {@link IllegalArgumentException}.
          * Useful for unit tests.
          */
         FAIL
diff --git a/ide/projectapi/src/org/netbeans/api/project/FileOwnerQuery.java b/ide/projectapi/src/org/netbeans/api/project/FileOwnerQuery.java
index be21e0f..629d081 100644
--- a/ide/projectapi/src/org/netbeans/api/project/FileOwnerQuery.java
+++ b/ide/projectapi/src/org/netbeans/api/project/FileOwnerQuery.java
@@ -44,7 +44,7 @@
  * other implementations can be registered to lookup as well.
  * <p>
  * Warning: This class and it's methods may not be used within DataObject recognition in DataLoaders.
- * eg. in {@link org.openide.loaders.MultiFileLoader#findPrimaryFile}
+ * eg. in <a href="@org-openide-loaders@/org/openide/loaders/MultiFileLoader.html#findPrimaryFile-org-openide.fileystesm.FileObject-">MultiFileLoader</a>
  *  
  * @author Jesse Glick
  */
diff --git a/ide/projectapi/src/org/netbeans/api/project/ProjectActionContext.java b/ide/projectapi/src/org/netbeans/api/project/ProjectActionContext.java
index ba3fef8..2d142e9 100644
--- a/ide/projectapi/src/org/netbeans/api/project/ProjectActionContext.java
+++ b/ide/projectapi/src/org/netbeans/api/project/ProjectActionContext.java
@@ -220,7 +220,7 @@
 
         /**
          * Binds to a specific {@link ProjectConfiguration}, which must resolve to an instance of
-         * {@link MavenConfiguration}.
+         * @see <a href="@org-netbeans-modules-maven@/org/netbeans/modules/maven/api/MavenConfiguration.html">MavenConfiguration</a>.
          * @param configuration
          * @return builder instance
          */
diff --git a/ide/projectapi/src/org/netbeans/api/project/SourceGroupModifier.java b/ide/projectapi/src/org/netbeans/api/project/SourceGroupModifier.java
index 0ef2c76..50d9763 100644
--- a/ide/projectapi/src/org/netbeans/api/project/SourceGroupModifier.java
+++ b/ide/projectapi/src/org/netbeans/api/project/SourceGroupModifier.java
@@ -59,13 +59,13 @@
      * Creates a source group associated to an existing one. In a project with multiple locations for sources or tests some of those locations
      * can be more appropriate (or completely unrelated) to already existing specific sources. This variant of {@link #createSourceGroup(org.netbeans.api.project.Project, java.lang.String, java.lang.String)}
      * allows to select appropriate locations, if the newly created {@code SourceGroup} should work in association with some existing one.
-     * <p/>
+     * <p>
      * The source group will be created on location most similar to the provided {@code original} group. If {@code projectParts} are specified, the most matching
      * location will be selected.
-     * <p/>
+     * <p>
      * This feature is prototypically used in J2SE modular projects, where multiple locations exists for tests and sources, yet they are related by their owning module. Other
      * project types may also partition project sources into logical groups, similar to modules.
-     * <p/>
+     * <p>
      * Some (java) examples:
      * <ul>
      * <li>to create a source folder in project module, use <code>relativeTo(modulesGroup, "moduleName").createSourceGroup(..)</code>
diff --git a/ide/projectapi/src/org/netbeans/spi/project/ActionProvider.java b/ide/projectapi/src/org/netbeans/spi/project/ActionProvider.java
index 8c143f8..65098b8 100644
--- a/ide/projectapi/src/org/netbeans/spi/project/ActionProvider.java
+++ b/ide/projectapi/src/org/netbeans/spi/project/ActionProvider.java
@@ -35,7 +35,7 @@
  * requested a specific configuration, and use it to process the requested action, if found.
  * @see org.netbeans.api.project.Project#getLookup
  * @see <a href="@org-apache-tools-ant-module@/org/apache/tools/ant/module/api/support/ActionUtils.html"><code>ActionUtils</code></a>
- * @see <a href="@org-netbeans-modules-projectuiapi@/org/netbeans/spi/project/ui/support/ProjectSensitiveActions.html#projectCommandAction(java.lang.String,%20java.lang.String,%20javax.swing.Icon)"><code>ProjectSensitiveActions.projectCommandAction(...)</code></a>
+ * @see <a href="@org-netbeans-modules-projectuiapi@/org/netbeans/spi/project/ui/support/ProjectSensitiveActions.html#projectCommandAction-java.lang.String-java.lang.String-javax.swing.Icon-"><code>ProjectSensitiveActions.projectCommandAction(...)</code></a>
  * @see SingleMethod
  * @author Jesse Glick
  */
@@ -175,7 +175,7 @@
      * to get e.g. the selected source file to build by itself, etc.
      * @param command a predefined command name (must be among {@link #getSupportedActions})
      * @param context any action context, e.g. for a node selection
-     *                (as in {@link ContextAwareAction})
+     *                (as in {@link org.openide.util.ContextAwareAction})
      * @throws IllegalArgumentException if the requested command is not supported
      * @see ActionProgress
      */
@@ -188,7 +188,7 @@
      * to get e.g. the selected source file to build by itself, etc.
      * @param command a predefined command name (must be among {@link #getSupportedActions})
      * @param context any action context, e.g. for a node selection
-     *                (as in {@link ContextAwareAction})
+     *                (as in {@link org.openide.util.ContextAwareAction})
      * @throws IllegalArgumentException if the requested command is not supported
      */
     boolean isActionEnabled(String command, Lookup context) throws IllegalArgumentException;
diff --git a/ide/projectapi/src/org/netbeans/spi/project/LookupMerger.java b/ide/projectapi/src/org/netbeans/spi/project/LookupMerger.java
index 05efc2d..ff22b5e 100644
--- a/ide/projectapi/src/org/netbeans/spi/project/LookupMerger.java
+++ b/ide/projectapi/src/org/netbeans/spi/project/LookupMerger.java
@@ -36,7 +36,7 @@
  * The 3rd party {@link org.netbeans.spi.project.LookupProvider} implementors provide instances of mergeableClass.
  * {@link org.netbeans.spi.project.support.LookupProviderSupport#createCompositeLookup} handles the hiding of individual mergeable instances 
  * and exposing the merged instance created by the <code>LookupMerger</code>.
- * @param T the type of object being merged (see {@link org.netbeans.api.project.Project#getLookup} for examples)
+ * @param <T> the type of object being merged (see {@link org.netbeans.api.project.Project#getLookup} for examples)
  * @author mkleint
  * @since org.netbeans.modules.projectapi 1.12
  */
diff --git a/ide/projectapi/src/org/netbeans/spi/project/ProjectConfigurationProvider.java b/ide/projectapi/src/org/netbeans/spi/project/ProjectConfigurationProvider.java
index 816d8c8..b820a58 100644
--- a/ide/projectapi/src/org/netbeans/spi/project/ProjectConfigurationProvider.java
+++ b/ide/projectapi/src/org/netbeans/spi/project/ProjectConfigurationProvider.java
@@ -28,7 +28,7 @@
  * Provider of configurations for a project.
  * Should be registered in a project's {@link org.netbeans.api.project.Project#getLookup lookup}.
  * Besides the implementor, only the project UI infrastructure is expected to use this class.
- * @param C the type of configuration created by this provider
+ * @param <C> the type of configuration created by this provider
  *
  * @author Adam Sotona, Jesse Glick
  * @since org.netbeans.modules.projectapi/1 1.11
diff --git a/ide/projectapi/src/org/netbeans/spi/project/SourceGroupRelativeModifierImplementation.java b/ide/projectapi/src/org/netbeans/spi/project/SourceGroupRelativeModifierImplementation.java
index 3cbbbca..7a3f464 100644
--- a/ide/projectapi/src/org/netbeans/spi/project/SourceGroupRelativeModifierImplementation.java
+++ b/ide/projectapi/src/org/netbeans/spi/project/SourceGroupRelativeModifierImplementation.java
@@ -24,18 +24,18 @@
  * Intermediate level for more structured projects, where the simple
  * type-based information are not sufficient to create an appropriate folder
  * structure. 
- * <p/>
+ * <p>
  * Prototypically used in J2SE Modular projects, where tests or sources belong
  * to different modules, and it is critical to create the folder in the "correct"
  * one.
- * <p/>
+ * <p>
  * The project can be partitioned to several (hiearchical) parts. SourceGroups for
  * certain types/hints can be created in some of those parts (see {@link SourceGroupModifierImplementation#canCreateSourceGroup}.
  * For example, java modular projects contains modules, a module may contain several places where sources are expected - these
  * form the part hierarchy. When the original SourceGroup is specific enough, the hierarchy argument may be
  * missing or can be even ignored by the modifier implementation - provided that the newly created folders have the correct
  * relationship to the original source group.
- * <p/>
+ * <p>
  * Similar structure may be used in other types of projects. {@code projectParts} are abstract uninterpreted identifiers, so 
  * the implementation / project may choose any semantics suitable for the project type.
  * @author sdedic
diff --git a/ide/projectui/src/org/netbeans/modules/project/ui/api/ProjectTemplates.java b/ide/projectui/src/org/netbeans/modules/project/ui/api/ProjectTemplates.java
index e3988db..4aec298 100644
--- a/ide/projectui/src/org/netbeans/modules/project/ui/api/ProjectTemplates.java
+++ b/ide/projectui/src/org/netbeans/modules/project/ui/api/ProjectTemplates.java
@@ -29,7 +29,7 @@
 
     /**
      * {@link String}-valued action property for a project category (subfolder code name) to select.
-     * @deprecated use {@link CommonProjectActions.PRESELECT_CATEGORY} instead
+     * @deprecated use {@link CommonProjectActions#PRESELECT_CATEGORY} instead
      */
     @Deprecated
     public static final String PRESELECT_CATEGORY = CommonProjectActions.PRESELECT_CATEGORY;
diff --git a/ide/projectui/src/org/netbeans/modules/project/ui/api/UnloadedProjectInformation.java b/ide/projectui/src/org/netbeans/modules/project/ui/api/UnloadedProjectInformation.java
index 9468173..428549f 100644
--- a/ide/projectui/src/org/netbeans/modules/project/ui/api/UnloadedProjectInformation.java
+++ b/ide/projectui/src/org/netbeans/modules/project/ui/api/UnloadedProjectInformation.java
@@ -68,7 +68,7 @@
     
     /**
      * Gets URL of the project folder location
-     * Use {@link ProjectManager#findProject} to get the project
+     * Use {@link org.netbeans.api.project.ProjectManager#findProject} to get the project
      * @return url of the project folder
      */
     public URL getURL() {
diff --git a/ide/projectuiapi.base/src/org/netbeans/api/project/ui/OpenProjects.java b/ide/projectuiapi.base/src/org/netbeans/api/project/ui/OpenProjects.java
index c3403de..5acbbbb 100644
--- a/ide/projectuiapi.base/src/org/netbeans/api/project/ui/OpenProjects.java
+++ b/ide/projectuiapi.base/src/org/netbeans/api/project/ui/OpenProjects.java
@@ -46,8 +46,8 @@
  * For many cases, however, this API is not the correct approach, so use it as
  * a last resort. Consider <a href="@org-netbeans-api-java-classpath@/org/netbeans/api/java/classpath/GlobalPathRegistry.html"><code>GlobalPathRegistry</code></a>,
  * {@link org.netbeans.spi.project.ui.ProjectOpenedHook},
- * and {@link org.netbeans.spi.project.ui.support.ProjectSensitiveActions}
- * (or {@link org.netbeans.spi.project.ui.support.MainProjectSensitiveActions})
+ * and <a href="@org-netbeans-modules-projectuiapi@/org/netbeans/spi/project/ui/support/ProjectSensitiveActions.html">ProjectSensitiveActions</a>
+ * (or <a href="@org-netbeans-modules-projectuiapi@/org/netbeans/spi/project/ui/support/MainProjectSensitiveActions.html">MainProjectSensitiveActions</a>)
  * first. Only certain operations should actually be aware of which projects
  * are "open"; by default, all project functionality should be available whether
  * it is open or not.
@@ -108,7 +108,7 @@
      * and opened on background. As soon as and no sooner before 
      * all opened projects are opened, the
      * return value of this method changes and appropriate property change
-     * event with <q>PROPERTY_OPEN_PROJECTS</q> is delivered.
+     * event with {@link #PROPERTY_OPEN_PROJECTS} is delivered.
      * </span>
      * 
      * @return list of projects currently opened in the IDE's GUI; order not specified
@@ -122,7 +122,7 @@
      * opening of a project may take long time, and as there can be multiple
      * projects open at once, it may be necessary to be notified that the process
      * of open project list modification started or that it has
-     * finished. This method provides a <q>future</q> that can do that.
+     * finished. This method provides a <em>future</em> that can do that.
      * To find out that the list of open projects is currently modified use:
      * <pre>
      * assert openProjects().isDone() == false;
@@ -134,7 +134,7 @@
      * </pre>
      * This result is different that a plain call to {@link #getOpenProjects} as
      * that methods returns the current state, whatever it is. While the call through
-     * the <q>future</q> awaits for current modifications to finish. As such wait
+     * the <em>future</em> awaits for current modifications to finish. As such wait
      * can take a long time one can also wait for just a limited amount of time.
      * However this waiting methods should very likely only be used from dedicated threads,
      * where the wait does not block other essencial operations (read: do not
@@ -158,7 +158,7 @@
      * {@link org.openide.WizardDescriptor.InstantiatingIterator#instantiate}
      * should return the project directory.
      * This should also not be used to provide a GUI to open subprojects;
-     * {@link CommonProjectActions#openSubprojectsAction} should be used instead.
+     * <a href="@org-netbeans-modules-projectuiapi@/org/netbeans/spi/project/ui/support/CommonProjectActions.html#openSubprojectsAction--">CommonProjectActions#openSubprojectsAction</a> should be used instead.
      * </p>
      * @param projects to be opened. If some of the projects are already opened
      * these projects are ignored. If the list contain duplicates, the duplicated
@@ -184,7 +184,7 @@
      * {@link org.openide.WizardDescriptor.InstantiatingIterator#instantiate}
      * should return the project directory.
      * This should also not be used to provide a GUI to open subprojects;
-     * {@link CommonProjectActions#openSubprojectsAction} should be used instead.
+     * <a href="@org-netbeans-modules-projectuiapi@/org/netbeans/spi/project/ui/support/CommonProjectActions.html#openSubprojectsAction--">CommonProjectActions#openSubprojectsAction</a> should be used instead.
      * </p>
      * @param projects to be opened. If some of the projects are already opened
      * these projects are ignored. If the list contain duplicates, the duplicated
@@ -235,7 +235,7 @@
      *
      * <div class="nonnormative">
      * <p><strong>Warning:</strong> the set of usecases that require invoking this method is
-     * limited. {@link org.netbeans.spi.project.ui.support.MainProjectSensitiveActions} should
+     * limited. <a href="@org-netbeans-modules-projectuiapi@/org/netbeans/spi/project/ui/support/MainProjectSensitiveActions.html">MainProjectSensitiveActions</a> should
      * be used in favour of this method if possible. In particular, this method should <em>not</em>
      * be used to let the user choose if an action should be run on the main vs. the currently selected project.</p>
      * <p>As a rule of thumb, any code outside of the project system infrastructure which behaves differently
diff --git a/ide/projectuiapi.base/src/org/netbeans/spi/project/ui/PrivilegedTemplates.java b/ide/projectuiapi.base/src/org/netbeans/spi/project/ui/PrivilegedTemplates.java
index eaf40ad..603d137 100644
--- a/ide/projectuiapi.base/src/org/netbeans/spi/project/ui/PrivilegedTemplates.java
+++ b/ide/projectuiapi.base/src/org/netbeans/spi/project/ui/PrivilegedTemplates.java
@@ -31,15 +31,15 @@
  * 
  * <p>
  * For more information about registering templates see overview of
- * {@link org.netbeans.spi.project.ui.templates.support} package.
- * @see org.netbeans.spi.project.ui.support.CommonProjectActions
+ * <a href="@org-netbeans-modules-projectuiapi@/org/netbeans/spi/project/ui/templates/support/package-summary.html">org.netbeans.spi.project.ui.templates.support</a> package.
+ * @see <a href="@org-netbeans-modules-projectuiapi@/org/netbeans/spi/project/ui/support/CommonProjectActions.html">CommonProjectActions</a>
  * @author Petr Hrebejk
  */
 public interface PrivilegedTemplates {
     
     /**
      * Lists privileged templates.
-     * @return full paths to privileged templates, e.g. <samp>Templates/Other/XmlFile.xml</samp>
+     * @return full paths to privileged templates, e.g. <code>Templates/Other/XmlFile.xml</code>
      * @see <code>org.netbeans.api.templates.TemplateRegistration#folder</code>
      * @see <code>org.netbeans.api.templates.TemplateRegistration#content</code>
      * @see <code>org.netbeans.api.templates.TemplateRegistration#id</code>
diff --git a/ide/projectuiapi.base/src/org/netbeans/spi/project/ui/ProjectProblemsProvider.java b/ide/projectuiapi.base/src/org/netbeans/spi/project/ui/ProjectProblemsProvider.java
index 8a19999..aa87f55 100644
--- a/ide/projectuiapi.base/src/org/netbeans/spi/project/ui/ProjectProblemsProvider.java
+++ b/ide/projectuiapi.base/src/org/netbeans/spi/project/ui/ProjectProblemsProvider.java
@@ -51,7 +51,7 @@
         path = "Projects/org-netbeans-modules-myproject/Actions")
 })
  * </pre>
- * </p>
+ * 
  * </div>
  *
  * @see org.netbeans.spi.project.ui.support.ProjectProblemsProviderSupport
@@ -279,7 +279,7 @@
         }
 
         /**
-         * {@inheritdoc}
+         * {@inheritDoc}
          */
         @Override
         public int hashCode() {
@@ -291,7 +291,7 @@
         }
 
         /**
-         * {@inheritdoc}
+         * {@inheritDoc}
          */
         @Override
         public String toString() {
diff --git a/ide/projectuiapi.base/src/org/netbeans/spi/project/ui/support/ProjectConvertors.java b/ide/projectuiapi.base/src/org/netbeans/spi/project/ui/support/ProjectConvertors.java
index fc315f1..f081e30 100644
--- a/ide/projectuiapi.base/src/org/netbeans/spi/project/ui/support/ProjectConvertors.java
+++ b/ide/projectuiapi.base/src/org/netbeans/spi/project/ui/support/ProjectConvertors.java
@@ -107,7 +107,7 @@
      * The returned {@link Lookup} implements {@link Closeable}, calling {@link Closeable#close}
      * on it removes all the instances.
      * <p class="nonnormative">
-     * Typical usage would be to pass the {@link Lookup} to {@link ProjectConvertor.Result#Result}
+     * Typical usage would be to pass the {@link Lookup} to {@link ProjectConvertor.Result#Result(org.openide.util.Lookup, java.util.concurrent.Callable, java.lang.String, javax.swing.Icon) }
      * and call {@link Closeable#close} on it in the convertor's project factory before the real
      * project is created.
      * </p>
diff --git a/ide/projectuiapi/apichanges.xml b/ide/projectuiapi/apichanges.xml
index 7d9158a..4e2a65f 100644
--- a/ide/projectuiapi/apichanges.xml
+++ b/ide/projectuiapi/apichanges.xml
@@ -93,7 +93,7 @@
             <description>
                 <p>
                     <a href="@TOP@/org/netbeans/api/project/ui/ProjectProblems.html">ProjectProblems API</a> now delegates to 
-                    <a href="@TOP@/org/netbeans/spi/project/ui/ProjectProblemsImplementation .html">ProjectProblemsImplementation</a> 
+                    <a href="@TOP@/org/netbeans/spi/project/ui/ProjectProblemsImplementation.html">ProjectProblemsImplementation</a>
                     registered in default Lookup.
                 </p>
             </description>
diff --git a/ide/projectuiapi/src/org/netbeans/spi/project/ui/LogicalViewProvider.java b/ide/projectuiapi/src/org/netbeans/spi/project/ui/LogicalViewProvider.java
index e060862..8c6f19e 100644
--- a/ide/projectuiapi/src/org/netbeans/spi/project/ui/LogicalViewProvider.java
+++ b/ide/projectuiapi/src/org/netbeans/spi/project/ui/LogicalViewProvider.java
@@ -38,8 +38,7 @@
      * this call should always create a fresh node with no parent.
      * The node's lookup should contain the project object.
      * <p>
-     * The node need not bother implementing {@linkplain org.openide.filesystems.FileSystem.Status badging}
-     * for the root node; any files {@linkplain org.netbeans.api.project.Sources contained} in the project will
+     * For the root node; any files {@linkplain org.netbeans.api.project.Sources contained} in the project will
      * be considered as badging sources automatically. Other subnodes representing
      * various collections of files may still need explicit badging logic.
      * <em>As of <code>org.netbeans.modules.projectuiapi/1 1.31</code></em>
diff --git a/ide/projectuiapi/src/org/netbeans/spi/project/ui/PathFinder.java b/ide/projectuiapi/src/org/netbeans/spi/project/ui/PathFinder.java
index 27d064c..93eb1b9 100644
--- a/ide/projectuiapi/src/org/netbeans/spi/project/ui/PathFinder.java
+++ b/ide/projectuiapi/src/org/netbeans/spi/project/ui/PathFinder.java
@@ -54,7 +54,7 @@
     *     assert Collections.singleton(target).equals(new HashSet(res));
     * }
     * </pre>
-    * @param root a root node. E.g. a node from {@link #createLogicalView} or some wapper
+    * @param root a root node. E.g. a node from {@link LogicalViewProvider#createLogicalView} or some wapper
     *        (FilterNode) around the node. The provider of the functionality is
     *        responsible for finding the appropriate node in the wrapper's children.
     * @param target a target cookie, such as a {@link org.openide.loaders.DataObject}
diff --git a/ide/projectuiapi/src/org/netbeans/spi/project/ui/ProjectProblemsImplementation.java b/ide/projectuiapi/src/org/netbeans/spi/project/ui/ProjectProblemsImplementation.java
index 585edc8..1d497d4 100644
--- a/ide/projectuiapi/src/org/netbeans/spi/project/ui/ProjectProblemsImplementation.java
+++ b/ide/projectuiapi/src/org/netbeans/spi/project/ui/ProjectProblemsImplementation.java
@@ -23,7 +23,7 @@
 import org.netbeans.api.project.Project;
 
 /**
- * Interface that plugs in the actual implementation of UI for {@link ProjectProblems} API.
+ * Interface that plugs in the actual implementation of UI for {@link org.netbeans.api.project.ui.ProjectProblems} API.
  * 
  * @author Tomas Zezula, Svatopluk Dedic
  */
diff --git a/ide/projectuiapi/src/org/netbeans/spi/project/ui/support/NodeList.java b/ide/projectuiapi/src/org/netbeans/spi/project/ui/support/NodeList.java
index b395338..4faaf82 100644
--- a/ide/projectuiapi/src/org/netbeans/spi/project/ui/support/NodeList.java
+++ b/ide/projectuiapi/src/org/netbeans/spi/project/ui/support/NodeList.java
@@ -25,7 +25,7 @@
 
 /**
  * Represents a series of nodes which can be spliced into a children list.
- * @param K the type of key you would like to use to represent nodes
+ * @param <K> the type of key you would like to use to represent nodes
  * @author mkleint
  * @since org.netbeans.modules.projectuiapi/1 1.18
  * @see NodeFactory
diff --git a/ide/projectuiapi/src/org/netbeans/spi/project/ui/templates/support/Templates.java b/ide/projectuiapi/src/org/netbeans/spi/project/ui/templates/support/Templates.java
index f296ff26..0080404 100644
--- a/ide/projectuiapi/src/org/netbeans/spi/project/ui/templates/support/Templates.java
+++ b/ide/projectuiapi/src/org/netbeans/spi/project/ui/templates/support/Templates.java
@@ -281,7 +281,7 @@
          * By default, the file extension is fixed to be the same as that of the template:
          * whatever is entered for the filename is taken to be a base name only.
          * In this mode, the GUI makes it possible to use an alternate extension: it
-         * simply checks for a file name containing a period (<samp>.</samp>) and
+         * simply checks for a file name containing a period (<em>.</em>) and
          * suppresses the automatic appending of the template's extension,
          * taking the entered filename as complete.
          * @return this builder
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/CopyRefactoring.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/CopyRefactoring.java
index 13a7f8d..cbd1e2f 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/CopyRefactoring.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/CopyRefactoring.java
@@ -42,7 +42,8 @@
     /**
      * Creates a new instance of CopyRefactoring.
      * Copy Refactoring implementations currently understand the following types:
-     * <table border="1">
+     * <table>
+     *   <caption>CopyRefactoring types supported</caption>
      *   <tr><th>Module</th><th>Types the Module Understands</th><th>Implementation</th></tr>
      *   <tr><td>Refactoring API (Default impl.)</td><td>{@link org.openide.filesystems.FileObject}(s)</td><td>Does file copy</td></tr>
      *   <tr><td>Java Refactoring</td><td><ul>
@@ -59,7 +60,8 @@
     /**
      * Target for copying.
      * Copy Refactoring implementations currently understand the following types:
-     * <table border="1">
+     * <table>
+     *   <caption>CopyRefactoring types supported</caption>
      *   <tr><th>Module</th><th>Types the Module Understands</th><th>Implementation</th></tr>
      *   <tr><td>Refactoring API (Default impl.)</td><td>{@link java.net.URL}</td>
      *        <td>Creates directory corresponding to specified URL (if it does not exist) and copies all FileObjects into this folder.</td></tr>
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/MoveRefactoring.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/MoveRefactoring.java
index e29e9b8..014ae47 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/MoveRefactoring.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/MoveRefactoring.java
@@ -41,12 +41,13 @@
     /**
      * Public constructor takes Lookup containing objects to refactor as parameter.
      * Move Refactoring implementations currently understand following types:
-     * <table border="1">
+     * <table>
+     *   <caption>MoveRefactoring types supported</caption>
      *   <tr><th>Module</th><th>Types the Module Understands</th><th>Implementation</th></tr>
      *   <tr><td>Refactoring API (Default impl.)</td><td>{@link org.openide.filesystems.FileObject}(s)</td><td>Does file(s) move</td></tr>
      *   <tr><td>Java Refactoring</td><td>{@link org.openide.filesystems.FileObject}(s) with content type text/x-java</td><td>Does refactoring inside .java files</td></tr>
-     *   <tr><td></td><td>{@link org.netbeans.api.java.source.TreePathHandle}(s)</td><td>Does refactoring of members in .java files</td></tr>
-     *   <tr><td></td><td>{@link org.netbeans.api.java.source.TreePathHandle} of class</td><td>Does refactoring of class in .java files</td></tr>
+     *   <tr><td></td><td><a href="@org-netbeans-modules-java-source-base@/org/netbeans/api/java/source/TreePathHandle.html">org.netbeans.api.java.source.TreePathHandle</a>(s)</td><td>Does refactoring of members in .java files</td></tr>
+     *   <tr><td></td><td><a href="@org-netbeans-modules-java-source-base@/org/netbeans/api/java/source/TreePathHandle.html">org.netbeans.api.java.source.TreePathHandle</a> of class</td><td>Does refactoring of class in .java files</td></tr>
      * </table>
      * @param objectsToMove store your objects into Lookup
      */
@@ -57,13 +58,14 @@
     /**
      * Target for moving.
      * Move Refactoring implementations currently understand following types:
-     * <table border="1">
+     * <table>
+     * <caption>MoveRefactoring types supported</caption>
      *   <tr><th>Module</th><th>Types the Module Understands</th><th>Implementation</th></tr>
      *   <tr><td>Refactoring API (Default impl.)</td><td>{@link java.net.URL}</td>
      *        <td>Creates directory corresponding to specified {@link java.net.URL} if does not 
      *            exist and moves all FileObjects into this folder.</td></tr>
      *   <tr><td>Java Refactoring</td><td>{@link java.net.URL}</td><td>Does move refactoring inside .java files</td></tr>
-     *   <tr><td></td><td>{@link org.netbeans.api.java.source.TreePathHandle}</td><td>Does refactoring of members in .java files</td></tr>
+     *   <tr><td></td><td><a href="@org-netbeans-modules-java-source-base@/org/netbeans/api/java/source/TreePathHandle.html">org.netbeans.api.java.source.TreePathHandle</a></td><td>Does refactoring of members in .java files</td></tr>
      * </table>
      * @param target
      */
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/RefactoringElement.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/RefactoringElement.java
index 390fa96..57e95be 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/RefactoringElement.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/RefactoringElement.java
@@ -121,7 +121,7 @@
     
     /**
      * Shows this element in refactoring preview are
-     * @see org.netbeans.modules.refactoring.api.ui.UI#setComponentForRefactoringPreview
+     * @see org.netbeans.modules.refactoring.spi.ui.UI#setComponentForRefactoringPreview
      */
     public void showPreview() {
         impl.showPreview();
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/RenameRefactoring.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/RenameRefactoring.java
index 7a8a51e..504bdb4 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/RenameRefactoring.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/RenameRefactoring.java
@@ -38,15 +38,16 @@
     /**
      * Creates a new instance of RenameRefactoring.
      * Rename Refactoring implementations currently understand following types:
-     * <table border="1">
+     * <table>
+     * <caption>RenameRefactoring type supported</caption>
      *   <tr><th>Module</th><th>Types the Module Understands</th><th>Implementation</th></tr>
      *   <tr><td>Refactoring API (Default impl.)</td><td>FileObject</td><td>Does file rename</td></tr>
      *   <tr><td>Java Refactoring</td><td><ul>
      *                                    <li>{@link org.openide.filesystems.FileObject}(s) with content type text/x-java (class rename)
      *                                    <li>{@link org.openide.filesystems.FileObject} (folder) folder rename 
-     *                                    <li>{@link org.netbeans.api.java.source.TreePathHandle} (class, field, method rename)
-     *                                    <li>{@link org.netbeans.api.fileinfo.NonRecursiveFolder} package rename</td>
-     *                                    </ul>
+     *                                    <li><a href="@org-netbeans-modules-java-source-base@/org/netbeans/api/java/source/TreePathHandle.html">org.netbeans.api.java.source.TreePathHandle</a> (class, field, method rename)
+     *                                    <li>{@link org.netbeans.api.fileinfo.NonRecursiveFolder} package rename
+     *                                    </ul></td>
      *                              <td>Does refactoring inside .java files. 
      *                               In case of FolderRename it also does corresponding file moves</td></tr>
      * </table>
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/SafeDeleteRefactoring.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/SafeDeleteRefactoring.java
index cab0f60..a3bb70e 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/SafeDeleteRefactoring.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/SafeDeleteRefactoring.java
@@ -38,11 +38,12 @@
      * elements as parameter.
      * 
      * Safe Delete Refactoring implementations currently understand following types:
-     * <table border="1">
+     * <table>
+     *   <caption>SafeDeleteRefactoring types supported</caption>
      *   <tr><th>Module</th><th>Types the Module Understands</th><th>Implementation</th></tr>
      *   <tr><td>Refactoring API (Default impl.)</td><td>FileObject</td><td>Does file delete</td></tr>
      *   <tr><td>Java Refactoring</td><td><ul><li>{@link org.openide.filesystems.FileObject}(s) with content type text/x-java (safly delete class)
-     *                                <li>{@link org.netbeans.api.java.source.TreePathHandle} (class, field, method)</td>
+     *                                <li><a href="@org-netbeans-modules-java-source-base@/org/netbeans/api/java/source/TreePathHandle.html">org.netbeans.api.java.source.TreePathHandle</a> (class, field, method)</ul></td>
      *                              <td>Check for usages and does refactoring inside .java files.</td></tr>
      * </table>
      * @param namedElements The elements to be safely deleted
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/SingleCopyRefactoring.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/SingleCopyRefactoring.java
index e10e5a4..50b29d6 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/SingleCopyRefactoring.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/SingleCopyRefactoring.java
@@ -41,7 +41,8 @@
     /**
      * Creates a new instance of SingleCopyRefactoring.
      * Single Copy Refactoring implementations currently understand following types:
-     * <table border="1">
+     * <table>
+     *   <caption>SingleCopyRefactoring types supported</caption>
      *   <tr><th>Module</th><th>Types the Module Understands</th><th>Implementation</th></tr>
      *   <tr><td>Refactoring API (Default impl.)</td><td>{@link org.openide.filesystems.FileObject}</td><td>Does file copy</td></tr>
      *   <tr><td>Java Refactoring</td><td><ul>
@@ -58,7 +59,8 @@
     /**
      * Target for copying.
      * Single Copy Refactoring implementations currently understand following types:
-     * <table border="1">
+     * <table>
+     *   <caption>SingleCopyRefactoring types supported</caption>
      *   <tr><th>Module</th><th>Types the Module Understands</th><th>Implementation</th></tr>
      *   <tr><td>Refactoring API (Default impl.)</td><td>{@link java.net.URL}</td>
      *        <td>Creates directory corresponding to specified URL (if does not 
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/WhereUsedQuery.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/WhereUsedQuery.java
index 0b88725..491f89b 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/WhereUsedQuery.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/api/WhereUsedQuery.java
@@ -36,12 +36,12 @@
  */
 public final class WhereUsedQuery extends AbstractRefactoring {
     /**
-     * key for {@link #getBooleanValue()}
+     * key for {@link #getBooleanValue(Object)}
      * is search in comments requested?
      */
     public static final String SEARCH_IN_COMMENTS = "SEARCH_IN_COMMENTS"; // NOI18N
     /**
-     * key for {@link #getBooleanValue()}
+     * key for {@link #getBooleanValue(Object)}
      * is find references requested?
      */
     public static final String FIND_REFERENCES = "FIND_REFERENCES"; // NOI18N
@@ -49,11 +49,12 @@
     /**
      * Creates a new instance of WhereUsedQuery.
      * WhereUsedQuery implementations currently understand following types:
-     * <table border="1">
+     * <table>
+     * <caption>WhereUsedQuery types supported</caption>
      *   <tr><th>Module</th><th>Types the Module Understands</th><th>Implementation</th></tr>
      *   <tr><td>Java Refactoring</td><td><ul>
      *                                    <li>{@link org.openide.filesystems.FileObject} with content type text/x-java (class references)
-     *                                    <li>{@link org.netbeans.api.java.source.TreePathHandle} (class, field, method references)
+     *                                    <li><a href="@org-netbeans-modules-java-source-base@/org/netbeans/api/java/source/TreePathHandle.html">org.netbeans.api.java.source.TreePathHandle</a> (class, field, method references)
      *                                    </ul>
      *                              <td>Finds references</td></tr>
      * </table>
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/BackupFacility.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/BackupFacility.java
index 8d07998..9518670 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/BackupFacility.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/BackupFacility.java
@@ -128,11 +128,11 @@
     /**
      * Handle class representing handle to file(s), which were backuped
      * by
-     * {@link  org.netbeans.modules.refactoring.spi.BackupFacility#backup()}
+     * {@link  org.netbeans.modules.refactoring.spi.BackupFacility#backup(FileObject...)}
      */
     public interface Handle {
         /**
-         * restore file(s), which was stored by  {@link  org.netbeans.modules.refactoring.spi.BackupFacility#backup()}
+         * restore file(s), which was stored by  {@link  org.netbeans.modules.refactoring.spi.BackupFacility#backup(FileObject...)}
          * @throws java.io.IOException if restore failed.
          */
         void restore() throws IOException;
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/FiltersManager.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/FiltersManager.java
index 0526b21..eb3b719 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/FiltersManager.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/FiltersManager.java
@@ -24,7 +24,7 @@
 /**
  * Handles creation and manipulation with boolean state filters.
  *
- * @author Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
+ * @author Ralph Benjamin Ruijs &lt;ralphbenjamin@netbeans.org&gt;
  * @see FiltersDescription
  * @since 1.29
  */
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/RefactoringElementImplementation.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/RefactoringElementImplementation.java
index c114f69..aceb251 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/RefactoringElementImplementation.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/RefactoringElementImplementation.java
@@ -134,7 +134,7 @@
     
     /**
      * Shows this element in refactoring preview are
-     * @see org.netbeans.modules.refactoring.api.ui.UI#setComponentForRefactoringPreview
+     * @see org.netbeans.modules.refactoring.spi.ui.UI#setComponentForRefactoringPreview
      */
     void showPreview();
     
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/RefactoringElementsBag.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/RefactoringElementsBag.java
index dbe3a23..9500e1c 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/RefactoringElementsBag.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/RefactoringElementsBag.java
@@ -161,7 +161,7 @@
     
     /**
      * fileChanges are performed after all element changes
-     * @param changes changes to be performed
+     * @param refactoring changes to be performed
      * @see Transaction
      * @see BackupFacility
      */
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ExpandableTreeElement.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ExpandableTreeElement.java
index 701f491..a0faf30 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ExpandableTreeElement.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ExpandableTreeElement.java
@@ -27,7 +27,7 @@
  * it will be called from outside of AWT.
  * 
  * @author Jan Lahoda
- * @author Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
+ * @author Ralph Benjamin Ruijs &lt;ralphbenjamin@netbeans.org&gt;
  * @see TreeElement
  * @since 1.30
  */
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/FiltersDescription.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/FiltersDescription.java
index 37da3f6..d3b140f 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/FiltersDescription.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/FiltersDescription.java
@@ -25,7 +25,7 @@
 import org.netbeans.modules.refactoring.api.impl.SPIUIAccessor;
 
 /**
- * @author Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
+ * @author Ralph Benjamin Ruijs &lt;ralphbenjamin@netbeans.org&gt;
  * @since 1.29
  */
 public final class FiltersDescription {
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopePanel.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopePanel.java
index 854c995..dd6f696 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopePanel.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopePanel.java
@@ -50,7 +50,7 @@
  * button (a JButton with ellipses) will be displayed when any of the registered
  * scopes is customizable.
  *
- * @author Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
+ * @author Ralph Benjamin Ruijs &lt;ralphbenjamin@netbeans.org&gt;
  * @since 1.30
  */
 public final class ScopePanel extends javax.swing.JPanel {
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopeProvider.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopeProvider.java
index 8082baa..df4bd47 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopeProvider.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopeProvider.java
@@ -35,11 +35,10 @@
  * ScopeProvider is used to add a scope to the {@link ScopePanel}.
  *
  * @see ScopePanel
- * @see ScopeDescription
  * @see ScopeReference
  *
  * @author Jan Lahoda
- * @author Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
+ * @author Ralph Benjamin Ruijs &lt;ralphbenjamin@netbeans.org&gt;
  *
  * @since 1.30
  */
@@ -72,7 +71,6 @@
      *
      * @see ScopeProvider#initialize(org.openide.util.Lookup,
      * java.util.concurrent.atomic.AtomicBoolean)
-     * @see ScopeDescription
      * @return an icon for the Scope, or null if the default should be used.
      */
     @CheckForNull
@@ -110,11 +108,10 @@
      * scopes which can be customized by the user.
      *
      * @see ScopePanel
-     * @see ScopeDescription
      * @see ScopeReference
      *
      * @author Jan Lahoda
-     * @author Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
+     * @author Ralph Benjamin Ruijs &lt;ralphbenjamin@netbeans.org&gt;
      *
      * @since 1.30
      */
@@ -146,7 +143,7 @@
      * no arguments.
      * 
      * @author Jan Lahoda
-     * @author Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
+     * @author Ralph Benjamin Ruijs &lt;ralphbenjamin@netbeans.org&gt;
      * @since 1.30
      */
     @Target({ElementType.TYPE})
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopeReference.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopeReference.java
index 19579ec..a9e7d2c 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopeReference.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopeReference.java
@@ -26,7 +26,7 @@
 /**
  * A reference to a Scope Description to be used by a {@link ScopePanel}
  *
- * @author Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
+ * @author Ralph Benjamin Ruijs &lt;ralphbenjamin@netbeans.org&gt;
  * @since 1.30
  */
 @Target({ElementType.TYPE})
@@ -35,14 +35,13 @@
 
     /**
      * Into which location one wants to place the reference? Translates to
-     * {@link FileUtil#getConfigFile(java.lang.String)}.
+     * {@link org.openide.filesystems.FileUtil#getConfigFile(java.lang.String)}.
      */
     String path();
 
     /**
-     * Identification of the scope this reference shall point to. Usually this
-     * is specified as {@link ScopeDescription} peer annotation, but in case one
-     * was to create references to scopes defined by someone else, one can
+     * Identification of the scope this reference shall point to. 
+     * In case one was to create references to scopes defined by someone else, one can
      * specify the id() here.
      */
     String id() default "";
diff --git a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopeReferences.java b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopeReferences.java
index 4fde868..d5642bf 100644
--- a/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopeReferences.java
+++ b/ide/refactoring.api/src/org/netbeans/modules/refactoring/spi/ui/ScopeReferences.java
@@ -26,7 +26,7 @@
 /**
  * Allows registration of multiple {@link ScopeReference}s for a single type.
  *
- * @author Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
+ * @author Ralph Benjamin Ruijs &lt;ralphbenjamin@netbeans.org&gt;
  */
 @Target({ElementType.TYPE})
 @Retention(RetentionPolicy.SOURCE)
diff --git a/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/AttachType.java b/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/AttachType.java
index e758e47..58cb721 100644
--- a/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/AttachType.java
+++ b/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/AttachType.java
@@ -67,7 +67,7 @@
     public abstract JComponent getCustomizer ();
 
     /**
-     * Return the implementation of {@link Controller} interface.<br/>
+     * Return the implementation of {@link Controller} interface.<br>
      * It's not desired to implement the {@link Controller} interface
      * by JComponent returned from {@link #getCustomizer()} method, because
      * of the clash of {@link Controller#isValid()} method with
diff --git a/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/BreakpointType.java b/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/BreakpointType.java
index 818692e..9a7fdad 100644
--- a/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/BreakpointType.java
+++ b/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/BreakpointType.java
@@ -74,7 +74,7 @@
     public abstract JComponent getCustomizer ();
 
     /**
-     * Return the implementation of {@link Controller} interface.<br/>
+     * Return the implementation of {@link Controller} interface.<br>
      * It's not desired to implement the {@link Controller} interface
      * by JComponent returned from {@link #getCustomizer()} method, because
      * of the clash of {@link Controller#isValid()} method with
diff --git a/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/DebuggingView.java b/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/DebuggingView.java
index 1c53aad..8891710 100644
--- a/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/DebuggingView.java
+++ b/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/DebuggingView.java
@@ -267,7 +267,7 @@
          * By marking the implementation class with this annotation,
          * you automatically register that implementation for use by the debugging view.
          * The class must be public and have a public constructor which takes
-         * no arguments or takes {@link ContextProvider} as an argument.
+         * no arguments or takes {@link org.netbeans.spi.debugger.ContextProvider} as an argument.
          *
          * @author Martin Entlicher
          */
diff --git a/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/EditorContextDispatcher.java b/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/EditorContextDispatcher.java
index 897eb84..acd996b 100644
--- a/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/EditorContextDispatcher.java
+++ b/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/EditorContextDispatcher.java
@@ -79,7 +79,9 @@
  * <p>The EditorContextDispatcher provides convenient access to currently selected
  * elements and recently selected elements in the GUI.
  * 
- * <H2>Typical usage:</H2>
+ * <p>
+ * <strong>Typical usage:</strong>
+ * </p>
  * Attach a listener based on file MIME type. The usage of WeakListeners is
  * preferred, unless the listener can be removed explicitely.
  * <pre>
diff --git a/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/EngineComponentsProvider.java b/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/EngineComponentsProvider.java
index 159fd01..2193506 100644
--- a/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/EngineComponentsProvider.java
+++ b/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/EngineComponentsProvider.java
@@ -132,7 +132,7 @@
         /**
          * Create a component information about a {@link TopComponent},
          * which is opened by default.
-         * @param tcName The ID of the {@link TopComponent}
+         * @param tcId The ID of the {@link TopComponent}
          * @return A component information.
          */
         public static ComponentInfo create(String tcId) {
@@ -141,7 +141,7 @@
         
         /**
          * Create a component information about a {@link TopComponent}.
-         * @param tcName The ID of the {@link TopComponent}
+         * @param tcId The ID of the {@link TopComponent}
          * @param opened <code>true</code> if the component should be opened,
          *               <code>false</code> otherwise.
          * @return A component information.
@@ -152,7 +152,7 @@
         
         /**
          * Create a component information about a {@link TopComponent}.
-         * @param tcName The ID of the {@link TopComponent}
+         * @param tcId The ID of the {@link TopComponent}
          * @param opened <code>true</code> if the component should be opened,
          *               <code>false</code> otherwise.
          * @param minimized <code>true</code> if the component should be opened in a minimized state,
diff --git a/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/MethodChooser.java b/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/MethodChooser.java
index f19c7ef..32f8f99 100644
--- a/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/MethodChooser.java
+++ b/ide/spi.debugger.ui/src/org/netbeans/spi/debugger/ui/MethodChooser.java
@@ -82,7 +82,7 @@
  *
  * <p>Method chooser does not use any special highlighting for the background of the
  * area where the selection takes place. If it is required it can be done by attaching
- * instances of {@link Annotation} to the proper source file's lines. These annotation should
+ * instances of {@link org.openide.text.Annotation} to the proper source file's lines. These annotation should
  * be added before calling {@link #showUI} and removed after calling {@link #releaseUI}.
  *
  * <p>To display the method chooser's ui correctly, it is required to register
diff --git a/ide/spi.editor.hints/src/org/netbeans/spi/editor/hints/ErrorDescriptionFactory.java b/ide/spi.editor.hints/src/org/netbeans/spi/editor/hints/ErrorDescriptionFactory.java
index 5ebc501..1d1cf8b 100644
--- a/ide/spi.editor.hints/src/org/netbeans/spi/editor/hints/ErrorDescriptionFactory.java
+++ b/ide/spi.editor.hints/src/org/netbeans/spi/editor/hints/ErrorDescriptionFactory.java
@@ -321,8 +321,9 @@
      * @param description the text of the error/warning
      * @param details optional "more details" describing the error/warning
      * @param fixes a collection of {@link Fix}es that should be shown for the error/warning
-     * @param file for which the {@link ErrorDescription} should be created
-     * @param errorBounds start and end position of the error/warning
+     * @param doc for which the {@link ErrorDescription} should be created
+     * @param start start position of the error/warning
+     * @param end end position of the error/warning
      * @return a newly created {@link ErrorDescription} based on the given parameters
      * @since 1.39
      */
diff --git a/ide/spi.editor.hints/src/org/netbeans/spi/editor/hints/PositionRefresher.java b/ide/spi.editor.hints/src/org/netbeans/spi/editor/hints/PositionRefresher.java
index e4541e7..f7e3266 100644
--- a/ide/spi.editor.hints/src/org/netbeans/spi/editor/hints/PositionRefresher.java
+++ b/ide/spi.editor.hints/src/org/netbeans/spi/editor/hints/PositionRefresher.java
@@ -36,7 +36,7 @@
 public interface PositionRefresher {
 
     /**
-     * @param position current caret position inside document
+     * @param context current caret position inside document
      * @param doc current document
      * @return map of layer name to {@link ErrorDescription}s for current line
      */
diff --git a/ide/spi.navigator/src/org/netbeans/spi/navigator/NavigatorLookupPanelsPolicy.java b/ide/spi.navigator/src/org/netbeans/spi/navigator/NavigatorLookupPanelsPolicy.java
index 2cdcab2..e38aa4f 100644
--- a/ide/spi.navigator/src/org/netbeans/spi/navigator/NavigatorLookupPanelsPolicy.java
+++ b/ide/spi.navigator/src/org/netbeans/spi/navigator/NavigatorLookupPanelsPolicy.java
@@ -20,22 +20,22 @@
 package org.netbeans.spi.navigator;
 
 /** Interface for SPI clients who want to affect searching mechanism for
- * available NavigatorPanel implementations.<p></p>
+ * available NavigatorPanel implementations.<p>
  * 
  * Navigator infrastructure searches for instance of this interface in
  * <a href="@org-openide-util@/org/openide/util/Utilities.html#actionsGlobalContext()">Utilities.actionsGlobalContext()</a>
  * lookup and then applies found policy on set of available 
  * <a href="@TOP@/org/netbeans/spi/navigator/NavigatorPanel.html">NavigatorPanel</a>
- * implementations.<p></p>
+ * implementations.<p>
  * 
  * Note that multiple instances of this interface are not supported in
  * Utilities.actionsGlobalContext() lookup, one instance is chosen randomly
- * in this case.<p></p>
+ * in this case.<p>
  * 
  * Common Usage: 
  *  <ul>
  *      <li>Implement this interface, return kind of policy that suits you from
- *          <code>getPanelsPolicy()</code></li> method.
+ *          <code>getPanelsPolicy()</code> method.</li>
  *      <li>Put implementation instance into your TopComponent's subclass lookup,
  *          see <a href="@org-openide-windows@/org/openide/windows/TopComponent.html#getLookup()">TopComponent.getLookup()</a>
  *          for details.</li>
@@ -53,7 +53,7 @@
     /** Shows only NavigatorPanel implementations available through
      * <a href="@TOP@/org/netbeans/spi/navigator/NavigatorLookupHint.html">NavigatorLookupHint</a>
      * in Navigator window, hides NavigatorPanels
-     * available from DataObject of active Node.<br></br>
+     * available from DataObject of active Node.<br>
      * 
      * Use when you want to remove NavigatorPanels of active Node from Navigator
      * window. 
diff --git a/ide/spi.navigator/src/org/netbeans/spi/navigator/NavigatorPanel.java b/ide/spi.navigator/src/org/netbeans/spi/navigator/NavigatorPanel.java
index 01b5fea..082faee 100644
--- a/ide/spi.navigator/src/org/netbeans/spi/navigator/NavigatorPanel.java
+++ b/ide/spi.navigator/src/org/netbeans/spi/navigator/NavigatorPanel.java
@@ -86,18 +86,18 @@
     
     
     /** Returns Lookup that will be integrated into Lookup of Navigator UI
-     * TopComponent. Allows clients to achieve several things:<p></p>
+     * TopComponent. Allows clients to achieve several things:<p>
      * 
-     * 1) Specify activated Node of Navigator UI TopComponent when this panel is active.<br></br>
+     * 1) Specify activated Node of Navigator UI TopComponent when this panel is active.<br>
      * If returned lookup contains Nodes, they will act as activated nodes of 
-     * Navigator UI TopComponent (navigator window).<br></br>
+     * Navigator UI TopComponent (navigator window).<br>
      * 
      * Method may return null, signalizing that default mechanism should be enabled.
      * Default mechanism chooses first Node from Utilities.actionsGlobalContext()
      * (current system-wide activated Node) as activated Node for Navigator's TopComponent.
-     * <p></p>
+     * <p>
      * 
-     * 2) Enable support for Toolbar or main menu global actions in NavigatorPanel.<br></br>
+     * 2) Enable support for Toolbar or main menu global actions in NavigatorPanel.<br>
      * ActionMap contained in this Lookup will be part of Utilities.actionsGlobalContext()
      * when Navigator UI TopComponent (navigator window) is active in the system. 
      *   
diff --git a/ide/spi.palette/src/org/netbeans/spi/palette/PaletteItemRegistration.java b/ide/spi.palette/src/org/netbeans/spi/palette/PaletteItemRegistration.java
index c47e9ea..8103403 100644
--- a/ide/spi.palette/src/org/netbeans/spi/palette/PaletteItemRegistration.java
+++ b/ide/spi.palette/src/org/netbeans/spi/palette/PaletteItemRegistration.java
@@ -36,7 +36,7 @@
     body = "<br>",
     name = "New Line",
     tooltip = "<br>")}</li>
- * <li><b>at class level</b> on class implementing {@link ActiveEditorDrop}.<br><br>
+ * <li><b>at class level</b> on class implementing {@link org.openide.text.ActiveEditorDrop}.<br><br>
  * {@code @PaletteItemRegistration(
     paletteid = "HTMLPalette",
     category = "HTML",
@@ -50,7 +50,7 @@
  * </li>
  * </ul>
  * 
- * @author Eric Barboni <skygo@netbeans.org>
+ * @author Eric Barboni &lt;skygo@netbeans.org&gt;
  * @since 1.40
  */
 @Retention(RetentionPolicy.SOURCE)
diff --git a/ide/spi.palette/src/org/netbeans/spi/palette/PaletteItemRegistrations.java b/ide/spi.palette/src/org/netbeans/spi/palette/PaletteItemRegistrations.java
index ecc9f82..0131a83 100644
--- a/ide/spi.palette/src/org/netbeans/spi/palette/PaletteItemRegistrations.java
+++ b/ide/spi.palette/src/org/netbeans/spi/palette/PaletteItemRegistrations.java
@@ -27,7 +27,7 @@
  * May be uses to allow multiple
  * {@link PaletteItemRegistration PaletteItemRegistration} at one place.
  *
- * @author Eric Barboni <skygo@netbeans.org>
+ * @author Eric Barboni &lt;skygo@netbeans.org&gt;
  *
  * @since 1.40
  */
diff --git a/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/DnDNodeModelFilter.java b/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/DnDNodeModelFilter.java
index ba89d93..6b7f752 100644
--- a/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/DnDNodeModelFilter.java
+++ b/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/DnDNodeModelFilter.java
@@ -67,7 +67,7 @@
      * on provided transferable when drop is done.
      *
      * @param original The original DnDNodeModel to filter
-     * @param node The node where to drop
+     * @param object The node where to drop
      * @param t the transferable to drop
      * @param action the Drag and Drop action from {@link java.awt.dnd.DnDConstants}
      * @param index index between children the drop occured at or -1 if not specified
diff --git a/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/ExtendedNodeModel.java b/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/ExtendedNodeModel.java
index 71e8967..f1717b0 100644
--- a/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/ExtendedNodeModel.java
+++ b/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/ExtendedNodeModel.java
@@ -113,7 +113,7 @@
 
     /**
      * Returns icon resource with extension for given node.
-     * This is the preferred way of icon specification over {@link org.netbeans.spi.viewmodel.NodeModel.getIconBase}
+     * This is the preferred way of icon specification over {@link org.netbeans.spi.viewmodel.NodeModel#getIconBase}
      *
      * @param node The node object
      * @return The base resouce name with extension (no initial slash)
diff --git a/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/ExtendedNodeModelFilter.java b/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/ExtendedNodeModelFilter.java
index 59ffb81..cc1b765 100644
--- a/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/ExtendedNodeModelFilter.java
+++ b/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/ExtendedNodeModelFilter.java
@@ -112,7 +112,7 @@
 
     /**
      * Returns icon resource with extension for given node.
-     * This is the preferred way of icon specification over {@link org.netbeans.spi.viewmodel.NodeModel.getIconBase}
+     * This is the preferred way of icon specification over {@link org.netbeans.spi.viewmodel.NodeModel#getIconBase}
      *
      * @param node The node object
      * @return The base resouce name with extension (no initial slash)
diff --git a/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/Models.java b/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/Models.java
index e625892..89ea9fc 100644
--- a/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/Models.java
+++ b/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/Models.java
@@ -4525,7 +4525,6 @@
          *
          * @throws  UnknownTypeException if this NodeActionsProvider implementation 
          *          is not able to resolve actions for given node type
-         * @return  display name for given node
          */
         @Override
         public void performDefaultAction (Object node) throws UnknownTypeException {
diff --git a/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/NodeActionsProvider.java b/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/NodeActionsProvider.java
index f94fe55..5166445 100644
--- a/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/NodeActionsProvider.java
+++ b/ide/spi.viewmodel/src/org/netbeans/spi/viewmodel/NodeActionsProvider.java
@@ -36,7 +36,6 @@
      *
      * @throws  UnknownTypeException if this NodeActionsProvider implementation
      *          is not able to resolve actions for given node type
-     * @return  display name for given node
      */
     public abstract void performDefaultAction (Object node) 
     throws UnknownTypeException;
diff --git a/ide/versioning.core/src/org/netbeans/modules/versioning/core/api/VCSFileProxy.java b/ide/versioning.core/src/org/netbeans/modules/versioning/core/api/VCSFileProxy.java
index 1fe5143..115441b 100644
--- a/ide/versioning.core/src/org/netbeans/modules/versioning/core/api/VCSFileProxy.java
+++ b/ide/versioning.core/src/org/netbeans/modules/versioning/core/api/VCSFileProxy.java
@@ -241,7 +241,7 @@
     
     /**
      * Determines whether this file is a directory or not.
-     * <b>This method might block for a longer time and shouldn't be called in EDT.
+     * <b>This method might block for a longer time and shouldn't be called in EDT.</b>
      * 
      * @return <code>true</code> if this file exists and is a directory, otherwise <code>false</code>
      * @see File#isDirectory() 
@@ -260,7 +260,7 @@
     
     /**
      * Determines whether this file is a normal file or not.
-     * <b>This method might block for a longer time and shouldn't be called in EDT.
+     * <b>This method might block for a longer time and shouldn't be called in EDT.</b>
      * 
      * @return <code>true</code> if this file is a normal file, otherwise <code>false</code>
      * @see File#isFile() 
@@ -279,7 +279,7 @@
     
     /**
      * Determines whether this file is writable or not.
-     * <b>This method might block for a longer time and shouldn't be called in EDT.
+     * <b>This method might block for a longer time and shouldn't be called in EDT.</b>
      * 
      * @return <code>true</code> if this file is writable, otherwise <code>false</code>
      * @see File#canWrite() 
@@ -294,7 +294,7 @@
     
     /**
      * Determines the last time this file was modified.
-     * <b>This method might block for a longer time and shouldn't be called in EDT.
+     * <b>This method might block for a longer time and shouldn't be called in EDT.</b>
      * 
      * @return A <code>long</code> value representing the time the file was
      *         last modified.
@@ -310,7 +310,7 @@
     
     /**
      * Returns this files parent or <code>null</code> if this file doesn't have a parent.
-     * <b>This method might block for a longer time and shouldn't be called in EDT.
+     * <b>This method might block for a longer time and shouldn't be called in EDT.</b>
      * 
      * @return this files parent 
      * @see File#getParentFile() 
@@ -346,7 +346,7 @@
     
     /**
      * Determines whether this file exists or not.
-     * <b>This method might block for a longer time and shouldn't be called in EDT.
+     * <b>This method might block for a longer time and shouldn't be called in EDT.</b>
      * 
      * @return <code>true</code> if this files exists, otherwise <code>false</code>
      * @see File#exists() 
@@ -361,7 +361,7 @@
     
     /**
      * Returns an array of files located in a directory given by this file.
-     * <b>This method might block for a longer time and shouldn't be called in EDT.
+     * <b>This method might block for a longer time and shouldn't be called in EDT.</b>
      * 
      * @return an array of files located in a directory given by this file or 
      * <code>null</code> if this file isn't a directory or an error occurs.
@@ -387,7 +387,7 @@
     /**
      * Returns the corresponding java.io.File in case this instance was created 
      * based either on java.io.File or a {@link FileObject} based on java.io.File.
-     * <b>This method might block for a longer time and shouldn't be called in EDT.
+     * <b>This method might block for a longer time and shouldn't be called in EDT.</b>
      * 
      * @return the corresponding java.io.File instance or <Code>null</code> if none
      * is available.
@@ -403,7 +403,7 @@
     
     /**
      * Returns the corresponding FileObject.
-     * <b>This method might block for a longer time and shouldn't be called in EDT.
+     * <b>This method might block for a longer time and shouldn't be called in EDT.</b>
      * 
      * @return the corresponding FileObject or <code>null</code> if none available
      */
@@ -417,7 +417,7 @@
 
     /**
      * Normalize a file path to a clean form.
-     * <b>This method might block for a longer time and shouldn't be called in EDT.
+     * <b>This method might block for a longer time and shouldn't be called in EDT.</b>
      * 
      * @return a VCSFileProxy with a normalized file path
      * @see FileUtil#normalizePath(java.lang.String) 
diff --git a/ide/versioning.core/src/org/netbeans/modules/versioning/core/api/VersioningSupport.java b/ide/versioning.core/src/org/netbeans/modules/versioning/core/api/VersioningSupport.java
index 0206aba..20baa70 100644
--- a/ide/versioning.core/src/org/netbeans/modules/versioning/core/api/VersioningSupport.java
+++ b/ide/versioning.core/src/org/netbeans/modules/versioning/core/api/VersioningSupport.java
@@ -106,8 +106,8 @@
      * <p>Versioning systems <strong>must NOT</strong> scan a folder if this method returns true and should consider it as unversioned.</p>
      *
      * @param folder a folder to query
-     * @link http://www.netbeans.org/bugzilla/show_bug.cgi?id=105161
-     * @link http://www.netbeans.org/bugzilla/show_bug.cgi?id=195284
+     * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=105161">#105161</a>
+     * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=195284">#195284</a>
      * @return true if the given folder is excluded from version control, false otherwise
      */
     public static boolean isExcluded (VCSFileProxy folder) {
diff --git a/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSContext.java b/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSContext.java
index cc4a0fa..265660a 100644
--- a/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSContext.java
+++ b/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSContext.java
@@ -237,7 +237,7 @@
      * returns both of them and getRootFiles returns only the folder /var. 
      * This method is suitable for versioning systems that DO manage folders, such as Clearcase. 
      * 
-     * @return Set<VCSFileProxy> set of Files this context represents
+     * @return Set&lt;VCSFileProxy&gt; set of Files this context represents
      * @see #getRootFiles() 
      */ 
     public Set<VCSFileProxy> getFiles() {
@@ -251,7 +251,7 @@
      * returns both of them and getRootFiles returns only the folder /var. 
      * This method is suitable for versioning systems that do not manage folders, such as CVS. 
      * 
-     * @return Set<VCSFileProxy> set of Files this context represents
+     * @return Set&lt;VCSFileProxy&gt; set of Files this context represents
      * @see #getFiles() 
      */ 
     public Set<VCSFileProxy> getRootFiles() {
@@ -264,7 +264,7 @@
      * run on a project that contains a subproject should not touch any files in the subproject. Therefore the VCSContext for
      * the action would contain one root file (the project's root) and one exclusion (subproject root).
      * 
-     * @return Set<VCSFileProxy> set of files and folders that are not part of (are excluded from) this context. 
+     * @return Set&lt;VCSFileProxy&gt; set of files and folders that are not part of (are excluded from) this context. 
      * All their descendants are excluded too.
      */ 
     public Set<VCSFileProxy> getExclusions() {
diff --git a/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSHistoryProvider.java b/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSHistoryProvider.java
index d855032..aeac6d4 100644
--- a/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSHistoryProvider.java
+++ b/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSHistoryProvider.java
@@ -63,24 +63,24 @@
      * in places with limited space, but should be descriptive enough to identify the 
      * particular user or revision - e.g in case of Mercurial it would be something like:
      * 
-     * <table border="0" cellpadding="1" cellspacing="1">
-     *   <tr align="left">
+     * <table>
+     *   <caption>example of output for Mercurial</caption>
+     *   <tr>
      *     <th bgcolor="#CCCCFF"></th>
      *     <th bgcolor="#CCCCFF">short</th>
      *     <th bgcolor="#CCCCFF">long</th>
      *   </tr>
-     *   <tr align="left">
+     *   <tr>
      *     <td>revision</td>
      *     <td>210767</td>
      *     <td>210767:2dd617e260fc</td>
      *   </tr>
-     *   <tr align="left">
+     *   <tr>
      *     <td>user</td>
      *     <td>john.doe@netbeans.org</td>
      *     <td>John Doe &lt;john.doe@netbeans.org&gt;</td>
      *   </tr>
      * </table>
-     * </p> 
      */
     public static final class HistoryEntry {
         private Date dateTime;
@@ -236,7 +236,7 @@
          * 
          * @throws IOException if it wasn't possible to set the message
          * 
-         * @throws IllegalStateException if no {@link #MessageEditProvider} was passed to this HistoryEntry instance
+         * @throws IllegalStateException if no {@link MessageEditProvider} was passed to this HistoryEntry instance
          */        
         public void setMessage(String message) throws IOException {
             if(!canEdit()) throw new IllegalStateException("This entry is read-only");
@@ -389,10 +389,10 @@
     
     /**
      * Implement and pass over to {@link HistoryEntry} in case 
-     * {@link HistoryEntry#getRevisionFile(java.io.File, java.io.File)}
+     * {@link HistoryEntry#getRevisionFile(VCSFileProxy, VCSFileProxy)}
      * is expected to work.
      * 
-     * @see HistoryEntry#getRevisionFile(java.io.File, java.io.File) 
+     * @see HistoryEntry#getRevisionFile(VCSFileProxy, VCSFileProxy) 
      */    
     public interface RevisionProvider {
         void getRevisionFile(VCSFileProxy originalFile, VCSFileProxy revisionFile);
diff --git a/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSInterceptor.java b/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSInterceptor.java
index ee00dce..484fa07 100644
--- a/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSInterceptor.java
+++ b/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSInterceptor.java
@@ -237,7 +237,7 @@
      * Each series of beforeChange/afterChange events is preceded by at least one beforeEdit event.
      * 
      * @param file file that was just locked and is expected to change
-     * @throws IOEexceptin in case it wasn't possible to unlock the file.
+     * @throws IOException in case it wasn't possible to unlock the file.
      */
     public void beforeEdit(VCSFileProxy file) throws IOException {
     }
diff --git a/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSVisibilityQuery.java b/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSVisibilityQuery.java
index 5738e21..af7ad5e 100644
--- a/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSVisibilityQuery.java
+++ b/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSVisibilityQuery.java
@@ -48,7 +48,7 @@
     /**
      * Notify a visibility change
      * 
-     * @param VCSFileProxy[] the files with a changed visibility
+     * @param file the files with a changed visibility
      * @since 1.10
      */
     protected final void fireVisibilityChanged(VCSFileProxy... file) {
diff --git a/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VersioningSystem.java b/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VersioningSystem.java
index 90d62c3..67159da 100644
--- a/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VersioningSystem.java
+++ b/ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VersioningSystem.java
@@ -41,7 +41,7 @@
  * - file system handler
  * - diff provider
  * 
- * Versioning system registration can be done via {@link VersioningSystem#Registration}. 
+ * Versioning system registration can be done via {@link VersioningSystem.Registration}. 
  *
  * @author Maros Sandor
  * @author Tomas Stupka
@@ -212,10 +212,10 @@
      * menu items and handle file visibility without having to activate the particular 
      * VCS System until an explicit user action or relevant file event occurs.
      * </p>
-     * See also {@link org.netbeans.modules.versioning.spi.VersioningSystem}.
+     * See also <a href="@org-netbeans-modules-versioning@/org/netbeans/modules/versioning/spi/VersioningSystem.html">org.netbeans.modules.versioning.spi.VersioningSystem</a>.
      * 
      * @author Tomas Stupka
-     * @see org.netbeans.modules.versioning.spi.VersioningSystem
+     * @see <a href="@org-netbeans-modules-versioning@/org/netbeans/modules/versioning/spi/VersioningSystem.html">org.netbeans.modules.versioning.spi.VersioningSystem</a>
      * @see org.openide.util.lookup.ServiceProvider
      */
     @Retention(RetentionPolicy.SOURCE)
@@ -230,10 +230,10 @@
          * Examples: CVS, Subversion, Mercurial, Teamware, SourceSafe, VSS, Clearcase, Local History.
          * </p>
          * <p>
-         * Corresponds with the property value {@link org.netbeans.modules.versioning.spi.VersioningSystem#PROP_DISPLAY_NAME} 
-         * when used together with {@link org.netbeans.modules.versioning.spi.VersioningSystem}.
+         * Corresponds with the property value <a href="@org-netbeans-modules-versioning@/org/netbeans/modules/versioning/spi/VersioningSystem.html#PROP_DISPLAY_NAME">org.netbeans.modules.versioning.spi.VersioningSystem#PROP_DISPLAY_NAME</a>
+         * when used together with <a href="@org-netbeans-modules-versioning@/org/netbeans/modules/versioning/spi/VersioningSystem.html">org.netbeans.modules.versioning.spi.VersioningSystem</a>.
          * </p>
-         * @see org.netbeans.modules.versioning.spi.VersioningSystem#PROP_DISPLAY_NAME
+         * @see <a href="@org-netbeans-modules-versioning@/org/netbeans/modules/versioning/spi/VersioningSystem.html#PROP_DISPLAY_NAME">org.netbeans.modules.versioning.spi.VersioningSystem#PROP_DISPLAY_NAME</a>
          */
         public String displayName();
         
@@ -242,12 +242,11 @@
          * Short name of the versioning system, it will be used as menu label and it should define a mnemonic key.
          * </p>
          * <p>
-         * Examples: &CVS, &Subversion, &Mercurial, &Teamware, &SourceSafe, &VSS, &Clearcase, Local &History.
+         * Examples: &amp;CVS, &amp;Subversion, &amp;Mercurial, &amp;Teamware, &amp;SourceSafe, &amp;VSS, &amp;Clearcase, Local &amp;History.
          * </p>
          * <p>
-         * Corresponds with the property value {@link org.netbeans.modules.versioning.spi.VersioningSystem#PROP_MENU_LABEL}.
-         * <p>
-         * @see org.netbeans.modules.versioning.spi.VersioningSystem#PROP_MENU_LABEL
+         * Corresponds with the property value <a href="@org-netbeans-modules-versioning@/org/netbeans/modules/versioning/spi/VersioningSystem.html#PROP_MENU_LABEL">org.netbeans.modules.versioning.spi.VersioningSystem#PROP_MENU_LABEL</a>.
+         * @see <a href="@org-netbeans-modules-versioning@/org/netbeans/modules/versioning/spi/VersioningSystem.html#PROP_MENU_LABEL">org.netbeans.modules.versioning.spi.VersioningSystem#PROP_MENU_LABEL</a>
          */
         public String menuLabel();
         
@@ -268,8 +267,8 @@
          *  <li>{".svn", "_svn"}</li>
          *  <li>{".hg"}</li>
          *  <li>{".git"}</li>
-         * <ul>
-         * @see #getTopmostManagedAncestor(org.netbeans.modules.versioning.fileproxy.api.VCSFileProxy)) 
+         * </ul>
+         * @see #getTopmostManagedAncestor(VCSFileProxy)
          */
         public String[] metadataFolderNames();
         
@@ -284,7 +283,6 @@
          * </ul>
          * returning "Subversion" would make the VCS infrastructure to look for actions under the {@link ActionReference} 
          * paths <code>"Versioning/Subversion/Actions/Unversioned"</code> and <code>"Versioning/Subversion/Actions/Global"</code>.
-         * </p>
          * <p>
          * You can also make use of the {@link ActionRegistration#menuText} and {@link ActionRegistration#popupText} 
          * attributes, in case you need a different text in the Main Menu item and a projects popup menu item.
@@ -295,29 +293,28 @@
          * <p>
          * Register a <code>VersioningSystem</code> with the <code>actionCategory</code> "Subversion".
          * </p>
-         * <p>
-         * <code> <pre>
-         * <samp>@</samp>VersioningSystem.Registration(actionsCategory="<b>Subversion</b>")
+         * <pre><code>
+         * &#64;VersioningSystem.Registration(actionsCategory="<b>Subversion</b>")
          * public class SubversionVCS extends VersioningSystem {
          *    ...
          * }
-         * </code></pre></p>
+         * </code></pre>
          * 
          * <p>
          * Register the <code>ImportAction</code> under the <code>ActionReference</code> path 
          * <code>"Versioning/Subversion/Actions/Unversioned"</code> and set <br> 
-         * <code>ActionRegistration.popupText</code> to <code>"Import into &Subversion Repository..."</code> and<br> 
-         * <code>ActionRegistration.menuText</code> to <code>"I&mport into Repository..."</code>.
+         * <code>ActionRegistration.popupText</code> to <code>"Import into &amp;Subversion Repository..."</code> and<br> 
+         * <code>ActionRegistration.menuText</code> to <code>"I&amp;mport into Repository..."</code>.
          * <br></p>
          * 
-         * <p><code> <pre>
-         * <samp>@</samp>ActionID(id = "org.netbeans.modules.subversion.ui.project.ImportAction", category = "Subversion")
-         * <samp>@</samp>ActionRegistration(displayName = "Import into Repository...", popupText="Import into &Subversion Repository...", menuText="I&mport into Repository...")
-         * <samp>@</samp>ActionReferences({ <samp>@</samp>ActionReference(path="<b>Versioning/Subversion/Actions/Unversioned</b>", position=1) })
+         * <pre><code>
+         * &#64;ActionID(id = "org.netbeans.modules.subversion.ui.project.ImportAction", category = "Subversion")
+         * &#64;ActionRegistration(displayName = "Import into Repository...", popupText="Import into &amp;Subversion Repository...", menuText="I&amp;mport into Repository...")
+         * &#64;ActionReferences({&#64;ActionReference(path="<b>Versioning/Subversion/Actions/Unversioned</b>", position=1) })
          * public final class ImportAction implements ActionListener {
          *   ...
          * }
-         * </code></pre></p>
+         * </code></pre>
          * <p>
          * The Main Menu for an unversioned project then will be:<br>
          * <code>Main Menu > Team > Subversion > Import into <u>R</u>epository...</code>
diff --git a/ide/versioning.core/src/org/netbeans/modules/versioning/core/util/Utils.java b/ide/versioning.core/src/org/netbeans/modules/versioning/core/util/Utils.java
index f09d8f1..4eb3ba5 100644
--- a/ide/versioning.core/src/org/netbeans/modules/versioning/core/util/Utils.java
+++ b/ide/versioning.core/src/org/netbeans/modules/versioning/core/util/Utils.java
@@ -124,7 +124,7 @@
     /**
      * Notifies about visibility changes according to {@link VisibilityQueryImplementation}
      * 
-     * @param File[] the files with a changed visibility
+     * @param files the files with a changed visibility
      */
     public static void fireVisibilityChanged(File... files) {
         VCSFileProxy[] proxies = new VCSFileProxy[files.length];
diff --git a/ide/versioning.core/src/org/netbeans/modules/versioning/core/util/VCSSystemProvider.java b/ide/versioning.core/src/org/netbeans/modules/versioning/core/util/VCSSystemProvider.java
index 8a4d38e..1e623526 100644
--- a/ide/versioning.core/src/org/netbeans/modules/versioning/core/util/VCSSystemProvider.java
+++ b/ide/versioning.core/src/org/netbeans/modules/versioning/core/util/VCSSystemProvider.java
@@ -32,8 +32,7 @@
 /**
  * Warning: VCS internal use only. Not to be implemented by clients.
  * 
- * Provides implementations for {@link org.netbeans.modules.versioning.spi.VersioningSystem} 
- * and {@link org.netbeans.modules.versioning.fileproxy.spi.VersioningSystem}
+ * Provides implementations for <a href="@org-netbeans-modules-versioning@/org/netbeans/modules/versioning/spi/VersioningSystem.html">org.netbeans.modules.versioning.spi.VersioningSystem</a>
  * 
  * @author Tomas Stupka
  */
@@ -59,8 +58,7 @@
     public abstract Collection<VersioningSystem> getVersioningSystems();
     
     /**
-     * Provides abstraction either over a {@link org.netbeans.modules.versioning.fileproxy.spi.VersioningSystem}
-     * or a {@link org.netbeans.modules.versioning.spi.VersioningSystem}
+     * Provides abstraction either over a <a href="@org-netbeans-modules-versioning@/org/netbeans/modules/versioning/spi/VersioningSystem.html">org.netbeans.modules.versioning.spi.VersioningSystem</a>
      * @param <S> 
      */
     public interface VersioningSystem<S> {
diff --git a/ide/versioning/src/org/netbeans/modules/versioning/spi/VCSContext.java b/ide/versioning/src/org/netbeans/modules/versioning/spi/VCSContext.java
index 7123012..f52f4dc 100644
--- a/ide/versioning/src/org/netbeans/modules/versioning/spi/VCSContext.java
+++ b/ide/versioning/src/org/netbeans/modules/versioning/spi/VCSContext.java
@@ -116,7 +116,7 @@
      * returns both of them and getRootFiles returns only the folder /var. 
      * This method is suitable for versioning systems that DO manage folders, such as Clearcase. 
      * 
-     * @return Set<File> set of Files this context represents
+     * @return Set&lt;File&gt; set of Files this context represents
      * @see #getRootFiles() 
      * @since 1.6
      */ 
@@ -134,7 +134,7 @@
      * returns both of them and getRootFiles returns only the folder /var. 
      * This method is suitable for versioning systems that do not manage folders, such as CVS. 
      * 
-     * @return Set<File> set of Files this context represents
+     * @return Set&lt;File&gt; set of Files this context represents
      * @see #getFiles() 
      */ 
     public Set<File> getRootFiles() {
@@ -150,7 +150,7 @@
      * run on a project that contains a subproject should not touch any files in the subproject. Therefore the VCSContext for
      * the action would contain one root file (the project's root) and one exclusion (subproject root).
      * 
-     * @return Set<File> set of files and folders that are not part of (are excluded from) this context. 
+     * @return Set&lt;File&gt; set of files and folders that are not part of (are excluded from) this context. 
      * All their descendands are excluded too.
      */ 
     public Set<File> getExclusions() {
diff --git a/ide/versioning/src/org/netbeans/modules/versioning/spi/VCSHistoryProvider.java b/ide/versioning/src/org/netbeans/modules/versioning/spi/VCSHistoryProvider.java
index acb16e2..96ee329 100644
--- a/ide/versioning/src/org/netbeans/modules/versioning/spi/VCSHistoryProvider.java
+++ b/ide/versioning/src/org/netbeans/modules/versioning/spi/VCSHistoryProvider.java
@@ -68,25 +68,25 @@
      * The <code>usernameShort</code> and <code>revisionShort</code> will be displayed 
      * in places with limited space, but should be descriptive enough to identify the 
      * particular user or revision - e.g in case of Mercurial it would be something like:
-     * 
-     * <table border="0" cellpadding="1" cellspacing="1">
-     *   <tr align="left">
+     * e border="0"
+     * <table>
+     *   <caption>example of output for Mercurial</caption>
+     *   <tr>
      *     <th bgcolor="#CCCCFF"></th>
      *     <th bgcolor="#CCCCFF">short</th>
      *     <th bgcolor="#CCCCFF">long</th>
      *   </tr>
-     *   <tr align="left">
+     *   <tr>
      *     <td>revision</td>
      *     <td>210767</td>
      *     <td>210767:2dd617e260fc</td>
      *   </tr>
-     *   <tr align="left">
+     *   <tr>
      *     <td>user</td>
      *     <td>john.doe@netbeans.org</td>
      *     <td>John Doe &lt;john.doe@netbeans.org&gt;</td>
      *   </tr>
      * </table>
-     * </p> 
      * 
      * @since 1.29
      */
@@ -253,7 +253,7 @@
          * 
          * @throws IOException if it wasn't possible to set the message
          * 
-         * @throws IllegalStateException if no {@link #MessageEditProvider} was passed to this HistoryEntry instance
+         * @throws IllegalStateException if no {@link MessageEditProvider} was passed to this HistoryEntry instance
          *
          * @since 1.29
          */
diff --git a/ide/versioning/src/org/netbeans/modules/versioning/spi/VCSVisibilityQuery.java b/ide/versioning/src/org/netbeans/modules/versioning/spi/VCSVisibilityQuery.java
index a0e6c9a..5871ba9 100644
--- a/ide/versioning/src/org/netbeans/modules/versioning/spi/VCSVisibilityQuery.java
+++ b/ide/versioning/src/org/netbeans/modules/versioning/spi/VCSVisibilityQuery.java
@@ -48,7 +48,7 @@
     /**
      * Notify a visibility change
      * 
-     * @param File[] the files with a changed visibility
+     * @param files the files with a changed visibility
      * @since 1.37
      */
     protected final void fireVisibilityChanged(File... files) {
diff --git a/ide/versioning/src/org/netbeans/modules/versioning/spi/VersioningSupport.java b/ide/versioning/src/org/netbeans/modules/versioning/spi/VersioningSupport.java
index 8a358b1..0d51070 100644
--- a/ide/versioning/src/org/netbeans/modules/versioning/spi/VersioningSupport.java
+++ b/ide/versioning/src/org/netbeans/modules/versioning/spi/VersioningSupport.java
@@ -113,8 +113,8 @@
      * <p>Versioning systems <strong>must NOT</strong> scan a folder if this method returns true and should consider it as unversioned.</p>
      *
      * @param folder a folder to query
-     * @link http://www.netbeans.org/bugzilla/show_bug.cgi?id=105161
-     * @link http://www.netbeans.org/bugzilla/show_bug.cgi?id=195284
+     * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=105161">#105161</a>
+     * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=195284">#195284</a>
      * @since 1.25
      * @return true if the given folder is excluded from version control, false otherwise
      */
diff --git a/ide/versioning/src/org/netbeans/modules/versioning/spi/VersioningSystem.java b/ide/versioning/src/org/netbeans/modules/versioning/spi/VersioningSystem.java
index 768fbc8..865376a 100644
--- a/ide/versioning/src/org/netbeans/modules/versioning/spi/VersioningSystem.java
+++ b/ide/versioning/src/org/netbeans/modules/versioning/spi/VersioningSystem.java
@@ -45,7 +45,7 @@
  * Versioning system registration can be done in one of the following ways:
  * <ul>
  *  <li>via {@link org.openide.util.lookup.ServiceProvider}.</li>  
- *  <li>via {@link org.netbeans.modules.versioning.spi.VersioningSystem#Registration}. (recommended) </li> 
+ *  <li>via {@link org.netbeans.modules.versioning.spi.VersioningSystem.Registration}. (recommended) </li> 
  * </ul>
  *
  * @author Maros Sandor
@@ -62,7 +62,7 @@
 
     /**
      * Short name of the versioning system, it will be used as menu label and it should define a mnemonic key.
-     * Examples: &CVS, &Subversion, &Mercurial, &Teamware, &SourceSafe, &VSS, &Clearcase, Local &History.
+     * Examples: &amp;CVS, &amp;Subversion, &amp;Mercurial, &amp;Teamware, &amp;SourceSafe, &amp;VSS, &amp;Clearcase, Local &amp;History.
      * @see #getProperty(String) 
      * @see #putProperty(String, Object)  
      */
@@ -324,11 +324,11 @@
          * Short name of the versioning system, it will be used as menu label and it should define a mnemonic key.
          * </p>
          * <p>
-         * Examples: &CVS, &Subversion, &Mercurial, &Teamware, &SourceSafe, &VSS, &Clearcase, Local &History.
+         * Examples: &amp;CVS, &amp;Subversion, &amp;Mercurial, &amp;Teamware, &amp;SourceSafe, &amp;VSS, &amp;Clearcase, Local &amp;History.
          * </p>
          * <p>
          * Corresponds with the property value {@link org.netbeans.modules.versioning.spi.VersioningSystem#PROP_MENU_LABEL}.
-         * <p>
+         *
          * @see org.netbeans.modules.versioning.spi.VersioningSystem#PROP_MENU_LABEL
          */
         public String menuLabel();
@@ -350,7 +350,7 @@
          *  <li>{".svn", "_svn"}</li>
          *  <li>{".hg"}</li>
          *  <li>{".git"}</li>
-         * <ul>
+         * </ul>
          * @see #getTopmostManagedAncestor(java.io.File) 
          */
         public String[] metadataFolderNames();
@@ -366,7 +366,6 @@
          * </ul>
          * returning "Subversion" would make the VCS infrastructure to look for actions under the {@link ActionReference} 
          * paths <code>"Versioning/Subversion/Actions/Unversioned"</code> and <code>"Versioning/Subversion/Actions/Global"</code>.
-         * </p>
          * <p>
          * You can also make use of the {@link ActionRegistration#menuText} and {@link ActionRegistration#popupText} 
          * attributes, in case you need a different text in the Main Menu item and a projects popup menu item.
@@ -377,29 +376,29 @@
          * <p>
          * Register a <code>VersioningSystem</code> with the <code>actionCategory</code> "Subversion".
          * </p>
-         * <p>
-         * <code> <pre>
-         * <samp>@</samp>VersioningSystem.Registration(actionsCategory="<b>Subversion</b>")
+         * 
+         * <pre><code>
+         * &#64;VersioningSystem.Registration(actionsCategory="<b>Subversion</b>")
          * public class SubversionVCS extends VersioningSystem {
          *    ...
          * }
-         * </code></pre></p>
+         * </code></pre>
          * 
          * <p>
          * Register the <code>ImportAction</code> under the <code>ActionReference</code> path 
          * <code>"Versioning/Subversion/Actions/Unversioned"</code> and set <br> 
-         * <code>ActionRegistration.popupText</code> to <code>"Import into &Subversion Repository..."</code> and<br> 
-         * <code>ActionRegistration.menuText</code> to <code>"I&mport into Repository..."</code>.
+         * <code>ActionRegistration.popupText</code> to <code>"Import into &amp;Subversion Repository..."</code> and<br> 
+         * <code>ActionRegistration.menuText</code> to <code>"I&amp;mport into Repository..."</code>.
          * <br></p>
          * 
-         * <p><code> <pre>
-         * <samp>@</samp>ActionID(id = "org.netbeans.modules.subversion.ui.project.ImportAction", category = "Subversion")
-         * <samp>@</samp>ActionRegistration(displayName = "Import into Repository...", popupText="Import into &Subversion Repository...", menuText="I&mport into Repository...")
-         * <samp>@</samp>ActionReferences({ <samp>@</samp>ActionReference(path="<b>Versioning/Subversion/Actions/Unversioned</b>", position=1) })
+         * <pre><code>
+         * &#64;ActionID(id = "org.netbeans.modules.subversion.ui.project.ImportAction", category = "Subversion")
+         * &#64;ActionRegistration(displayName = "Import into Repository...", popupText="Import into &amp;Subversion Repository...", menuText="I&amp;mport into Repository...")
+         * &#64;ActionReferences({&#64;ActionReference(path="<b>Versioning/Subversion/Actions/Unversioned</b>", position=1) })
          * public final class ImportAction implements ActionListener {
          *   ...
          * }
-         * </code></pre></p>
+         * </code></pre>
          * <p>
          * The Main Menu for an unversioned project then will be:<br>
          * <code>Main Menu > Team > Subversion > Import into <u>R</u>epository...</code>
diff --git a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/XDMModel.java b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/XDMModel.java
index 2b42de6..012b5c0 100644
--- a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/XDMModel.java
+++ b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/XDMModel.java
@@ -607,7 +607,7 @@
     
     /**
      * This api deletes given node from a tree.
-     * @param node The node  to be deleted.
+     * @param n The node  to be deleted.
      * @return The parent node resulted by deletion of this node.
      */
     public synchronized List<Node> delete(Node n) {
@@ -621,8 +621,8 @@
     
     /**
      * This api changes index of the given node.
-     * @param nodes The nodes to be moved.
-     * @param indexes the new indexes of the nodes.
+     * @param n The nodes to be moved.
+     * @param index the new indexe of the node.
      * @return The parent node resulted by deletion of this node.
      */
     public synchronized List<Node> reorder(Node parent, Node n, final int index) {
@@ -650,8 +650,9 @@
     
     /**
      * This api changes indexes of the given node children.
-     * @param nodes The nodes to be moved.
-     * @param indexes the new indexes of the nodes.
+     * @param parent The parent node from which the nodes is to be reordered.
+     * @param permutation integer array with index represents current index and 
+     * value is final index after reordered
      * @return The parent node resulted by deletion of this node.
      */
     public synchronized List<Node> reorderChildren(Node parent, final int[] permutation) {
@@ -892,7 +893,7 @@
     /**
      * This returns the statuc of the model.
      * @return the status.
-     * @see #Status
+     * @see Status
      */
     public synchronized Status getStatus() {
         return status;
diff --git a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/diff/DiffFinder.java b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/diff/DiffFinder.java
index 2869676..181bc41 100644
--- a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/diff/DiffFinder.java
+++ b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/diff/DiffFinder.java
@@ -41,7 +41,7 @@
 
 /**
  * This class is used by XDMTreeDiff (Both Sync and Undo/Redo) to find difference
- * between 2 XML and returns List<DiffEvent>
+ * between 2 XML and returns {@code List<DiffEvent>}
  *
  * @author Ayub Khan
  */
diff --git a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/diff/Difference.java b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/diff/Difference.java
index c5c377f..658558a 100644
--- a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/diff/Difference.java
+++ b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/diff/Difference.java
@@ -51,7 +51,7 @@
     }
     
     /**
-     * @returns info on removed node.
+     * @return info on removed node.
      */
     public NodeInfo getOldNodeInfo() {
         return oldNodeInfo;
diff --git a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/diff/NodeInfo.java b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/diff/NodeInfo.java
index 0dd2139..2acdf78 100644
--- a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/diff/NodeInfo.java
+++ b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/diff/NodeInfo.java
@@ -58,7 +58,7 @@
     }
     
     /**
-     * @returns position of removed in the original parent or
+     * @return position of removed in the original parent or
      *          position of the added in the final parent.
      */
     public int getPosition() {
@@ -73,7 +73,7 @@
     }
     
     /**
-     * @returns document the node is captured in (a node in xdm tree can be in
+     * @return document the node is captured in (a node in xdm tree can be in
      * multiple document roots).
      */
     public Document getDocument() {
@@ -81,14 +81,14 @@
     }
     
     /**
-     * @returns original path from parent to root.
+     * @return original path from parent to root.
      */
     public List<Node> getOriginalAncestors() {
         return Collections.unmodifiableList(ancestors1);
     }
     
     /**
-     * @returns new path to root from parent of added or removed node.
+     * @return new path to root from parent of added or removed node.
      * Note that this path need to be updated
      */
     public List<Node> getNewAncestors() {
diff --git a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Document.java b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Document.java
index aaca9dc..db8c3a0 100644
--- a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Document.java
+++ b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Document.java
@@ -463,7 +463,8 @@
      *   instantiate.
      * @return A new <code>Element</code> object with the following 
      *   attributes:
-     * <table border='1' cellpadding='3'>
+     * <table>
+     * <caption>Element object attributes</caption>
      * <tr>
      * <th>Attribute</th>
      * <th>Value</th>
@@ -549,7 +550,8 @@
      * @param qualifiedName The qualified name of the attribute to 
      *   instantiate.
      * @return A new <code>Attr</code> object with the following attributes:
-     * <table border='1' cellpadding='3'>
+     * <table>
+     * <caption>Attr object attributes</caption>
      * <tr>
      * <th>
      *   Attribute</th>
diff --git a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Element.java b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Element.java
index 8b1cccb..26200b5 100644
--- a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Element.java
+++ b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Element.java
@@ -35,15 +35,15 @@
 
 /**
  * This class represents the XML Element.
- * An element is of the form <elmName[attributes]/> or <element[attributes]>[TextNode]</elmName>
+ * An element is of the form {@code <elmName[attributes]/>} or {@code <element[attributes]>[TextNode]</elmName>}
  * In terms of tokens attibute can have upto 12 tokens.
- * Start of start element token, <.
+ * Start of start element token, &lt;.
  * element namespace token, optional.
  * element namespace seperator, optional.
  * element name token.
  * whitespace token, optional.
  * end of start element token, > or />.
- * start of end element token, </.
+ * start of end element token, &lt;/.
  * element namespace token, optional.
  * element namespace seperator, optional.
  * element name token.
@@ -651,7 +651,7 @@
      * This api is provided for XDMModel purposes only.
      * @param newAttr The new attribute to be added.
      * @param index The index at which attribute to be added
-     * @throws IndexOutOfBoundsException if the index is out of range (index < 0 || index > size()).
+     * @throws IndexOutOfBoundsException if the index is out of range (index &lt; 0 || index &gt; size()).
      * @throws IllegalStateException if a newAttr has already been added to a tree.
      */
     public void addAttribute(Attribute newAttr, int index) {
@@ -666,7 +666,7 @@
      * This api is provided for XDMModel purposes only.
      * @param attr The new attribute to be moved.
      * @param index The index at which attribute to be moved
-     * @throws IndexOutOfBoundsException if the index is out of range (index < 0 || index > size()).
+     * @throws IndexOutOfBoundsException if the index is out of range (index &lt; 0 || index &gt; size()).
      * @throws IllegalStateException if a attr has not already been added to a tree.
      */
     public void reorderAttribute(Attribute attr, int index) {
diff --git a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/NamedNodeMapImpl.java b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/NamedNodeMapImpl.java
index 6a4502a..9206af8 100644
--- a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/NamedNodeMapImpl.java
+++ b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/NamedNodeMapImpl.java
@@ -44,7 +44,7 @@
     
     /**
      * Creates new NamedNodeMapImpl
-     * @param peer a map to delegate to. It must not be modified after this contructor call!
+     * @param attributes a map to delegate to. It must not be modified after this contructor call!
      */
     public NamedNodeMapImpl(List<Attribute> attributes) {
         if (attributes == null) throw new NullPointerException();
diff --git a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Node.java b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Node.java
index 3bdb86a..34ba03d 100644
--- a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Node.java
+++ b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Node.java
@@ -45,7 +45,7 @@
 	
 	/**
 	 * @return tree if node has already been added to the tree. 
-	 * @see #addedToTree()
+	 * @see #addedToTree(XDMModel)
 	 */
 	boolean isInTree();
 
diff --git a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/NodeImpl.java b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/NodeImpl.java
index e741e22..dc56a39 100644
--- a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/NodeImpl.java
+++ b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/NodeImpl.java
@@ -353,7 +353,7 @@
      * Adds the node newChild to the end of the list of children of this node.
      * Since the model is immutable checks if current node and node being added
      * are not already in tree.
-     * @param newChild - The node to add.
+     * @param node - The node to add.
      * @return The node added.
      */
     public Node appendChild(org.w3c.dom.Node node) {
@@ -372,8 +372,8 @@
      * Repalces the node oldNode with newNode.
      * Since the model is immutable checks if current node
      * and the node being put, are not already in tree.
-     * @param newChild - The new node to put in the child list.
-     * @param oldChild - The node being replaced in the list.
+     * @param newNode - The new node to put in the child list.
+     * @param oldNode - The node being replaced in the list.
      * @return The node replaced.
      */
     public Node replaceChild(org.w3c.dom.Node newNode, org.w3c.dom.Node oldNode) {
diff --git a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Text.java b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Text.java
index ccffe6f..27e4216 100644
--- a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Text.java
+++ b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/nodes/Text.java
@@ -137,7 +137,7 @@
      * "ent" contains an <code>Element</code> node which cannot be removed.
      * @param content The content of the replacing <code>Text</code> node.
      * @return The <code>Text</code> node created with the specified content.
-     * @exception DOMException
+     * @exception org.w3c.dom.DOMException
      *   NO_MODIFICATION_ALLOWED_ERR: Raised if one of the <code>Text</code> 
      *   nodes being replaced is readonly.
      * @since DOM Level 3
@@ -159,7 +159,7 @@
      * @param offset The 16-bit unit offset at which to split, starting from 
      *   <code>0</code>.
      * @return The new node, of the same type as this node.
-     * @exception DOMException
+     * @exception org.w3c.dom.DOMException
      *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
      *   than the number of 16-bit units in <code>data</code>.
      *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
@@ -190,7 +190,7 @@
      * not fit into a single <code>DOMString</code>. In such cases, the user 
      * may call <code>substringData</code> to retrieve the data in 
      * appropriately sized pieces.
-     * @exception DOMException
+     * @exception org.w3c.dom.DOMException
      *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
      */
     public void setData(String text) {
@@ -207,7 +207,7 @@
      * success, <code>data</code> provides access to the concatenation of 
      * <code>data</code> and the <code>DOMString</code> specified.
      * @param arg The <code>DOMString</code> to append.
-     * @exception DOMException
+     * @exception org.w3c.dom.DOMException
      *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
      */
     public void appendData(String arg) {
@@ -226,7 +226,7 @@
      *    method invocation).
      * @param arg The <code>DOMString</code> with which the range must be 
      *   replaced.
-     * @exception DOMException
+     * @exception org.w3c.dom.DOMException
      *   INDEX_SIZE_ERR: Raised if the specified <code>offset</code> is 
      *   negative or greater than the number of 16-bit units in 
      *   <code>data</code>, or if the specified <code>count</code> is 
@@ -241,7 +241,7 @@
      * Insert a string at the specified 16-bit unit offset.
      * @param offset The character offset at which to insert.
      * @param arg The <code>DOMString</code> to insert.
-     * @exception DOMException
+     * @exception org.w3c.dom.DOMException
      *   INDEX_SIZE_ERR: Raised if the specified <code>offset</code> is 
      *   negative or greater than the number of 16-bit units in 
      *   <code>data</code>.
@@ -258,7 +258,7 @@
      * @return The specified substring. If the sum of <code>offset</code> and 
      *   <code>count</code> exceeds the <code>length</code>, then all 16-bit 
      *   units to the end of the data are returned.
-     * @exception DOMException
+     * @exception org.w3c.dom.DOMException
      *   INDEX_SIZE_ERR: Raised if the specified <code>offset</code> is 
      *   negative or greater than the number of 16-bit units in 
      *   <code>data</code>, or if the specified <code>count</code> is 
@@ -279,7 +279,7 @@
      * not fit into a single <code>DOMString</code>. In such cases, the user 
      * may call <code>substringData</code> to retrieve the data in 
      * appropriately sized pieces.
-     * @exception DOMException
+     * @exception org.w3c.dom.DOMException
      *   DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
      *   fit in a <code>DOMString</code> variable on the implementation 
      *   platform.
@@ -301,7 +301,7 @@
      *   <code>offset</code> and <code>count</code> exceeds 
      *   <code>length</code> then all 16-bit units from <code>offset</code> 
      *   to the end of the data are deleted.
-     * @exception DOMException
+     * @exception org.w3c.dom.DOMException
      *   INDEX_SIZE_ERR: Raised if the specified <code>offset</code> is 
      *   negative or greater than the number of 16-bit units in 
      *   <code>data</code>, or if the specified <code>count</code> is 
diff --git a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/visitor/XPathFinder.java b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/visitor/XPathFinder.java
index 6ab5da9..e90d8c9 100644
--- a/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/visitor/XPathFinder.java
+++ b/ide/xml.xdm/src/org/netbeans/modules/xml/xdm/visitor/XPathFinder.java
@@ -101,7 +101,7 @@
     /**
      * @return the nodes correspond to specified xpath.
      * @param root context in which to find the node.
-     * @param xpath location path for the attribute or element.
+     * @param xpathExpression location path for the attribute or element.
      */
     public List<Node> findNodes(Document root, String xpathExpression) {
         if (root == null || root.getDocumentElement() == null) {
diff --git a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/CallStackFrame.java b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/CallStackFrame.java
index ab83435..202c95b 100644
--- a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/CallStackFrame.java
+++ b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/CallStackFrame.java
@@ -94,7 +94,7 @@
      *
      * @param struts a language name or null for default language
      * @return name of file this stack frame is stopped in
-     * @throws NoInformationException if information about source is not 
+     * @throws AbsentInformationException if information about source is not 
      *   included in class file
      */
     public abstract String getSourceName (String struts) 
diff --git a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/ExceptionBreakpoint.java b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/ExceptionBreakpoint.java
index 2de94bc..d57b8b3 100644
--- a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/ExceptionBreakpoint.java
+++ b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/ExceptionBreakpoint.java
@@ -104,7 +104,7 @@
      *
      * @param exceptionClassName class name filter
      * @param catchType one of constants: {@link #TYPE_EXCEPTION_CAUGHT},
-     *   {@link #TYPE_EXCEPTION_UNCAUGHT, {@link #TYPE_EXCEPTION_CAUGHT_UNCAUGHT}.
+     *   {@link #TYPE_EXCEPTION_UNCAUGHT}, {@link #TYPE_EXCEPTION_CAUGHT_UNCAUGHT}.
      * @return a new breakpoint for given parameters
      */
     public static ExceptionBreakpoint create (
diff --git a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/Field.java b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/Field.java
index 292c285..50abe05 100644
--- a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/Field.java
+++ b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/Field.java
@@ -72,7 +72,6 @@
     /**
      * Sets value of this field represented as text.
      *
-     * @return sets value of this field represented as text
      * @throws InvalidExpressionException if the expression is not correct
      */
     @Override
diff --git a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/JPDADebugger.java b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/JPDADebugger.java
index d073f22..7450c31 100644
--- a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/JPDADebugger.java
+++ b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/JPDADebugger.java
@@ -153,15 +153,15 @@
      *
      * @param connector The listening connector
      * @param args The arguments
-     * @param services The additional services, which are added to the debugger session lookup.<br/>
-     * It is expected, that one element in the services array is a {@link Map} with following setup properties:<br/>
-     * <lu>
+     * @param services The additional services, which are added to the debugger session lookup.<br>
+     * It is expected, that one element in the services array is a {@link Map} with following setup properties:<br>
+     * <ul>
      * <li><code>name</code> with the value being the session name as String,</li>
      * <li><code>sourcepath</code> with the {@link ClassPath} value containing class path of sources used by debugger,</li>
      * <li><code>jdksources</code> with the {@link ClassPath} value containing class path of platform sources,</li>
      * <li><code>listeningCP</code> optional String representation of source class path which is in compile-on-save mode, which we listen on for artifacts changes,</li>
      * <li><code>baseDir</code> with the debugging project's base directory as {@link File}.</li>
-     * </lu>
+     * </ul>
      */
     public static JPDADebugger listen (
         ListeningConnector        connector,
@@ -201,7 +201,7 @@
      *
      * @param connector The listening connector
      * @param args The arguments
-     * @param services The additional services, which are added to the debugger session lookup.<br/>
+     * @param services The additional services, which are added to the debugger session lookup.<br>
      * See {@link #listen(com.sun.jdi.connect.ListeningConnector, java.util.Map, java.lang.Object[])} for a more detailed description of this argument.
      * @throws DebuggerStartException when {@link org.netbeans.api.debugger.DebuggerManager#startDebugging}
      * returns an empty array
@@ -223,7 +223,7 @@
      *
      * @param connector The listening connector
      * @param args The arguments
-     * @param services The additional services, which are added to the debugger session lookup.<br/>
+     * @param services The additional services, which are added to the debugger session lookup.<br>
      * See {@link #listen(com.sun.jdi.connect.ListeningConnector, java.util.Map, java.lang.Object[])} for a more detailed description of this argument.
      * @return A non-empty array of started engines (since 2.26)
      * @throws DebuggerStartException when {@link org.netbeans.api.debugger.DebuggerManager#startDebugging}
@@ -262,15 +262,15 @@
      *
      * @param hostName a name of computer to attach to
      * @param portNumber a port number
-     * @param services The additional services, which are added to the debugger session lookup.<br/>
-     * It is expected, that one element in the services array is a {@link Map} with following setup properties:<br/>
-     * <lu>
+     * @param services The additional services, which are added to the debugger session lookup.<br>
+     * It is expected, that one element in the services array is a {@link Map} with following setup properties:<br>
+     * <ul>
      * <li><code>name</code> with the value being the session name as String,</li>
      * <li><code>sourcepath</code> with the {@link ClassPath} value containing class path of sources used by debugger,</li>
      * <li><code>jdksources</code> with the {@link ClassPath} value containing class path of platform sources,</li>
      * <li><code>listeningCP</code> optional String representation of source class path which is in compile-on-save mode, which we listen on for artifacts changes,</li>
      * <li><code>baseDir</code> with the debugging project's base directory as {@link File}.</li>
-     * </lu>
+     * </ul>
      */
     public static JPDADebugger attach (
         String          hostName,
@@ -309,7 +309,7 @@
      * {@link org.netbeans.api.debugger.DebuggerManager#getDebuggerManager}.
      *
      * @param name a name of shared memory block
-     * @param services The additional services, which are added to the debugger session lookup.<br/>
+     * @param services The additional services, which are added to the debugger session lookup.<br>
      * See {@link #attach(java.lang.String, int, java.lang.Object[])} for a more detailed description of this argument.
      */
     public static JPDADebugger attach (
@@ -413,10 +413,10 @@
     public abstract void waitRunning () throws DebuggerStartException;
 
     /**
-     * Returns <code>true</code> if this debugger supports fix & continue 
+     * Returns <code>true</code> if this debugger supports fix &amp; continue 
      * (HotSwap).
      *
-     * @return <code>true</code> if this debugger supports fix & continue
+     * @return <code>true</code> if this debugger supports fix &amp; continue
      */
     public abstract boolean canFixClasses ();
 
@@ -439,7 +439,7 @@
     }
 
     /**
-     * Implements fix & continue (HotSwap). Map should contain class names
+     * Implements fix &amp; continue (HotSwap). Map should contain class names
      * as a keys, and byte[] arrays as a values.
      *
      * @param classes a map from class names to be fixed to byte[] 
diff --git a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/JPDAThread.java b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/JPDAThread.java
index e5e7e49..cb2fa14 100644
--- a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/JPDAThread.java
+++ b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/JPDAThread.java
@@ -109,7 +109,7 @@
     /**
      * Returns the operation that is being currently executed on this thread.
      * @return The current operation, or <CODE>null</CODE>.
-     * @see {@link CallStackFrame#getCurrentOperation}
+     * @see CallStackFrame#getCurrentOperation(String)
      */
     public abstract Operation getCurrentOperation();
     
diff --git a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/LineBreakpoint.java b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/LineBreakpoint.java
index a2d9cab..78726be 100644
--- a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/LineBreakpoint.java
+++ b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/LineBreakpoint.java
@@ -397,7 +397,7 @@
     
     /**
      * Gets the binary class name that is used to submit the breakpoint.
-     * @return The binary class name, if previously set by {@link setPreferedClassName}
+     * @return The binary class name, if previously set by {@link #setPreferredClassName}
      * method, or <code>null</code> if the class name should be retrieved
      * automatically from the URL and line number.
      * @since 2.8
diff --git a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/MethodBreakpoint.java b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/MethodBreakpoint.java
index fe1d7ef..f0ac5ef 100644
--- a/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/MethodBreakpoint.java
+++ b/java/api.debugger.jpda/src/org/netbeans/api/debugger/jpda/MethodBreakpoint.java
@@ -41,11 +41,11 @@
  *
  * <br><br>
  * <b>How to use it:</b>
- * <pre style="background-color: rgb(255, 255, 153);">
+ * <pre style="background-color: rgb(255, 255, 153);"><code>
  *    DebuggerManager.addBreakpoint (MethodBreakpoint.create (
  *        "examples.texteditor.Ted*",
- *        "<init>
- *    ));</pre>
+ *        "&lt;init&gt;
+ *    ));</code></pre>
  * This breakpoint stops when some initializer of class Ted or innercalsses is
  * called.
  *
diff --git a/java/api.debugger.jpda/src/org/netbeans/spi/debugger/jpda/SmartSteppingCallback.java b/java/api.debugger.jpda/src/org/netbeans/spi/debugger/jpda/SmartSteppingCallback.java
index e905d02..655eb29 100644
--- a/java/api.debugger.jpda/src/org/netbeans/spi/debugger/jpda/SmartSteppingCallback.java
+++ b/java/api.debugger.jpda/src/org/netbeans/spi/debugger/jpda/SmartSteppingCallback.java
@@ -133,11 +133,11 @@
         /**
          * Express the necessity to perform a step at the given location.
          * @param stepSize the step size,
-         *  one of {@link #JPDAStep.STEP_LINE} or {@link #JPDAStep.STEP_MIN},
+         *  one of {@link JPDAStep#STEP_LINE} or {@link JPDAStep#STEP_MIN},
          *  or <code>0</code> for the default size.
          * @param stepDepth the step depth,
-         *  one of {@link #JPDAStep.STEP_INTO}, {@link #JPDAStep.STEP_OVER},
-         *  {@link #JPDAStep.STEP_OUT}, or <code>0</code> for the default depth.
+         *  one of {@link JPDAStep#STEP_INTO}, {@link JPDAStep#STEP_OVER},
+         *  {@link JPDAStep#STEP_OUT}, or <code>0</code> for the default depth.
          * @return the step information instance.
          * throws {@link IllegalArgumentException} when the size or depth is wrong.
          */
@@ -181,7 +181,7 @@
         
         /**
          * Get the step size.
-         * @return One of {@link #JPDAStep.STEP_LINE} or {@link #JPDAStep.STEP_MIN},
+         * @return One of {@link JPDAStep#STEP_LINE} or {@link JPDAStep#STEP_MIN},
          *  or <code>0</code> for the default size.
          */
         public int getStepSize() {
@@ -190,8 +190,8 @@
         
         /**
          * Get the step depth.
-         * @return One of {@link #JPDAStep.STEP_INTO}, {@link #JPDAStep.STEP_OVER},
-         *  {@link #JPDAStep.STEP_OUT}, or <code>0</code> for the default depth.
+         * @return One of {@link JPDAStep#STEP_INTO}, {@link JPDAStep#STEP_OVER},
+         *  {@link JPDAStep#STEP_OUT}, or <code>0</code> for the default depth.
          */
         public int getStepDepth() {
             return stepDepth;
diff --git a/java/api.debugger.jpda/src/org/netbeans/spi/debugger/jpda/SourcePathProvider.java b/java/api.debugger.jpda/src/org/netbeans/spi/debugger/jpda/SourcePathProvider.java
index c3b6525..ffb0543 100644
--- a/java/api.debugger.jpda/src/org/netbeans/spi/debugger/jpda/SourcePathProvider.java
+++ b/java/api.debugger.jpda/src/org/netbeans/spi/debugger/jpda/SourcePathProvider.java
@@ -35,7 +35,7 @@
  * ("file:///C:/Sources/java/lang/Thread.java"). It allows to define
  * and modify source path.
  * All instances of this class should be registerred in
- * "Meta-inf/debugger/<DebuggerEngine ID>/org.netbeans.spi.debugger.jpda.EngineContextProvider"
+ * "Meta-inf/debugger/&lt;DebuggerEngine ID&gt;/org.netbeans.spi.debugger.jpda.EngineContextProvider"
  * files. There should be at least one instance installed.
  *
  * @author Maros Sandor, Jan Jancura
diff --git a/java/api.java/src/org/netbeans/api/java/queries/JavadocForBinaryQuery.java b/java/api.java/src/org/netbeans/api/java/queries/JavadocForBinaryQuery.java
index 4f83757..873ae8e 100644
--- a/java/api.java/src/org/netbeans/api/java/queries/JavadocForBinaryQuery.java
+++ b/java/api.java/src/org/netbeans/api/java/queries/JavadocForBinaryQuery.java
@@ -91,8 +91,8 @@
         /**
          * Get the Javadoc roots.
          * Each root should contain the main <code>index.html</code>, so that
-         * for a class <samp>pkg.Class</samp> the generated documentation would
-         * have a path <samp>pkg/Class.html</samp> relative to one of the roots.
+         * for a class <code>pkg.Class</code> the generated documentation would
+         * have a path <code>pkg/Class.html</code> relative to one of the roots.
          * @return array of roots of Javadoc documentation (may be empty but not null)
          */
         URL[] getRoots();
diff --git a/java/api.java/src/org/netbeans/api/java/queries/SourceLevelQuery.java b/java/api.java/src/org/netbeans/api/java/queries/SourceLevelQuery.java
index 3eff176..0ac63f6 100644
--- a/java/api.java/src/org/netbeans/api/java/queries/SourceLevelQuery.java
+++ b/java/api.java/src/org/netbeans/api/java/queries/SourceLevelQuery.java
@@ -128,7 +128,7 @@
      * <code>javac</code> compiler .
      * @param javaFile Java source file, Java package or source folder in question
      * @return a {@link Result} object encapsulating the source level of the Java file. Results created for source
-     * levels provided by the {@link SourceLevelQueryImplementation} do not support listening. Use {@link Result#supportsChanges()}
+     * levels provided by the {@link org.netbeans.spi.java.queries.SourceLevelQueryImplementation} do not support listening. Use {@link Result#supportsChanges()}
      * to check if the result supports listening.
      * @since 1.30
      */
@@ -378,7 +378,7 @@
          * Returns true if the result support updates and client may
          * listen on it. If false client should always ask again to
          * obtain current value. The results created for values returned
-         * by the {@link SourceLevelQueryImplementation} do not support
+         * by the {@link org.netbeans.spi.java.queries.SourceLevelQueryImplementation} do not support
          * listening.
          * @return true if the result supports changes and listening
          */
diff --git a/java/api.java/src/org/netbeans/spi/java/queries/AccessibilityQueryImplementation.java b/java/api.java/src/org/netbeans/spi/java/queries/AccessibilityQueryImplementation.java
index 7738e79..6c9f1bb 100644
--- a/java/api.java/src/org/netbeans/spi/java/queries/AccessibilityQueryImplementation.java
+++ b/java/api.java/src/org/netbeans/spi/java/queries/AccessibilityQueryImplementation.java
@@ -35,8 +35,8 @@
  * this query, if it depends on the Java Project module and uses this style.
  * </p>
  * @see org.netbeans.api.java.queries.AccessibilityQuery
- * @see org.netbeans.api.queries.FileOwnerQuery
- * @see org.netbeans.api.project.Project#getLookup
+ * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/api/project/FileOwnerQuery.html">FileOwnerQuery</a>
+ * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/api/project/Project.html#getLookup--">Project#getLookup</a>
  * @author Jesse Glick
  * @since org.netbeans.api.java/1 1.4
  */
diff --git a/java/api.java/src/org/netbeans/spi/java/queries/AccessibilityQueryImplementation2.java b/java/api.java/src/org/netbeans/spi/java/queries/AccessibilityQueryImplementation2.java
index 041add9..5c0d8d4 100644
--- a/java/api.java/src/org/netbeans/spi/java/queries/AccessibilityQueryImplementation2.java
+++ b/java/api.java/src/org/netbeans/spi/java/queries/AccessibilityQueryImplementation2.java
@@ -37,8 +37,8 @@
  * this query, if it depends on the Java Project module and uses this style.
  * </p>
  * @see org.netbeans.api.java.queries.AccessibilityQuery
- * @see org.netbeans.api.queries.FileOwnerQuery
- * @see org.netbeans.api.project.Project#getLookup
+ * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/api/project/FileOwnerQuery.html">FileOwnerQuery</a>
+ * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/api/project/Project.html#getLookup--">Project#getLookup</a>
  * @author Tomas Zezula
  * @since 1.64
  */
@@ -61,7 +61,7 @@
     interface Result {
         /**
          * Returns the accessibility.
-         * @return the {@link Accessibility}
+         * @return the {@link AccessibilityQuery.Accessibility}
          */
         @NonNull
         AccessibilityQuery.Accessibility getAccessibility();
diff --git a/java/api.java/src/org/netbeans/spi/java/queries/JavadocForBinaryQueryImplementation.java b/java/api.java/src/org/netbeans/spi/java/queries/JavadocForBinaryQueryImplementation.java
index bfc13ac..cac60ed 100644
--- a/java/api.java/src/org/netbeans/spi/java/queries/JavadocForBinaryQueryImplementation.java
+++ b/java/api.java/src/org/netbeans/spi/java/queries/JavadocForBinaryQueryImplementation.java
@@ -33,7 +33,7 @@
  * this query, if it depends on the Java Project module and uses this style.
  * </p>
  * @see JavadocForBinaryQuery
- * @see org.netbeans.api.project.Project#getLookup
+ * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/api/project/Project.html#getLookup--">Project#getLookup</a>
  * @author David Konecny, Jesse Glick
  * @since org.netbeans.api.java/1 1.4
  */
@@ -45,7 +45,7 @@
      * <p>
      * Any absolute URL may be used but typically it will use the <code>file</code>
      * protocol for directory entries and <code>jar</code> protocol for JAR entries
-     * (e.g. <samp>jar:file:/tmp/foo.jar!/</samp>).
+     * (e.g. <code>jar:file:/tmp/foo.jar!/</code>).
      * </p>
      * <p>
      * {@link JavadocForBinaryQuery#findJavadoc} calls this method on instances registered
diff --git a/java/api.java/src/org/netbeans/spi/java/queries/MultipleRootsUnitTestForSourceQueryImplementation.java b/java/api.java/src/org/netbeans/spi/java/queries/MultipleRootsUnitTestForSourceQueryImplementation.java
index 7a20131..f3393a6 100644
--- a/java/api.java/src/org/netbeans/spi/java/queries/MultipleRootsUnitTestForSourceQueryImplementation.java
+++ b/java/api.java/src/org/netbeans/spi/java/queries/MultipleRootsUnitTestForSourceQueryImplementation.java
@@ -39,7 +39,7 @@
  * is used for example for unit test generation and for searching test for
  * source. Usage of any other pattern will break this functionality.</p>
  *
- * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/api/project/Project.html#getLookup"><code>Project.getLookup()</code></a>
+ * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/api/project/Project.html#getLookup--"><code>Project.getLookup()</code></a>
  * @see org.netbeans.api.java.queries.UnitTestForSourceQuery
  * @author Tomas Zezula
  * @since org.netbeans.api.java/1 1.7
diff --git a/java/api.java/src/org/netbeans/spi/java/queries/SourceJavadocAttacherImplementation.java b/java/api.java/src/org/netbeans/spi/java/queries/SourceJavadocAttacherImplementation.java
index ad22ed5..16bc9a9 100644
--- a/java/api.java/src/org/netbeans/spi/java/queries/SourceJavadocAttacherImplementation.java
+++ b/java/api.java/src/org/netbeans/spi/java/queries/SourceJavadocAttacherImplementation.java
@@ -40,7 +40,7 @@
     /**
      * Attaches a source root provided by this SPI to given binary root.
      * @param root the binary root to attach sources to
-     * @param a listener notified about result when attaching is done
+     * @param listener a listener notified about result when attaching is done
      * @throws IOException in case of error
      */
     boolean attachSources(
@@ -50,7 +50,7 @@
     /**
      * Attaches a javadoc root provided by this SPI to given binary root.
      * @param root the binary root to attach javadoc to
-     * @param a listener notified about result when attaching is done
+     * @param listener a listener notified about result when attaching is done
      * @throws IOException in case of error
      */
     boolean attachJavadoc(
diff --git a/java/api.java/src/org/netbeans/spi/java/queries/SourceLevelQueryImplementation2.java b/java/api.java/src/org/netbeans/spi/java/queries/SourceLevelQueryImplementation2.java
index 275f925..eec1e72 100644
--- a/java/api.java/src/org/netbeans/spi/java/queries/SourceLevelQueryImplementation2.java
+++ b/java/api.java/src/org/netbeans/spi/java/queries/SourceLevelQueryImplementation2.java
@@ -38,8 +38,8 @@
  * this query, if it depends on the Java Project module and uses this style.
  * </p>
  * @see org.netbeans.api.java.queries.SourceLevelQuery
- * @see org.netbeans.api.queries.FileOwnerQuery
- * @see org.netbeans.api.project.Project#getLookup
+ * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/api/project/FileOwnerQuery.html">FileOwnerQuery</a>
+ * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/api/project/Project.html#getLookup--">Project#getLookup</a>
  * @see org.netbeans.api.java.classpath.ClassPath#BOOT
  * @author Tomas Zezula
  * @since 1.30
diff --git a/java/api.java/src/org/netbeans/spi/java/queries/UnitTestForSourceQueryImplementation.java b/java/api.java/src/org/netbeans/spi/java/queries/UnitTestForSourceQueryImplementation.java
index 61a8e3a..fa9d5df 100644
--- a/java/api.java/src/org/netbeans/spi/java/queries/UnitTestForSourceQueryImplementation.java
+++ b/java/api.java/src/org/netbeans/spi/java/queries/UnitTestForSourceQueryImplementation.java
@@ -39,7 +39,7 @@
  * is used for example for unit test generation and for searching test for
  * source. Usage of any other pattern will break this functionality.</p>
  *
- * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/api/project/Project.html#getLookup"><code>Project.getLookup()</code></a>
+ * @see <a href="@org-netbeans-modules-projectapi@/org/netbeans/api/project/Project.html#getLookup--"><code>Project.getLookup()</code></a>
  * @see org.netbeans.api.java.queries.UnitTestForSourceQuery
  * @deprecated Use {@link org.netbeans.spi.java.queries.MultipleRootsUnitTestForSourceQueryImplementation} instead.
  * @author David Konecny
diff --git a/java/api.maven/src/org/netbeans/api/maven/archetype/ArchetypeWizards.java b/java/api.maven/src/org/netbeans/api/maven/archetype/ArchetypeWizards.java
index ae698d6..5700fff 100644
--- a/java/api.maven/src/org/netbeans/api/maven/archetype/ArchetypeWizards.java
+++ b/java/api.maven/src/org/netbeans/api/maven/archetype/ArchetypeWizards.java
@@ -82,7 +82,7 @@
      * @return a wizard iterators
      * @since 1.0
      * @see TemplateRegistration
-     * @see #TEMPLATE_FOLDER
+     * @see <a href="@org-netbeans-modules-maven@/org/netbeans/modules/maven/api/archetype/ArchetypeWizards.html#TEMPLATE_FOLDER">#TEMPLATE_FOLDER</a>
      */
     public static WizardDescriptor.InstantiatingIterator<?> definedArchetype(String groupId, String artifactId, String version, @NullAllowed String repository, String title) {
         return org.netbeans.modules.maven.api.archetype.ArchetypeWizards.definedArchetype(groupId, artifactId, version, repository, title);
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/Roots.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/Roots.java
index 98eb06f..73e1152 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/Roots.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/Roots.java
@@ -115,7 +115,7 @@
      * @param displayNames the display names of the roots
      * @param supportIncludes when true the roots list supports includes/excludes
      * @param type of the roots, when null the roots are registered as principal roots only
-     * @param hint optional hint for {@link SourceGroupModifier}
+     * @param hint optional hint for {@link org.netbeans.api.project.SourceGroupModifier}
      * @return the Roots
      */
     public static Roots propertyBased(
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/ant/UpdateHelper.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/ant/UpdateHelper.java
index e2acbcb..e265b4d 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/ant/UpdateHelper.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/ant/UpdateHelper.java
@@ -32,7 +32,7 @@
 
 /**
  * Proxy for the {@link AntProjectHelper} which defers the update of the project metadata
- * to explicit user action. Caller has to provide implementation of {@link UpdateProject}
+ * to explicit user action. Caller has to provide implementation of {@link UpdateImplementation}
  * which takes care of updating project itself.
  * @author Tomas Zezula, Tomas Mysik
  * @see UpdateImplementation
@@ -106,8 +106,8 @@
      * In the case that the project is of current version or shared is <code>false</code> it delegates to
      * {@link AntProjectHelper#getPrimaryConfigurationData(boolean)}.
      * Otherwise it creates an in memory update of shared configuration data and returns it.
-     * @param shared if <code>true</code>, refers to <e>project.xml</e>, else refers to
-     *               <e>private.xml</e>.
+     * @param shared if <code>true</code>, refers to <code>project.xml</code>, else refers to
+     *               <code>private.xml</code>.
      * @return the configuration data that is available.
      */
     public Element getPrimaryConfigurationData(final boolean shared) {
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/ant/UpdateImplementation.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/ant/UpdateImplementation.java
index 45e0287..1a90272 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/ant/UpdateImplementation.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/ant/UpdateImplementation.java
@@ -54,14 +54,14 @@
     /**
      * Creates probably an in memory update of shared configuration data and return it.
      * @return the configuration data that is available.
-     * @see {@link UpdateHelper#getPrimaryConfigurationData(boolean)}
+     * @see UpdateHelper#getPrimaryConfigurationData(boolean)
      */
     Element getUpdatedSharedConfigurationData();
 
     /**
      * Creates probably an in memory update of project properties.
      * @return a set of properties.
-     * @see {@link UpdateHelper#getProperties(String)}
+     * @see UpdateHelper#getProperties(String)
      */
     EditableProperties getUpdatedProjectProperties();
 }
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/ClassPathModifier.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/ClassPathModifier.java
index 0ba038a..89e25d5 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/ClassPathModifier.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/ClassPathModifier.java
@@ -182,7 +182,7 @@
         
         /**
          * Returns project XML element under which extra classpath related information
-         * is stored. See also {@link ClassPathSupport#Callback}
+         * is stored. See also {@link ClassPathSupport.Callback}
          * @return can return null if not applicable
          */
         String getElementName(String classpathProperty);
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/ClassPathModifierSupport.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/ClassPathModifierSupport.java
index bf2b505..2646ab7 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/ClassPathModifierSupport.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/ClassPathModifierSupport.java
@@ -113,7 +113,7 @@
      * @param cs the {@link ClassPathSupport}
      * @param eval the {@link PropertyEvaluator}
      * @param refHelper the {@link ReferenceHelper}
-     * @param cpUiSupportCallback the optional {@link ClassPathUiSupport.Callback} doing the {@link ClassPathSupport.Item} initialization.
+     * @param cpUiSupportCallback the optional {@link org.netbeans.modules.java.api.common.project.ui.ClassPathUiSupport.Callback} doing the {@link ClassPathSupport.Item} initialization.
      * @param classPathRoots the jar files or folders to be added (removed)
      * @param classPathProperty the classpath property into (from which) the artifacts should be added (removed).
      * @param projectXMLElementName optional project XML element name
@@ -296,7 +296,7 @@
      * @param cs the {@link ClassPathSupport}
      * @param eval the {@link PropertyEvaluator}
      * @param refHelper the {@link ReferenceHelper}
-     * @param cpUiSupportCallback the optional {@link ClassPathUiSupport.Callback} doing the {@link ClassPathSupport.Item} initialization.
+     * @param cpUiSupportCallback the optional {@link org.netbeans.modules.java.api.common.project.ui.ClassPathUiSupport.Callback} doing the {@link ClassPathSupport.Item} initialization.
      * @param artifacts the artifacts to be added
      * @param artifactElements the corresponding artifacts elements
      * @param classPathProperty the classpath property into (from which) the artifacts should be added (removed).
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/ClassPathSupport.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/ClassPathSupport.java
index 8445620..6a8e294 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/ClassPathSupport.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/ClassPathSupport.java
@@ -616,7 +616,6 @@
         /**
          * only applicable to TYPE_JAR
          * 
-         * @return
          */
         public void setJavadocFilePath(String javadoc) {
             javadocFilePath = javadoc;
@@ -625,7 +624,6 @@
         /**
          * only applicable to TYPE_JAR
          * 
-         * @return
          */
         public void setSourceFilePath(String source) {
             sourceFilePath = source;
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/MultiModuleClassPathProvider.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/MultiModuleClassPathProvider.java
index 5c17781..84e632e 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/MultiModuleClassPathProvider.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/classpath/MultiModuleClassPathProvider.java
@@ -1278,7 +1278,7 @@
 
         /**
          * Sets javac processor {@link ClassPath} properties.
-         * @param processorClassPathProperties the names of properties containing the compiler processor path for sources, by default {@link ProjectProperties#JAVAC_PROCESSORPATH}
+         * @param processorClasspathProperties the names of properties containing the compiler processor path for sources, by default {@link ProjectProperties#JAVAC_PROCESSORPATH}
          * @return {@link Builder}
          */
         @NonNull
@@ -1290,7 +1290,7 @@
 
         /**
          * Sets javac processor {@link ClassPath} properties for test roots.
-         * @param processorClassPathProperties the names of properties containing the compiler processor path for sources, by default {@link ProjectProperties#JAVAC_PROCESSORPATH}
+         * @param processorClasspathProperties the names of properties containing the compiler processor path for sources, by default {@link ProjectProperties#JAVAC_PROCESSORPATH}
          * @return {@link Builder}
          */
         @NonNull
@@ -1301,8 +1301,8 @@
         }
 
         /**
-         * Sets a {@link JavaPlatform} type for boot {@link ClassPath} lookup.
-         * @param platformType the type of {@link JavaPlatform}, by default "j2se"
+         * Sets a {@link org.netbeans.api.java.platform.JavaPlatform} type for boot {@link ClassPath} lookup.
+         * @param platformType the type of {@link org.netbeans.api.java.platform.JavaPlatform}, by default "j2se"
          * @return {@link Builder}
          */
         @NonNull
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/project/BaseActionProvider.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/project/BaseActionProvider.java
index 59268ff..55e06ff 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/project/BaseActionProvider.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/project/BaseActionProvider.java
@@ -618,7 +618,7 @@
      */
     public static interface Callback3 extends Callback2 {
         /**
-         * Creates additional properties passed to the <i>ant</t>.
+         * Creates additional properties passed to the <i>ant</i>.
          * Called before an <i>ant</i> target is invoked. Note that call to
          * {@link #invokeAction(java.lang.String, org.openide.util.Lookup)} does
          * not necessarily means call to ant.
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ProjectHooks.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ProjectHooks.java
index f3ed198..1da4202 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ProjectHooks.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ProjectHooks.java
@@ -260,7 +260,7 @@
          * Sets the name of property referencing the project build script.
          * If not set the {@link ProjectProperties#BUILD_SCRIPT} is used.
          * @param propertyName the name of property holding the name of project's build script.
-         * @return the {@link ProjectOperationsBuilder}
+         * @return the {@link ProjectOperations.ProjectOperationsBuilder}
          */       
         @NonNull
         public ProjectOpenedHookBuilder setBuildScriptProperty(@NonNull final String propertyName) {
@@ -374,7 +374,7 @@
          * Sets the name of property referencing the project build script.
          * If not set the {@link ProjectProperties#BUILD_SCRIPT} is used.
          * @param propertyName the name of property holding the name of project's build script.
-         * @return the {@link ProjectOperationsBuilder}
+         * @return the {@link ProjectOperations.ProjectOperationsBuilder}
          */
         @NonNull
         public ProjectXmlSavedHookBuilder setBuildScriptProperty(@NonNull final String propertyName) {
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/project/PropertyEvaluatorProvider.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/project/PropertyEvaluatorProvider.java
index 80b3fa5..c70884c 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/project/PropertyEvaluatorProvider.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/project/PropertyEvaluatorProvider.java
@@ -23,7 +23,7 @@
 
 /**
  * An optional interface which implementation can be provided in
- * the project's {@link Lookup} to allow access to project's {@link PropertyEvaluator}.
+ * the project's {@link org.openide.util.Lookup} to allow access to project's {@link PropertyEvaluator}.
  * @author Tomas Zezula
  * @since 1.105
  */
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/LibrariesNode.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/LibrariesNode.java
index 823221a..ae53d90 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/LibrariesNode.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/LibrariesNode.java
@@ -207,7 +207,7 @@
     }
 
     /**
-     * Builder for {@Link LibrariesNode}.
+     * Builder for {@link LibrariesNode}.
      * @since 1.63
      */
     public static final class Builder {
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/wizards/FolderList.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/wizards/FolderList.java
index 9c51a75..8811492 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/wizards/FolderList.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/wizards/FolderList.java
@@ -409,7 +409,6 @@
      * Returns a {@link FileFilter} accepting all files for which any
      * of its path elements starting from selectedFolder (exclusive) to the end is maching
      * ".*test.* case insensitive regular expression
-     * @param selectedFolder
      * @return the {@link FileFilter}
      */
     public static FileFilter testRootsFilter () {
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/queries/MultiModuleGroupQuery.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/queries/MultiModuleGroupQuery.java
index ba0257b..f9440a3 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/queries/MultiModuleGroupQuery.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/queries/MultiModuleGroupQuery.java
@@ -30,10 +30,10 @@
  * folders. In some cases, different presentation, or more precise information on
  * relationship between a SourceGroup and module is needed. Such information can be obtained
  * using {@code MultiModuleGroupQuery}.
- * <p/>
+ * <p>
  * The object can be obtained from project Lookup. If it is not present, the project does not support
  * java modules.
- * <p/>
+ * <p>
  * If the source level of the project is 8 or less, the {@code MultiModuleGroupQuery} may be present,
  * but will return {@code null} on all queries, as modules are not supported before JDK9.
  * @author sdedic
@@ -53,7 +53,7 @@
     
     /**
      * Determines which {@link SourceGroup}s are owned by a particular module.
-     * Returns {@link SourceGroups} contained within the module, empty array
+     * Returns {@link SourceGroup}s contained within the module, empty array
      * if module does not exist or does not contain any of the passed {@code SourceGroups}.
      * @param modName module name
      * @param groups groups, to filter.
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/queries/QuerySupport.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/queries/QuerySupport.java
index f92eadc..43a6af3 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/queries/QuerySupport.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/queries/QuerySupport.java
@@ -264,7 +264,7 @@
     /**
      * Create a new query to find out specification source level of Java source files.
      * @param evaluator {@link PropertyEvaluator} used for obtaining needed properties.
-     * @return a {@link SourceLevelQueryImplementation} to find out specification source level of Java source files.
+     * @return a {@link org.netbeans.spi.java.queries.SourceLevelQueryImplementation} to find out specification source level of Java source files.
      * @deprecated Use {@link QuerySupport#createSourceLevelQuery(org.netbeans.spi.project.support.ant.PropertyEvaluator)}
      */
     @Deprecated
@@ -486,7 +486,7 @@
     }
     
     /**
-     * Shortcut version of {@link #createBinaryForSourceQueryImplementation(org.netbeans.modules.java.api.common.SourceRoots, org.netbeans.modules.java.api.common.SourceRoots, org.netbeans.spi.project.support.ant.AntProjectHelper, org.netbeans.spi.project.support.ant.PropertyEvaluator, java.lang.String, java.lang.String) }
+     * Shortcut version of {@link #createBinaryForSourceQueryImplementation(org.netbeans.modules.java.api.common.SourceRoots, org.netbeans.modules.java.api.common.SourceRoots, org.netbeans.spi.project.support.ant.AntProjectHelper, org.netbeans.spi.project.support.ant.PropertyEvaluator, java.lang.String[], java.lang.String[]) }
      * which assumes that build classes folder is stored in property <code>build.classes.dir</code> and
      * built test classes folder is stored in property <code>build.test.classes.dir</code>.
      *
@@ -494,8 +494,6 @@
      * @param test project test roots
      * @param helper AntProjectHelper
      * @param eval PropertyEvaluator
-     * @param sourceProps array of properties pointing to source folders
-     * @param testProps array of properties pointing to test folders
      * @return BinaryForSourceQueryImplementation
      * @since org.netbeans.modules.java.api.common/1 1.5
      */
@@ -547,12 +545,12 @@
      * @param helper project's AntProjectHelper
      * @param evaluator project's evaluator
      * @param annotationProcessingEnabledProperty property whose value says whether the annotation processing is enabled for the given project at all
-     *                                                    (will be returned from {@link Result#annotationProcessingEnabled()})
+     *                                                    (will be returned from {@link org.netbeans.api.java.queries.AnnotationProcessingQuery.Result#annotationProcessingEnabled()})
      * @param annotationProcessingEnabledInEditorProperty property whose value says whether the annotation processing should be enabled
-     *                                                    in the editor (will be returned from {@link Result#annotationProcessingEnabled())}
-     * @param runAllAnnotationProcessorsProperty when true, {@link Result#annotationProcessorsToRun()} will return null
-     * @param annotationProcessorsProperty should contain comma separated list of annotation processors to run (will be returned from  {@link Result#annotationProcessorsToRun()})
-     * @param sourceOutputProperty directory to which the annotation processors generate source files (will be returned from  {@link Result#sourceOutputProperty()})
+     *                                                    in the editor (will be returned from {@link org.netbeans.api.java.queries.AnnotationProcessingQuery.Result#annotationProcessingEnabled()})
+     * @param runAllAnnotationProcessorsProperty when true, {@link org.netbeans.api.java.queries.AnnotationProcessingQuery.Result#annotationProcessorsToRun()} will return null
+     * @param annotationProcessorsProperty should contain comma separated list of annotation processors to run (will be returned from  {@link org.netbeans.api.java.queries.AnnotationProcessingQuery.Result#annotationProcessorsToRun()})
+     * @param sourceOutputProperty directory to which the annotation processors generate source files (will be returned from  {@link org.netbeans.api.java.queries.AnnotationProcessingQuery.Result#sourceOutputDirectory()})
      * @param processorOptionsProperty options passed to the annotation processors (-Akey=value)
      * @return a {@link AnnotationProcessingQueryImplementation} to provide annotation processing configuration data for this project.
      * @since org.netbeans.modules.java.api.common/0 1.14
@@ -572,12 +570,12 @@
 
     /**
      * Returns {@link Sources} implementation designed for projects that supports adding
-     * or removing of the source roots. The returned instance also implements {@link SourceGroupModifierImplementation}
+     * or removing of the source roots. The returned instance also implements {@link org.netbeans.spi.project.SourceGroupModifierImplementation}
      * @param project the {@link Project} for which the {@link Sources} should be created
      * @param helper the {@link AntProjectHelper} of the project, used only to resolve files
      * @param evaluator the {@link PropertyEvaluator} to evaluate the properties
      * @param roots the array of {@link Roots} providing the roots of given type
-     * @return the {@link Sources} instance implementing also the {@link SourceGroupModifierImplementation} interface
+     * @return the {@link Sources} instance implementing also the {@link org.netbeans.spi.project.SourceGroupModifierImplementation} interface
      * @since 1.21
      */
     public static Sources createSources(@NonNull final Project project,
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/ui/PlatformUiSupport.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/ui/PlatformUiSupport.java
index e5524bd..77bf22c 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/ui/PlatformUiSupport.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/ui/PlatformUiSupport.java
@@ -90,7 +90,7 @@
      * The model listens on the {@link JavaPlatformManager} and update its
      * state according to the changes.
      * @param activePlatform the active project's platform, can be <code>null</code>.
-     * @param filter project specific filter to filter-out platforms that are not usable in given context
+     * @param filters project specific filter to filter-out platforms that are not usable in given context
      * @return {@link ComboBoxModel}.
      */
     public static ComboBoxModel createPlatformComboBoxModel(String activePlatform, Collection<? extends PlatformFilter> filters) {
@@ -129,7 +129,7 @@
     }
 
     /**
-     * Like {@link #storePlatform(EditableProperties, UpdateHelper, Object, Object)}, but platform name may be
+     * Like {@link #storePlatform(EditableProperties, UpdateHelper, String, Object, Object)}, but platform name may be
      * <code>null</code> (in such case the default platform is used).
      * @param props project's shared properties.
      * @param helper {@link UpdateHelper} that is capable to upgrade project metadata if needed.
@@ -163,8 +163,8 @@
      * @param props project's shared properties
      * @param helper {@link UpdateHelper} that is capable to upgrade project metadata if needed.
      * @param projectConfigurationNamespace project configuration namespace.
-     * @param platformKey the {@link PlatformKey} got from the platform model.
-     * @param sourceLevelKey {@link SourceLevelKey} representing source level; can be <code>null</code>.
+     * @param platformKey the {@code PlatformKey} got from the platform model.
+     * @param sourceLevelKey {@code SourceLevelKey} representing source level; can be <code>null</code>.
      */
     public static void storePlatform(
             @NonNull final EditableProperties props,
@@ -187,8 +187,8 @@
      * @param props project's shared properties
      * @param helper {@link UpdateHelper} that is capable to upgrade project metadata if needed.
      * @param projectConfigurationNamespace project configuration namespace.
-     * @param platformKey the {@link PlatformKey} got from the platform model.
-     * @param sourceLevelKey {@link SourceLevelKey} representing source level; can be <code>null</code>.
+     * @param platformKey the {@code PlatformKey} got from the platform model.
+     * @param sourceLevelKey {@code SourceLevelKey} representing source level; can be <code>null</code>.
      * @param updatePreferredPlatform if true the {@link PreferredProjectPlatform} will be updated
      * @since 1.37
      */
@@ -214,9 +214,9 @@
      * @param props project's shared properties
      * @param helper {@link UpdateHelper} that is capable to upgrade project metadata if needed.
      * @param projectConfigurationNamespace project configuration namespace.
-     * @param platformKey the {@link PlatformKey} got from the platform model.
-     * @param sourceLevelKey {@link SourceLevelKey} representing source level; can be <code>null</code>.
-     * @param profileKey {@link Profile} representing required profile; can be <code>null</code> for full JRE.
+     * @param platformKey the {@code PlatformKey} got from the platform model.
+     * @param sourceLevelKey {@code SourceLevelKey} representing source level; can be <code>null</code>.
+     * @param profileKey {@link org.netbeans.api.java.queries.SourceLevelQuery.Profile} representing required profile; can be <code>null</code> for full JRE.
      * @param updatePreferredPlatform if true the {@link PreferredProjectPlatform} will be updated
      * @since 1.45
      */
@@ -420,12 +420,12 @@
     }
 
     /**
-     * Return a {@link SourceLevelQuery.Profile} for an item obtained from the ComboBoxModel created by
+     * Return a {@link org.netbeans.api.java.queries.SourceLevelQuery.Profile} for an item obtained from the ComboBoxModel created by
      * the {@link PlatformUiSupport#createProfileComboBoxModel} method.
      * This method can return <code>null</code> if the profile is broken.
      * @param profileKey an item obtained from {@link ComboBoxModel} created by
      *                    {@link PlatformUiSupport#createProfileComboBoxModel}.
-     * @return {@link SourceLevelQuery.Profile} or <code>null</code> in case when profile is broken.
+     * @return {@link org.netbeans.api.java.queries.SourceLevelQuery.Profile} or <code>null</code> in case when profile is broken.
      * @throws IllegalArgumentException if the input parameter is not an object created by profile combobox model.
      * @since 1.57
      */
@@ -458,7 +458,7 @@
      * @param initialTargetLevel initial target level value, null if unknown.
      * @param minimalSpecificationVersion minimal JDK version to be displayed. It can be <code>null</code> if all the JDK versions
      *                          should be displayed (typically for Java SE project).
-     * @return {@link ComboBoxModel} of {@link SourceLevelKey}.
+     * @return {@link ComboBoxModel} of {@code SourceLevelKey}.
      * @see #createSourceLevelComboBoxModel(ComboBoxModel, String, String)
      */
     public static ComboBoxModel createSourceLevelComboBoxModel(ComboBoxModel platformComboBoxModel,
@@ -469,13 +469,13 @@
     }
 
     /**
-     * Exactly like {@link #createSourceLevelComboBoxModel(ComboBoxModel, String, String, JDK)}
+     * Exactly like {@link #createSourceLevelComboBoxModel(ComboBoxModel, String, String, SpecificationVersion)}
      * but without any minimal JDK version.
      * @param platformComboBoxModel the platform's model used for listenning.
      * @param initialSourceLevel initial source level value, null if unknown.
      * @param initialTargetLevel initial target level value, null if unknown.
-     * @return {@link ComboBoxModel} of {@link SourceLevelKey}.
-     * @see #createSourceLevelComboBoxModel(ComboBoxModel, String, String, JDK)
+     * @return {@link ComboBoxModel} of {@code SourceLevelKey}.
+     * @see #createSourceLevelComboBoxModel(ComboBoxModel, String, String, SpecificationVersion)
      */
     public static ComboBoxModel createSourceLevelComboBoxModel(ComboBoxModel platformComboBoxModel,
             String initialSourceLevel, String initialTargetLevel) {
@@ -1247,7 +1247,7 @@
     }
 
     /**
-     * Retturns a {@link JavaPlatform} for given {@link PlatformKey}
+     * Retturns a {@link JavaPlatform} for given {@code PlatformKey}
      * or null when the platformKey is either null or not bound to a platform.
      * @param platformKey
      * @return java platform
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/util/CommonProjectUtils.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/util/CommonProjectUtils.java
index 5096963..79bfcdd 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/util/CommonProjectUtils.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/util/CommonProjectUtils.java
@@ -178,8 +178,8 @@
     /**
      * Creates a {@link LibraryImplementation3} that can subsequently be used with
      * both Ant and Maven based Java projects.
-     * @param classpath local library classpath for use by Ant
-     * @param src local library sources for use by Ant
+     * @param classPath local library classpath for use by Ant
+     * @param sources local library sources for use by Ant
      * @param javadoc local Javadoc path for use by Ant
      * @param mavendeps list of maven dependencies in the form of groupId:artifactId:version:type,
      *    for example org.eclipse.persistence:eclipselink:2.3.2:jar
diff --git a/java/java.hints.test/src/org/netbeans/modules/java/hints/test/api/HintTest.java b/java/java.hints.test/src/org/netbeans/modules/java/hints/test/api/HintTest.java
index ccb9f39..d671eec 100644
--- a/java/java.hints.test/src/org/netbeans/modules/java/hints/test/api/HintTest.java
+++ b/java/java.hints.test/src/org/netbeans/modules/java/hints/test/api/HintTest.java
@@ -987,7 +987,7 @@
         }
         /**Verifies that the current warning provides the given fixes.
          *
-         * @param fixes the {@link Fix#getText() } of the expected fixes
+         * @param expectedFixes the {@link Fix#getText() } of the expected fixes
          * @return itself
          * @throws AssertionError if the expected fixes do not match the provided fixes
          * @since 1.1
@@ -1009,7 +1009,7 @@
 
         /**Verifies that the current warning provides the given fixes.
          *
-         * @param fixes the {@link Fix#getText() } of the expected fixes
+         * @param bannedFixes the {@link Fix#getText() } of the expected fixes
          * @return itself
          * @throws AssertionError if the expected fixes do not match the provided fixes
          * @since 1.18
@@ -1187,7 +1187,6 @@
          * This method will compare the content of the file exactly with the provided
          * code.
          *
-         * @param fileName the name of the file that should be verified
          * @param code expected content of the resulting file.
          * @return the wrapper itself
          * @throws AssertionError if the result is not compilable
diff --git a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/api/J2SECategoryExtensionProvider.java b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/api/J2SECategoryExtensionProvider.java
index 5e8d38a..b0cb122 100644
--- a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/api/J2SECategoryExtensionProvider.java
+++ b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/api/J2SECategoryExtensionProvider.java
@@ -44,7 +44,7 @@
     /**
      * Provides identifier of category whose panel should be extended by this component provider
      * 
-     * @returns identifier of the category to be extended
+     * @return identifier of the category to be extended
      */
     ExtensibleCategory getCategory();
     
@@ -54,7 +54,7 @@
      * 
      * @param proj project to create the customizer component for
      * @param listener listener to be notified when properties should be updated
-     * @returns extension panel to be added to the specified category
+     * @return extension panel to be added to the specified category
      */
     JComponent createComponent(Project proj, ConfigChangeListener listener);
     
diff --git a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/api/J2SEProjectBuilder.java b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/api/J2SEProjectBuilder.java
index 9e8b446..2a70963 100644
--- a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/api/J2SEProjectBuilder.java
+++ b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/api/J2SEProjectBuilder.java
@@ -366,7 +366,6 @@
     /**
      * Sets default module system properties if they are not set.
      * @param ep the {@link EditableProperties} to write the properties into.
-     * @param boolean isModular true if the project is JDK 9 modular project
      * @since 1.85
      */
     public static void createDefaultModuleProperties(
diff --git a/java/java.lsp.server/nbcode/nbproject/platform.properties b/java/java.lsp.server/nbcode/nbproject/platform.properties
index dabb95c..b289bcf 100644
--- a/java/java.lsp.server/nbcode/nbproject/platform.properties
+++ b/java/java.lsp.server/nbcode/nbproject/platform.properties
@@ -88,6 +88,7 @@
     org.netbeans.modules.apisupport.harness,\
     org.netbeans.modules.applemenu,\
     org.netbeans.modules.autoupdate.pluginimporter,\
+    org.netbeans.modules.autoupdate.ui,\
     org.netbeans.modules.beans,\
     org.netbeans.modules.bugtracking,\
     org.netbeans.modules.bugtracking.bridge,\
diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/explorer/TreeViewProvider.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/explorer/TreeViewProvider.java
index 5ed7cbf..8cafced 100644
--- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/explorer/TreeViewProvider.java
+++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/explorer/TreeViewProvider.java
@@ -476,9 +476,7 @@
 
     public final CompletionStage<Node[]> getChildren(Node nodeOrNull) {
         Node node = getNodeOrRoot(nodeOrNull);
-        return CompletableFuture.supplyAsync(() -> {
-            return node.getChildren().getNodes(true);
-        }, INITIALIZE);
+        return CompletableFuture.completedFuture(node.getChildren().getNodes());
     }
 
     public final CompletionStage<Node> getParent(Node node) {
diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/ProjectViewTest.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/ProjectViewTest.java
index 033b959..30397fc 100644
--- a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/ProjectViewTest.java
+++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/ProjectViewTest.java
@@ -428,6 +428,8 @@
     }
     
     private TreeItem findChild(TreeItem parent, String childLabel) throws Exception {
+        TreeNodeRegistry reg = serverLookup.lookup(TreeNodeRegistry.class);
+        reg.findNode(parent.id).getChildren().getNodes(true);
         for (TreeItem candidate : getChildren(parent)) {
             if (childLabel.equals(candidate.label)) {
                 return candidate;
@@ -576,6 +578,8 @@
         
         TreeItem found = findChild(testRoot, "gradle");
         assertNotNull("Test package exists", found);
+        TreeNodeRegistry reg = serverLookup.lookup(TreeNodeRegistry.class);
+        reg.findNode(found.id).getChildren().getNodes(true);
         int[] childIds = server.getTreeViewService().getChildren(new NodeOperationParams(found.id)).get();
         assertEquals("Test package node is not empty", 1, childIds.length);
         
diff --git a/java/java.lsp.server/vscode/package.json b/java/java.lsp.server/vscode/package.json
index ceaa921..76d1199 100644
--- a/java/java.lsp.server/vscode/package.json
+++ b/java/java.lsp.server/vscode/package.json
@@ -1013,6 +1013,10 @@
 				"codeicon": "open-preview"
 			},
 			{
+				"uriExpression": "nbres:/org/openide/nodes/wait.gif",
+				"codeicon": "watch"
+			},
+			{
 				"uriExpression": "nbres:/org/netbeans/modules/cloud/oracle/resources/yellow_dot.svg",
 				"codeicon": "circle-large-outline",
 				"color": "charts.yellow"
diff --git a/java/java.platform.ui/src/org/netbeans/spi/java/platform/CustomPlatformInstall.java b/java/java.platform.ui/src/org/netbeans/spi/java/platform/CustomPlatformInstall.java
index ae4aecd..09730ab 100644
--- a/java/java.platform.ui/src/org/netbeans/spi/java/platform/CustomPlatformInstall.java
+++ b/java/java.platform.ui/src/org/netbeans/spi/java/platform/CustomPlatformInstall.java
@@ -24,7 +24,7 @@
 
 /**
  * Defines an API for registering custom Java platform installer. The installer
- * is responsible for instantiation of {@link JavaPlatform} through the provided
+ * is responsible for instantiation of {@link org.netbeans.api.java.platform.JavaPlatform} through the provided
  * TemplateWizard.Iterator. If your installer selects the platform on the local disk you
  * probably don't want to use this class, the {@link PlatformInstall} class
  * creates an platform chooser for you. You want to use this class if the
@@ -38,7 +38,7 @@
 public abstract class CustomPlatformInstall extends GeneralPlatformInstall {
     
     /**
-     * Returns the {@link WizardDescriptor#InstantiatingIterator} used to install
+     * Returns the {@link WizardDescriptor.InstantiatingIterator} used to install
      * the platform. The platform definition file returned by the instantiate method
      * should be created in the Services/Platforms/org-netbeans-api-java-Platform
      * folder on the system filesystem.
diff --git a/java/java.project.ui/src/org/netbeans/api/java/project/runner/JavaRunner.java b/java/java.project.ui/src/org/netbeans/api/java/project/runner/JavaRunner.java
index a83d09d..1f92f1d 100644
--- a/java/java.project.ui/src/org/netbeans/api/java/project/runner/JavaRunner.java
+++ b/java/java.project.ui/src/org/netbeans/api/java/project/runner/JavaRunner.java
@@ -36,12 +36,13 @@
 /**
  * <p>Class that allows to execute given file(s). API clients can check whether given
  * command is support, by calling
- * {@link #isSupported(String)} and execute the command by calling
+ * {@link #isSupported(String, Map)} and execute the command by calling
  * {@link #execute(String, Map)}. Please consult documentation of particular
  * commands for the list of supported properties.</p>
  *
  * The following "standard" properties are supported by most commands (unless stated otherwise):
  * <table>
+ * <caption>properties list</caption>
  * <tr><td>{@link #PROP_EXECUTE_FILE}      </td> <td>file to be executed (optional)</td> <td>{@link String} (absolute path) or {@link FileObject}</td></tr>
  * <tr><td>{@link #PROP_WORK_DIR}          </td> <td> working directory, project directory of execute.file will be used if missing </td> <td> {@link String} or {@link FileObject} or {@link java.io.File}</td></tr>
  * <tr><td>{@link #PROP_CLASSNAME}         </td> <td> class to execute, will be autodetected from execute.file if missing </td> <td> {@link String}</td></tr>
@@ -190,7 +191,7 @@
     public static final String PROP_WORK_DIR = "work.dir";
 
     /** JVM arguments to be used for the execution. Should be an {@link Iterable} of {@link String}s.
-     * <p>Arguments may also be contributed by {@link org.netbeans.api.extexecution.startup.StartupExtender}s;
+     * <p>Arguments may also be contributed by <a href="@org-netbeans-modules-extexecution@/org/netbeans/api/extexecution/startup/StartupExtender.html" >StartupExtender</a>s;
      * the {@link JavaPlatform} (see {@link #PROP_PLATFORM}) will be in the context,
      * as will a {@link Project} if available from {@link #PROP_EXECUTE_FILE} or {@link #PROP_WORK_DIR}.
      * @since 1.22
@@ -259,7 +260,7 @@
      * Check whether the given command is supported.
      *
      * @param command command name
-     * @param toRun either the file that would be executed, or the project folder
+     * @param properties properties
      * @return true if and only if the given command is supported for given file/folder
      *
      * @since 1.22
@@ -282,8 +283,7 @@
      * of the given command for supported properties.
      *
      * @param command command to execute
-     * @param props properties
-     * @param toRun file to run
+     * @param properties properties
      * @throws java.io.IOException if execution fails
      * @throws java.lang.UnsupportedOperationException if the given command is not supported
      *
diff --git a/java/java.project.ui/src/org/netbeans/spi/java/project/runner/JavaRunnerImplementation.java b/java/java.project.ui/src/org/netbeans/spi/java/project/runner/JavaRunnerImplementation.java
index 323514d..20b6e9b 100644
--- a/java/java.project.ui/src/org/netbeans/spi/java/project/runner/JavaRunnerImplementation.java
+++ b/java/java.project.ui/src/org/netbeans/spi/java/project/runner/JavaRunnerImplementation.java
@@ -40,7 +40,7 @@
      * Implementation of {@link JavaRunner#isSupported(java.lang.String, java.util.Map)}.
      * 
      * @param command command name
-     * @param toRun either the file that would be executed, or the project folder
+     * @param properties properties
      * @return true if and only if the given command is supported for given file/folder
      *
      * @since 1.22
@@ -51,8 +51,7 @@
      * Implementation of {@link JavaRunner#execute(java.lang.String, java.util.Map)}.
      *
      * @param command command to execute
-     * @param props properties
-     * @param toRun file to run
+     * @param properties properties
      * @throws java.io.IOException if execution fails
      *
      * @since 1.22
diff --git a/java/java.project.ui/src/org/netbeans/spi/java/project/support/ui/BrokenReferencesSupport.java b/java/java.project.ui/src/org/netbeans/spi/java/project/support/ui/BrokenReferencesSupport.java
index 16302bf..85b1494 100644
--- a/java/java.project.ui/src/org/netbeans/spi/java/project/support/ui/BrokenReferencesSupport.java
+++ b/java/java.project.ui/src/org/netbeans/spi/java/project/support/ui/BrokenReferencesSupport.java
@@ -390,7 +390,7 @@
     }
         
     /**
-     * Service which may be {@linkplain ServiceProvider registered} to download remote libraries or otherwise define them.
+     * Service which may be {@linkplain org.openide.util.lookup.ServiceProvider registered} to download remote libraries or otherwise define them.
      * @since org.netbeans.modules.java.project/1 1.35
      */
     public interface LibraryDefiner {
diff --git a/java/java.project.ui/src/org/netbeans/spi/java/project/support/ui/IncludeExcludeVisualizer.java b/java/java.project.ui/src/org/netbeans/spi/java/project/support/ui/IncludeExcludeVisualizer.java
index f70b630..b143af6 100644
--- a/java/java.project.ui/src/org/netbeans/spi/java/project/support/ui/IncludeExcludeVisualizer.java
+++ b/java/java.project.ui/src/org/netbeans/spi/java/project/support/ui/IncludeExcludeVisualizer.java
@@ -61,7 +61,7 @@
     /**
      * Create a new visualizer.
      * Initially has no roots and includes anything (equivalent to
-     * an include pattern of <samp>**</samp> and an empty exclude pattern).
+     * an include pattern of <code>**</code> and an empty exclude pattern).
      */
     public IncludeExcludeVisualizer() {}
 
diff --git a/java/java.project/src/org/netbeans/spi/java/project/classpath/ProjectModulesModifier.java b/java/java.project/src/org/netbeans/spi/java/project/classpath/ProjectModulesModifier.java
index d41a208..34cfa69 100644
--- a/java/java.project/src/org/netbeans/spi/java/project/classpath/ProjectModulesModifier.java
+++ b/java/java.project/src/org/netbeans/spi/java/project/classpath/ProjectModulesModifier.java
@@ -32,10 +32,10 @@
  * it is not sufficient just to add artifacts on classpath - modular projects cannot access unnamed module,
  * so the project would not see such classes/resources during compilation. Even if added to the module path,
  * a directive needs to be added so that compiler and runtime honour the dependency.
- * <p/>
+ * <p>
  * This SPI allows the project implementation for modular project to diverge additions to a more suitable classpath,
  * and to update the module information.
- * <p/>
+ * <p>
  * Project-specific implementation should be placed in <b>project lookup</b>. If not present, default implementation
  * will handle the requests, so that artifacts, libraries and projects will land on {@link JavaClassPathConstants#MODULE_COMPILE_PATH}
  * or {@link JavaClassPathConstants#MODULE_EXECUTE_PATH} respectively. The default implementation does nothing for projects (sources), which do
@@ -52,7 +52,7 @@
      * diverge the request to some other classpath type.
      * If the project is not modular, or modular project can use artifacts from the original classpath
      * type, the value of {@code null} should be returned. If {@code null} is returned,
-     * the {@link #addRequiredModules} or {@link #removeRequiredModuels} should not be called.
+     * the {@link #addRequiredModules} or {@link #removeRequiredModules} should not be called.
      * 
      * @param classPathType original classpath type
      * @param projectArtifact source, directory which will determine the proper {@code module-info.java}
diff --git a/java/java.project/src/org/netbeans/spi/java/project/support/JavadocAndSourceRootDetection.java b/java/java.project/src/org/netbeans/spi/java/project/support/JavadocAndSourceRootDetection.java
index cdd1e85..abe0c9f 100644
--- a/java/java.project/src/org/netbeans/spi/java/project/support/JavadocAndSourceRootDetection.java
+++ b/java/java.project/src/org/netbeans/spi/java/project/support/JavadocAndSourceRootDetection.java
@@ -65,7 +65,7 @@
     /**
      * Finds Javadoc root inside of given folder.
      *
-     * @param fo base folder to start search in; routine will traverse 5 folders
+     * @param baseFolder base folder to start search in; routine will traverse 5 folders
      *  deep before giving up; cannot be null; must be folder
      * @return found Javadoc root or null if none found
      */
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/ClassIndex.java b/java/java.source.base/src/org/netbeans/api/java/source/ClassIndex.java
index 8b8cb47..8496723 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/ClassIndex.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/ClassIndex.java
@@ -329,8 +329,8 @@
     /**
      * Returns a set of {@link ElementHandle}s containing reference(s) to given type element.
      * @param element the {@link ElementHandle} of a {@link TypeElement} for which usages should be found
-     * @param searchKind type of reference, {@see SearchKind}
-     * @param scope to search in {@see SearchScope}
+     * @param searchKind type of reference, {@link SearchKind}
+     * @param scope to search in {@link SearchScope}
      * @return set of {@link ElementHandle}s containing the reference(s)
      * It may return null when the caller is a CancellableTask&lt;CompilationInfo&gt; and is cancelled
      * inside call of this method.
@@ -355,8 +355,8 @@
     /**
      * Returns a set of {@link ElementHandle}s containing reference(s) to given package element.
      * @param element the {@link ElementHandle} of a {@link PackageElement} for which usages should be found
-     * @param searchKind type of reference, {@see SearchKind}
-     * @param scope to search in {@see SearchScope}
+     * @param searchKind type of reference, {@link SearchKind}
+     * @param scope to search in {@link SearchScope}
      * @return set of {@link ElementHandle}s containing the reference(s)
      * It may return null when the caller is a CancellableTask&lt;CompilationInfo&gt; and is cancelled
      * inside call of this method.
@@ -382,8 +382,8 @@
     /**
      * Returns a set of source files containing reference(s) to given type element.
      * @param element the {@link ElementHandle} of a {@link TypeElement} for which usages should be found
-     * @param searchKind type of reference, {@see SearchKind}
-     * @param scope to search in {@see SearchScope}
+     * @param searchKind type of reference, {@link SearchKind}
+     * @param scope to search in {@link SearchScope}
      * @return set of {@link FileObject}s containing the reference(s)
      * It may return null when the caller is a CancellableTask&lt;CompilationInfo&gt; and is cancelled
      * inside call of this method.
@@ -408,9 +408,9 @@
     /**
      * Returns a set of source or binary files containing reference(s) to given type element.
      * @param element the {@link ElementHandle} of a {@link TypeElement} for which usages should be found
-     * @param searchKind type of reference, {@see SearchKind}
-     * @param scope to search in {@see SearchScope}
-     * @param resourceType to return resource in, {@see ResourceType}. The {@link ResourceType#BINARY}
+     * @param searchKind type of reference, {@link SearchKind}
+     * @param scope to search in {@link SearchScope}
+     * @param resourceType to return resource in, {@link ResourceType}. The {@link ResourceType#BINARY}
      * produces no result for source roots. For binary roots it does not do SourceForBinaryQuery translation and
      * returns class files. The {@link ResourceType#SOURCE} for binary roots does SourceForBinaryQuery translation
      * and returns corresponding java files or no result when there is no SourceForBinaryQuery configured for given binary root.
@@ -454,8 +454,8 @@
     /**
      * Returns a set of source files containing reference(s) to given package element.
      * @param element the {@link ElementHandle} of a {@link PackageElement} for which usages should be found
-     * @param searchKind type of reference, {@see SearchKind}
-     * @param scope to search in {@see SearchScope}
+     * @param searchKind type of reference, {@link SearchKind}
+     * @param scope to search in {@link SearchScope}
      * @return set of {@link FileObject}s containing the reference(s)
      * It may return null when the caller is a CancellableTask&lt;CompilationInfo&gt; and is cancelled
      * inside call of this method.
@@ -518,8 +518,8 @@
      * Returns {@link ElementHandle}s for all declared types in given classpath corresponding to the name.
      * @param name case sensitive prefix, case insensitive prefix, exact simple name,
      * camel case or regular expression depending on the kind parameter.
-     * @param kind of the name {@see NameKind}
-     * @param scope to search in {@see SearchScope}
+     * @param kind of the name {@link NameKind}
+     * @param scope to search in {@link SearchScope}
      * @return set of all matched declared types
      * It may return null when the caller is a CancellableTask&lt;CompilationInfo&gt; and is cancelled
      * inside call of this method.
@@ -535,8 +535,8 @@
      * Returns {@link ElementHandle}s for all declared modules in given classpath corresponding to the name.
      * @param name case sensitive prefix, case insensitive prefix, exact simple name,
      * camel case or regular expression depending on the kind parameter.
-     * @param kind of the name {@see NameKind}
-     * @param scope to search in {@see SearchScope}
+     * @param kind of the name {@link NameKind}
+     * @param scope to search in {@link SearchScope}
      * @return set of all matched modules
      * It may return null when the caller is a CancellableTask&lt;CompilationInfo&gt; and is cancelled
      * inside call of this method.
@@ -592,8 +592,8 @@
      * Returns descriptions of symbols found on the given classpath and matching the additional criteria.
      * @param name case sensitive prefix, case insensitive prefix, exact simple name,
      * camel case or regular expression depending on the kind parameter.
-     * @param kind of the name {@see NameKind}
-     * @param scope to search in {@see SearchScope}
+     * @param kind of the name {@link NameKind}
+     * @param scope to search in {@link SearchScope}
      * @return iterable of {@link Symbols} describing found symbols matching the specified criteria.
      * It may return null when the caller is a CancellableTask&lt;CompilationInfo&gt; and is cancelled
      * inside call of this method.
@@ -675,7 +675,7 @@
      * @param prefix of the package name
      * @param directOnly if true treats the packages as folders and returns only
      * the nearest component of the package.
-     * @param scope to search in {@see SearchScope}
+     * @param scope to search in {@link SearchScope}
      * @return set of all matched package names
      * It may return null when the caller is a CancellableTask&lt;CompilationInfo&gt; and is cancelled
      * inside call of this method.
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/ClassIndexListener.java b/java/java.source.base/src/org/netbeans/api/java/source/ClassIndexListener.java
index 44340a6..0cf0673 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/ClassIndexListener.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/ClassIndexListener.java
@@ -24,7 +24,7 @@
 /**
  * Listener for changes in {@link ClassIndex}.
 * <P>
-* When attached to a {ClassIndex} it listens for addition,
+* When attached to a {@link ClassIndex} it listens for addition,
 * removal and modification of declared types.
 * <P>
 *
@@ -55,7 +55,7 @@
     
     /**
      * Called when new roots are added
-     * into the {@link ClassPath} for which the {@link ClassIndex}
+     * into the {@link org.netbeans.api.java.classpath.ClassPath} for which the {@link ClassIndex}
      * was created.
      * @param event specifying the added roots
      */
@@ -63,7 +63,7 @@
     
     /**
      * Called when root are removed
-     * from the {@link ClassPath} for which the {@link ClassIndex}
+     * from the {@link org.netbeans.api.java.classpath.ClassPath} for which the {@link ClassIndex}
      * was created.
      * @param event specifying the removed roots
      */
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/ClasspathInfo.java b/java/java.source.base/src/org/netbeans/api/java/source/ClasspathInfo.java
index d73d5e3..eb21ff6 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/ClasspathInfo.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/ClasspathInfo.java
@@ -260,8 +260,8 @@
      * <div class="nonnormative">
      * <p>
      * It uses the {@link Document#StreamDescriptionProperty} to obtain the
-     * {@link DataObject} for the {@link Document} and creates a {@link ClasspathInfo}
-     * for the primary file of the {@link DataObject}
+     * <a href="@org-openide-loaders@/org/openide/loaders/DataObject.html">DataObject</a> for the {@link Document} and creates a {@link ClasspathInfo}
+     * for the primary file of the <a href="@org-openide-loaders@/org/openide/loaders/DataObject.html">DataObject</a>
      * </p>
      * </div>
      * @param doc a document for which the {@link ClasspathInfo} should be created
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java b/java/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java
index 816819c..ef44b11 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java
@@ -258,7 +258,7 @@
      * Determines whether the dependencies between members must be used when sorting.
      * It returns true only if some sorting option is available (default: off) and the dependency
      * inspection is enabled (default: true).
-     * <p/>
+     * <p>
      * Changing member order without looking for dependencies may result in incorrect code. A field
      * must be declared textually first, and only then it can be referenced by simple name from field
      * initializers and class/instance initializers - see defect #249199.
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/CodeStyleUtils.java b/java/java.source.base/src/org/netbeans/api/java/source/CodeStyleUtils.java
index 58e8839..d3a66b0 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/CodeStyleUtils.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/CodeStyleUtils.java
@@ -25,7 +25,7 @@
 
 /**
  *
- * @author Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
+ * @author Ralph Benjamin Ruijs &lt;ralphbenjamin@netbeans.org&gt;
  * @since 0.123
  */
 public final class CodeStyleUtils {
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/Comment.java b/java/java.source.base/src/org/netbeans/api/java/source/Comment.java
index b21b51f..d1f4230 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/Comment.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/Comment.java
@@ -87,7 +87,6 @@
     /**
      * Define a comment, using specified style.
      * @param style the style of comment
-     * @param indent indentation of comment
      * @param text textual content of comment. With or without proper escaping
      * @return new comment
      */
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/CompilationController.java b/java/java.source.base/src/org/netbeans/api/java/source/CompilationController.java
index bbf33b1..9920222 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/CompilationController.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/CompilationController.java
@@ -51,7 +51,7 @@
 
     /**
      * Returns an instance of the {@link CompilationController} for
-     * given {@link Parser.Result} if it is a result
+     * given {@link org.netbeans.modules.parsing.spi.Parser.Result} if it is a result
      * of a java parser.
      * @param result for which the {@link CompilationController} should be
      * returned.
@@ -74,10 +74,12 @@
     /** Moves the state to required phase. If given state was already reached 
      * the state is not changed. The method will throw exception if a state is 
      * illegal required. Acceptable parameters for thid method are <BR>
-     * <LI>{@link org.netbeans.api.java.source.JavaSource.Phase.PARSED}
-     * <LI>{@link org.netbeans.api.java.source.JavaSource.Phase.ELEMENTS_RESOLVED}
-     * <LI>{@link org.netbeans.api.java.source.JavaSource.Phase.RESOLVED}
-     * <LI>{@link org.netbeans.api.java.source.JavaSource.Phase.UP_TO_DATE}   
+     * <UL>
+     * <LI>{@link org.netbeans.api.java.source.JavaSource.Phase#PARSED}
+     * <LI>{@link org.netbeans.api.java.source.JavaSource.Phase#ELEMENTS_RESOLVED}
+     * <LI>{@link org.netbeans.api.java.source.JavaSource.Phase#RESOLVED}
+     * <LI>{@link org.netbeans.api.java.source.JavaSource.Phase#UP_TO_DATE}   
+     * </UL>
      * @param phase The required phase
      * @return the reached state
      * @throws IllegalArgumentException in case that given state can not be 
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/CompilationInfo.java b/java/java.source.base/src/org/netbeans/api/java/source/CompilationInfo.java
index 2d58807..961f3bf 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/CompilationInfo.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/CompilationInfo.java
@@ -98,7 +98,7 @@
 
     /**
      * Returns an instance of the {@link CompilationInfo} for
-     * given {@link Parser.Result} if it is a result
+     * given {@link org.netbeans.modules.parsing.spi.Parser.Result} if it is a result
      * of a java parser.
      * @param result for which the {@link CompilationInfo} should be
      * returned.
@@ -206,9 +206,9 @@
     
     /**
      * Returns all top level elements defined in file for which the {@link CompilationInfo}
-     * was created. The {@link CompilationInfo} has to be in phase {@link JavaSource#Phase#ELEMENTS_RESOLVED}.
+     * was created. The {@link CompilationInfo} has to be in phase {@link JavaSource.Phase#ELEMENTS_RESOLVED}.
      * @return list of top level elements, it may return null when this {@link CompilationInfo} is not
-     * in phase {@link JavaSource#Phase#ELEMENTS_RESOLVED} or higher.
+     * in phase {@link JavaSource.Phase#ELEMENTS_RESOLVED} or higher.
      * @throws IllegalStateException is thrown when the {@link JavaSource} was created with no files
      * @since 0.14
      */
@@ -363,8 +363,8 @@
             
     /**
      * Returns {@link Document} of this {@link CompilationInfoImpl}
-     * @return Document or null when the {@link DataObject} doesn't
-     * exist or has no {@link EditorCookie}.
+     * @return Document or null when the <a href="@org-openide-loaders@/org/openide/loaders/DataObject.html">DataObject</a> doesn't
+     * exist or has no <a href="@org-openide-text@/org/openide/cookies/EditorCookie.html">EditorCookie</a>.
      * @throws java.io.IOException
      */
     public @CheckForNull Document getDocument() throws IOException { //XXX cleanup: IOException is no longer required? Used by PositionEstimator, DiffFacility
@@ -431,7 +431,7 @@
         return impl.getCachedValue(key);
     }
 
-    /**Put a value into a cache under the given key. The {@link #clearPolicy} parameter specifies the latest time the
+    /**Put a value into a cache under the given key. The {@code clearPolicy} parameter specifies the latest time the
      * references to the key and value should be cleared. The infrastructure is free to clear the references at any earlier time.
      * The clients should not depend on this cache for correctness, only to improve performance.
      *
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/DocTreePathHandle.java b/java/java.source.base/src/org/netbeans/api/java/source/DocTreePathHandle.java
index fbab7ee..9bd36e8 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/DocTreePathHandle.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/DocTreePathHandle.java
@@ -47,7 +47,7 @@
 /**
  * Represents a handle for {@link TreePath} which can be kept and later resolved
  * by another javac. The Javac {@link Element}s are valid only in the single
- * {@link javax.tools.CompilationTask} or single run of the
+ * {@link javax.tools.JavaCompiler.CompilationTask} or single run of the
  * {@link org.netbeans.api.java.source.CancellableTask}. If the client needs to
  * keep a reference to the {@link TreePath} and use it in the other
  * CancellableTask he has to serialize it into the {@link TreePathHandle}.
@@ -55,7 +55,7 @@
  * <p>
  * Typical usage of TreePathHandle enclElIsCorrespondingEl:
  * </p>
- * <pre>
+ * <pre>{@code
  * final TreePathHandle[] tpHandle = new TreePathHandle[1];
  * javaSource.runCompileControlTask(new CancellableTask<CompilationController>() {
  *     public void run(CompilationController compilationController) {
@@ -73,7 +73,7 @@
  *         ....
  *    }
  * },priority);
- * </pre>
+ * }</pre>
  * </div>
  *
  *
@@ -97,10 +97,10 @@
      * Resolves an {@link DocTreePath} from the {@link DocTreePathHandle}.
      *
      * @param compilationInfo representing the
-     * {@link javax.tools.CompilationTask}
+     * {@link javax.tools.JavaCompiler.CompilationTask}
      * @return resolved subclass of {@link DocTreePath} or null if the doctree does
      * not exist on the classpath/sourcepath of
-     * {@link javax.tools.CompilationTask}.
+     * {@link javax.tools.JavaCompiler.CompilationTask}.
      * @throws IllegalArgumentException when this {@link DocTreePathHandle} is not
      * created for a source represented by the compilationInfo.
      */
@@ -140,10 +140,10 @@
     }
 
     /**
-     * Returns the {@link DocTree.Kind} of this DocTreePathHandle, it returns the kind
-     * of the {@link DocTree} from which the handle was created.
+     * Returns the {@link com.sun.source.doctree.DocTree.Kind} of this DocTreePathHandle, it returns the kind
+     * of the {@link com.sun.source.doctree.DocTree} from which the handle was created.
      *
-     * @return {@link Tree.Kind}
+     * @return {@link com.sun.source.doctree.DocTree.Kind}
      */
     public DocTree.Kind getKind() {
         return this.delegate.getKind();
@@ -247,10 +247,10 @@
          * Resolves an {@link TreePath} from the {@link TreePathHandle}.
          *
          * @param javac representing the
-         * {@link javax.tools.CompilationTask}
+         * {@link javax.tools.JavaCompiler.CompilationTask}
          * @return resolved subclass of {@link Element} or null if the element
          * does not exist on the classpath/sourcepath of
-         * {@link javax.tools.CompilationTask}.
+         * {@link javax.tools.JavaCompiler.CompilationTask}.
          * @throws IllegalArgumentException when this {@link TreePathHandle} is
          * not created for a source represented by the compilationInfo.
          */
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/ElementHandle.java b/java/java.source.base/src/org/netbeans/api/java/source/ElementHandle.java
index 4aa850c..1a31fb4 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/ElementHandle.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/ElementHandle.java
@@ -53,7 +53,7 @@
 /**
  * Represents a handle for {@link Element} which can be kept and later resolved
  * by another javac. The javac {@link Element}s are valid only in a single
- * {@link javax.tools.CompilationTask} or a single run of a
+ * {@link javax.tools.JavaCompiler.CompilationTask} or a single run of a
  * {@link CancellableTask}. A client needing to
  * keep a reference to an {@link Element} and use it in another {@link CancellableTask}
  * must serialize it into an {@link ElementHandle}.
@@ -106,10 +106,10 @@
     
     /**
      * Resolves an {@link Element} from the {@link ElementHandle}.
-     * @param compilationInfo representing the {@link javax.tools.CompilationTask}
+     * @param compilationInfo representing the {@link javax.tools.JavaCompiler.CompilationTask}
      * in which the {@link Element} should be resolved.
      * @return resolved subclass of {@link Element} or null if the elment does not exist on
-     * the classpath/sourcepath of {@link javax.tools.CompilationTask}.
+     * the classpath/sourcepath of {@link javax.tools.JavaCompiler.CompilationTask}.
      */
     @SuppressWarnings ("unchecked")     // NOI18N
     public @CheckForNull T resolve (@NonNull final CompilationInfo compilationInfo) {
@@ -331,7 +331,7 @@
      * {@link ElementHandle}. When the {@link ElementHandle} doesn't represent
      * a {@link TypeElement} it throws a {@link IllegalStateException}
      * @return the qualified name
-     * @throws an {@link IllegalStateException} when this {@link ElementHandle} 
+     * @throws IllegalStateException when this {@link ElementHandle} 
      * isn't created for the {@link TypeElement}.
      */
     public @NonNull String getBinaryName () throws IllegalStateException {
@@ -352,7 +352,7 @@
      * {@link ElementHandle}. When the {@link ElementHandle} doesn't represent
      * a {@link TypeElement} it throws a {@link IllegalStateException}
      * @return the qualified name
-     * @throws an {@link IllegalStateException} when this {@link ElementHandle} 
+     * @throws IllegalStateException when this {@link ElementHandle} 
      * isn't creatred for the {@link TypeElement}.
      */
     public @NonNull String getQualifiedName () throws IllegalStateException {
@@ -557,7 +557,7 @@
     }
     
     
-    /**@inheritDoc*/
+    /**{@inheritDoc}*/
     @Override
     public int hashCode () {
         int hashCode = 0;
@@ -569,7 +569,7 @@
         return hashCode;
     }
     
-    /**@inheritDoc*/
+    /**{@inheritDoc}*/
     @Override
     public boolean equals (Object other) {
         if (other instanceof ElementHandle) {
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/ElementUtilities.java b/java/java.source.base/src/org/netbeans/api/java/source/ElementUtilities.java
index bc70661..52cb14b 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/ElementUtilities.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/ElementUtilities.java
@@ -289,11 +289,11 @@
      * 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/>
+     * <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/>
+     * <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.
      * 
@@ -677,7 +677,7 @@
     /**
      * Finds all unimplemented methods in the given type and supertypes, but possibly include
      * also interface default methods.
-     * <p/>
+     * <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
@@ -819,7 +819,7 @@
      *         See method format for more details on parameter types.</dd>
      * </dl>
      * 
-     * @param elementDescription the description of the element that should be checked for existence
+     * @param description the description of the element that should be checked for existence
      * @return the found element, or null if not available
      * @since 0.115
      */
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java b/java/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java
index b230e37..9ad8712 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/GeneratorUtilities.java
@@ -186,7 +186,7 @@
 
     /**
      * 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}
+     * 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
@@ -316,7 +316,7 @@
 
     /**
      * 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}
+     * 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
@@ -377,7 +377,7 @@
     
     /**
      * 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}
+     * 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
@@ -495,7 +495,7 @@
      * if 'collectNames' is set, it collects field names from the class definition. If
      * 'insertedName' is not null, it also collects references to that name in 
      * 'revDependencies'.
-     * <p/>
+     * <p>
      * For the secondPass, set 'collectNames' to false: the visitor will collect
      * dependencies of the scanned node into 'dependencies'. After 2 passes,
      * the revDependencies and dependencies can be used to determine partial order
@@ -664,7 +664,7 @@
     
     /**
      * 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}
+     * 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
@@ -751,7 +751,7 @@
         return createMethod(method, clazz, false);
     }
 
-    /**Create a new method tree for the given method element. The method will be created as if it were member of {@link asMemberOf} type
+    /**Create a new method tree for the given method element. The method will be created as if it were member of {@code asMemberOf} type
      * (see also {@link Types#asMemberOf(javax.lang.model.type.DeclaredType,javax.lang.model.element.Element)}).
      * The new method will have an empty body.
      *
@@ -1517,7 +1517,8 @@
      * converted from a single value into an array.
      *
      * The typical trees passed as {@code attributeValuesToAdd} are:
-     * <table border="1">
+     * <table>
+     * <caption>Typical tree</caption>
      *     <tr>
      *         <th>attribute type</th>
      *         <th>expected tree type</th>
@@ -1570,7 +1571,8 @@
      * {@link CompilationUnitTree} from {@code package-info.java}.
      *
      * The typical trees passed as {@code attributeValuesToAdd} are:
-     * <table border="1">
+     * <table>
+     * <caption>Typical tree</caption>
      *     <tr>
      *         <th>attribute type</th>
      *         <th>expected tree type</th>
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/JavaSource.java b/java/java.source.base/src/org/netbeans/api/java/source/JavaSource.java
index 43b3b32..2adfab8 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/JavaSource.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/JavaSource.java
@@ -325,7 +325,7 @@
     }
 
     /**
-     * Returns a {@link JavaSource} instance associated to the given {@link javax.swing.Document},
+     * Returns a {@link JavaSource} instance associated to the given {@link Document},
      * it returns null if the {@link Document} is not
      * associated with data type providing the {@link JavaSource}.
      * @param doc {@link Document} for which the {@link JavaSource} should be found/created.
@@ -410,7 +410,7 @@
      * this task does not finish.<BR>
      * @see org.netbeans.api.java.source.CancellableTask for information about implementation requirements
      * @param task The task which.
-     * @param shared if true the java compiler may be reused by other {@link org.netbeans.api.java.source.CancellableTasks},
+     * @param shared if true the java compiler may be reused by other {@link org.netbeans.api.java.source.CancellableTask}s,
      * the value false may have negative impact on the IDE performance.
      * <div class="nonnormative">
      * <p>
@@ -595,11 +595,11 @@
      * the given task and returns, the task is performed when the background scan completes by
      * the thread doing the background scan.
      * @param task to be performed
-     * @param shared if true the java compiler may be reused by other {@link org.netbeans.api.java.source.CancellableTasks},
+     * @param shared if true the java compiler may be reused by other {@link org.netbeans.api.java.source.CancellableTask}s,
      * the value false may have negative impact on the IDE performance.
      * @return {@link Future} which can be used to find out the sate of the task {@link Future#isDone} or {@link Future#isCancelled}.
      * The caller may cancel the task using {@link Future#cancel} or wait until the task is performed {@link Future#get}.
-     * @throws IOException encapsulating the exception thrown by {@link CancellableTasks#run}
+     * @throws IOException encapsulating the exception thrown by {@link CancellableTask#run}
      * @since 0.12
      */
     public @NonNull Future<Void> runWhenScanFinished (final @NonNull Task<CompilationController> task, final boolean shared) throws IOException {
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/JavaSourceTaskFactory.java b/java/java.source.base/src/org/netbeans/api/java/source/JavaSourceTaskFactory.java
index 4904293..75141df 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/JavaSourceTaskFactory.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/JavaSourceTaskFactory.java
@@ -43,9 +43,9 @@
  *
  * This factory should be registered in the global lookup using {@link org.openide.util.lookup.ServiceProvider}.
  * 
- * @see EditorAwareJavaSourceTaskFactory
- * @see CaretAwareJavaSourceTaskFactory
- * @see LookupBasedJavaSourceTaskFactory
+ * @see <a href="@org-netbeans-modules-java-source@/org/netbeans/api/java/source/support/EditorAwareJavaSourceTaskFactory.html">EditorAwareJavaSourceTaskFactory</a>
+ * @see <a href="@org-netbeans-modules-java-source@/org/netbeans/api/java/source/support/CaretAwareJavaSourceTaskFactory.html">CaretAwareJavaSourceTaskFactory</a>
+ * @see <a href="@org-netbeans-modules-java-source@/org/netbeans/api/java/source/support/LookupBasedJavaSourceTaskFactory.html">LookupBasedJavaSourceTaskFactory</a>
  *
  * @author Jan Lahoda
  */
@@ -97,7 +97,7 @@
     }
 
     /**Create task for a given file. This task will be registered into the {@link JavaSource}
-     * parsing harness with a given {@link #getPriority priority} and {@link #getPhase phase}.
+     * parsing harness with a given {@link Priority priority} and {@link Phase phase}.
      *
      * Please note that this method should run as quickly as possible.
      *
@@ -112,14 +112,14 @@
      * of this factory.
      *
      * If this list changes, a change event should be fired to all registered
-     * {@link ChangeListener}s.
+     * {@link javax.swing.event.ChangeListener}s.
      *
      * @return list of {@link FileObject} on which tasks from this factory should be
      * registered.
      * @see #createTask
-     * @see #addChangeListener
-     * @see EditorAwareJavaSourceTaskFactory
-     * @see CaretAwareJavaSourceTaskFactory
+     * {@code addChangeListener}
+     * @see <a href="@org-netbeans-modules-java-source@/org/netbeans/api/java/source/support/EditorAwareJavaSourceTaskFactory.html">EditorAwareJavaSourceTaskFactory</a>
+     * @see <a href="@org-netbeans-modules-java-source@/org/netbeans/api/java/source/support/CaretAwareJavaSourceTaskFactory.html">CaretAwareJavaSourceTaskFactory</a>
      */
     protected abstract @NonNull Collection<FileObject> getFileObjects();
 
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/ModificationResult.java b/java/java.source.base/src/org/netbeans/api/java/source/ModificationResult.java
index beda9b8..99ee64b 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/ModificationResult.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/ModificationResult.java
@@ -440,7 +440,7 @@
      * Returned string represents preview of resulting source. No difference
      * really is applied. Respects {@code isExcluded()} flag of difference.
      * 
-     * @param   there can be more resulting source, user has to specify
+     * @param fileObject there can be more resulting source, user has to specify
      *          which wants to preview.
      * @return  if changes are applied source looks like return string
      * @throws  IllegalArgumentException if the provided {@link FileObject} is not
@@ -556,7 +556,7 @@
          * Gets flag if it is possible to write to guarded sections.
          * @return {@code true} in case the difference may be written even into
          *          guarded sections.
-         * @see #guards(boolean)
+         * @see #setCommitToGuards(boolean)
          * @since 0.33
          */
         public boolean isCommitToGuards() {
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/ScanUtils.java b/java/java.source.base/src/org/netbeans/api/java/source/ScanUtils.java
index 253d0b6..da815f1 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/ScanUtils.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/ScanUtils.java
@@ -43,7 +43,7 @@
  * There are two variants of {@link JavaSource#runUserActionTask}, which support <b>abort and restart</b> of the user task,
  * if the task indicates incomplete data and the scanning is in progress. The restart is done in a hope that, after scanning
  * completes, the missing types or elements will appear.
- * <p/>
+ * <p>
  * The user task may use other provided wrapper methods to:
  * <ul>
  * <li>{@link #checkElement} to assert element's presence and validity
@@ -51,9 +51,9 @@
  * </ul>
  * Note that even though the user task run when all the parsing/scanning is over, there's no guarantee that data obtained from
  * the parser structures will be complete and valid - the source code may be really broken, dependency could be missing etc.
- * <p/>
+ * <p>
  * An example pattern how to use this class is:
- * <code><pre>
+ * <pre>{@code
  * final TreePath tp = ... ; // obtain a tree path
  * ScanUtils.waitUserActionTask(new Task&lt;{@link CompilationController}>() {
  *      public void run(CompilationController ctrl) {
@@ -67,7 +67,7 @@
  *          }
  *      }
  * };
- * </pre></code>
+ * }</pre>
  *
  * @author Svata Dedic
  * @since 0.95
@@ -79,7 +79,7 @@
      * Runs the user task through {@link JavaSource#runUserActionTask}, and returns Future completion handle for it. 
      * The executed Task may indicate that it does not have enough data when scan is in progress, through e.g. {@link #checkElement}.
      * If so, processing of the Task will abort, and will be restarted when the scan finishes.
-     * <p/>
+     * <p>
      * For more details, see description of {@link #postUserTask(org.netbeans.modules.parsing.api.Source, org.netbeans.modules.parsing.api.UserTask) }.
      *
      * @param src JavaSource to process
@@ -108,12 +108,12 @@
      * Runs the user task, and returns Future completion handle for it. 
      * The executed Task may indicate that it does not have enough data when scan is in progress, through e.g. {@link #checkElement}.
      * If so, processing of the Task will abort, and will be restarted when the scan finishes.
-     * <p/>
+     * <p>
      * The task <b>may run asynchronously</b>, pay attention to synchronization of task's output
      * data. The first attempt to run the task MAY execute synchronously. Do not call the method from
      * Swing EDT, if the task typically takes non-trivial time to complete (see {@link JavaSource#runUserActionTask}
      * for discussion).
-     * <p/>
+     * <p>
      * As {@code postUserTask} may decide to defer the task execution, {@code postUserTask} cannot reliably report exceptions thrown
      * from the parsing infrastructure. The Task itself is responsible for handling exceptions and propagating them
      * to the caller, the {@code post} method will just log the exception.
@@ -143,10 +143,10 @@
      * The executed Task may indicate that it does not have enough data when scan is in progress, through e.g. {@link #checkElement}.
      * If so, processing of the Task will abort, and will be restarted when the scan finishes. The {@code waitUserActionTask} method
      * will wait until the rescheduled task completes.
-     * <p/>
+     * <p>
      * Unlike {@link #postUserActionTask}, this method propagates exceptiosn from the Task to the caller, even if the Task
      * is postponed and waited for.
-     * <p/>
+     * <p>
      * Calling this method from Swing ED thread is prohibited.
      *
      * @param src java source to process
@@ -198,17 +198,17 @@
      * The executed Task may indicate that it does not have enough data when scan is in progress, through e.g. {@link #checkElement}.
      * If so, processing of the Task will abort, and will be restarted when the scan finishes. The {@code waitUserTask} method
      * will wait until the rescheduled task completes.
-     * <p/>
+     * <p>
      * Unlike {@link #postUserTask}, this method propagates exceptiosn from the Task to the caller, even if the Task
      * is postponed and waited for.
-     * <p/>
+     * <p>
      * Calling this method from Swing ED thread is prohibited.
      *
      * @param src java source to process
-     * @param uat task to execute
+     * @param task task to execute
      * 
      * @throws ParseException in the case of a failure in the user task, or scheduling failure (propagated from {@link JavaSource#runUserActionTask},
-     * {@link ParserManager#parseWhenScanFinished(java.util.Collection, org.netbeans.modules.parsing.api.UserTask) 
+     * {@link ParserManager#parseWhenScanFinished(java.util.Collection, org.netbeans.modules.parsing.api.UserTask) }
      *
      * @see ParserManager#parse(java.util.Collection, org.netbeans.modules.parsing.api.UserTask) 
      * @see ParserManager#parseWhenScanFinished(java.util.Collection, org.netbeans.modules.parsing.api.UserTask) 
@@ -259,25 +259,25 @@
 
     /**
      * Checks that the Element is valid, is not erroneous. If the Element is {@code null} or erroneous and
-     * scanning is running, the method throws a {@link RetryWhenScanFinished} exception to
+     * scanning is running, the method throws a {@link ScanUtils.RetryWhenScanFinished} exception to
      * indicate that the action should be retried. The method should be only used in code, which
      * is directly or indirectly executed by {@link #waitUserActionTask}, otherwise {@link IllegalStateException}
      * will be thrown.
-     * <p/>
+     * <p>
      * If scan is not running, the method always returns the value of 'e' parameter.
-     * <p/>
+     * <p>
      * An example usage is as follows:
      * <code>
      * TreePath tp = ...;
      * Element e = checkElement(cu.getTrees().getElement(tp));
      * </code>
-     * <p/>
+     * <p>
      * <b>Note:</b> the method may be only called from within {@link #waitUserActionTask}, it aborts
      * the current processing under assumption the user task will be restarted. It is illegal to call the
      * method if not running as user task - IllegalStateException will be thrown.
      *
      * @param e the Element to check
-     * @param s the source of the Element
+     * @param info the source of the Element
      * @return the original Element, to support 'fluent' pattern
      *
      * @throws IllegalStateException if not called from within user task
@@ -305,8 +305,8 @@
     /**
      * Aborts the user task and calls it again when parsing finishes, if a typename is not available.
      *
-     * @param el the Element which causes the trouble
-     * @param s source of the Element
+     * @param ci the Element which causes the trouble
+     * @param handle of the Element
      * @throws IllegalStateException if not called from within {@link #waitUserActionTask} and the like
      *
      */
@@ -512,7 +512,7 @@
      * retried when parsing is finished. The exception derives from the {@link Error}
      * class to bypass ill-written code, which caught {@link RuntimeException} or
      * even {@link Exception}.
-     * <p/>
+     * <p>
      * The exception is interpreted by the Java Source infrastructure and is not
      * meant to be ever thrown or caught by regular application code. It's deliberately
      * package-private so users are not tempted to throw or catch it.
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java b/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java
index b2e713f..e58a6a2 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java
@@ -484,7 +484,7 @@
      * @return the defining {@link FileObject} or null if it cannot be
      * found
      *
-     * @deprecated use {@link getFile(ElementHandle, ClasspathInfo)}
+     * @deprecated use {@link #getFile(ElementHandle, ClasspathInfo)}
      */
     @Deprecated
     public static FileObject getFile (Element element, final ClasspathInfo cpInfo) {
@@ -1290,7 +1290,7 @@
     /**
      * Returns names of all modules within given scope.
      * @param info the CompilationInfo used to resolve modules
-     * @param scope to search in {@see SearchScope}
+     * @param scope to search in {@link ClassIndex.SearchScope}
      * @return set of module names
      * @since 2.23
      */
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/TreeMaker.java b/java/java.source.base/src/org/netbeans/api/java/source/TreeMaker.java
index c467a59..e45ae80 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/TreeMaker.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/TreeMaker.java
@@ -92,7 +92,7 @@
  * You can obtain appropriate instance of this class by getting it from working
  * copy:
  *
- * <pre>
+ * <pre>{@code
  * CancellableTask task = new CancellableTask<WorkingCopy>() {
  *
  *        public void run(WorkingCopy workingCopy) throws Exception {
@@ -101,9 +101,9 @@
  *        }
  *        ...
  *    }; 
- * </pre>
+ * }</pre>
  *
- * @see <a href="http://wiki.netbeans.org/wiki/view/JavaHT_Modification">How do I do modification to a source file?</a> 
+ * @see <a href="https://netbeans.apache.org/wiki/JavaHT_Modification">How do I do modification to a source file?</a>
  *
  * @author Tom Ball
  * @author Pavel Flaska
@@ -1134,7 +1134,7 @@
     /**
      * Creates a new TryTree.
      *
-     * @param resource     the resources of the try clause. The elements of the list
+     * @param resources     the resources of the try clause. The elements of the list
      *                     should either be {@link VariableTree}s or {@link ExpressionTree}s.
      * @param tryBlock     the statement block in the try clause.
      * @param catches      the list of catch clauses, or an empty list.
@@ -1257,8 +1257,6 @@
      * @param name name of the binding variable
      * @param type the type of the pattern
      * @return the newly created BindingPatternTree
-     * @throws NoSuchMethodException if the used javac does not support
-     *                               BindingPatternTree.
      */
     @Deprecated
     public Tree BindingPattern(CharSequence name,
@@ -1268,7 +1266,7 @@
     
       /**
      * Creates a new Tree for a given VariableTree
-     * @specication : 15.20.2
+     * specication : 15.20.2
      * @param vt the VariableTree of the pattern
      * @see com.sun.source.tree.BindingPatternTree
      * @return the newly created BindingPatternTree
@@ -1569,7 +1567,7 @@
      * </pre>
      *
      * You can get it e.g. with this code:
-     * <pre>
+     * <pre>{@code
      *   TreeMaker make = workingCopy.getTreeMaker();
      *   ClassTree node = ...;
      *   // create method modifiers
@@ -1596,7 +1594,7 @@
      *   );
      *   // rewrite the original class node with the new one containing newMethod
      *   workingCopy.rewrite(node, <b>make.addClassMember(node, newMethod)</b>);
-     * </pre>
+     * }</pre>
      *
      * @param   clazz    class tree containing members list.
      * @param   member   element to be appended to members list.
@@ -3305,7 +3303,7 @@
      * Marks a tree as a replacement of some old one. The hint may cause surrounding whitespace to be 
      * carried over to the new tree and comments to be attached to the same (similar) positions
      * as in the old tree. 
-     * <p/>
+     * <p>
      * If 'defaultOnly' is true, the hint is only added if no previous hint exists. You generally want
      * to force the hint, in code manipulation operations. Bulk tree transformers should preserve existing
      * hints - the {@link TreeUtilities#translate} preserves existing relationships.
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/TreePathHandle.java b/java/java.source.base/src/org/netbeans/api/java/source/TreePathHandle.java
index bd7b3e3..286427f 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/TreePathHandle.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/TreePathHandle.java
@@ -61,7 +61,7 @@
 /**                                                                                                                                                                                                                            
  * Represents a handle for {@link TreePath} which can be kept and later resolved                                                                                                                                               
  * by another javac. The Javac {@link Element}s are valid only in the single                                                                                                                                                   
- * {@link javax.tools.CompilationTask} or single run of the                                                                                                                                                                    
+ * {@link javax.tools.JavaCompiler.CompilationTask} or single run of the                                                                                                                                                                    
  * {@link org.netbeans.api.java.source.CancellableTask}. If the client needs to                                                                                                                                                
  * keep a reference to the {@link TreePath} and use it in the other CancellableTask                                                                                                                                            
  * he has to serialize it into the {@link TreePathHandle}.                                                                                                                                                                     
@@ -69,7 +69,7 @@
  * <p>                                                                                                                                                                                                                         
  * Typical usage of TreePathHandle enclElIsCorrespondingEl:                                                                                                                                                                    
  * </p>                                                                                                                                                                                                                        
- * <pre>                                                                                                                                                                                                                       
+ * <pre>{@code                                                                                                                                                                                                       
  * final TreePathHandle[] tpHandle = new TreePathHandle[1];                                                                                                                                                                    
  * javaSource.runCompileControlTask(new CancellableTask<CompilationController>() {                                                                                                                                             
  *     public void run(CompilationController compilationController) {                                                                                                                                                          
@@ -79,7 +79,7 @@
  *         treePathHandle[0] = TreePathHandle.create (element, compilationController);                                                                                                                                         
  *    }                                                                                                                                                                                                                        
  * },priority);                                                                                                                                                                                                                
- *                                                                                                                                                                                                                             
+ *                                                                                                                                                                                        
  * otherJavaSource.runCompileControlTask(new CancellableTask<CompilationController>() {                                                                                                                                        
  *     public void run(CompilationController compilationController) {                                                                                                                                                          
  *         parameter.toPhase(Phase.RESOLVED);                                                                                                                                                                                  
@@ -87,7 +87,7 @@
  *         ....                                                                                                                                                                                                                
  *    }                                                                                                                                                                                                                        
  * },priority);                                                                                                                                                                                                                
- * </pre>                                                                                                                                                                                                                      
+ * }</pre>                                                                                                                                                                                                                      
  * </div>                                                                                                                                                                                                                      
  *                                                                                                                                                                                                                             
  *                                                                                                                                                                                                                             
@@ -117,9 +117,9 @@
                                                                                                                                                                                                                                
     /**                                                                                                                                                                                                                        
      * Resolves an {@link TreePath} from the {@link TreePathHandle}.                                                                                                                                                           
-     * @param compilationInfo representing the {@link javax.tools.CompilationTask}                                                                                                                                             
+     * @param compilationInfo representing the {@link javax.tools.JavaCompiler.CompilationTask}                                                                                                                                             
      * @return resolved subclass of {@link Element} or null if the element does not exist on                                                                                                                                    
-     * the classpath/sourcepath of {@link javax.tools.CompilationTask}.
+     * the classpath/sourcepath of {@link javax.tools.JavaCompiler.CompilationTask}.
      * @throws IllegalArgumentException when this {@link TreePathHandle} is not created for a source
      * represented by the compilationInfo.
      */                                                                                                                                                                                                                        
@@ -151,9 +151,9 @@
                                                                                                                                                                                                                                
     /**                                                                                                                                                                                                                        
      * Resolves an {@link Element} from the {@link TreePathHandle}.                                                                                                                                                            
-     * @param compilationInfo representing the {@link javax.tools.CompilationTask}                                                                                                                                             
+     * @param info representing the {@link javax.tools.JavaCompiler.CompilationTask}                                                                                                                                             
      * @return resolved subclass of {@link Element} or null if the element does not exist on                                                                                                                                    
-     * the classpath/sourcepath of {@link javax.tools.CompilationTask}.                                                                                                                                                        
+     * the classpath/sourcepath of {@link javax.tools.JavaCompiler.CompilationTask}.                                                                                                                                                        
      */                                                                                                                                                                                                                        
     public Element resolveElement(final CompilationInfo info) {
         Parameters.notNull("info", info);
@@ -166,7 +166,7 @@
     }
     
     /**
-     * returns {@link ElemntHandle} corresponding to this {@link TreePathHandle}
+     * returns {@link ElementHandle} corresponding to this {@link TreePathHandle}
      * @return {@link ElementHandle} or null if this {@link TreePathHandle} does
      * not represent any {@link Element}
      * @since 0.93
@@ -177,11 +177,11 @@
     }
                                                                                                                                                                                                                                
     /**                                                                                                                                                                                                                        
-     * Returns the {@link Tree.Kind} of this TreePathHandle,                                                                                                                                                                   
-     * it returns the kind of the {@link Tree} from which the handle                                                                                                                                           
+     * Returns the {@link com.sun.source.tree.Tree.Kind} of this TreePathHandle,                                                                                                                                                                   
+     * it returns the kind of the {@link com.sun.source.tree.Tree} from which the handle                                                                                                                                           
      * was created.                                                                                                                                                                                                            
      *                                                                                                                                                                                                                         
-     * @return {@link Tree.Kind}                                                                                                                                                                                               
+     * @return {@link com.sun.source.tree.Tree.Kind}                                                                                                                                                                                               
      */                                                                                                                                                                                                                        
     public Tree.Kind getKind() {
         return this.delegate.getKind();
@@ -190,7 +190,7 @@
     /**                                                                                                                                                                                                                        
      * Factory method for creating {@link TreePathHandle}.                                                                                                                                                                     
      *                                                                                                                                                                                                                         
-     * @param treePath for which the {@link TrePathHandle} should be created.                                                                                                                                                  
+     * @param treePath for which the {@link TreePathHandle} should be created.                                                                                                                                                  
      * @param info 
      * @return a new {@link TreePathHandle}                                                                                                                                                                                    
      * @throws java.lang.IllegalArgumentException if arguments are not supported
@@ -254,7 +254,7 @@
     /**                                                                                                                                                                                                                        
      * Factory method for creating {@link TreePathHandle}.                                                                                                                                                                     
      *                                                                                                                                                                                                                         
-     * @param element for which the {@link TrePathHandle} should be created.                                                                                                                                                  
+     * @param element for which the {@link TreePathHandle} should be created.                                                                                                                                                  
      * @param info 
      * @return a new {@link TreePathHandle}                                                                                                                                                                                    
      * @throws java.lang.IllegalArgumentException if arguments are not supported
@@ -421,9 +421,9 @@
 
         /**                                                                                                                                                                                                                        
          * Resolves an {@link TreePath} from the {@link TreePathHandle}.                                                                                                                                                           
-         * @param compilationInfo representing the {@link javax.tools.CompilationTask}                                                                                                                                             
+         * @param compilationInfo representing the {@link javax.tools.JavaCompiler.CompilationTask}                                                                                                                                             
          * @return resolved subclass of {@link Element} or null if the element does not exist on                                                                                                                                    
-         * the classpath/sourcepath of {@link javax.tools.CompilationTask}.
+         * the classpath/sourcepath of {@link javax.tools.JavaCompiler.CompilationTask}.
          * @throws IllegalArgumentException when this {@link TreePathHandle} is not created for a source
          * represented by the compilationInfo.
          */
@@ -510,9 +510,9 @@
 
         /**                                                                                                                                                                                                                        
          * Resolves an {@link Element} from the {@link TreePathHandle}.                                                                                                                                                            
-         * @param compilationInfo representing the {@link javax.tools.CompilationTask}                                                                                                                                             
+         * @param compilationInfo representing the {@link javax.tools.JavaCompiler.CompilationTask}                                                                                                                                             
          * @return resolved subclass of {@link Element} or null if the element does not exist on                                                                                                                                    
-         * the classpath/sourcepath of {@link javax.tools.CompilationTask}.                                                                                                                                                        
+         * the classpath/sourcepath of {@link javax.tools.JavaCompiler.CompilationTask}.                                                                                                                                                        
          */
         public Element resolveElement(final CompilationInfo info) {
             if (correspondingEl != null) {
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java b/java/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java
index d0eecdb..d1c917c 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java
@@ -1044,7 +1044,7 @@
 
     /**Find span of the {@link ClassTree}'s body in the source.
      * Returns starting and ending offset of the body in the source code that was parsed
-     * (ie. {@link CompilationInfo.getText()}, which may differ from the positions in the source
+     * (ie. {@link CompilationInfo#getText()}, which may differ from the positions in the source
      * document if it has been already altered.
      * 
      * @param clazz class which body should be searched for
@@ -1082,7 +1082,7 @@
     
     /**Find span of the {@link ClassTree#getSimpleName()} identifier in the source.
      * Returns starting and ending offset of the name in the source code that was parsed
-     * (ie. {@link CompilationInfo.getText()}, which may differ from the positions in the source
+     * (ie. {@link CompilationInfo#getText()}, which may differ from the positions in the source
      * document if it has been already altered.
      * 
      * @param clazz class which name should be searched for
@@ -1095,7 +1095,7 @@
     
     /**Find span of the {@link MethodTree#getName()} identifier in the source.
      * Returns starting and ending offset of the name in the source code that was parsed
-     * (ie. {@link CompilationInfo.getText()}, which may differ from the positions in the source
+     * (ie. {@link CompilationInfo#getText()}, which may differ from the positions in the source
      * document if it has been already altered.
      * 
      * @param method method which name should be searched for
@@ -1128,7 +1128,7 @@
     
     /**Find span of the {@link VariableTree#getName()} identifier in the source.
      * Returns starting and ending offset of the name in the source code that was parsed
-     * (ie. {@link CompilationInfo.getText()}, which may differ from the positions in the source
+     * (ie. {@link CompilationInfo#getText()}, which may differ from the positions in the source
      * document if it has been already altered.
      * 
      * @param var variable which name should be searched for
@@ -1141,7 +1141,7 @@
     
     /**Find span of the {@link LabeledStatementTree#getLabel()} identifier in the source.
      * Returns starting and ending offset of the name in the source code that was parsed
-     * (ie. {@link CompilationInfo.getText()}, which may differ from the positions in the source
+     * (ie. {@link CompilationInfo#getText()}, which may differ from the positions in the source
      * document if it has been already altered.
      * 
      * @param lst labeled statement which name should be searched for
@@ -1154,7 +1154,7 @@
     
     /**Find span of the {@link TypeParameterTree#getName()} identifier in the source.
      * Returns starting and ending offset of the name in the source code that was parsed
-     * (ie. {@link CompilationInfo.getText()}, which may differ from the positions in the source
+     * (ie. {@link CompilationInfo#getText()}, which may differ from the positions in the source
      * document if it has been already altered.
      * 
      * @param tpt type parameter which name should be searched for
@@ -1167,7 +1167,7 @@
     
     /**Find span of the {@link LabeledStatementTree#getLabel()} identifier in the source.
      * Returns starting and ending offset of the name in the source code that was parsed
-     * (ie. {@link CompilationInfo.getText()}, which may differ from the positions in the source
+     * (ie. {@link CompilationInfo#getText()}, which may differ from the positions in the source
      * document if it has been already altered.
      * 
      * @param brk labeled statement which name should be searched for
@@ -1180,7 +1180,7 @@
     
     /**Find span of the {@link LabeledStatementTree#getLabel()} identifier in the source.
      * Returns starting and ending offset of the name in the source code that was parsed
-     * (ie. {@link CompilationInfo.getText()}, which may differ from the positions in the source
+     * (ie. {@link CompilationInfo#getText()}, which may differ from the positions in the source
      * document if it has been already altered.
      * 
      * @param cont labeled statement which name should be searched for
@@ -1193,7 +1193,7 @@
     
     /**Find span of the {@link MethodTree#getParameters()} parameter list in the source.
      * Returns the position of the opening and closing parentheses of the parameter list
-     * in the source code that was parsed (ie. {@link CompilationInfo.getText()}, which
+     * in the source code that was parsed (ie. {@link CompilationInfo#getText()}, which
      * may differ from the positions in the source document if it has been already altered.
      * 
      * @param method method which parameter list should be searched for
@@ -1237,7 +1237,7 @@
     
     /**Find span of the {@link MemberSelectTree#getIdentifier()} identifier in the source.
      * Returns starting and ending offset of the name in the source code that was parsed
-     * (ie. {@link CompilationInfo.getText()}, which may differ from the positions in the source
+     * (ie. {@link CompilationInfo#getText()}, which may differ from the positions in the source
      * document if it has been already altered.
      * 
      * @param mst member select which identifier should be searched for
@@ -1250,7 +1250,7 @@
     
     /**Find span of the {@link MemberReferenceTree#getName()} identifier in the source.
      * Returns starting and ending offset of the name in the source code that was parsed
-     * (ie. {@link CompilationInfo.getText()}, which may differ from the positions in the source
+     * (ie. {@link CompilationInfo#getText()}, which may differ from the positions in the source
      * document if it has been already altered.
      * 
      * @param mst member reference for which the identifier should be searched for
@@ -1263,7 +1263,7 @@
     
     /**Find span of the name in the DocTree's reference tree (see {@link #getReferenceName(com.sun.source.util.DocTreePath)}
      * identifier in the source. Returns starting and ending offset of the name in
-     * the source code that was parsed (ie. {@link CompilationInfo.getText()}, which
+     * the source code that was parsed (ie. {@link CompilationInfo#getText()}, which
      * may differ from the positions in the source document if it has been already
      * altered.
      * 
@@ -1469,23 +1469,23 @@
         }
     }
 
-    /**Decode escapes defined in: http://wikis.sun.com/display/mlvm/ProjectCoinProposal, 3.1-3.9.
+    /**Decode escapes defined in: https://openjdk.org/projects/coin, 3.1-3.9.
      * Must be a full token text, including possible #".
      *
      * @param text to decode
      * @return decoded escapes from the identifier
-     * @see http://wikis.sun.com/display/mlvm/ProjectCoinProposal
+     * @see <a href="https://openjdk.org/projects/coin">ProjectCoinProposal</a>
      * @since 0.56
      */
     public @NonNull CharSequence decodeIdentifier(@NonNull CharSequence text) {
         return decodeIdentifierInternal(text);
     }
 
-    /**Encode identifier using escapes defined in: http://wikis.sun.com/display/mlvm/ProjectCoinProposal, 3.1-3.9.
+    /**Encode identifier using escapes defined in: https://openjdk.org/projects/coin, 3.1-3.9.
      *
-     * @param text to encode
+     * @param ident to encode
      * @return encoded identifier, including #" if necessary
-     * @see http://wikis.sun.com/display/mlvm/ProjectCoinProposal
+     * @see <a href="https://openjdk.org/projects/coin">ProjectCoinProposal</a>
      * @since 0.56
      */
     public @NonNull CharSequence encodeIdentifier(@NonNull CharSequence ident) {
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/TypeMirrorHandle.java b/java/java.source.base/src/org/netbeans/api/java/source/TypeMirrorHandle.java
index b917c01..95c82ac 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/TypeMirrorHandle.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/TypeMirrorHandle.java
@@ -61,7 +61,7 @@
 /**
  * Represents a handle for {@link TypeMirror} which can be kept and later resolved
  * by another javac. The Javac {@link TypeMirror}s are valid only in the single
- * {@link javax.tools.CompilationTask} or single run of the
+ * {@link javax.tools.JavaCompiler.CompilationTask} or single run of the
  * {@link org.netbeans.api.java.source.CancellableTask}. If the client needs to
  * keep a reference to the {@link TypeMirror} and use it in the other CancellableTask
  * he has to serialize it into the {@link TypeMirrorHandle}.
@@ -69,7 +69,7 @@
  * <p>
  ** Typical usage of TypeMirrorHandle is:
  * </p>
- * <pre>
+ * <pre>{@code
  * final TypeMirrorHandle[] typeMirrorHandle = new TypeMirrorHandle[1];
  * javaSource.runCompileControlTask(new CancellableTask<CompilationController>() {
  *     public void run(CompilationController compilationController) {
@@ -87,10 +87,10 @@
  *         ....
  *    }
  * },priority);
- * </pre>
+ * }</pre>
  * </div>
  * Currently, not all the {@link TypeMirror} {@link TypeKind kinds} are supported by handle.
- * The unsupported {@link TykeKind kinds} are: {@link TypeKind#EXECUTABLE}, {@link TypeKind#OTHER},
+ * The unsupported {@link TypeKind kinds} are: {@link TypeKind#EXECUTABLE}, {@link TypeKind#OTHER},
  * and {@link TypeKind#PACKAGE}.
  *
  * @author Jan Lahoda, Dusan Balek
@@ -109,9 +109,9 @@
     
     /**
      * Factory method for creating {@link TypeMirrorHandle}.
-     * @param {@link TypeMirror} for which the {@link TypeMirrorHandle} should be created.
+     * @param tm for which the {@link TypeMirrorHandle} should be created.
      * Not all the {@link TypeMirror} {@link TypeKind kinds} are currently supported.
-     * The unsupported {@link TykeKind kinds} are: {@link TypeKind#EXECUTABLE}, {@link TypeKind#OTHER},
+     * The unsupported {@link TypeKind kinds} are: {@link TypeKind#EXECUTABLE}, {@link TypeKind#OTHER},
      * and {@link TypeKind#PACKAGE}.
      * @return a new {@link TypeMirrorHandle}
      * @throws IllegalArgumentException if the {@link TypeMirror} is of an unsupported
@@ -222,10 +222,10 @@
     
     /**
      * Resolves an {@link TypeMirror} from the {@link TypeMirrorHandle}.
-     * @param {@link CompilationInfo} representing the {@link javax.tools.CompilationTask}
+     * @param info representing the {@link javax.tools.JavaCompiler.CompilationTask}
      * in which the {@link TypeMirror} should be resolved.
      * @return resolved subclass of {@link TypeMirror} or null if the type cannot be
-     * resolved in this {@link javax.tools.CompilationTask}.
+     * resolved in this {@link javax.tools.JavaCompiler.CompilationTask}.
      */
     public T resolve(@NonNull CompilationInfo info) {
         return resolve(info, new HashMap<TypeMirrorHandle, PlaceholderType>());
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/TypeUtilities.java b/java/java.source.base/src/org/netbeans/api/java/source/TypeUtilities.java
index 0c8071e..0041fec 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/TypeUtilities.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/TypeUtilities.java
@@ -150,7 +150,7 @@
      * 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/>
+     * <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
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/WorkingCopy.java b/java/java.source.base/src/org/netbeans/api/java/source/WorkingCopy.java
index 0511a35..4b190fe 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/WorkingCopy.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/WorkingCopy.java
@@ -166,7 +166,7 @@
 
     /**
      * Returns an instance of the {@link WorkingCopy} for
-     * given {@link Parser.Result} if it is a result
+     * given {@link org.netbeans.modules.parsing.spi.Parser.Result} if it is a result
      * of a java parser.
      * @param result for which the {@link WorkingCopy} should be
      * returned.
@@ -310,7 +310,7 @@
      * <p>
      * <code>tree</code> and <code>newTree</code> cannot be <code>null</code>.
      * If <code>oldTree</code> is null, <code>newTree</code> must be of kind
-     * {@link DocTree.Kind#DOC_COMMENT DOC_COMMENT}.
+     * {@link com.sun.source.doctree.DocTree.Kind#DOC_COMMENT DOC_COMMENT}.
      * 
      * @param tree     the tree to which the doctrees belong.
      * @param oldTree  tree to be replaced, use tree already represented in
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/support/CancellableTreePathScanner.java b/java/java.source.base/src/org/netbeans/api/java/source/support/CancellableTreePathScanner.java
index 9be8c7e..2e90bc0 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/support/CancellableTreePathScanner.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/support/CancellableTreePathScanner.java
@@ -60,7 +60,7 @@
         internalCanceled.set(true);
     }
 
-    /** @inheritDoc
+    /** {@inheritDoc}
      */
     public R scan(Tree tree, P p) {
         if (isCanceled())
@@ -69,7 +69,7 @@
         return super.scan(tree, p);
     }
 
-    /** @inheritDoc
+    /** {@inheritDoc}
      */
     public R scan(Iterable<? extends Tree> trees, P p) {
         if (isCanceled())
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/support/CancellableTreeScanner.java b/java/java.source.base/src/org/netbeans/api/java/source/support/CancellableTreeScanner.java
index 6693e63..38dec0c 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/support/CancellableTreeScanner.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/support/CancellableTreeScanner.java
@@ -60,7 +60,7 @@
         internalCanceled.set(true);
     }
 
-    /** @inheritDoc
+    /** {@inheritDoc}
      */
     public R scan(Tree tree, P p) {
         if (isCanceled())
@@ -69,7 +69,7 @@
         return super.scan(tree, p);
     }
 
-    /** @inheritDoc
+    /** {@inheritDoc}
      */
     public R scan(Iterable<? extends Tree> trees, P p) {
         if (isCanceled())
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/support/ProfileSupport.java b/java/java.source.base/src/org/netbeans/api/java/source/support/ProfileSupport.java
index 38e4371..c83c144 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/support/ProfileSupport.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/support/ProfileSupport.java
@@ -206,7 +206,7 @@
      */
     public interface ViolationCollectorFactory {
         /**
-         * Creates a new {@lni ViolationCollector} for given root.
+         * Creates a new {@link ViolationCollector} for given root.
          * @param root the root to be validated
          * @return a new {@link ViolationCollector}
          */
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java b/java/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java
index 287a55e..13aa3cf 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/JavadocHelper.java
@@ -70,7 +70,6 @@
 import javax.swing.text.html.HTML;
 import javax.swing.text.html.HTMLEditorKit;
 import javax.swing.text.html.parser.ParserDelegator;
-import org.netbeans.api.*;
 import org.netbeans.api.annotations.common.CheckForNull;
 import org.netbeans.api.annotations.common.NonNull;
 import org.netbeans.api.annotations.common.NullAllowed;
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java
index e10e905..dcc3999 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java
@@ -914,7 +914,6 @@
 
             @Override
             public Void visitBindingPattern(BindingPatternTree node, Void p) {
-                errorFound |= !hasMatchException;
                 return super.visitBindingPattern(node, p);
             }
 
diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java
index 276fa04..40ca64d 100644
--- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java
+++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java
@@ -2245,6 +2245,58 @@
         assertEquals(expected, file2Fixed);
     }
 
+    public void testTypeTest() throws Exception {
+        setSourceLevel("17");
+
+        Map<String, String> file2Fixed = new HashMap<>();
+        VanillaCompileWorker.fixedListener = (file, cut) -> {
+            try {
+                FileObject source = URLMapper.findFileObject(file.toUri().toURL());
+                file2Fixed.put(FileUtil.getRelativePath(getRoot(), source), cut.toString());
+            } catch (MalformedURLException ex) {
+                throw new IllegalStateException(ex);
+            }
+        };
+        ParsingOutput result = runIndexing(Arrays.asList(compileTuple("test/Test.java",
+                                                                      "package test;\n" +
+                                                                      "public class Test {\n" +
+                                                                      "    public void test1(Object o) {\n" +
+                                                                      "        if (o instanceof String s) {\n" +
+                                                                      "            System.err.println();\n" +
+                                                                      "        }\n" +
+                                                                      "    }\n" +
+                                                                      "}\n")),
+                                           Arrays.asList());
+
+        assertFalse(result.lowMemory);
+        assertTrue(result.success);
+
+        Set<String> createdFiles = new HashSet<String>();
+
+        for (File created : result.createdFiles) {
+            createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath());
+        }
+
+        assertEquals(new HashSet<String>(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")),
+                     createdFiles);
+        Map<String, String> expected = Collections.singletonMap("test/Test.java",
+                "package test;\n" +
+                "\n" +
+                "public class Test {\n" +
+                "    \n" +
+                "    public Test() {\n" +
+                "        super();\n" +
+                "    }\n" +
+                "    \n" +
+                "    public void test1(Object o) {\n" +
+                "        if (o instanceof String s) {\n" +
+                "            System.err.println();\n" +
+                "        }\n" +
+                "    }\n" +
+                "}");
+        assertEquals(expected, file2Fixed);
+    }
+
     public static void noop() {}
 
     @Override
diff --git a/java/java.source/nbproject/project.xml b/java/java.source/nbproject/project.xml
index 2ebf64b..ec8f8dd 100644
--- a/java/java.source/nbproject/project.xml
+++ b/java/java.source/nbproject/project.xml
@@ -112,11 +112,11 @@
                     </run-dependency>
                 </dependency>
                 <dependency>
-                    <code-name-base>org.netbeans.modules.autoupdate.ui</code-name-base>
+                    <code-name-base>org.netbeans.modules.autoupdate.services</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
                     <run-dependency>
-                        <specification-version>1.46</specification-version>
+                        <specification-version>1.76</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/java/java.source/src/org/netbeans/api/java/source/UiUtils.java b/java/java.source/src/org/netbeans/api/java/source/UiUtils.java
index 0f966d0..c0b603d 100644
--- a/java/java.source/src/org/netbeans/api/java/source/UiUtils.java
+++ b/java/java.source/src/org/netbeans/api/java/source/UiUtils.java
@@ -68,8 +68,8 @@
     
     /** Gets correct icon for given ElementKind.
      * @param modifiers Can be null for empty modifiers collection
-     * @deprecated Use {@link org.netbeans.api.java.source.ui.ElementIcons#getElementIcon(javax.lang.model.element.ElementKind, java.util.Collection)}
-     *             of the org.netbeans.modules.java.sourceui module
+     * @deprecated Use <a href="@org-netbeans-modules-java-sourceui@/org/netbeans/api/java/source/ui/ElementIcons.html#getElementIcon-javax.lang.model.element.ElementKind-java.util.Collection-">ElementIcons#getElementIcon(javax.lang.model.element.ElementKind, java.util.Collection)</a>
+     *             of the <a href="@org-netbeans-modules-java-sourceui@">org.netbeans.modules.java.sourceui module</a>
      */
     @Deprecated
     public static Icon getElementIcon( ElementKind elementKind, Collection<Modifier> modifiers ) {
@@ -78,8 +78,8 @@
 
     /**
      *
-     * @deprecated Use {@link org.netbeans.api.java.source.ui.ElementIcons#getElementIcon(javax.lang.model.element.ElementKind, java.util.Collection)}
-     *             of the org.netbeans.modules.java.sourceui module
+     * @deprecated Use <a href="@org-netbeans-modules-java-sourceui@/org/netbeans/api/java/source/ui/ElementIcons.html#getElementIcon-javax.lang.model.element.ElementKind-java.util.Collection-">ElementIcons#getElementIcon(javax.lang.model.element.ElementKind, java.util.Collection)</a>
+     *             of the <a href="@org-netbeans-modules-java-sourceui@">org.netbeans.modules.java.sourceui module</a>
      */
     @Deprecated
     public static Icon getDeclarationIcon(Element element) {
@@ -94,8 +94,8 @@
      * @param el    declaration to open
      * @return true if and only if the declaration was correctly opened,
      *                false otherwise
-     * @deprecated Use {@link org.netbeans.api.java.source.ui.ElementOpen#open(org.netbeans.api.java.source.ClasspathInfo, org.netbeans.api.java.source.ElementHandle) }
-     *             of the org.netbeans.modules.java.sourceui module
+     * @deprecated Use <a href="@org-netbeans-modules-java-sourceui@/org/netbeans/api/java/source/ui/ElementOpen.html#open-org.netbeans.api.java.source.ClasspathInfo-javax.lang.model.element.Element-">org.netbeans.api.java.source.ui.ElementOpen#open(org.netbeans.api.java.source.ClasspathInfo, org.netbeans.api.java.source.ElementHandle</a>
+     *             of the <a href="@org-netbeans-modules-java-sourceui@">org.netbeans.modules.java.sourceui module</a>
      */
     @Deprecated
     public static boolean open(final ClasspathInfo cpInfo, final Element el) {
@@ -110,8 +110,8 @@
 
     /**
      *
-     * @deprecated Use {@link org.netbeans.api.java.source.ui.ElementOpen#open(org.openide.filesystems.FileObject, org.netbeans.api.java.source.ElementHandle) }
-     *             of the org.netbeans.modules.java.sourceui module
+     * @deprecated Use <a href="@org-netbeans-modules-java-sourceui@/org/netbeans/api/java/source/ui/ElementOpen.html#open-org.openide.filesystems.FileObject-org.netbeans.api.java.source.ElementHandle-">org.netbeans.api.java.source.ui.ElementOpen#open(org.openide.filesystems.FileObject, org.netbeans.api.java.source.ElementHandle)</a>
+     *             of the <a href="@org-netbeans-modules-java-sourceui@">org.netbeans.modules.java.sourceui module</a>
      */
     @Deprecated
     public static boolean open(final FileObject toSearch, final ElementHandle<? extends Element> toOpen) {
@@ -147,8 +147,8 @@
 
     /**
      *
-     * @deprecated Use constants from {@link org.netbeans.api.java.source.ui.ElementHeaders}
-     *             of the org.netbeans.modules.java.sourceui module
+     * @deprecated Use constants from <a href="@org-netbeans-modules-java-sourceui@/org/netbeans/api/java/source/ui/ElementHeaders.html">org.netbeans.api.java.source.ui.ElementHeaders</a>
+     *             of the <a href="@org-netbeans-modules-java-sourceui@">org.netbeans.modules.java.sourceui module</a>
      */
     @Deprecated
     public static final class PrintPart {
@@ -167,8 +167,8 @@
     /**
      * example of formatString:
      * "method " + PrintPart.NAME + PrintPart.PARAMETERS + " has return type " + PrintPart.TYPE
-     * @deprecated Use {@link org.netbeans.api.java.source.ui.ElementHeaders#getHeader(com.sun.source.util.TreePath, org.netbeans.api.java.source.CompilationInfo, java.lang.String) }
-     *             of the org.netbeans.modules.java.sourceui module
+     * @deprecated Use <a href="@org-netbeans-modules-java-sourceui@/org/netbeans/api/java/source/ui/ElementHeaders.html#getHeader-com.sun.source.util.TreePath-org.netbeans.api.java.source.CompilationInfo-java.lang.String-">org.netbeans.api.java.source.ui.ElementHeaders#getHeader(com.sun.source.util.TreePath, org.netbeans.api.java.source.CompilationInfo, java.lang.String)</a>
+     *             of the <a href="@org-netbeans-modules-java-sourceui@">org.netbeans.modules.java.sourceui module</a>
      */
     @Deprecated
     public static String getHeader(TreePath treePath, CompilationInfo info, String formatString) {
@@ -183,8 +183,8 @@
     /**
      * example of formatString:
      * "method " + PrintPart.NAME + PrintPart.PARAMETERS + " has return type " + PrintPart.TYPE
-     * @deprecated Use {@link org.netbeans.api.java.source.ui.ElementHeaders#getHeader(javax.lang.model.element.Element, org.netbeans.api.java.source.CompilationInfo, java.lang.String) }
-     *             of the org.netbeans.modules.java.sourceui module
+     * @deprecated Use <a href="@org-netbeans-modules-java-sourceui@/org/netbeans/api/java/source/ui/ElementHeaders.html#getHeader-javax.lang.model.element.Element-org.netbeans.api.java.source.CompilationInfo-java.lang.String-">org.netbeans.api.java.source.ui.ElementHeaders#getHeader(javax.lang.model.element.Element, org.netbeans.api.java.source.CompilationInfo, java.lang.String)</a>
+     *             of the <a href="@org-netbeans-modules-java-sourceui@">org.netbeans.modules.java.sourceui module</a>
      */
     @Deprecated
     public static String getHeader(Element element, CompilationInfo info, String formatString) {
@@ -240,8 +240,8 @@
     }
     
     /** Computes distance between strings
-     * @deprecated Use {@link org.netbeans.api.java.source.ui.ElementHeaders#getDistance(java.lang.String, java.lang.String) }
-     *             of the org.netbeans.modules.java.sourceui module
+     * @deprecated Use <a href="@org-netbeans-modules-java-sourceui@/org/netbeans/api/java/source/ui/ElementHeaders.html#getDistance-java.lang.String-java.lang.String-">org.netbeans.api.java.source.ui.ElementHeaders#getDistance(java.lang.String, java.lang.String)</a>
+     *             of the <a href="@org-netbeans-modules-java-sourceui@">org.netbeans.modules.java.sourceui module</a>
      */
     @Deprecated
     public static int getDistance(String s, String t) {
diff --git a/java/java.source/src/org/netbeans/api/java/source/support/CaretAwareJavaSourceTaskFactory.java b/java/java.source/src/org/netbeans/api/java/source/support/CaretAwareJavaSourceTaskFactory.java
index e0b3d42..5a443f8 100644
--- a/java/java.source/src/org/netbeans/api/java/source/support/CaretAwareJavaSourceTaskFactory.java
+++ b/java/java.source/src/org/netbeans/api/java/source/support/CaretAwareJavaSourceTaskFactory.java
@@ -41,7 +41,7 @@
 import org.openide.util.Parameters;
 import org.openide.util.RequestProcessor;
 
-/**A {@link JavaSourceTaskFactorySupport} that registers tasks to all files that are
+/**A {@link JavaSourceTaskFactory} that registers tasks to all files that are
  * opened in the editor and are visible. This factory also listens on the caret on
  * opened and visible JTextComponents and reschedules the tasks as necessary.
  *
@@ -106,7 +106,7 @@
         this.supportedMimeTypes = supportedMimeTypes.length > 0 ? supportedMimeTypes.clone() : null;
     }
     
-    /**@inheritDoc*/
+    /**{@inheritDoc}*/
     public List<FileObject> getFileObjects() {
         List<FileObject> files = OpenedEditors.filterSupportedMIMETypes(OpenedEditors.getDefault().getVisibleEditorsFiles(), supportedMimeTypes);
 
diff --git a/java/java.source/src/org/netbeans/api/java/source/support/EditorAwareJavaSourceTaskFactory.java b/java/java.source/src/org/netbeans/api/java/source/support/EditorAwareJavaSourceTaskFactory.java
index 33ab74e..617149b 100644
--- a/java/java.source/src/org/netbeans/api/java/source/support/EditorAwareJavaSourceTaskFactory.java
+++ b/java/java.source/src/org/netbeans/api/java/source/support/EditorAwareJavaSourceTaskFactory.java
@@ -31,7 +31,7 @@
 import org.openide.filesystems.FileObject;
 import org.openide.util.Parameters;
 
-/**A {@link JavaSourceTaskFactorySupport} that registers tasks to all files that are
+/**A {@link JavaSourceTaskFactory} that registers tasks to all files that are
  * opened in the editor and are visible.
  *
  * @author Jan Lahoda
@@ -86,7 +86,7 @@
         this.supportedMimeTypes = supportedMimeTypes.length > 0 ? supportedMimeTypes.clone() : null;
     }
     
-    /**@inheritDoc*/
+    /**[@inheritDoc}*/
     public List<FileObject> getFileObjects() {
         List<FileObject> files = OpenedEditors.filterSupportedMIMETypes(OpenedEditors.getDefault().getVisibleEditorsFiles(), supportedMimeTypes);
 
diff --git a/java/java.source/src/org/netbeans/api/java/source/support/LookupBasedJavaSourceTaskFactory.java b/java/java.source/src/org/netbeans/api/java/source/support/LookupBasedJavaSourceTaskFactory.java
index 0abfeba..6a8a75e 100644
--- a/java/java.source/src/org/netbeans/api/java/source/support/LookupBasedJavaSourceTaskFactory.java
+++ b/java/java.source/src/org/netbeans/api/java/source/support/LookupBasedJavaSourceTaskFactory.java
@@ -38,7 +38,7 @@
 import org.openide.util.LookupListener;
 import org.openide.util.Parameters;
 
-/**A {@link JavaSourceTaskFactorySupport} that registers tasks to all files that are
+/**A {@link JavaSourceTaskFactory} that registers tasks to all files that are
  * found in the given {@link Lookup}.
  *
  * This factory searches for {@link FileObject}, {@link DataObject} and {@link Node}
@@ -154,7 +154,7 @@
         }
     }
     
-    /**@inheritDoc*/
+    /**{@inheritDoc}*/
     public synchronized List<FileObject> getFileObjects() {
         return currentFiles;
     }
diff --git a/java/java.source/src/org/netbeans/api/java/source/support/SelectionAwareJavaSourceTaskFactory.java b/java/java.source/src/org/netbeans/api/java/source/support/SelectionAwareJavaSourceTaskFactory.java
index b618e09..37b89b7 100644
--- a/java/java.source/src/org/netbeans/api/java/source/support/SelectionAwareJavaSourceTaskFactory.java
+++ b/java/java.source/src/org/netbeans/api/java/source/support/SelectionAwareJavaSourceTaskFactory.java
@@ -45,7 +45,7 @@
 import org.openide.util.Parameters;
 import org.openide.util.RequestProcessor;
 
-/**A {@link JavaSourceTaskFactorySupport} that registers tasks to all files that are
+/**A {@link JavaSourceTaskFactory} that registers tasks to all files that are
  * opened in the editor and are visible. This factory also listens on the selection in
  * opened and visible JTextComponents and reschedules the tasks as necessary.
  *
@@ -111,7 +111,7 @@
         this.supportedMimeTypes = supportedMimeTypes.length > 0 ? supportedMimeTypes.clone() : null;
     }
     
-    /**@inheritDoc*/
+    /**{@inheritDoc}*/
     public List<FileObject> getFileObjects() {
         List<FileObject> files = OpenedEditors.filterSupportedMIMETypes(OpenedEditors.getDefault().getVisibleEditorsFiles(), supportedMimeTypes);
 
diff --git a/java/java.source/src/org/netbeans/modules/java/source/JBrowseModule.java b/java/java.source/src/org/netbeans/modules/java/source/JBrowseModule.java
index 2772793..3885613 100644
--- a/java/java.source/src/org/netbeans/modules/java/source/JBrowseModule.java
+++ b/java/java.source/src/org/netbeans/modules/java/source/JBrowseModule.java
@@ -19,19 +19,18 @@
 
 package org.netbeans.modules.java.source;
 
-import java.awt.Dialog;
 import java.awt.GraphicsEnvironment;
 import java.awt.HeadlessException;
 import java.util.logging.Level;
 import java.util.prefs.Preferences;
 import org.netbeans.api.annotations.common.StaticResource;
-import org.netbeans.modules.autoupdate.ui.api.PluginManager;
+import org.netbeans.api.autoupdate.PluginInstaller;
 import org.netbeans.modules.java.source.usages.ClassIndexManager;
 import org.openide.DialogDescriptor;
 import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
 import org.openide.modules.ModuleInstall;
 import org.openide.util.Exceptions;
-import org.openide.util.HelpCtx;
 import org.openide.util.NbBundle;
 import org.openide.util.NbPreferences;
 import org.openide.windows.WindowManager;
@@ -80,15 +79,12 @@
                 if (!NoJavacHelper.hasWorkingJavac() && !prefs.getBoolean(KEY_WARNING_SHOWN, false)) {
                     String install = Bundle.BN_Install();
                     try {
-                        Dialog[] d = new Dialog[1];
-                        DialogDescriptor dd = new DialogDescriptor(Bundle.DESC_FeaturesLimited(), Bundle.TITLE_FeaturesLimited(), true, new Object[] {install, DialogDescriptor.CANCEL_OPTION}, install, DialogDescriptor.DEFAULT_ALIGN, HelpCtx.DEFAULT_HELP, evt -> {
-                            if (install.equals(evt.getActionCommand())) {
-                                PluginManager.installSingle("org.netbeans.libs.nbjavacapi", Bundle.DN_nbjavac());
-                            }
-                            d[0].setVisible(false);
-                        });
-                        d[0] = DialogDisplayer.getDefault().createDialog(dd);
-                        d[0].setVisible(true);
+                        NotifyDescriptor msg = new NotifyDescriptor(Bundle.DESC_FeaturesLimited(), Bundle.TITLE_FeaturesLimited(), 
+                            NotifyDescriptor.DEFAULT_OPTION, NotifyDescriptor.WARNING_MESSAGE, new Object[] {install, DialogDescriptor.CANCEL_OPTION}, install);
+                        Object r = DialogDisplayer.getDefault().notify(msg);
+                        if (r == install) {
+                            PluginInstaller.getDefault().install("org.netbeans.libs.nbjavacapi", null, null, Bundle.DN_nbjavac()); // NOI18N
+                        }
                     } catch (HeadlessException ex) {
                         Exceptions.printStackTrace(Exceptions.attachSeverity(ex, Level.FINE));
                     }
diff --git a/java/java.sourceui/src/org/netbeans/api/java/source/ui/ElementHeaders.java b/java/java.sourceui/src/org/netbeans/api/java/source/ui/ElementHeaders.java
index 6a83426..495aa83 100644
--- a/java/java.sourceui/src/org/netbeans/api/java/source/ui/ElementHeaders.java
+++ b/java/java.sourceui/src/org/netbeans/api/java/source/ui/ElementHeaders.java
@@ -252,7 +252,7 @@
      * Converts Javac {@link ElementKind} to a suitable LSP structure kind. Note
      * that not all kinds are supported - such ElementKinds are converted to
      *
-     * @param kind
+     * @param el
      * @return LSP kind suitable for DocumentSymbol - like structures.
      */
     public static StructureElement.Kind javaKind2Structure(Element el) {
diff --git a/java/java.sourceui/src/org/netbeans/api/java/source/ui/ScanDialog.java b/java/java.sourceui/src/org/netbeans/api/java/source/ui/ScanDialog.java
index 9046c19..42806c3 100644
--- a/java/java.sourceui/src/org/netbeans/api/java/source/ui/ScanDialog.java
+++ b/java/java.sourceui/src/org/netbeans/api/java/source/ui/ScanDialog.java
@@ -54,7 +54,7 @@
      * If classpath scanning is not in progress, runnable's run() is called. <br>
      * If classpath scanning is in progress, modal cancellable notification dialog with specified
      * tile is opened.
-     * </ul>
+     * <p>
      * As soon as classpath scanning finishes, this dialog is closed and runnable's run() is called.
      * This method must be called in AWT EventQueue. Runnable is performed in AWT thread.
      *
diff --git a/java/jellytools.java/src/org/netbeans/jellytools/ClasspathStepOperator.java b/java/jellytools.java/src/org/netbeans/jellytools/ClasspathStepOperator.java
index 08fd83d..936a0fc 100644
--- a/java/jellytools.java/src/org/netbeans/jellytools/ClasspathStepOperator.java
+++ b/java/jellytools.java/src/org/netbeans/jellytools/ClasspathStepOperator.java
@@ -33,8 +33,6 @@
  * Handle "Classpath" panel of the New Project wizard
  * for J2SE Ant Project.<br>
  * Usage:
- * <pre>
- * </pre>
  * 
  * @author tb115823
  */
diff --git a/java/jellytools.java/src/org/netbeans/jellytools/modules/form/properties/editors/FormCustomEditorOperator.java b/java/jellytools.java/src/org/netbeans/jellytools/modules/form/properties/editors/FormCustomEditorOperator.java
index 40bdbbb..c7670bd 100644
--- a/java/jellytools.java/src/org/netbeans/jellytools/modules/form/properties/editors/FormCustomEditorOperator.java
+++ b/java/jellytools.java/src/org/netbeans/jellytools/modules/form/properties/editors/FormCustomEditorOperator.java
@@ -35,7 +35,7 @@
  * Contains Default, OK and Cancel buttons,
  * combobox enabling to change editor (DimensionEditor/Value from existing component).
  * <p>
- * Example:<p>
+ * Example:
  * <pre>
  *  ...
  *  property.openEditor();
@@ -50,7 +50,7 @@
 public class FormCustomEditorOperator extends NbDialogOperator {
 
     /** Search for FormCustomEditor with defined title
-     * @throws TimeoutExpiredException when NbDialog not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when NbDialog not found
      * @param title title of FormCustomEditor (mostly property name) */
     public FormCustomEditorOperator(String title) {
         super(title);
@@ -60,7 +60,7 @@
     private JComboBoxOperator _cboMode;
 
     /** Tries to find "Default" JButton in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JButtonOperator
      */
     public JButtonOperator btDefault() {
@@ -73,7 +73,7 @@
     }
 
     /** Tries to find JComboBox in this dialog.
-     * @throws TimeoutExpiredException when component not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when component not found
      * @return JComboBoxOperator */
     public JComboBoxOperator cboMode() {
         if (_cboMode==null) {
@@ -83,7 +83,7 @@
     }
 
     /** clicks on "Default" JButton
-     * @throws TimeoutExpiredException when JButton not found
+     * @throws org.netbeans.jemmy.TimeoutExpiredException when JButton not found
      */
     public void setDefault() {
         btDefault().push();
diff --git a/java/junit/nbproject/project.xml b/java/junit/nbproject/project.xml
index bdc5a26..6312220 100644
--- a/java/junit/nbproject/project.xml
+++ b/java/junit/nbproject/project.xml
@@ -77,14 +77,6 @@
                     </run-dependency>
                 </dependency>
                 <dependency>
-                    <code-name-base>org.netbeans.modules.autoupdate.ui</code-name-base>
-                    <build-prerequisite/>
-                    <compile-dependency/>
-                    <run-dependency>
-                        <specification-version>1.35</specification-version>
-                    </run-dependency>
-                </dependency>
-                <dependency>
                     <code-name-base>org.netbeans.modules.extexecution</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
diff --git a/java/junit/src/org/netbeans/modules/junit/api/JUnitTestUtil.java b/java/junit/src/org/netbeans/modules/junit/api/JUnitTestUtil.java
index f7aefa1..f869fd9 100644
--- a/java/junit/src/org/netbeans/modules/junit/api/JUnitTestUtil.java
+++ b/java/junit/src/org/netbeans/modules/junit/api/JUnitTestUtil.java
@@ -314,7 +314,6 @@
      * Finds a main class.
      *
      * @param  compInfo  defines scope in which the class is to be found
-     * @param  className  name of the class to be found
      * @return  the found class; or <code>null</code> if the class was not
      *          found (e.g. because of a broken source file)
      */
@@ -356,7 +355,7 @@
      * withing the specified folder (non-recursive).
      *
      * @param  packageFolder  folder to search
-     * @param  classPath  classpath to be used for the search
+     * @param  cpInfo  classpath to be used for the search
      * @return  list of full names of all primary Java classes
      *          within the specified package
      */
diff --git a/java/junit/src/org/netbeans/modules/junit/api/JUnitUtils.java b/java/junit/src/org/netbeans/modules/junit/api/JUnitUtils.java
index f39869e..1af717e 100644
--- a/java/junit/src/org/netbeans/modules/junit/api/JUnitUtils.java
+++ b/java/junit/src/org/netbeans/modules/junit/api/JUnitUtils.java
@@ -492,16 +492,16 @@
      * a folder plus additional information such as display name) or simply
      * a <code>FileObject</code> representing a folder.
      * If parameter <code>includeSourceGroups</code> is <code>false</code>,
-     * only <code>SourceGroup<code>s are returned (target folders without
+     * only <code>SourceGroup</code>s are returned (target folders without
      * corresponding <code>SourceGroup</code>s are ignored).
      *
-     * @param  src  source group to find test targets for
+     * @param  sourceGroup  source group to find test targets for
      * @param  sourceGroupsOnly  skip target folders without matching
      *                           <code>SourceGroup</code>
      * @return  array which may contain <code>FileObject</code>s
      *          or <code>SourceGroup</code>s (or both);
      *          it may be empty but not <code>null</code>
-     * @see  TestUtil#getFileObject2SourceGroupMap
+     * @see  org.netbeans.modules.java.testrunner.CommonTestUtil#getFileObject2SourceGroupMap
      */
     public Object[] getTestTargets(SourceGroup sourceGroup,
                                    final boolean sourceGroupsOnly) {
@@ -548,7 +548,7 @@
      * Returns an array of source folders corresponding to the given test
      * folder - may contain <code>null</code>s.
      *
-     * @param  srcFolder  <code>FileObject</code> representing source code root,
+     * @param  testFolder  <code>FileObject</code> representing source code root,
      *                    for which source root folders should be found
      * @return  array of <code>FileObject</code>s representing source root
      *          folders, possibly with superfluous <code>null</code> elements
diff --git a/java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexerImpl.java b/java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexerImpl.java
index 8363a31..f0e2989 100644
--- a/java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexerImpl.java
+++ b/java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexerImpl.java
@@ -653,7 +653,7 @@
     //spawn the indexing into a separate thread..
     private boolean spawnIndexLoadedRepo(final RepositoryInfo repo) {
 
-        if (!RepositoryPreferences.isIndexDownloadEnabled() && repo.isRemoteDownloadable()) {
+        if (!RepositoryPreferences.isIndexDownloadEnabledEffective() && repo.isRemoteDownloadable()) {
             LOGGER.log(Level.FINE, "Skipping remote index request for {0}", repo);
             return false;
         }
@@ -678,7 +678,7 @@
     @Override
     public void indexRepo(final RepositoryInfo repo) {
         
-        if (!RepositoryPreferences.isIndexDownloadEnabled() && repo.isRemoteDownloadable()) {
+        if (!RepositoryPreferences.isIndexDownloadEnabledEffective() && repo.isRemoteDownloadable()) {
             LOGGER.log(Level.FINE, "Skipping remote index request for {0}", repo);
             return;
         }
diff --git a/java/maven.indexer/src/org/netbeans/modules/maven/indexer/api/RepositoryPreferences.java b/java/maven.indexer/src/org/netbeans/modules/maven/indexer/api/RepositoryPreferences.java
index 0887822..7c1b79a 100644
--- a/java/maven.indexer/src/org/netbeans/modules/maven/indexer/api/RepositoryPreferences.java
+++ b/java/maven.indexer/src/org/netbeans/modules/maven/indexer/api/RepositoryPreferences.java
@@ -390,6 +390,17 @@
         return getPreferences().getBoolean(PROP_DOWNLOAD_INDEX, getDefaultDownloadIndexEnabled());
     }
 
+    /**
+     * Downloading the remote index should only happen if indexing in general
+     * and downloading in particular are enabled.
+     *
+     * @since 2.60
+     * @return true if indexing and downloading are both enabled.
+     */
+    public static boolean isIndexDownloadEnabledEffective() {
+        return isIndexRepositories() && isIndexDownloadEnabled();
+    }
+
     @NbBundle.Messages({
         "# true or false:",
         "DEFAULT_DOWNLOAD_INDEX=true"
diff --git a/java/maven/nbproject/project.xml b/java/maven/nbproject/project.xml
index abbc01d..ad4f9c2 100644
--- a/java/maven/nbproject/project.xml
+++ b/java/maven/nbproject/project.xml
@@ -109,11 +109,11 @@
                     </run-dependency>
                 </dependency>
                 <dependency>
-                    <code-name-base>org.netbeans.modules.autoupdate.ui</code-name-base>
+                    <code-name-base>org.netbeans.modules.autoupdate.services</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
                     <run-dependency>
-                        <specification-version>1.35</specification-version>
+                        <specification-version>1.76</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/java/maven/src/org/netbeans/modules/maven/ProjectOpenedHookImpl.java b/java/maven/src/org/netbeans/modules/maven/ProjectOpenedHookImpl.java
index 8fae98a..14f716d 100644
--- a/java/maven/src/org/netbeans/modules/maven/ProjectOpenedHookImpl.java
+++ b/java/maven/src/org/netbeans/modules/maven/ProjectOpenedHookImpl.java
@@ -203,7 +203,7 @@
                                 LOGGER.log(Level.FINER, "Index once a Week :{0}", ri.getId());//NOI18N
                                 run = true;
                             }
-                            if (run && ri.isRemoteDownloadable() && RepositoryPreferences.isIndexDownloadEnabled()) {
+                            if (run && ri.isRemoteDownloadable()) {
                                 RepositoryIndexer.indexRepo(ri);
                             }
                         }
diff --git a/java/maven/src/org/netbeans/modules/maven/api/FileUtilities.java b/java/maven/src/org/netbeans/modules/maven/api/FileUtilities.java
index 745e0b0..aa893d5 100644
--- a/java/maven/src/org/netbeans/modules/maven/api/FileUtilities.java
+++ b/java/maven/src/org/netbeans/modules/maven/api/FileUtilities.java
@@ -193,7 +193,7 @@
      * @param basedir a directory to resolve relative to (need not exist on disk)
      * @param file a file or directory to find a relative path for
      * @return a relativized path (slash-separated), or null if it is not possible (e.g. different DOS drives);
-     *         just <samp>.</samp> in case the paths are the same
+     *         just <code>.</code> in case the paths are the same
      * @throws IllegalArgumentException if the basedir is known to be a file and not a directory
      *
      * copied from project.ant's PropertyUtils
diff --git a/java/maven/src/org/netbeans/modules/maven/api/ModelUtils.java b/java/maven/src/org/netbeans/modules/maven/api/ModelUtils.java
index a0cf995..2f6b824 100644
--- a/java/maven/src/org/netbeans/modules/maven/api/ModelUtils.java
+++ b/java/maven/src/org/netbeans/modules/maven/api/ModelUtils.java
@@ -247,7 +247,6 @@
      *
      * @param mdl
      * @param url of the repository
-     * @param add true == add to model, will not add if the repo is in project but not in model (eg. central repo)
      * @return null if repository with given url exists, otherwise a returned newly created item.
      */
     public static Repository addModelRepository(MavenProject project, POMModel mdl, String url) {
@@ -307,7 +306,7 @@
     
     /**
      * Sets the Java source level of a project.
-     * Use {@link PluginPropertyUtils#getPluginProperty(Project,String,String,String,String)} first
+     * Use {@link PluginPropertyUtils#getPluginProperty(org.netbeans.api.project.Project,String,String,String,String,String)} first
      * ({@link Constants#GROUP_APACHE_PLUGINS}, {@link Constants#PLUGIN_COMPILER}, {@link Constants#SOURCE_PARAM}, {@code "compile"})
      * to make sure that the current level is actually not what you want.
      * 
diff --git a/java/maven/src/org/netbeans/modules/maven/api/NbMavenProject.java b/java/maven/src/org/netbeans/modules/maven/api/NbMavenProject.java
index 9c08bad..67277a5 100644
--- a/java/maven/src/org/netbeans/modules/maven/api/NbMavenProject.java
+++ b/java/maven/src/org/netbeans/modules/maven/api/NbMavenProject.java
@@ -443,7 +443,7 @@
     }
 
     /**
-     * @deprecated Use {@link #downloadDependencyAndJavadocSource(boolean) with {@code true}.
+     * @deprecated Use {@link #downloadDependencyAndJavadocSource(boolean)} with {@code true}.
      */
     @Deprecated
     public void downloadDependencyAndJavadocSource() {
diff --git a/java/maven/src/org/netbeans/modules/maven/api/archetype/ArchetypeWizards.java b/java/maven/src/org/netbeans/modules/maven/api/archetype/ArchetypeWizards.java
index 9317f1c..39b25af 100644
--- a/java/maven/src/org/netbeans/modules/maven/api/archetype/ArchetypeWizards.java
+++ b/java/maven/src/org/netbeans/modules/maven/api/archetype/ArchetypeWizards.java
@@ -112,7 +112,7 @@
         return definedArchetype(groupId, artifactId, version, repository, title, null);
     }
     /** 
-     * @sinced 2.138
+     * @since 2.138
      */
     public static WizardDescriptor.InstantiatingIterator<?> definedArchetype(
         String groupId, String artifactId, String version, @NullAllowed String repository, String title,
diff --git a/java/maven/src/org/netbeans/modules/maven/api/execute/RunUtils.java b/java/maven/src/org/netbeans/modules/maven/api/execute/RunUtils.java
index a8d8131..5cd11e0 100644
--- a/java/maven/src/org/netbeans/modules/maven/api/execute/RunUtils.java
+++ b/java/maven/src/org/netbeans/modules/maven/api/execute/RunUtils.java
@@ -173,7 +173,7 @@
     
     /**
      *
-     * @param project
+     * @param prj
      * @return true if compile on save is allowed for running the application.
      */
     @Deprecated
@@ -212,7 +212,7 @@
 
     /**
      *
-     * @param project
+     * @param prj
      * @return true if compile on save is allowed for running tests.
      */
     @Deprecated
diff --git a/java/maven/src/org/netbeans/modules/maven/api/output/OutputProcessor.java b/java/maven/src/org/netbeans/modules/maven/api/output/OutputProcessor.java
index c078791..8d3d809 100644
--- a/java/maven/src/org/netbeans/modules/maven/api/output/OutputProcessor.java
+++ b/java/maven/src/org/netbeans/modules/maven/api/output/OutputProcessor.java
@@ -32,7 +32,7 @@
     /**
      * specify the segments that this processor is interested in.
      * there are 2 kinds of sequences project-execute and mojo-execute.
-     *The format for the registration is as follows: <type>#<goal>
+     * The format for the registration is as follows: {@code <type>#<goal>}
      * Eg mojo-execute#compile:compile
      */
     String[] getRegisteredOutputSequences();
diff --git a/java/maven/src/org/netbeans/modules/maven/execute/ActionToGoalUtils.java b/java/maven/src/org/netbeans/modules/maven/execute/ActionToGoalUtils.java
index d89f896..9e784d8 100644
--- a/java/maven/src/org/netbeans/modules/maven/execute/ActionToGoalUtils.java
+++ b/java/maven/src/org/netbeans/modules/maven/execute/ActionToGoalUtils.java
@@ -337,7 +337,7 @@
 
     /**
      * read the action mappings from the fileobject attribute "customActionMappings"
-     * @parameter fo should be the project's root directory fileobject
+     * @param fo should be the project's root directory fileobject
      *
      */
     public static ActionToGoalMapping readMappingsFromFileAttributes(FileObject fo) {
@@ -361,7 +361,7 @@
 
     /**
      * writes the action mappings to the fileobject attribute "customActionMappings"
-     * @parameter fo should be the project's root directory fileobject
+     * @param fo should be the project's root directory fileobject
      *
      */
     public static void writeMappingsToFileAttributes(FileObject fo, ActionToGoalMapping mapp) {
diff --git a/java/maven/src/org/netbeans/modules/maven/execute/MavenProxySupport.java b/java/maven/src/org/netbeans/modules/maven/execute/MavenProxySupport.java
index 695cd0d..14d77c2 100644
--- a/java/maven/src/org/netbeans/modules/maven/execute/MavenProxySupport.java
+++ b/java/maven/src/org/netbeans/modules/maven/execute/MavenProxySupport.java
@@ -96,7 +96,7 @@
  * The {@link ProxyResult#configure(org.netbeans.modules.maven.execute.BeanRunConfig)} should be run before each maven online invocation to potentially replace the global settings file with a customized one,
  * that specifies the correct proxy.
  * <p>
- * When creating customized settings.xml files, the files are named like <code>settings-[hashcode of the oroginal]-[sanitized proxy host].xml. If the settings.xml file does not exist at all, "new" is used
+ * When creating customized settings.xml files, the files are named like <code>settings-[hashcode of the oroginal]-[sanitized proxy host].xml</code>. If the settings.xml file does not exist at all, "new" is used
  * instead of the hashcode. Proxy host sanitization just replaces weird characters by "_".
  * 
  * @author sdedic
diff --git a/java/maven/src/org/netbeans/modules/maven/execute/model/NetbeansActionProfile.java b/java/maven/src/org/netbeans/modules/maven/execute/model/NetbeansActionProfile.java
index 1cc8a8d..6f13782 100644
--- a/java/maven/src/org/netbeans/modules/maven/execute/model/NetbeansActionProfile.java
+++ b/java/maven/src/org/netbeans/modules/maven/execute/model/NetbeansActionProfile.java
@@ -20,7 +20,7 @@
 
 /**
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  */
 public class NetbeansActionProfile {
     /**
diff --git a/java/maven/src/org/netbeans/modules/maven/execute/model/NetbeansActionReader.java b/java/maven/src/org/netbeans/modules/maven/execute/model/NetbeansActionReader.java
index 331328d..7a22533 100644
--- a/java/maven/src/org/netbeans/modules/maven/execute/model/NetbeansActionReader.java
+++ b/java/maven/src/org/netbeans/modules/maven/execute/model/NetbeansActionReader.java
@@ -33,7 +33,7 @@
 
 /**
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  */
 public abstract class NetbeansActionReader {
     protected abstract String getRawMappingsAsString();
diff --git a/java/maven/src/org/netbeans/modules/maven/options/SettingsPanel.java b/java/maven/src/org/netbeans/modules/maven/options/SettingsPanel.java
index 5877c3b..0a34f3f 100644
--- a/java/maven/src/org/netbeans/modules/maven/options/SettingsPanel.java
+++ b/java/maven/src/org/netbeans/modules/maven/options/SettingsPanel.java
@@ -993,21 +993,10 @@
         updateCheckboxes();
     }//GEN-LAST:event_cbEnableIndexingActionPerformed
 
-    // short term UI memory, to select index download again when indexing
-    // was toggled off and on by the user
-    private boolean indexDownloadWasEnabled = false;
-
     private void updateCheckboxes() {
-        if (!cbEnableIndexing.isSelected()) {
-            indexDownloadWasEnabled = cbEnableIndexDownload.isSelected();
-            cbEnableIndexDownload.setSelected(false);
-        } else if (indexDownloadWasEnabled) {
-            cbEnableIndexDownload.setSelected(true);
-        }
         cbEnableIndexDownload.setEnabled(cbEnableIndexing.isSelected());
     }
 
-
     // Variables declaration - do not modify//GEN-BEGIN:variables
     private javax.swing.JButton btnDirectory;
     private javax.swing.JButton btnGoals;
diff --git a/java/maven/src/org/netbeans/modules/maven/problems/MissingModulesProblemProvider.java b/java/maven/src/org/netbeans/modules/maven/problems/MissingModulesProblemProvider.java
index 68db96d..51761ee 100644
--- a/java/maven/src/org/netbeans/modules/maven/problems/MissingModulesProblemProvider.java
+++ b/java/maven/src/org/netbeans/modules/maven/problems/MissingModulesProblemProvider.java
@@ -34,8 +34,8 @@
 import javax.swing.SwingUtilities;
 import org.netbeans.api.annotations.common.NonNull;
 import org.netbeans.api.annotations.common.NullAllowed;
+import org.netbeans.api.autoupdate.PluginInstaller;
 import org.netbeans.api.project.Project;
-import org.netbeans.modules.autoupdate.ui.api.PluginManager;
 import org.netbeans.modules.maven.api.NbMavenProject;
 import static org.netbeans.modules.maven.problems.Bundle.*;
 import org.netbeans.spi.project.ProjectServiceProvider;
@@ -230,7 +230,7 @@
                         SwingUtilities.invokeAndWait(new Runnable() {
                             @Override
                             public void run() {
-                                Object retval = PluginManager.install(Collections.singleton(codenamebase));
+                                Object retval = PluginInstaller.getDefault().install(codenamebase);
                                 res[0] = retval == null ? Result.create(Status.RESOLVED) : Result.create(Status.UNRESOLVED);
                             }
                         });
diff --git a/java/maven/src/org/netbeans/modules/maven/spi/actions/AbstractMavenActionsProvider.java b/java/maven/src/org/netbeans/modules/maven/spi/actions/AbstractMavenActionsProvider.java
index 2b341d0..790476a 100644
--- a/java/maven/src/org/netbeans/modules/maven/spi/actions/AbstractMavenActionsProvider.java
+++ b/java/maven/src/org/netbeans/modules/maven/spi/actions/AbstractMavenActionsProvider.java
@@ -303,7 +303,7 @@
     }
 
     /**
-     * takes the input stream and a map, and for each occurence of ${<mapKey>}, replaces it with map entry value..
+     * takes the input stream and a map, and for each occurence of {@code ${<mapKey>} }, replaces it with map entry value..
      * @param replaceMap
      * @param in
      * @return 
@@ -337,22 +337,22 @@
      * {@code resourceURL} parameter identifies a {@code nbactions.xml}-format resource which
      * can add/define actions in the default configuration. It can also <b>contribute</b>
      * configurations (profiles) using the nested {@code &lt;profile>} element.
-     * <p/>
-     * Actions in the contributed configuration profiles are merged; multiple {@link MavenActionProviders}
+     * <p>
+     * Actions in the contributed configuration profiles are merged; multiple {@link MavenActionsProvider}s
      * created by {@link #fromNbActions(org.netbeans.api.project.Project, java.net.URL)} can supply their
      * actions. The first definition of a given {@code actionName} counts, subsequent definitions from 
-     * {@link MavenActionProviders} further in the project's Lookup are ignored.
-     * <p/>
+     * {@link MavenActionsProvider} further in the project's Lookup are ignored.
+     * <p>
      * Note: at the moment it is not possible to build the <b>default configuration</b> actions 
-     * from multiple {@link MavenActionProviders}. 
-     * <p/>
-     * <b>This is a part of Maven module's friend API. If possible, use se  
+     * from multiple {@link MavenActionsProvider}s. 
+     * <p>
+     * <b>This is a part of Maven module's friend API.</b> If possible, use se  
      * <a href="@org-netbeans-api-maven@/org/netbeans/spi/maven/MavenActions.html">MavenActions</a> to register
      * actions declaratively, using module layers.
      * 
      * @param mavenProject the maven project. 
      * @param resourceURL action definitions.
-     * @return new {@link MavenActionProvider} instance.
+     * @return new {@link MavenActionsProvider} instance.
      * @since 2.148
      */
     public static MavenActionsProvider fromNbActions(Project mavenProject, URL resourceURL) {
diff --git a/java/maven/src/org/netbeans/modules/maven/spi/actions/MavenActionsProvider.java b/java/maven/src/org/netbeans/modules/maven/spi/actions/MavenActionsProvider.java
index 66102b5..aa26908 100644
--- a/java/maven/src/org/netbeans/modules/maven/spi/actions/MavenActionsProvider.java
+++ b/java/maven/src/org/netbeans/modules/maven/spi/actions/MavenActionsProvider.java
@@ -47,7 +47,7 @@
     /**
      * Create an instance of RunConfig configured for execution.
      * @param actionName one of the ActionProvider constants
-     * @returns RunConfig or null, if action not supported
+     * @return RunConfig or null, if action not supported
      */
     RunConfig createConfigForDefaultAction(String actionName, Project project, Lookup lookup);
 
diff --git a/java/maven/src/org/netbeans/modules/maven/spi/cos/CoSAlternativeExecutorImplementation.java b/java/maven/src/org/netbeans/modules/maven/spi/cos/CoSAlternativeExecutorImplementation.java
index fbfcae4..fcf4c4e 100644
--- a/java/maven/src/org/netbeans/modules/maven/spi/cos/CoSAlternativeExecutorImplementation.java
+++ b/java/maven/src/org/netbeans/modules/maven/spi/cos/CoSAlternativeExecutorImplementation.java
@@ -35,7 +35,7 @@
  *
  * <p>
  * If the project want to use {@link CoSAlternativeExecutorImplementation} it should register
- * it in it's project {@link Lookup}.
+ * it in it's project {@link org.openide.util.Lookup}.
  *
  * <p>
  * This class should not be used directly. Use {@link CoSAlternativeExecutor} API class instead.
@@ -45,7 +45,7 @@
  *
  * @see CoSAlternativeExecutor
  *
- * @author Martin Janicek <mjanicek@netbeans.org>
+ * @author Martin Janicek &lt;mjanicek@netbeans.org&gt;
  * @since 2.99
  */
 public interface CoSAlternativeExecutorImplementation {
diff --git a/java/maven/src/org/netbeans/modules/maven/spi/nodes/DependencyTypeIconBadge.java b/java/maven/src/org/netbeans/modules/maven/spi/nodes/DependencyTypeIconBadge.java
index 0c24d2d..b24ac37 100644
--- a/java/maven/src/org/netbeans/modules/maven/spi/nodes/DependencyTypeIconBadge.java
+++ b/java/maven/src/org/netbeans/modules/maven/spi/nodes/DependencyTypeIconBadge.java
@@ -27,8 +27,8 @@
 
 /**
  * global service providing an icon badge to dependency artifact's node
- * @see Lookup
- * @see ServiceProvider
+ * @see org.openide.util.Lookup
+ * @see org.openide.util.lookup.ServiceProvider
  * @author mkleint
  * @since 2.89
  */
diff --git a/java/maven/src/org/netbeans/modules/maven/spi/nodes/OtherSourcesExclude.java b/java/maven/src/org/netbeans/modules/maven/spi/nodes/OtherSourcesExclude.java
index 06fa39d..a8a71e0 100644
--- a/java/maven/src/org/netbeans/modules/maven/spi/nodes/OtherSourcesExclude.java
+++ b/java/maven/src/org/netbeans/modules/maven/spi/nodes/OtherSourcesExclude.java
@@ -27,7 +27,7 @@
  * src/main and src/test. It is assumed that implementing this interface is associated 
  * with implementation of a NodeFactory providing special handling for such folder.
  * To be registered in project lookup.
- * Related to {@link JavaLikeRootProvider} but only handling the Other sources node display.
+ * Related to {@link org.netbeans.modules.maven.spi.queries.JavaLikeRootProvider} but only handling the Other sources node display.
  * 
  * Note: the api is a bit simplistic for performance reasons, eg. if user reconfigures the src/main/webapp content to a different location in pom.xml we silently assume that
  * src/main/webapp doesn't exist then.
diff --git a/java/maven/src/org/netbeans/modules/maven/spi/queries/JavaLikeRootProvider.java b/java/maven/src/org/netbeans/modules/maven/spi/queries/JavaLikeRootProvider.java
index 406f732..40027f7 100644
--- a/java/maven/src/org/netbeans/modules/maven/spi/queries/JavaLikeRootProvider.java
+++ b/java/maven/src/org/netbeans/modules/maven/spi/queries/JavaLikeRootProvider.java
@@ -26,9 +26,9 @@
  * Extension point for contributing source roots compilable in parallel with Java sources.
  * Necessary since the {@link ClassPath#SOURCE} for {@code src/main/java/} must include {@code src/main/KIND/} too.
  * Generally these roots (under {@code src/test/KIND/} also) will get the same classpath information as Java.
- * Creation of {@link SourceGroup}s (or their nodes) is not automatic, as this requires display labels
+ * Creation of <a href="@org-netbeans-modules-projectapi@/org/netbeans/api/project/SourceGroup.html">SourceGroup</a>s (or their nodes) is not automatic, as this requires display labels
  * and might merit further customization.
- * Related/similar to {@link OtherSourcesExclude}
+ * Related/similar to {@link org.netbeans.modules.maven.spi.nodes.OtherSourcesExclude}
  * 
  * Note: the api is a bit simplistic for performance reasons, eg. if user reconfigures the src/main/groovy content to a different location in pom.xml we silently assume that
  * src/main/groovy doesn't exist then.
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/api/InlineRefactoring.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/api/InlineRefactoring.java
index 861c75e..6a922cb 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/api/InlineRefactoring.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/api/InlineRefactoring.java
@@ -44,7 +44,7 @@
 
     /**
      * Creates a new instance of InlineRefactoring.
-     * @param selectedElement, element to inline.
+     * @param selectedElement element to inline.
      */
     public InlineRefactoring(@NonNull TreePathHandle selectedElement, Type inlineType) {
         super(Lookups.fixed(selectedElement));
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/api/IntroduceLocalExtensionRefactoring.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/api/IntroduceLocalExtensionRefactoring.java
index d92b13d..d19c46e 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/api/IntroduceLocalExtensionRefactoring.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/api/IntroduceLocalExtensionRefactoring.java
@@ -190,7 +190,7 @@
      * Only create the extension class, or should all usages be replaced with
      * the new local extension.
      *
-     * @param replace true if usages need to use the new type.
+     * @return true if usages need to use the new type.
      */
     public boolean getReplace() {
         return replace;
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/api/JavaRefactoringUtils.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/api/JavaRefactoringUtils.java
index 49ce5a0..458c70e 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/api/JavaRefactoringUtils.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/api/JavaRefactoringUtils.java
@@ -71,7 +71,7 @@
      * @param method 
      * @param info 
      * @return collection of ExecutableElements which overrides 'method'
-     * @deprecated use {@link #getOverridingMethods(javax.lang.model.element.ExecutableElement, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) 
+     * @deprecated use {@link #getOverridingMethods(javax.lang.model.element.ExecutableElement, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean)}
      */
     @Deprecated
     @SuppressWarnings("deprecation")
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/JavaWhereUsedFilters.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/JavaWhereUsedFilters.java
index 79bbac2..2071375 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/JavaWhereUsedFilters.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/JavaWhereUsedFilters.java
@@ -21,7 +21,7 @@
 /**
  * Filters used by Java Find Usages plugins.
  * 
- * @author Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
+ * @author Ralph Benjamin Ruijs &lt;ralphbenjamin@netbeans.org&gt;
  * @since 1.39
  */
 public enum JavaWhereUsedFilters {
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/RefactoringVisitor.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/RefactoringVisitor.java
index 01c23e3..357fb4b 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/RefactoringVisitor.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/RefactoringVisitor.java
@@ -146,7 +146,7 @@
      * <p>
      * <code>tree</code> and <code>newTree</code> cannot be <code>null</code>.
      * If <code>oldTree</code> is null, <code>newTree</code> must be of kind
-     * {@link DocTree.Kind#DOC_COMMENT DOC_COMMENT}.
+     * {@link com.sun.source.doctree.DocTree.Kind#DOC_COMMENT DOC_COMMENT}.
      * 
      * @param tree     the tree to which the doctrees belong.
      * @param oldTree  tree to be replaced, use tree already represented in
diff --git a/java/spi.java.hints/src/org/netbeans/spi/java/hints/ErrorDescriptionFactory.java b/java/spi.java.hints/src/org/netbeans/spi/java/hints/ErrorDescriptionFactory.java
index c5b6a15..bd583e1 100644
--- a/java/spi.java.hints/src/org/netbeans/spi/java/hints/ErrorDescriptionFactory.java
+++ b/java/spi.java.hints/src/org/netbeans/spi/java/hints/ErrorDescriptionFactory.java
@@ -127,7 +127,7 @@
      * and the {@link ErrorDescription} is created to be consistent with {@link ErrorDescription}s created
      * by the other factory methods in this class.
      * 
-     * @param context from which the {@link Severity} and other properties are inferred.
+     * @param context from which the {@link org.netbeans.spi.editor.hints.Severity} and other properties are inferred.
      * @param start start of the warning
      * @param end end of the warning
      * @param text the warning text
diff --git a/java/spi.java.hints/src/org/netbeans/spi/java/hints/Hint.java b/java/spi.java.hints/src/org/netbeans/spi/java/hints/Hint.java
index e0f9413..55abf50 100644
--- a/java/spi.java.hints/src/org/netbeans/spi/java/hints/Hint.java
+++ b/java/spi.java.hints/src/org/netbeans/spi/java/hints/Hint.java
@@ -74,7 +74,7 @@
      */
     public String minSourceVersion() default "";
 
-    /**Whether the hint should be considered a {@link Kind#HINT hint}, e.g. it
+    /**Whether the hint should be considered a {@link Kind#INSPECTION hint}, e.g. it
      * detects a code smell, or otherwise leads to improving the code, or a {@link Kind#ACTION},
      * which is simply an offer to do automatically do something for the user.
      */
@@ -88,7 +88,7 @@
         * The transformation is not intended to improve the code, only allow the
         * user to do some kind of code transformation quickly.
         *
-        * The only meaningful severity for suggestions if {@link Severity#CURRENT_LINE_WARNING}.
+        * The only meaningful severity for suggestions if {@link HintSeverity#CURRENT_LINE_WARNING}.
         */
        ACTION;
     }
@@ -97,10 +97,10 @@
     */
     public enum Options {
         /**The hint does not produce any automatic transformations that could be run
-         * inside the Inspect&Refactor dialog.
+         * inside the Inspect&amp;Refactor dialog.
          */
         QUERY,
-        /**The hint cannot be run inside the Inspect&Refactor dialog.
+        /**The hint cannot be run inside the Inspect&amp;Refactor dialog.
          */
         NO_BATCH,
         /**
diff --git a/java/spi.java.hints/src/org/netbeans/spi/java/hints/HintSeverity.java b/java/spi.java.hints/src/org/netbeans/spi/java/hints/HintSeverity.java
index 374909e..d694ac4 100644
--- a/java/spi.java.hints/src/org/netbeans/spi/java/hints/HintSeverity.java
+++ b/java/spi.java.hints/src/org/netbeans/spi/java/hints/HintSeverity.java
@@ -21,9 +21,11 @@
 import org.netbeans.spi.editor.hints.Severity;
 
 /** Severity of hint
+ *  <ul>
  *  <li><code>ERROR</code>  - will show up as error
  *  <li><code>WARNING</code>  - will show up as warning
  *  <li><code>CURRENT_LINE_WARNING</code>  - will only show up when the caret is placed in the erroneous element
+ *  </ul>
  * @author Petr Hrebejk
  */
 public enum HintSeverity {
diff --git a/java/spi.java.hints/src/org/netbeans/spi/java/hints/JavaFix.java b/java/spi.java.hints/src/org/netbeans/spi/java/hints/JavaFix.java
index 8ca77dc..cfb7ccc 100644
--- a/java/spi.java.hints/src/org/netbeans/spi/java/hints/JavaFix.java
+++ b/java/spi.java.hints/src/org/netbeans/spi/java/hints/JavaFix.java
@@ -58,7 +58,7 @@
 
 /**A base class for fixes that modify Java source code. Using this class
  * as a base class makes creating the fix somewhat simpler, but also supports
- * running the hint in the Inspect&Transform dialog. The fix can be converted
+ * running the hint in the Inspect&amp;Transform dialog. The fix can be converted
  * to {@link Fix} by means of the {@link #toEditorFix() } method.
  *
  * @see JavaFixUtilities for various predefined fixes.
@@ -307,7 +307,7 @@
         }
 
         /**Record a changed version of a file. The changes will be applied altogether with
-         * changes to the Java file. In Inspect&Transform, changes done through this
+         * changes to the Java file. In Inspect&amp;Transform, changes done through this
          * method will be part of the preview.
          *
          * @param file whose content should be changed
diff --git a/java/spi.java.hints/src/org/netbeans/spi/java/hints/TriggerOptions.java b/java/spi.java.hints/src/org/netbeans/spi/java/hints/TriggerOptions.java
index 03e35e0..e1d350b 100644
--- a/java/spi.java.hints/src/org/netbeans/spi/java/hints/TriggerOptions.java
+++ b/java/spi.java.hints/src/org/netbeans/spi/java/hints/TriggerOptions.java
@@ -38,7 +38,7 @@
      * Causes the trigger even on code which is locked for the user. Specifically
      * will trigger the hint on guarded block code, which the user can not modify.
      * However some supplemental information can be collected this way by the hint.
-     * <p/>
+     * <p>
      * Hint do not act on guarded blocks by default.
      */
     public static final String PROCESS_GUARDED = "processGuarded"; // NOI18N
diff --git a/java/spi.java.hints/src/org/netbeans/spi/java/hints/TriggerTreeKind.java b/java/spi.java.hints/src/org/netbeans/spi/java/hints/TriggerTreeKind.java
index 4466469..d31a18c 100644
--- a/java/spi.java.hints/src/org/netbeans/spi/java/hints/TriggerTreeKind.java
+++ b/java/spi.java.hints/src/org/netbeans/spi/java/hints/TriggerTreeKind.java
@@ -29,7 +29,7 @@
 /**Invoke the method for {@link TreePath}s of the given kind.
  *
  * The method must be {@code public static}, the return type must either be assignable to
- * {@link ErrorDescription} or to {@link Iterable}{@code <? extends }{@link ErrorDescription}{@code >}.
+ * {@link org.netbeans.spi.editor.hints.ErrorDescription} or to {@link Iterable}{@code <? extends }{@link org.netbeans.spi.editor.hints.ErrorDescription}{@code >}.
  * Its sole parameter must be {@link HintContext}.
  *
  * @author lahvac
diff --git a/java/spi.java.hints/src/org/netbeans/spi/java/hints/support/TransformationSupport.java b/java/spi.java.hints/src/org/netbeans/spi/java/hints/support/TransformationSupport.java
index 7de0f58..99b6a86 100644
--- a/java/spi.java.hints/src/org/netbeans/spi/java/hints/support/TransformationSupport.java
+++ b/java/spi.java.hints/src/org/netbeans/spi/java/hints/support/TransformationSupport.java
@@ -54,7 +54,7 @@
 
 /**
  * Static utility classes for processing jackpot patterns.
- * <a href="https://bitbucket.org/jlahoda/jackpot30/wiki/RulesLanguage">Rules Language</a>
+ * <a href="https://github.com/apache/netbeans-jackpot30/tree/master/cmdline">Rules Language</a>
  * @author Jan Becicka
  * @since 1.1
  */
@@ -130,7 +130,7 @@
 
     /**
      * Transformer callback which is called for each occurrence during processing 
-     * of {@link #performTransformation(java.lang.String, org.netbeans.spi.java.hints.support.JackpotSupport.Transformer, java.util.concurrent.atomic.AtomicBoolean)    
+     * of {@link #performTransformation(java.lang.String, org.netbeans.spi.java.hints.support.JackpotSupport.Transformer, java.util.concurrent.atomic.AtomicBoolean) }
      */
     public interface Transformer {
 
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps
index 1361dc8..471b212 100644
--- a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps
@@ -67,7 +67,7 @@
 extide/gradle/external/gradle-7.4-bin.zip enterprise/libs.amazon/external/ion-java-1.0.2.jar
 extide/gradle/external/gradle-7.4-bin.zip ide/c.jcraft.jsch/external/jsch-0.1.55.jar
 extide/gradle/external/gradle-7.4-bin.zip ide/c.jcraft.jzlib/external/jzlib-1.1.3.jar
-extide/gradle/external/gradle-7.4-bin.zip ide/libs.commons_compress/external/commons-compress-1.21.jar
+extide/gradle/external/gradle-7.4-bin.zip ide/libs.commons_compress/external/commons-compress-1.23.0.jar
 extide/gradle/external/gradle-7.4-bin.zip ide/libs.tomlj/external/tomlj-1.0.0.jar
 extide/gradle/external/gradle-7.4-bin.zip ide/o.apache.commons.lang/external/commons-lang-2.6.jar
 extide/gradle/external/gradle-7.4-bin.zip ide/o.eclipse.jgit/external/org.eclipse.jgit-5.7.0.202003110725-r.jar
diff --git a/php/php.editor/nbproject/project.properties b/php/php.editor/nbproject/project.properties
index a5f392a..f1eae35 100644
--- a/php/php.editor/nbproject/project.properties
+++ b/php/php.editor/nbproject/project.properties
@@ -18,7 +18,7 @@
 javac.compilerargs=-Xlint -Xlint:-serial
 nbjavac.ignore.missing.enclosing=**/CUP$ASTPHP5Parser$actions.class
 nbm.needs.restart=true
-spec.version.base=2.23.0
+spec.version.base=2.24.0
 release.external/predefined_vars-1.0.zip=docs/predefined_vars.zip
 sigtest.gen.fail.on.error=false
 
diff --git a/php/php.editor/nbproject/project.xml b/php/php.editor/nbproject/project.xml
index e5d659e..f18d004 100644
--- a/php/php.editor/nbproject/project.xml
+++ b/php/php.editor/nbproject/project.xml
@@ -84,7 +84,7 @@
                     <compile-dependency/>
                     <run-dependency>
                         <release-version>2</release-version>
-                        <specification-version>2.72</specification-version>
+                        <specification-version>2.78</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/CodeUtils.java b/php/php.editor/src/org/netbeans/modules/php/editor/CodeUtils.java
index eff457d..fcc307e 100644
--- a/php/php.editor/src/org/netbeans/modules/php/editor/CodeUtils.java
+++ b/php/php.editor/src/org/netbeans/modules/php/editor/CodeUtils.java
@@ -320,6 +320,10 @@
     public static String extractUnqualifiedClassName(StaticDispatch dispatch) {
         Parameters.notNull("dispatch", dispatch);
         Expression dispatcher = dispatch.getDispatcher();
+        if (dispatcher instanceof StaticConstantAccess) {
+            // e.g. EnumName::Case::staticMethod();
+            dispatcher = ((StaticConstantAccess) dispatcher).getDispatcher();
+        }
         return extractUnqualifiedName(dispatcher);
     }
 
diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCodeCompletion.java b/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCodeCompletion.java
index d01a107..a38a996 100644
--- a/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCodeCompletion.java
+++ b/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCodeCompletion.java
@@ -330,8 +330,13 @@
 
         PHPCompletionItem.CompletionRequest request = new PHPCompletionItem.CompletionRequest();
         request.context = context;
-        String prefix = getPrefix(info, caretOffset, true, PrefixBreaker.WITH_NS_PARTS);
-        if (prefix == null) {
+        QueryType queryType = completionContext.getQueryType();
+        String prefix;
+        // GH-4494 if query type is documentation, get a whole identifier as a prefix
+        boolean upToOffset = queryType != QueryType.DOCUMENTATION;
+        prefix = getPrefix(info, caretOffset, upToOffset, PrefixBreaker.WITH_NS_PARTS);
+        if (prefix == null
+                || (queryType == QueryType.DOCUMENTATION && prefix.isEmpty())) {
             return CodeCompletionResult.NONE;
         }
         prefix = prefix.trim().isEmpty() ? completionContext.getPrefix() : prefix;
diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/csl/SemanticAnalysis.java b/php/php.editor/src/org/netbeans/modules/php/editor/csl/SemanticAnalysis.java
index a1aa521..ff246f1 100644
--- a/php/php.editor/src/org/netbeans/modules/php/editor/csl/SemanticAnalysis.java
+++ b/php/php.editor/src/org/netbeans/modules/php/editor/csl/SemanticAnalysis.java
@@ -663,6 +663,7 @@
             if (node.getBody() != null) {
                 node.getBody().accept(this);
                 scanMethodBodies();
+                addColoringForUnusedPrivateConstants();
             }
             needToScan.remove(typeInfo);
             removeFromPath();
@@ -819,6 +820,12 @@
                     if (!isPrivate || parentNode instanceof TraitDeclaration) {
                         addColoringForNode(identifier, coloring);
                     } else {
+                        // NOTE: private constants, methods, and fields may be used in traits
+                        // currently, we don't check traits (if there is no performance problem, should check them if possible)
+                        // an enum is handled as a "final" class in PHP
+                        // so, virtually, "protected" is "private"
+                        // however, as written above, it may be used in traits
+                        // don't add protected items of Enum to unused items
                         privateUnusedConstants.put(new UnusedIdentifier(identifier.getName(), typeInfo), new ASTNodeColoring(identifier, coloring));
                     }
                 }
diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/indent/FormatVisitor.java b/php/php.editor/src/org/netbeans/modules/php/editor/indent/FormatVisitor.java
index c8a4085..3056133 100644
--- a/php/php.editor/src/org/netbeans/modules/php/editor/indent/FormatVisitor.java
+++ b/php/php.editor/src/org/netbeans/modules/php/editor/indent/FormatVisitor.java
@@ -600,7 +600,7 @@
                 formatTokens.add(new FormatToken.IndentToken(ts.offset(), options.indentSize));
             }
 
-            if (parent instanceof ClassDeclaration || parent instanceof InterfaceDeclaration || parent instanceof TraitDeclaration) {
+            if (isTypeNode(parent)) {
                 formatTokens.add(new FormatToken(FormatToken.Kind.WHITESPACE_AFTER_CLASS_LEFT_BRACE, ts.offset()));
             } else if (isAnonymousClass(parent)) {
                 formatTokens.add(new FormatToken(FormatToken.Kind.WHITESPACE_AFTER_ANONYMOUS_CLASS_LEFT_BRACE, ts.offset()));
diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/indent/TokenFormatter.java b/php/php.editor/src/org/netbeans/modules/php/editor/indent/TokenFormatter.java
index 0966469..0649af2 100644
--- a/php/php.editor/src/org/netbeans/modules/php/editor/indent/TokenFormatter.java
+++ b/php/php.editor/src/org/netbeans/modules/php/editor/indent/TokenFormatter.java
@@ -742,7 +742,7 @@
                                         indentRule = true;
                                         ws = countWhiteSpaceBeforeRightBrace(
                                                 docOptions.classDeclBracePlacement,
-                                                newLines,
+                                                docOptions.blankLinesBeforeClassEnd + 1, // GH-46111 ignore existing newLines to prioritize this option
                                                 docOptions.blankLinesBeforeClassEnd,
                                                 indent,
                                                 formatTokens,
diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/model/ModelUtils.java b/php/php.editor/src/org/netbeans/modules/php/editor/model/ModelUtils.java
index af8a561..ad54aef 100644
--- a/php/php.editor/src/org/netbeans/modules/php/editor/model/ModelUtils.java
+++ b/php/php.editor/src/org/netbeans/modules/php/editor/model/ModelUtils.java
@@ -59,6 +59,7 @@
 import org.netbeans.modules.php.editor.parser.astnodes.Assignment;
 import org.netbeans.modules.php.editor.parser.astnodes.Expression;
 import org.netbeans.modules.php.editor.parser.astnodes.NamespaceDeclaration;
+import org.netbeans.modules.php.editor.parser.astnodes.StaticConstantAccess;
 import org.netbeans.modules.php.editor.parser.astnodes.StaticDispatch;
 import org.netbeans.modules.php.editor.parser.astnodes.VariableBase;
 import org.netbeans.modules.php.editor.parser.astnodes.visitors.DefaultVisitor;
@@ -198,8 +199,13 @@
 
     public static Collection<? extends TypeScope> resolveType(Model model, StaticDispatch dispatch) {
         VariableScope variableScope = model.getVariableScope(dispatch.getStartOffset());
+        Expression staticDispatch = dispatch;
+        if (dispatch.getDispatcher() instanceof StaticConstantAccess) {
+            // e.g. EnumName::Case::method();
+            staticDispatch = ((StaticConstantAccess) dispatch.getDispatcher()).getDispatcher();
+        }
         QualifiedName fullyQualifiedName = VariousUtils.getFullyQualifiedName(
-                ASTNodeInfo.toQualifiedName(dispatch, true),
+                ASTNodeInfo.toQualifiedName(staticDispatch, true),
                 dispatch.getStartOffset(),
                 variableScope);
         NamespaceIndexFilter filter = new NamespaceIndexFilter(fullyQualifiedName.toString());
diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/model/impl/ClassScopeImpl.java b/php/php.editor/src/org/netbeans/modules/php/editor/model/impl/ClassScopeImpl.java
index ce7a574..3ae5417 100644
--- a/php/php.editor/src/org/netbeans/modules/php/editor/model/impl/ClassScopeImpl.java
+++ b/php/php.editor/src/org/netbeans/modules/php/editor/model/impl/ClassScopeImpl.java
@@ -39,6 +39,7 @@
 import org.netbeans.modules.php.editor.api.elements.TraitElement;
 import org.netbeans.modules.php.editor.api.elements.TypeConstantElement;
 import org.netbeans.modules.php.editor.api.elements.TypeElement;
+import org.netbeans.modules.php.editor.api.elements.TypeMemberElement;
 import org.netbeans.modules.php.editor.index.PHPIndexer;
 import org.netbeans.modules.php.editor.index.Signature;
 import org.netbeans.modules.php.editor.model.CaseElement;
@@ -335,6 +336,13 @@
                 allFields.add(new FieldElementImpl(traitScope, field));
             }
         }
+        // GH-4683 get fields of mixin
+        Set<TypeMemberElement> mixinTypeMembers = index.getAccessibleMixinTypeMembers(this, this);
+        for (TypeMemberElement mixinTypeMember : mixinTypeMembers) {
+            if (mixinTypeMember instanceof org.netbeans.modules.php.editor.api.elements.FieldElement) {
+                allFields.add((new FieldElementImpl(this, (org.netbeans.modules.php.editor.api.elements.FieldElement) mixinTypeMember)));
+            }
+        }
         return allFields;
     }
 
diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/model/impl/ModelVisitor.java b/php/php.editor/src/org/netbeans/modules/php/editor/model/impl/ModelVisitor.java
index ef3de8e..b5ac842 100644
--- a/php/php.editor/src/org/netbeans/modules/php/editor/model/impl/ModelVisitor.java
+++ b/php/php.editor/src/org/netbeans/modules/php/editor/model/impl/ModelVisitor.java
@@ -439,7 +439,7 @@
                 Kind[] kinds = {Kind.CLASS, Kind.IFACE};
                 occurencesBuilder.prepare(kinds, namespaceName, fileScope);
             }
-        } else if (!(parent instanceof ClassDeclaration) && !(parent instanceof InterfaceDeclaration)
+        } else if (!(parent instanceof ClassDeclaration) && !(parent instanceof EnumDeclaration) && !(parent instanceof InterfaceDeclaration)
                 && !(parent instanceof FormalParameter) && !(parent instanceof InstanceOfExpression)
                 && !(parent instanceof UseTraitStatementPart) && !(parent instanceof TraitConflictResolutionDeclaration)
                 && !(parent instanceof TraitMethodAliasDeclaration) && !(parent instanceof IntersectionType)) {
diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/model/impl/VariousUtils.java b/php/php.editor/src/org/netbeans/modules/php/editor/model/impl/VariousUtils.java
index 36953f8..47e0226 100644
--- a/php/php.editor/src/org/netbeans/modules/php/editor/model/impl/VariousUtils.java
+++ b/php/php.editor/src/org/netbeans/modules/php/editor/model/impl/VariousUtils.java
@@ -1411,6 +1411,11 @@
                                 }
                                 metaAll.insert(0, PRE_OPERATION_TYPE_DELIMITER + VariousUtils.TYPE_TYPE_PREFIX);
                             }
+                        } else if (isReference(token)) {
+                            // ->fieldName
+                            metaAll.insert(0, PRE_OPERATION_TYPE_DELIMITER + VariousUtils.FIELD_TYPE_PREFIX);
+                            state = State.REFERENCE;
+                            break;
                         } else {
                             metaAll = transformToFullyQualifiedType(metaAll, tokenSequence, varScope);
                             metaAll.insert(0, PRE_OPERATION_TYPE_DELIMITER + VariousUtils.TYPE_TYPE_PREFIX);
@@ -1666,9 +1671,9 @@
             csi = (TypeScope) inScope;
         }
         if (csi != null) {
-            if ("self".equals(staticTypeName)) { //NOI18N
+            if (Type.SELF.equalsIgnoreCase(staticTypeName) || Type.STATIC.equalsIgnoreCase(staticTypeName)) {
                 return Collections.singletonList(csi);
-            } else if ("parent".equals(staticTypeName) && (csi instanceof ClassScope)) { //NOI18N
+            } else if (Type.PARENT.equalsIgnoreCase(staticTypeName) && (csi instanceof ClassScope)) {
                 return ((ClassScope) csi).getSuperClasses();
             }
         }
diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/typinghooks/PhpTypedTextInterceptor.java b/php/php.editor/src/org/netbeans/modules/php/editor/typinghooks/PhpTypedTextInterceptor.java
index b3a2c13..d6d92c3 100644
--- a/php/php.editor/src/org/netbeans/modules/php/editor/typinghooks/PhpTypedTextInterceptor.java
+++ b/php/php.editor/src/org/netbeans/modules/php/editor/typinghooks/PhpTypedTextInterceptor.java
@@ -183,7 +183,7 @@
                 if (ts != null) {
                     ts.move(dotPos);
                     if (ts.moveNext() && (ts.offset() < dotPos)) {
-                        GsfUtilities.setLineIndentation(doc, dotPos, previousAdjustmentIndent);
+                        GsfUtilities.setLineIndentation((Document) doc, dotPos, previousAdjustmentIndent);
                     }
                 }
             }
@@ -450,29 +450,38 @@
                     int currentIndent = Utilities.getRowIndent(doc, offset);
                     int newIndent = IndentUtils.countIndent(doc, offset, previousIndent);
                     if (newIndent != currentIndent) {
-                        GsfUtilities.setLineIndentation(doc, offset, Math.max(newIndent, 0));
+                        GsfUtilities.setLineIndentation((Document) doc, offset, Math.max(newIndent, 0));
                     }
                 } else if (id == PHPTokenId.WHITESPACE || (id == PHPTokenId.PHP_TOKEN && token.text().charAt(0) == ':')) { // ":" handles "default:"
+                    Token<? extends PHPTokenId> previousToken = null;
                     if (id == PHPTokenId.WHITESPACE) {
-                        LexUtilities.findPreviousToken(ts, Arrays.asList(PHPTokenId.PHP_CASE));
+                        previousToken = LexUtilities.findPreviousToken(ts, Arrays.asList(PHPTokenId.PHP_CASE, PHPTokenId.PHP_TOKEN));
                     } else {
-                        LexUtilities.findPreviousToken(ts, Arrays.asList(PHPTokenId.PHP_DEFAULT));
+                        if (ts.movePrevious()) { // ":"
+                            previousToken = LexUtilities.findPreviousToken(ts, Arrays.asList(PHPTokenId.PHP_DEFAULT, PHPTokenId.PHP_TOKEN));
+                        }
                     }
-                    if (ts.offset() >= rowFirstNonWhite) { //previous "case" or "default" on one line with typed char
-                        LexUtilities.findPreviousToken(ts, Arrays.asList(PHPTokenId.PHP_SWITCH));
-                        Token<? extends PHPTokenId> firstCaseInSwitch = LexUtilities.findNextToken(ts, Arrays.asList(PHPTokenId.PHP_CASE));
-                        if (firstCaseInSwitch != null && firstCaseInSwitch.id() == PHPTokenId.PHP_CASE) {
-                            int indentOfFirstCase = GsfUtilities.getLineIndent(doc, ts.offset());
-                            GsfUtilities.setLineIndentation(doc, offset, indentOfFirstCase);
+                    if (ts.offset() >= rowFirstNonWhite
+                            && previousToken != null
+                            && (previousToken.id() == PHPTokenId.PHP_CASE
+                            || previousToken.id() == PHPTokenId.PHP_DEFAULT)) {
+                        // previous "case" or "default" on one line with typed char
+                        previousToken = LexUtilities.findPreviousToken(ts, Arrays.asList(PHPTokenId.PHP_SWITCH));
+                        if (previousToken != null && previousToken.id() == PHPTokenId.PHP_SWITCH) {
+                            Token<? extends PHPTokenId> firstCaseInSwitch = LexUtilities.findNextToken(ts, Arrays.asList(PHPTokenId.PHP_CASE));
+                            if (firstCaseInSwitch != null && firstCaseInSwitch.id() == PHPTokenId.PHP_CASE) {
+                                int indentOfFirstCase = GsfUtilities.getLineIndent((Document) doc, ts.offset());
+                                GsfUtilities.setLineIndentation((Document) doc, offset, indentOfFirstCase);
+                            }
                         }
                     }
                 } else if (id == PHPTokenId.PHP_CURLY_CLOSE) {
                     OffsetRange begin = LexUtilities.findBwd(doc, ts, PHPTokenId.PHP_CURLY_OPEN, '{', PHPTokenId.PHP_CURLY_CLOSE, '}');
                     if (begin != OffsetRange.NONE) {
                         int beginOffset = begin.getStart();
-                        int indent = GsfUtilities.getLineIndent(doc, beginOffset);
-                        previousAdjustmentIndent = GsfUtilities.getLineIndent(doc, offset);
-                        GsfUtilities.setLineIndentation(doc, offset, indent);
+                        int indent = GsfUtilities.getLineIndent((Document) doc, beginOffset);
+                        previousAdjustmentIndent = GsfUtilities.getLineIndent((Document) doc, offset);
+                        GsfUtilities.setLineIndentation((Document) doc, offset, indent);
                         previousAdjustmentOffset = caret.getDot();
                     }
                 }
diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/verification/IntroduceSuggestion.java b/php/php.editor/src/org/netbeans/modules/php/editor/verification/IntroduceSuggestion.java
index 0a9de4a..7989774 100644
--- a/php/php.editor/src/org/netbeans/modules/php/editor/verification/IntroduceSuggestion.java
+++ b/php/php.editor/src/org/netbeans/modules/php/editor/verification/IntroduceSuggestion.java
@@ -20,6 +20,7 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -51,13 +52,16 @@
 import org.netbeans.modules.php.editor.api.elements.BaseFunctionElement.PrintAs;
 import org.netbeans.modules.php.editor.api.elements.ClassElement;
 import org.netbeans.modules.php.editor.api.elements.ElementFilter;
+import org.netbeans.modules.php.editor.api.elements.EnumCaseElement;
 import org.netbeans.modules.php.editor.api.elements.FieldElement;
 import org.netbeans.modules.php.editor.api.elements.MethodElement;
 import org.netbeans.modules.php.editor.api.elements.TypeConstantElement;
 import org.netbeans.modules.php.editor.elements.MethodElementImpl;
 import org.netbeans.modules.php.editor.lexer.LexUtilities;
 import org.netbeans.modules.php.editor.lexer.PHPTokenId;
+import org.netbeans.modules.php.editor.model.CaseElement;
 import org.netbeans.modules.php.editor.model.ClassScope;
+import org.netbeans.modules.php.editor.model.EnumScope;
 import org.netbeans.modules.php.editor.model.InterfaceScope;
 import org.netbeans.modules.php.editor.model.MethodScope;
 import org.netbeans.modules.php.editor.model.Model;
@@ -134,14 +138,16 @@
             final Model model = phpParseResult.getModel();
             IntroduceFixVisitor introduceFixVisitor = new IntroduceFixVisitor(model, lineBounds);
             phpParseResult.getProgram().accept(introduceFixVisitor);
-            IntroduceFix variableFix = introduceFixVisitor.getIntroduceFix();
-            if (variableFix != null) {
-                if (CancelSupport.getDefault().isCancelled()) {
-                    return;
+            List<IntroduceFix> variableFixes = introduceFixVisitor.getIntroduceFixes();
+            if (!variableFixes.isEmpty()) {
+                for (IntroduceFix variableFixe : variableFixes) {
+                    if (CancelSupport.getDefault().isCancelled()) {
+                        return;
+                    }
+                    hints.add(new Hint(IntroduceSuggestion.this, getDisplayName(),
+                            fileObject, variableFixe.getOffsetRange(),
+                            Collections.<HintFix>singletonList(variableFixe), 500));
                 }
-                hints.add(new Hint(IntroduceSuggestion.this, getDisplayName(),
-                        fileObject, variableFix.getOffsetRange(),
-                        Collections.<HintFix>singletonList(variableFix), 500));
             }
         }
     }
@@ -149,7 +155,7 @@
     private static class IntroduceFixVisitor extends DefaultTreePathVisitor {
         private final Model model;
         private final OffsetRange lineBounds;
-        private IntroduceFix fix;
+        private final List<IntroduceFix> fixes = new ArrayList<>();
 
         IntroduceFixVisitor(Model model, OffsetRange lineBounds) {
             this.lineBounds = lineBounds;
@@ -185,7 +191,7 @@
                     if (clzName != null && classes.isEmpty()) {
                         ClassElement clz = getIndexedClass(clzName);
                         if (clz == null) {
-                            fix = IntroduceClassFix.getInstance(clzName, model, instanceCreation);
+                            fixes.add(IntroduceClassFix.getInstance(clzName, model, instanceCreation));
                         }
                     }
                 }
@@ -209,9 +215,9 @@
                         if (allMethods.isEmpty()) {
                             assert type != null;
                             FileObject fileObject = type.getFileObject();
-                            BaseDocument document = fileObject != null ? GsfUtilities.getDocument(fileObject, true) : null;
+                            BaseDocument document = fileObject != null ? (BaseDocument) GsfUtilities.getADocument(fileObject, true) : null;
                             if (document != null && fileObject.canWrite()) {
-                                fix = new IntroduceMethodFix(document, methodInvocation, type);
+                                fixes.add(new IntroduceMethodFix(document, methodInvocation, type));
                             }
                         }
                     }
@@ -240,9 +246,9 @@
                         if (allMethods.isEmpty()) {
                             assert type != null;
                             FileObject fileObject = type.getFileObject();
-                            BaseDocument document = fileObject != null ? GsfUtilities.getDocument(fileObject, true) : null;
+                            BaseDocument document = fileObject != null ? (BaseDocument) GsfUtilities.getADocument(fileObject, true) : null;
                             if (document != null && fileObject.canWrite()) {
-                                fix = new IntroduceStaticMethodFix(document, methodInvocation, type);
+                                fixes.add(new IntroduceStaticMethodFix(document, methodInvocation, type));
                             }
                         }
                     }
@@ -267,10 +273,10 @@
                         if (allFields.isEmpty()) {
                             assert type != null;
                             FileObject fileObject = type.getFileObject();
-                            BaseDocument document = fileObject != null ? GsfUtilities.getDocument(fileObject, false) : null;
+                            BaseDocument document = fileObject != null ? (BaseDocument) GsfUtilities.getADocument(fileObject, false) : null;
                             if (document != null && fileObject.canWrite()) {
                                 if (type instanceof ClassScope || type instanceof TraitScope) {
-                                    fix = new IntroduceFieldFix(document, fieldAccess, type);
+                                    fixes.add(new IntroduceFieldFix(document, fieldAccess, type));
                                 }
                             }
                         }
@@ -310,10 +316,10 @@
                         if (allFields.isEmpty()) {
                             assert type != null;
                             FileObject fileObject = type.getFileObject();
-                            BaseDocument document = fileObject != null ? GsfUtilities.getDocument(fileObject, true) : null;
+                            BaseDocument document = fileObject != null ? (BaseDocument) GsfUtilities.getADocument(fileObject, true) : null;
                             if (document != null && fileObject.canWrite()) {
                                 if (type instanceof ClassScope || type instanceof TraitScope) {
-                                    fix = new IntroduceStaticFieldFix(document, fieldAccess, type);
+                                    fixes.add(new IntroduceStaticFieldFix(document, fieldAccess, type));
                                 }
                             }
                         }
@@ -341,12 +347,19 @@
                         if (!(type instanceof TraitScope)) {
                             ElementQuery.Index index = model.getIndexScope().getIndex();
                             Set<TypeConstantElement> allConstants = ElementFilter.forName(NameKind.exact(constName)).filter(index.getAllTypeConstants(type));
-                            if (allConstants.isEmpty()) {
+                            Set<EnumCaseElement> allEnumCases = type instanceof EnumScope
+                                    ? ElementFilter.forName(NameKind.exact(constName)).filter(index.getAllEnumCases(type))
+                                    : Collections.emptySet();
+                            if (allConstants.isEmpty() && allEnumCases.isEmpty()) {
                                 assert type != null;
                                 FileObject fileObject = type.getFileObject();
-                                BaseDocument document = fileObject != null ? GsfUtilities.getDocument(fileObject, false) : null;
+                                BaseDocument document = fileObject != null ? (BaseDocument) GsfUtilities.getADocument(fileObject, false) : null;
+                                // if fileObject is null, document is null
                                 if (document != null && fileObject.canWrite()) {
-                                    fix = new IntroduceClassConstantFix(document, staticConstantAccess, (TypeScope) type);
+                                    fixes.add(new IntroduceClassConstantFix(document, staticConstantAccess, type));
+                                    if (type instanceof EnumScope) {
+                                        fixes.add(new IntroduceEnumCaseFix(document, staticConstantAccess, (EnumScope) type));
+                                    }
                                 }
                             }
                         }
@@ -358,10 +371,12 @@
         }
 
         /**
-         * @return or null
+         * Get Fixes.
+         *
+         * @return fixes
          */
-        public IntroduceFix getIntroduceFix() {
-            return fix;
+        public List<IntroduceFix> getIntroduceFixes() {
+            return Collections.unmodifiableList(fixes);
         }
 
         private ClassElement getIndexedClass(String name) {
@@ -719,6 +734,79 @@
         }
     }
 
+    private static class IntroduceEnumCaseFix extends IntroduceFix {
+
+        private final EnumScope type;
+        private final String template;
+        private final String enumCaseName;
+        private final String backingType;
+
+        public IntroduceEnumCaseFix(BaseDocument doc, StaticConstantAccess node, EnumScope type) {
+            super(doc, node);
+            this.type = type;
+            this.enumCaseName = ((StaticConstantAccess) node).getConstantName().getName();
+            this.backingType = type.getBackingType() != null ? type.getBackingType().toString() : null;
+            this.template = String.format(getTemplate(backingType), enumCaseName);
+        }
+
+        private String getTemplate(String backingType) {
+            String caseTemplate = "case %s;"; // NOI18N
+            if (backingType != null) {
+                if (Type.STRING.equals(backingType)) {
+                    caseTemplate = "case %s = '';"; // NOI18N
+                } else if (Type.INT.equals(backingType)) {
+                    caseTemplate = "case %s = " + (getLastIntIndex() + 1) + ";"; // NOI18N
+                }
+            }
+            return caseTemplate;
+        }
+
+        private int getLastIntIndex() {
+            int index = 0;
+            for (CaseElement enumCase : type.getDeclaredEnumCases()) {
+                String value = enumCase.getValue();
+                try {
+                    int intValue = Integer.parseInt(value);
+                    index = Integer.max(index, intValue);
+                } catch (NumberFormatException e) {
+                    // no-op
+                }
+            }
+            return index;
+        }
+
+        @Override
+        public void implement() throws Exception {
+            int templateOffset = getOffset();
+            EditList edits = new EditList(doc);
+            edits.replace(templateOffset, 0, "\n" + template, true, 0); // NOI18N
+            edits.apply();
+            int caretPositionFromEndOftemplate = Type.STRING.equalsIgnoreCase(backingType) ? 2 : 1;
+            templateOffset = LineDocumentUtils.getLineEnd(doc, templateOffset + 1) - caretPositionFromEndOftemplate;
+            UiUtils.open(type.getFileObject(), templateOffset);
+        }
+
+        @Override
+        @Messages({
+            "# {0} - Case name",
+            "# {1} - Type kind",
+            "# {2} - Type name",
+            "# {3} - File name",
+            "IntroduceHintEnumCaseDesc=Create Enum Case \"{0}\" in {1} \"{2}\" ({3})"
+        })
+        public String getDescription() {
+            String typeName = type.getName();
+            FileObject fileObject = type.getFileObject();
+            String fileName = fileObject == null ? UNKNOWN_FILE_NAME : fileObject.getNameExt();
+            String typeKindName = getTypeKindName(type);
+            return Bundle.IntroduceHintEnumCaseDesc(enumCaseName, typeKindName, typeName, fileName);
+        }
+
+        int getOffset() throws BadLocationException {
+            return IntroduceSuggestion.getOffset(doc, type, PhpElementKind.ENUM_CASE);
+        }
+    }
+
     abstract static class IntroduceFix implements HintFix {
 
         BaseDocument doc;
@@ -781,6 +869,10 @@
                     TraitScope trait = (TraitScope) typeScope;
                     elements.addAll(trait.getDeclaredFields());
                     elements.addAll(trait.getDeclaredMethods());
+                } else if (typeScope instanceof EnumScope) {
+                    EnumScope enumScope = (EnumScope) typeScope;
+                    elements.addAll(enumScope.getDeclaredEnumCases());
+                    elements.addAll(enumScope.getDeclaredMethods());
                 }
                 break;
             case FIELD:
@@ -792,6 +884,12 @@
                     elements.addAll(trait.getDeclaredFields());
                 }
                 break;
+            case ENUM_CASE:
+                if (typeScope instanceof EnumScope) {
+                    EnumScope enumScope = (EnumScope) typeScope;
+                    elements.addAll(enumScope.getDeclaredEnumCases());
+                }
+                break;
             case TYPE_CONSTANT:
                 // no-op
                 break;
@@ -953,7 +1051,8 @@
     @Messages({
         "IntroduceHintClassName=Class",
         "IntroduceHintInterfaceName=Interface",
-        "IntroduceHintTraitName=Trait"
+        "IntroduceHintTraitName=Trait",
+        "IntroduceHintEnumName=Enum",
     })
     private static String getTypeKindName(TypeScope typeScope) {
         if (typeScope instanceof ClassScope) {
@@ -962,6 +1061,8 @@
             return Bundle.IntroduceHintInterfaceName();
         } else if (typeScope instanceof TraitScope) {
             return Bundle.IntroduceHintTraitName();
+        } else if (typeScope instanceof EnumScope) {
+            return Bundle.IntroduceHintEnumName();
         }
         assert false;
         return "?"; // NOI18N
diff --git a/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php
new file mode 100644
index 0000000..f4e1c7f
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php
@@ -0,0 +1,53 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/**
+ * function gh4494().
+ *
+ * @return void
+ */
+function gh4494(): void {
+}
+
+/**
+ * function gh4494_aa().
+ *
+ * @return void
+ */
+function gh4494_aa(): void {
+}
+
+/**
+ * function gh4494_aa_bb().
+ *
+ * @return void
+ */
+function gh4494_aa_bbb(): void {
+}
+
+/**
+ * function gh4494_aa_bb_cc().
+ *
+ * @return void
+ */
+function gh4494_aa_bb_cc(): void {
+}
+
+gh4494_aa_bb_cc();
+gh4494_aa_bbb();
diff --git a/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_01.html b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_01.html
new file mode 100644
index 0000000..daeaf44
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_01.html
@@ -0,0 +1,11 @@
+<html><body>
+<pre>Code completion result for source line:
+gh44|94_aa_bbb();
+(QueryType=DOCUMENTATION, prefixSearch=false, caseSensitive=true)
+METHOD     gh4494_aa_bbb()                 [PUBLIC]   issueGH4494.php
+</pre><h2>Documentation:</h2><div align="right"><font size=-1></font></div><b>gh4494_aa_bbb</b><br/><br/>
+function gh4494_aa_bb().
+<br />
+<h3>Returns:</h3>
+<table>
+<tr><th align="left">Type:</th><td>void</td></tr></table></body></html>
\ No newline at end of file
diff --git a/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_02.html b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_02.html
new file mode 100644
index 0000000..74e6c82
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_02.html
@@ -0,0 +1,11 @@
+<html><body>
+<pre>Code completion result for source line:
+gh4494_aa|_bbb();
+(QueryType=DOCUMENTATION, prefixSearch=false, caseSensitive=true)
+METHOD     gh4494_aa_bbb()                 [PUBLIC]   issueGH4494.php
+</pre><h2>Documentation:</h2><div align="right"><font size=-1></font></div><b>gh4494_aa_bbb</b><br/><br/>
+function gh4494_aa_bb().
+<br />
+<h3>Returns:</h3>
+<table>
+<tr><th align="left">Type:</th><td>void</td></tr></table></body></html>
\ No newline at end of file
diff --git a/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_03.html b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_03.html
new file mode 100644
index 0000000..aa5ad8c
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_03.html
@@ -0,0 +1,11 @@
+<html><body>
+<pre>Code completion result for source line:
+gh4494_aa_b|bb();
+(QueryType=DOCUMENTATION, prefixSearch=false, caseSensitive=true)
+METHOD     gh4494_aa_bbb()                 [PUBLIC]   issueGH4494.php
+</pre><h2>Documentation:</h2><div align="right"><font size=-1></font></div><b>gh4494_aa_bbb</b><br/><br/>
+function gh4494_aa_bb().
+<br />
+<h3>Returns:</h3>
+<table>
+<tr><th align="left">Type:</th><td>void</td></tr></table></body></html>
\ No newline at end of file
diff --git a/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_04.html b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_04.html
new file mode 100644
index 0000000..d63442a
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_04.html
@@ -0,0 +1,11 @@
+<html><body>
+<pre>Code completion result for source line:
+gh4494|_aa_bb_cc();
+(QueryType=DOCUMENTATION, prefixSearch=false, caseSensitive=true)
+METHOD     gh4494_aa_bb_cc()               [PUBLIC]   issueGH4494.php
+</pre><h2>Documentation:</h2><div align="right"><font size=-1></font></div><b>gh4494_aa_bb_cc</b><br/><br/>
+function gh4494_aa_bb_cc().
+<br />
+<h3>Returns:</h3>
+<table>
+<tr><th align="left">Type:</th><td>void</td></tr></table></body></html>
\ No newline at end of file
diff --git a/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_05.html b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_05.html
new file mode 100644
index 0000000..21fe2ae
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_05.html
@@ -0,0 +1,11 @@
+<html><body>
+<pre>Code completion result for source line:
+gh4494_aa|_bb_cc();
+(QueryType=DOCUMENTATION, prefixSearch=false, caseSensitive=true)
+METHOD     gh4494_aa_bb_cc()               [PUBLIC]   issueGH4494.php
+</pre><h2>Documentation:</h2><div align="right"><font size=-1></font></div><b>gh4494_aa_bb_cc</b><br/><br/>
+function gh4494_aa_bb_cc().
+<br />
+<h3>Returns:</h3>
+<table>
+<tr><th align="left">Type:</th><td>void</td></tr></table></body></html>
\ No newline at end of file
diff --git a/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_06.html b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_06.html
new file mode 100644
index 0000000..0a6703c
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_06.html
@@ -0,0 +1,11 @@
+<html><body>
+<pre>Code completion result for source line:
+gh4494_aa_bb|_cc();
+(QueryType=DOCUMENTATION, prefixSearch=false, caseSensitive=true)
+METHOD     gh4494_aa_bb_cc()               [PUBLIC]   issueGH4494.php
+</pre><h2>Documentation:</h2><div align="right"><font size=-1></font></div><b>gh4494_aa_bb_cc</b><br/><br/>
+function gh4494_aa_bb_cc().
+<br />
+<h3>Returns:</h3>
+<table>
+<tr><th align="left">Type:</th><td>void</td></tr></table></body></html>
\ No newline at end of file
diff --git a/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_07.html b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_07.html
new file mode 100644
index 0000000..520b02d
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH4494.php.testIssueGH4494_07.html
@@ -0,0 +1,11 @@
+<html><body>
+<pre>Code completion result for source line:
+gh4494_aa_bb_cc|();
+(QueryType=DOCUMENTATION, prefixSearch=false, caseSensitive=true)
+METHOD     gh4494_aa_bb_cc()               [PUBLIC]   issueGH4494.php
+</pre><h2>Documentation:</h2><div align="right"><font size=-1></font></div><b>gh4494_aa_bb_cc</b><br/><br/>
+function gh4494_aa_bb_cc().
+<br />
+<h3>Returns:</h3>
+<table>
+<tr><th align="left">Type:</th><td>void</td></tr></table></body></html>
\ No newline at end of file
diff --git a/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH5347.php b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH5347.php
new file mode 100644
index 0000000..1af61ad
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/documentation/issueGH5347.php
@@ -0,0 +1,22 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+// test
+
+undefined();
diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php
new file mode 100644
index 0000000..05ee502
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php
@@ -0,0 +1,128 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @property-read TestData $data
+ */
+class MixinClass {
+    public const PUBLIC_CONSTANT = "public const";
+    private const PRIVATE_CONSTANT = "private const";
+    protected const PROTECTED_CONSTANT = "protected const";
+
+    public static $publicStaticField;
+    private static $privateStaticField;
+    protected static $protectedStaticField;
+
+    public function __construct(
+        public readonly array $publicField,
+        private array $privatecField,
+        protected int $protectedField,
+    ) {
+
+    }
+
+    public function publicMethod(): void {
+
+    }
+
+    private function privateMethod(): void {
+
+    }
+
+    protected function protectedMethod(): void {
+
+    }
+
+    public static function publicStaticMethod(): void {
+
+    }
+
+    private static function privateStaticMethod(): void {
+
+    }
+
+    protected static function protectedStaticMethod(): void {
+
+    }
+}
+
+/**
+ * @mixin MixinClass
+ */
+class TestClass {
+
+    public function test(): void {
+        $this->data;
+        $this->data->publicField;
+        $this->data::PUBLIC_CONSTANT;
+    }
+
+}
+
+class TestData {
+
+    public const PUBLIC_CONSTANT = "public const";
+    private const PRIVATE_CONSTANT = "private const";
+    protected const PROTECTED_CONSTANT = "protected const";
+
+    public static $publicStaticField;
+    private static $privateStaticField;
+    protected static $protectedStaticField;
+
+    public function __construct(
+        public readonly array $publicField,
+        private array $privatecField,
+        protected int $protectedField,
+    ) {
+
+    }
+
+    public function publicMethod(): void {
+
+    }
+
+    private function privateMethod(): void {
+
+    }
+
+    protected function protectedMethod(): void {
+
+    }
+
+    public static function publicStaticMethod(): void {
+
+    }
+
+    private static function privateStaticMethod(): void {
+
+    }
+
+    protected static function protectedStaticMethod(): void {
+
+    }
+
+}
+
+$test = new TestClass();
+$data = new TestData([], [], 0);
+
+$test->data;
+$test->data->publicField;
+$test->data::PUBLIC_CONSTANT;
diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_01.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_01.completion
new file mode 100644
index 0000000..e78d21e
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_01.completion
@@ -0,0 +1,11 @@
+Code completion result for source line:
+$this->|data;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+METHOD     protectedMethod()               [PROTECTE  MixinClass
+METHOD     protectedStaticMethod()         [PROTECTE  MixinClass
+METHOD     publicMethod()                  [PUBLIC]   MixinClass
+METHOD     publicStaticMethod()            [STATIC]   MixinClass
+METHOD     test()                          [PUBLIC]   TestClass
+VARIABLE   TestData data                   [PUBLIC]   MixinClass
+VARIABLE   array publicField               [PUBLIC]   MixinClass
+VARIABLE   int protectedField              [PROTECTE  MixinClass
diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_02.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_02.completion
new file mode 100644
index 0000000..146c82e
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_02.completion
@@ -0,0 +1,6 @@
+Code completion result for source line:
+$this->data->|publicField;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+METHOD     publicMethod()                  [PUBLIC]   TestData
+METHOD     publicStaticMethod()            [STATIC]   TestData
+VARIABLE   array publicField               [PUBLIC]   TestData
diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_03.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_03.completion
new file mode 100644
index 0000000..6e75651
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_03.completion
@@ -0,0 +1,7 @@
+Code completion result for source line:
+$this->data::|PUBLIC_CONSTANT;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+METHOD     publicStaticMethod()            [STATIC]   TestData
+VARIABLE   ? $publicStaticField            [STATIC]   TestData
+CONSTANT   PUBLIC_CONSTANT "public const"  [PUBLIC]   TestData
+CONSTANT   class \TestData                 [PUBLIC]   Magic Constant
diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_04.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_04.completion
new file mode 100644
index 0000000..eae28e9
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_04.completion
@@ -0,0 +1,8 @@
+Code completion result for source line:
+$test->|data;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+METHOD     publicMethod()                  [PUBLIC]   MixinClass
+METHOD     publicStaticMethod()            [STATIC]   MixinClass
+METHOD     test()                          [PUBLIC]   TestClass
+VARIABLE   TestData data                   [PUBLIC]   MixinClass
+VARIABLE   array publicField               [PUBLIC]   MixinClass
diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_05.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_05.completion
new file mode 100644
index 0000000..2941f36
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_05.completion
@@ -0,0 +1,6 @@
+Code completion result for source line:
+$test->data->|publicField;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+METHOD     publicMethod()                  [PUBLIC]   TestData
+METHOD     publicStaticMethod()            [STATIC]   TestData
+VARIABLE   array publicField               [PUBLIC]   TestData
diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_06.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_06.completion
new file mode 100644
index 0000000..686e657
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/completion/lib/gh4683/gh4683.php.testGH3486_06.completion
@@ -0,0 +1,7 @@
+Code completion result for source line:
+$test->data::|PUBLIC_CONSTANT;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+METHOD     publicStaticMethod()            [STATIC]   TestData
+VARIABLE   ? $publicStaticField            [STATIC]   TestData
+CONSTANT   PUBLIC_CONSTANT "public const"  [PUBLIC]   TestData
+CONSTANT   class \TestData                 [PUBLIC]   Magic Constant
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords01.php.formatted
index 245e644..f349292 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords01.php.formatted
@@ -67,7 +67,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords02.php.formatted
index 245e644..f349292 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords02.php.formatted
@@ -67,7 +67,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords03.php.formatted
index 3401c63..b4c7f4f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords03.php.formatted
@@ -82,7 +82,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords04.php.formatted
index ae33085..8bb3420 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/alignment/alignmentKeywords04.php.formatted
@@ -71,7 +71,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/alignment/groupAlignmentArrayInit01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/alignment/groupAlignmentArrayInit01.php.formatted
index a6ffd59..c7752b8 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/alignment/groupAlignmentArrayInit01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/alignment/groupAlignmentArrayInit01.php.formatted
@@ -35,7 +35,6 @@
             "shor"     => 222
         );
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/alignment/groupAlignmentAssignment01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/alignment/groupAlignmentAssignment01.php.formatted
index 5cd5efc..20b98c9 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/alignment/groupAlignmentAssignment01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/alignment/groupAlignmentAssignment01.php.formatted
@@ -35,7 +35,6 @@
             "shor" => 222
         );
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue209030.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue209030.php.formatted
index 5848625..b4f3947 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue209030.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue209030.php.formatted
@@ -11,7 +11,6 @@
             //
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue211482.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue211482.php.formatted
index 3568930..d44b2b2 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue211482.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue211482.php.formatted
@@ -26,7 +26,6 @@
 
         $quiteLongVariable = "long";
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue218847.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue218847.php.formatted
index 235742a..d06b027 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue218847.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue218847.php.formatted
@@ -36,7 +36,6 @@
             function functionName3() {
         
     }
-
 }
 
 class Foo {
@@ -52,7 +51,6 @@
             function foo() {
         
     }
-
 }
 
 interface Iface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue230798.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue230798.php.formatted
index c1e012c..20bd952 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue230798.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/alignment/issue230798.php.formatted
@@ -5,7 +5,6 @@
     private $barbarbarbar = 'b';
     protected $snafu      = 'c';
     public $foo           = 'a';
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/anonymousClass.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/anonymousClass.php.formatted
index 86ecb9c..e95cc51 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/anonymousClass.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/anonymousClass.php.formatted
@@ -24,7 +24,6 @@
             }
         };
     }
-
 }
 
 $anonClass = new class {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/arrays3.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/arrays3.php.formatted
index 4c5fbb7..1e6ccad 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/arrays3.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/arrays3.php.formatted
@@ -20,7 +20,6 @@
       "Item 3" => 3
   );
   public $number2 = 1;
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/arrays5.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/arrays5.php.formatted
index 41d0781..4a4edfd 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/arrays5.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/arrays5.php.formatted
@@ -9,7 +9,6 @@
             echo "false";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/arrowFunctions01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/arrowFunctions01.php.formatted
index 94610de..6afad71 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/arrowFunctions01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/arrowFunctions01.php.formatted
@@ -98,5 +98,4 @@
     public static function new() {
         return new ArrowFunctions();
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/BracePlacement01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/BracePlacement01.php.formatted
index 637dda9..3cd64b4 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/BracePlacement01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/BracePlacement01.php.formatted
@@ -74,7 +74,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/BracePlacement02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/BracePlacement02.php.formatted
index e3359f9..cc9f15e 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/BracePlacement02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/BracePlacement02.php.formatted
@@ -74,7 +74,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
             }
         }
-
     }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/BracePlacement03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/BracePlacement03.php.formatted
index f56534c..e2d0df9 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/BracePlacement03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/BracePlacement03.php.formatted
@@ -56,7 +56,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Class01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Class01.php.formatted
index 44e725a..2b50e4b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Class01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Class01.php.formatted
@@ -10,7 +10,6 @@
     final public function moreTesting() {
         echo "BaseClass::moreTesting() called\n";
     }
-
 }
 
 final class ChildClass extends BaseClass {
@@ -21,13 +20,11 @@
     public function method1() {
         
     }
-
 }
 
 final class ChildClass2 extends BaseClass {
 
     public $field2 = 22;
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Class03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Class03.php.formatted
index 8539bc1..45204c4 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Class03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Class03.php.formatted
@@ -64,7 +64,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility01.php.formatted
index d6d7e6a..307f3af 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility01.php.formatted
@@ -6,5 +6,4 @@
     public const PUBLIC_CONST = 1;
     private const PRIVATE_CONST = [1, 2];
     protected const PROTECTED_CONST = "";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility02.php.formatted
index d6d7e6a..307f3af 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility02.php.formatted
@@ -6,5 +6,4 @@
     public const PUBLIC_CONST = 1;
     private const PRIVATE_CONST = [1, 2];
     protected const PROTECTED_CONST = "";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility03.php.formatted
index 2197f45..b4e976b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility03.php.formatted
@@ -21,5 +21,4 @@
      * PROTECTED_CONST
      */
     protected const PROTECTED_CONST = "";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility04.php.formatted
index 2197f45..b4e976b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility04.php.formatted
@@ -21,5 +21,4 @@
      * PROTECTED_CONST
      */
     protected const PROTECTED_CONST = "";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility05.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility05.php.formatted
index 0585cd7..804bca3 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility05.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility05.php.formatted
@@ -9,5 +9,4 @@
     private const PRIVATE_CONST = [1, 2];
 
     protected const PROTECTED_CONST = "";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility06.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility06.php.formatted
index 0585cd7..804bca3 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility06.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility06.php.formatted
@@ -9,5 +9,4 @@
     private const PRIVATE_CONST = [1, 2];
 
     protected const PROTECTED_CONST = "";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility07.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility07.php.formatted
index 5047306..533ded4 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility07.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility07.php.formatted
@@ -13,5 +13,4 @@
     public function publicFunction() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility08.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility08.php.formatted
index 955cf19..a584b9f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility08.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/ClassConstantVisibility08.php.formatted
@@ -10,5 +10,4 @@
     public function publicFunction() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields01.php.formatted
index 2fd66cc..d9f3373 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields01.php.formatted
@@ -3,5 +3,4 @@
 class Simple {
 
     public $field1 = 22;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields02.php.formatted
index 652ef75..1f98d2a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields02.php.formatted
@@ -4,5 +4,4 @@
 
     public $field1 = 22;
     public $field2 = "ahoj";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields03.php.formatted
index 0db2297..bb40f86 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields03.php.formatted
@@ -7,5 +7,4 @@
      * @var int
      */
     public $field1 = 22;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields04.php.formatted
index 0db2297..bb40f86 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields04.php.formatted
@@ -7,5 +7,4 @@
      * @var int
      */
     public $field1 = 22;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields05.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields05.php.formatted
index 549f6fc..1aeadbf 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields05.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields05.php.formatted
@@ -8,5 +8,4 @@
     // comment 3
 
     public $field2;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields06.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields06.php.formatted
index 72dce9c..6de45ab 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields06.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields06.php.formatted
@@ -11,5 +11,4 @@
     public function method01() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields07.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields07.php.formatted
index ef4abc8..37b3065 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields07.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields07.php.formatted
@@ -13,5 +13,4 @@
     public function method01() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields08.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields08.php.formatted
index 0df8938..aff06b3 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields08.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields08.php.formatted
@@ -28,5 +28,4 @@
         $this->field2 = $field2;
         $this->field3 = $field3;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields09.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields09.php.formatted
index ec1070e..791bb5f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields09.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields09.php.formatted
@@ -34,5 +34,4 @@
         $this->field2 = $field2;
         $this->field3 = $field3;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields10.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields10.php.formatted
index e80454c..7df4a4b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields10.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields10.php.formatted
@@ -11,7 +11,6 @@
      * comment for field2
      */
     public $field2;
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields11.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields11.php.formatted
index 347f4c9..8adf898 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields11.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Fields11.php.formatted
@@ -6,7 +6,6 @@
 
 
     public $field2;
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Function04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Function04.php.formatted
index 1805a3b..bd4b226 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Function04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Function04.php.formatted
@@ -9,7 +9,6 @@
     public function test2() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass01.php.formatted
index c392e3d..964fb24 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass01.php.formatted
@@ -9,7 +9,6 @@
     public function displayVar() {
         echo $this->var;
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass02.php.formatted
index f3f376d..ba9e4e0 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass02.php.formatted
@@ -12,7 +12,6 @@
     public function displayVar() {
         echo $this->var;
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass04.php.formatted
index a50bd26..3d28278 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass04.php.formatted
@@ -20,7 +20,6 @@
         return "You ordered ($this->qty) '$this->name'" . ($this->qty == 1 ? "" : "s") .
                 " at \$$this->price, for a total of: \$$this->total.";
     }
-
 }
 
 echo (new Item("Widget 22", 4.90, 2));
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass11.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass11.php.formatted
index 02962d6..5306cce 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass11.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass11.php.formatted
@@ -4,6 +4,5 @@
     public function test() {
         
     }
-
 }
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass13.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass13.php.formatted
index 160b609..3b5658a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass13.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass13.php.formatted
@@ -5,7 +5,6 @@
     public function test() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass14.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass14.php.formatted
index 039ff73..e53312a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass14.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass14.php.formatted
@@ -5,7 +5,6 @@
     public function test() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass15.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass15.php.formatted
index 039ff73..e53312a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass15.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass15.php.formatted
@@ -5,7 +5,6 @@
     public function test() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass16.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass16.php.formatted
index 1d6773c..37206ac 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass16.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass16.php.formatted
@@ -7,7 +7,6 @@
         {
         
         }
-
     }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass17.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass17.php.formatted
index e91aedc..a3e8683 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass17.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleClass17.php.formatted
@@ -7,7 +7,6 @@
             {
             
             }
-
         }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait01.php.formatted
index 741a78d..2f10121 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait01.php.formatted
@@ -9,7 +9,6 @@
     public function displayVar() {
         echo $this->var;
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait02.php.formatted
index 9089452..0857993 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait02.php.formatted
@@ -12,7 +12,6 @@
     public function displayVar() {
         echo $this->var;
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait04.php.formatted
index 52b7c85..0188825 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait04.php.formatted
@@ -20,7 +20,6 @@
         return "You ordered ($this->qty) '$this->name'" . ($this->qty == 1 ? "" : "s") .
                 " at \$$this->price, for a total of: \$$this->total.";
     }
-
 }
 
 echo (new Item("Widget 22", 4.90, 2));
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait11.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait11.php.formatted
index 1e7911a..641d3f6 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait11.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait11.php.formatted
@@ -4,6 +4,5 @@
     public function test() {
         
     }
-
 }
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait13.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait13.php.formatted
index c1c626d..676160d 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait13.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait13.php.formatted
@@ -5,7 +5,6 @@
     public function test() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait14.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait14.php.formatted
index 1b1d6bb..7eece4c 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait14.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait14.php.formatted
@@ -5,7 +5,6 @@
     public function test() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait15.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait15.php.formatted
index 1b1d6bb..7eece4c 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait15.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait15.php.formatted
@@ -5,7 +5,6 @@
     public function test() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait16.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait16.php.formatted
index a676a7d..ab58316 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait16.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait16.php.formatted
@@ -7,7 +7,6 @@
         {
         
         }
-
     }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait17.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait17.php.formatted
index 74b5392..309ebf2 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait17.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/SimpleTrait17.php.formatted
@@ -7,7 +7,6 @@
             {
             
             }
-
         }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Trait01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Trait01.php.formatted
index 27767cf..5ed2627 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Trait01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Trait01.php.formatted
@@ -10,7 +10,6 @@
     public function moreTesting() {
         echo "BaseTrait::moreTesting() called\n";
     }
-
 }
 
 trait ChildTrait {
@@ -21,13 +20,11 @@
     public function method1() {
         
     }
-
 }
 
 trait ChildTrait2 {
 
     public $field2 = 22;
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Trait03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Trait03.php.formatted
index 7b4c1bb..7110ff8 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Trait03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/Trait03.php.formatted
@@ -64,7 +64,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_01.php.formatted
index f768dd0..e39d243 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_01.php.formatted
@@ -22,5 +22,4 @@
 class Simple {
 
     public int $field1 = 22;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_02.php.formatted
index 0a3747b..f2f0eee 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_02.php.formatted
@@ -23,5 +23,4 @@
 
     public ?int $field1 = 22;
     public string $field2 = "ahoj";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_03.php.formatted
index f65ac3f..e471362 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_03.php.formatted
@@ -26,5 +26,4 @@
      * @var int
      */
     public int $field1 = 22;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_04.php.formatted
index f65ac3f..e471362 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_04.php.formatted
@@ -26,5 +26,4 @@
      * @var int
      */
     public int $field1 = 22;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_05.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_05.php.formatted
index ec5824d..db9eeb9 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_05.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_05.php.formatted
@@ -27,5 +27,4 @@
     // comment 3
 
     public MyClass $field2;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_05a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_05a.php.formatted
index d8a6791..1c558a7 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_05a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_05a.php.formatted
@@ -27,5 +27,4 @@
     // comment 3
 
     public \Foo\MyClass $field2;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_05b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_05b.php.formatted
index b2b3e8b..cd75b1c 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_05b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_05b.php.formatted
@@ -27,5 +27,4 @@
     // comment 3
 
     public ?\Foo\MyClass $field2;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_06.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_06.php.formatted
index 175e62f..67cdd22 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_06.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_06.php.formatted
@@ -30,5 +30,4 @@
     public function method01() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_06a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_06a.php.formatted
index 0227fca..973ec72 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_06a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_06a.php.formatted
@@ -30,5 +30,4 @@
     public function method01() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_06b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_06b.php.formatted
index a84bd88..61a270d 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_06b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_06b.php.formatted
@@ -30,5 +30,4 @@
     public function method01() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_07.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_07.php.formatted
index c102e0b..9a12f47 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_07.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_07.php.formatted
@@ -32,5 +32,4 @@
     public function method01() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_07a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_07a.php.formatted
index 0b242ac..8b9bb5b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_07a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_07a.php.formatted
@@ -32,5 +32,4 @@
     public function method01() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_08.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_08.php.formatted
index 6db1843..0c6a410 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_08.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_08.php.formatted
@@ -47,5 +47,4 @@
         $this->field2 = $field2;
         $this->field3 = $field3;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_09.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_09.php.formatted
index f46c792..ea30fe2 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_09.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_09.php.formatted
@@ -53,5 +53,4 @@
         $this->field2 = $field2;
         $this->field3 = $field3;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_10.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_10.php.formatted
index ac493a6..d878e91 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_10.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_10.php.formatted
@@ -30,7 +30,6 @@
      * comment for field2
      */
     public ?MyClass $field2;
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_11.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_11.php.formatted
index 34848bf..6d0a74b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_11.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/TypedProperties20_11.php.formatted
@@ -25,7 +25,6 @@
 
 
     public ?int $field2;
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue186461_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue186461_01.php.formatted
index 2ab8db2..c7f9058 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue186461_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue186461_01.php.formatted
@@ -8,7 +8,6 @@
     function __construct() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue186461_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue186461_02.php.formatted
index 14ff7af..c21a37c 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue186461_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue186461_02.php.formatted
@@ -15,7 +15,6 @@
 
     /* comment 10 */
     private $field7; // comment 11
-
 }
 
 /*
@@ -27,7 +26,6 @@
     function __construct() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue229703.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue229703.php.formatted
index 66ac7e2..0f17fa4 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue229703.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue229703.php.formatted
@@ -16,5 +16,4 @@
      * Another docblock for another constant.
      */
     const B_CONSTANT = "Set in stone.";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_01.php.formatted
index 53072e4..bd2d127 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_01.php.formatted
@@ -11,7 +11,6 @@
     function __construct() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_02.php.formatted
index 53072e4..bd2d127 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_02.php.formatted
@@ -11,7 +11,6 @@
     function __construct() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_03.php.formatted
index 53072e4..bd2d127 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_03.php.formatted
@@ -11,7 +11,6 @@
     function __construct() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_04.php.formatted
index 53072e4..bd2d127 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_04.php.formatted
@@ -11,7 +11,6 @@
     function __construct() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_05.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_05.php.formatted
index 923d634..0b06220 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_05.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_05.php.formatted
@@ -11,7 +11,6 @@
     function __construct() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_06.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_06.php.formatted
index 923d634..0b06220 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_06.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_06.php.formatted
@@ -11,7 +11,6 @@
     function __construct() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_07.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_07.php.formatted
index 923d634..0b06220 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_07.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_07.php.formatted
@@ -11,7 +11,6 @@
     function __construct() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_08.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_08.php.formatted
index 923d634..0b06220 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_08.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue232395_08.php.formatted
@@ -11,7 +11,6 @@
     function __construct() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_01.php.formatted
index 24fdfda..097693c 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_01.php.formatted
@@ -5,5 +5,4 @@
     public function getName() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_02.php.formatted
index 7aaf57c..89790e5 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_02.php.formatted
@@ -5,7 +5,6 @@
     public function getName() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_03.php.formatted
index 9f4328a..282ba28 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_03.php.formatted
@@ -5,7 +5,6 @@
     public function getName() {
         
     }
-
 }
 
 
@@ -15,7 +14,6 @@
     public function getName() {
         
     }
-
 }
 
 
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_04.php.formatted
index 66328b8..590a8a8 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue234764_04.php.formatted
@@ -5,7 +5,6 @@
     public function getName() {
         
     }
-
 }
 
 
@@ -15,7 +14,6 @@
     public function getName() {
         
     }
-
 }
 
 
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_01.php.formatted
index 93d3e89..e68a58e 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_01.php.formatted
@@ -10,5 +10,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_02.php.formatted
index 93d3e89..e68a58e 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_02.php.formatted
@@ -10,5 +10,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_03.php.formatted
index ce1a6e1..66202e6 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_03.php.formatted
@@ -8,5 +8,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_04.php.formatted
index ce1a6e1..66202e6 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_04.php.formatted
@@ -8,5 +8,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_05.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_05.php.formatted
index 77c1cd7..e98e21a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_05.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_05.php.formatted
@@ -9,5 +9,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_06.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_06.php.formatted
index b5d47ec..09193ea 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_06.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_06.php.formatted
@@ -7,5 +7,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_07.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_07.php.formatted
index fd10758..4a8eb0b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_07.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_07.php.formatted
@@ -11,5 +11,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_08.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_08.php.formatted
index 5500cd8..75fd9a0 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_08.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_08.php.formatted
@@ -14,5 +14,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_09.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_09.php.formatted
index 1a34496..2d31876 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_09.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_09.php.formatted
@@ -10,5 +10,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_10.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_10.php.formatted
index cbb17f4..7031fdee 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_10.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_10.php.formatted
@@ -13,5 +13,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_11.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_11.php.formatted
index 1a34496..2d31876 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_11.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_11.php.formatted
@@ -10,5 +10,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_12.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_12.php.formatted
index 5500cd8..75fd9a0 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_12.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_12.php.formatted
@@ -14,5 +14,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_13.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_13.php.formatted
index 1a34496..2d31876 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_13.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_13.php.formatted
@@ -10,5 +10,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_14.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_14.php.formatted
index cbb17f4..7031fdee 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_14.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issue268710_14.php.formatted
@@ -13,5 +13,4 @@
     public function bar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php
new file mode 100644
index 0000000..5d4d5c5
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php
@@ -0,0 +1,75 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+class GH4611Class
+{
+
+private int $field;
+
+public function method1() {
+}
+
+/**
+ * Test.
+ */
+public function method2() {
+}
+
+}
+
+trait GH4611Trait
+{
+private const CONSTANT=1;
+
+/**
+ * Test.
+ */
+public function method1() {
+}
+
+public function method2() {
+}
+
+}
+
+enum GH4611Enum
+{
+/**
+ * Test.
+ */
+public const CONSTANT = 1;
+/**
+ * Test.
+ */
+case Case1 = 1;
+public function method1() {
+}
+
+public function method2() {
+}
+
+}
+
+interface GH4611Interface
+{
+/**
+ * Test.
+ */
+public function method();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01a.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01a.formatted
new file mode 100644
index 0000000..f9f27e2
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01a.formatted
@@ -0,0 +1,81 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+}
+
+trait GH4611Trait
+{
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+enum GH4611Enum
+{
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+interface GH4611Interface
+{
+    /**
+     * Test.
+     */
+    public function method();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01b.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01b.formatted
new file mode 100644
index 0000000..a360476
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01b.formatted
@@ -0,0 +1,85 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+
+}
+
+trait GH4611Trait
+{
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+enum GH4611Enum
+{
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+interface GH4611Interface
+{
+    /**
+     * Test.
+     */
+    public function method();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01c.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01c.formatted
new file mode 100644
index 0000000..8fbae43
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01c.formatted
@@ -0,0 +1,86 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+
+}
+
+trait GH4611Trait
+{
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+enum GH4611Enum
+{
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+interface GH4611Interface
+{
+
+    /**
+     * Test.
+     */
+    public function method();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01d.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01d.formatted
new file mode 100644
index 0000000..070f6d9
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01d.formatted
@@ -0,0 +1,88 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+
+}
+
+trait GH4611Trait
+{
+
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+enum GH4611Enum
+{
+
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+interface GH4611Interface
+{
+    /**
+     * Test.
+     */
+    public function method();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01e.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01e.formatted
new file mode 100644
index 0000000..b438015
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01e.formatted
@@ -0,0 +1,89 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+
+}
+
+trait GH4611Trait
+{
+
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+enum GH4611Enum
+{
+
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+interface GH4611Interface
+{
+
+    /**
+     * Test.
+     */
+    public function method();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01f.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01f.formatted
new file mode 100644
index 0000000..bc859ab
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01f.formatted
@@ -0,0 +1,82 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+}
+
+trait GH4611Trait
+{
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+enum GH4611Enum
+{
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+interface GH4611Interface
+{
+
+    /**
+     * Test.
+     */
+    public function method();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01g.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01g.formatted
new file mode 100644
index 0000000..fbd1c79
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01g.formatted
@@ -0,0 +1,84 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+}
+
+trait GH4611Trait
+{
+
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+enum GH4611Enum
+{
+
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+interface GH4611Interface
+{
+    /**
+     * Test.
+     */
+    public function method();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01h.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01h.formatted
new file mode 100644
index 0000000..401465f
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_01h.formatted
@@ -0,0 +1,85 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+}
+
+trait GH4611Trait
+{
+
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+enum GH4611Enum
+{
+
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+interface GH4611Interface
+{
+
+    /**
+     * Test.
+     */
+    public function method();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02a.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02a.formatted
new file mode 100644
index 0000000..355979b
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02a.formatted
@@ -0,0 +1,77 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+}
+
+trait GH4611Trait {
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+enum GH4611Enum {
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+interface GH4611Interface {
+    /**
+     * Test.
+     */
+    public function method();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02b.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02b.formatted
new file mode 100644
index 0000000..45013b0
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02b.formatted
@@ -0,0 +1,81 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+
+}
+
+trait GH4611Trait {
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+enum GH4611Enum {
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+interface GH4611Interface {
+    /**
+     * Test.
+     */
+    public function method();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02c.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02c.formatted
new file mode 100644
index 0000000..ebb824d
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02c.formatted
@@ -0,0 +1,82 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+
+}
+
+trait GH4611Trait {
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+enum GH4611Enum {
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+interface GH4611Interface {
+
+    /**
+     * Test.
+     */
+    public function method();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02d.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02d.formatted
new file mode 100644
index 0000000..002a927
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02d.formatted
@@ -0,0 +1,84 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+
+}
+
+trait GH4611Trait {
+
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+enum GH4611Enum {
+
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+interface GH4611Interface {
+    /**
+     * Test.
+     */
+    public function method();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02e.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02e.formatted
new file mode 100644
index 0000000..9848ee7
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02e.formatted
@@ -0,0 +1,85 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+
+}
+
+trait GH4611Trait {
+
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+enum GH4611Enum {
+
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+interface GH4611Interface {
+
+    /**
+     * Test.
+     */
+    public function method();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02f.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02f.formatted
new file mode 100644
index 0000000..07fb467
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02f.formatted
@@ -0,0 +1,78 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+}
+
+trait GH4611Trait {
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+enum GH4611Enum {
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+interface GH4611Interface {
+
+    /**
+     * Test.
+     */
+    public function method();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02g.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02g.formatted
new file mode 100644
index 0000000..9e0b4ea
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02g.formatted
@@ -0,0 +1,80 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+}
+
+trait GH4611Trait {
+
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+enum GH4611Enum {
+
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+interface GH4611Interface {
+    /**
+     * Test.
+     */
+    public function method();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02h.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02h.formatted
new file mode 100644
index 0000000..8002f78
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php.testIssueGH4611BothMethodsAndProperties_02h.formatted
@@ -0,0 +1,81 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+
+    private int $field;
+
+    public function method1() {
+        
+    }
+
+    /**
+     * Test.
+     */
+    public function method2() {
+        
+    }
+}
+
+trait GH4611Trait {
+
+    private const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+enum GH4611Enum {
+
+    /**
+     * Test.
+     */
+    public const CONSTANT = 1;
+
+    /**
+     * Test.
+     */
+    case Case1 = 1;
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+interface GH4611Interface {
+
+    /**
+     * Test.
+     */
+    public function method();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php
new file mode 100644
index 0000000..3b9ce4c
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php
@@ -0,0 +1,56 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+class GH4611Class
+{
+
+public function method1() {
+}
+
+public function method2() {
+}
+
+}
+
+trait GH4611Trait
+{
+
+public function method1() {
+}
+
+public function method2() {
+}}
+
+enum GH4611Enum
+{
+
+public function method1() {
+}
+
+public function method2() {
+}}
+
+interface GH4611Interface
+{
+
+public function method1();
+
+public function method2();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_01a.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_01a.formatted
new file mode 100644
index 0000000..2caa37c
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_01a.formatted
@@ -0,0 +1,59 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+trait GH4611Trait
+{
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+enum GH4611Enum
+{
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+interface GH4611Interface
+{
+    public function method1();
+    public function method2();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_01b.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_01b.formatted
new file mode 100644
index 0000000..d310cbb
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_01b.formatted
@@ -0,0 +1,63 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+trait GH4611Trait
+{
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+enum GH4611Enum
+{
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+interface GH4611Interface
+{
+    public function method1();
+    public function method2();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_01c.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_01c.formatted
new file mode 100644
index 0000000..00d3246
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_01c.formatted
@@ -0,0 +1,68 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+trait GH4611Trait
+{
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+enum GH4611Enum
+{
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+interface GH4611Interface
+{
+
+    public function method1();
+
+    public function method2();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_01d.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_01d.formatted
new file mode 100644
index 0000000..1faaa10
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_01d.formatted
@@ -0,0 +1,64 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+trait GH4611Trait
+{
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+enum GH4611Enum
+{
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+interface GH4611Interface
+{
+
+    public function method1();
+
+    public function method2();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_02a.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_02a.formatted
new file mode 100644
index 0000000..0f54282
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_02a.formatted
@@ -0,0 +1,55 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+trait GH4611Trait {
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+enum GH4611Enum {
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+interface GH4611Interface {
+    public function method1();
+    public function method2();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_02b.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_02b.formatted
new file mode 100644
index 0000000..438bcad
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_02b.formatted
@@ -0,0 +1,59 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+trait GH4611Trait {
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+enum GH4611Enum {
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+interface GH4611Interface {
+    public function method1();
+    public function method2();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_02c.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_02c.formatted
new file mode 100644
index 0000000..d68f81f
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_02c.formatted
@@ -0,0 +1,64 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+trait GH4611Trait {
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+enum GH4611Enum {
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+
+}
+
+interface GH4611Interface {
+
+    public function method1();
+
+    public function method2();
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_02d.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_02d.formatted
new file mode 100644
index 0000000..4f4fb7a
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Methods.php.testIssueGH4611Methods_02d.formatted
@@ -0,0 +1,60 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+trait GH4611Trait {
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+enum GH4611Enum {
+
+    public function method1() {
+        
+    }
+
+    public function method2() {
+        
+    }
+}
+
+interface GH4611Interface {
+
+    public function method1();
+
+    public function method2();
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php
new file mode 100644
index 0000000..397f414
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php
@@ -0,0 +1,41 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+class GH4611Class
+{
+
+private int $field;
+
+}
+
+trait GH4611Trait
+{
+private const CONSTANT=1;
+
+}
+
+enum GH4611Enum
+{
+case Case1 = 1;
+}
+
+interface GH4611Interface
+{
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_01a.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_01a.formatted
new file mode 100644
index 0000000..cc7042e
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_01a.formatted
@@ -0,0 +1,40 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+    private int $field;
+}
+
+trait GH4611Trait
+{
+    private const CONSTANT = 1;
+}
+
+enum GH4611Enum
+{
+    case Case1 = 1;
+}
+
+interface GH4611Interface
+{
+    
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_01b.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_01b.formatted
new file mode 100644
index 0000000..38ccd49
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_01b.formatted
@@ -0,0 +1,43 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+    private int $field;
+
+}
+
+trait GH4611Trait
+{
+    private const CONSTANT = 1;
+
+}
+
+enum GH4611Enum
+{
+    case Case1 = 1;
+
+}
+
+interface GH4611Interface
+{
+    
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_01c.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_01c.formatted
new file mode 100644
index 0000000..59373b0
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_01c.formatted
@@ -0,0 +1,46 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+
+    private int $field;
+
+}
+
+trait GH4611Trait
+{
+
+    private const CONSTANT = 1;
+
+}
+
+enum GH4611Enum
+{
+
+    case Case1 = 1;
+
+}
+
+interface GH4611Interface
+{
+    
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_01d.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_01d.formatted
new file mode 100644
index 0000000..752b273
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_01d.formatted
@@ -0,0 +1,43 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class
+{
+
+    private int $field;
+}
+
+trait GH4611Trait
+{
+
+    private const CONSTANT = 1;
+}
+
+enum GH4611Enum
+{
+
+    case Case1 = 1;
+}
+
+interface GH4611Interface
+{
+    
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_02a.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_02a.formatted
new file mode 100644
index 0000000..8497413
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_02a.formatted
@@ -0,0 +1,36 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+    private int $field;
+}
+
+trait GH4611Trait {
+    private const CONSTANT = 1;
+}
+
+enum GH4611Enum {
+    case Case1 = 1;
+}
+
+interface GH4611Interface {
+    
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_02b.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_02b.formatted
new file mode 100644
index 0000000..e201b22
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_02b.formatted
@@ -0,0 +1,39 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+    private int $field;
+
+}
+
+trait GH4611Trait {
+    private const CONSTANT = 1;
+
+}
+
+enum GH4611Enum {
+    case Case1 = 1;
+
+}
+
+interface GH4611Interface {
+    
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_02c.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_02c.formatted
new file mode 100644
index 0000000..9b4959b
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_02c.formatted
@@ -0,0 +1,42 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+
+    private int $field;
+
+}
+
+trait GH4611Trait {
+
+    private const CONSTANT = 1;
+
+}
+
+enum GH4611Enum {
+
+    case Case1 = 1;
+
+}
+
+interface GH4611Interface {
+    
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_02d.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_02d.formatted
new file mode 100644
index 0000000..2cfb818
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/issueGH4611Properties.php.testIssueGH4611Properties_02d.formatted
@@ -0,0 +1,39 @@
+<?php
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+class GH4611Class {
+
+    private int $field;
+}
+
+trait GH4611Trait {
+
+    private const CONSTANT = 1;
+}
+
+enum GH4611Enum {
+
+    case Case1 = 1;
+}
+
+interface GH4611Interface {
+    
+}
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxAfterFields_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxAfterFields_01b.php.formatted
index 7b49b42..19c116a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxAfterFields_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxAfterFields_01b.php.formatted
@@ -61,5 +61,4 @@
     #[A(1)]
     #[A(2)]
     private Test $field8;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxAfterFields_02b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxAfterFields_02b.php.formatted
index b6c69d1..5f89ab6 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxAfterFields_02b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxAfterFields_02b.php.formatted
@@ -25,14 +25,12 @@
 
     #[A(1)]
     public int|string $field1 = 1;
-
 }
 
 class AttributeSyntax2 {
 
     #[A(1)] // comment
     public int $field2 = 1;
-
 }
 
 class AttributeSyntax3 {
@@ -42,7 +40,6 @@
      */
     #[A(1)]
     public $field3 = 1;
-
 }
 
 class AttributeSyntax4 {
@@ -52,7 +49,6 @@
      * comment1
      */
     public static $field4 = 1;
-
 }
 
 class AttributeSyntax5 {
@@ -65,7 +61,6 @@
      * comment2
      */
     public $field5;
-
 }
 
 class AttributeSyntax6 {
@@ -73,7 +68,6 @@
     #[A(1)]
     // comment
     private int|bool $field6 = 1;
-
 }
 
 class AttributeSyntax7 {
@@ -81,7 +75,6 @@
     // comment
     #[A]
     private int|bool $field7 = 1;
-
 }
 
 class AttributeSyntax8 {
@@ -89,21 +82,18 @@
     #[A(1)]
     #[A(2)]
     private Test $field8;
-
 }
 
 class AttributeSyntaxConst1 {
 
     #[A(1)]
     public const CONSTANT1 = 1;
-
 }
 
 class AttributeSyntaxConst2 {
 
     #[A(1)] // comment
     public const CONSTANT2 = 1;
-
 }
 
 class AttributeSyntaxConst3 {
@@ -113,7 +103,6 @@
      */
     #[A(1)]
     public const CONSTANT3 = 3;
-
 }
 
 class AttributeSyntaxConst4 {
@@ -123,7 +112,6 @@
      * comment1
      */
     public const CONSTANT4 = 4;
-
 }
 
 class AttributeSyntaxConst5 {
@@ -136,7 +124,6 @@
      * comment2
      */
     private const CONSTANT5 = 5;
-
 }
 
 class AttributeSyntaxConst6 {
@@ -144,7 +131,6 @@
     #[A(1)]
     // comment
     const CONSTANT6 = 6;
-
 }
 
 class AttributeSyntaxConst7 {
@@ -152,7 +138,6 @@
     // comment
     #[A]
     public const CONSTANT7 = 7;
-
 }
 
 class AttributeSyntaxConst8 {
@@ -160,5 +145,4 @@
     #[A(1)]
     #[A(2)]
     public const CONSTANT8 = 8;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxAfterFunction_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxAfterFunction_01b.php.formatted
index fd5a70d..c4b5623 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxAfterFunction_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxAfterFunction_01b.php.formatted
@@ -78,7 +78,6 @@
     public function test8(): void {
         
     }
-
 }
 
 #[A(1)]
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_01a.php.formatted
index b0e403a..59ac802 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_01a.php.formatted
@@ -60,5 +60,4 @@
     #[A(1)]
     #[A(2)]
     private Test $field8;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_01b.php.formatted
index 15dd39f..3b8c560 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_01b.php.formatted
@@ -61,5 +61,4 @@
     #[A(1)]
     #[A(2)]
     private Test $field8;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_02a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_02a.php.formatted
index c816b2c..c0f85a4 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_02a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_02a.php.formatted
@@ -24,13 +24,11 @@
 class AttributeSyntax1 {
     #[A(1)]
     public int|string $field1 = 1;
-
 }
 
 class AttributeSyntax2 {
     #[A(1)] // comment
     public int $field2 = 1;
-
 }
 
 class AttributeSyntax3 {
@@ -39,7 +37,6 @@
      */
     #[A(1)]
     public $field3 = 1;
-
 }
 
 class AttributeSyntax4 {
@@ -48,7 +45,6 @@
      * comment1
      */
     public static $field4 = 1;
-
 }
 
 class AttributeSyntax5 {
@@ -60,40 +56,34 @@
      * comment2
      */
     public $field5;
-
 }
 
 class AttributeSyntax6 {
     #[A(1)]
     // comment
     private int|bool $field6 = 1;
-
 }
 
 class AttributeSyntax7 {
     // comment
     #[A]
     private int|bool $field7 = 1;
-
 }
 
 class AttributeSyntax8 {
     #[A(1)]
     #[A(2)]
     private Test $field8;
-
 }
 
 class AttributeSyntaxConst1 {
     #[A(1)]
     public const CONSTANT1 = 1;
-
 }
 
 class AttributeSyntaxConst2 {
     #[A(1)] // comment
     public const CONSTANT2 = 1;
-
 }
 
 class AttributeSyntaxConst3 {
@@ -102,7 +92,6 @@
      */
     #[A(1)]
     public const CONSTANT3 = 3;
-
 }
 
 class AttributeSyntaxConst4 {
@@ -111,7 +100,6 @@
      * comment1
      */
     public const CONSTANT4 = 4;
-
 }
 
 class AttributeSyntaxConst5 {
@@ -123,26 +111,22 @@
      * comment2
      */
     private const CONSTANT5 = 5;
-
 }
 
 class AttributeSyntaxConst6 {
     #[A(1)]
     // comment
     const CONSTANT6 = 6;
-
 }
 
 class AttributeSyntaxConst7 {
     // comment
     #[A]
     public const CONSTANT7 = 7;
-
 }
 
 class AttributeSyntaxConst8 {
     #[A(1)]
     #[A(2)]
     public const CONSTANT8 = 8;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_02b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_02b.php.formatted
index d63088c..c1b1cb4 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_02b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFields_02b.php.formatted
@@ -25,14 +25,12 @@
 
     #[A(1)]
     public int|string $field1 = 1;
-
 }
 
 class AttributeSyntax2 {
 
     #[A(1)] // comment
     public int $field2 = 1;
-
 }
 
 class AttributeSyntax3 {
@@ -42,7 +40,6 @@
      */
     #[A(1)]
     public $field3 = 1;
-
 }
 
 class AttributeSyntax4 {
@@ -52,7 +49,6 @@
      * comment1
      */
     public static $field4 = 1;
-
 }
 
 class AttributeSyntax5 {
@@ -65,7 +61,6 @@
      * comment2
      */
     public $field5;
-
 }
 
 class AttributeSyntax6 {
@@ -73,7 +68,6 @@
     #[A(1)]
     // comment
     private int|bool $field6 = 1;
-
 }
 
 class AttributeSyntax7 {
@@ -81,7 +75,6 @@
     // comment
     #[A]
     private int|bool $field7 = 1;
-
 }
 
 class AttributeSyntax8 {
@@ -89,21 +82,18 @@
     #[A(1)]
     #[A(2)]
     private Test $field8;
-
 }
 
 class AttributeSyntaxConst1 {
 
     #[A(1)]
     public const CONSTANT1 = 1;
-
 }
 
 class AttributeSyntaxConst2 {
 
     #[A(1)] // comment
     public const CONSTANT2 = 1;
-
 }
 
 class AttributeSyntaxConst3 {
@@ -113,7 +103,6 @@
      */
     #[A(1)]
     public const CONSTANT3 = 3;
-
 }
 
 class AttributeSyntaxConst4 {
@@ -123,7 +112,6 @@
      * comment1
      */
     public const CONSTANT4 = 4;
-
 }
 
 class AttributeSyntaxConst5 {
@@ -136,7 +124,6 @@
      * comment2
      */
     private const CONSTANT5 = 5;
-
 }
 
 class AttributeSyntaxConst6 {
@@ -144,7 +131,6 @@
     #[A(1)]
     // comment
     const CONSTANT6 = 6;
-
 }
 
 class AttributeSyntaxConst7 {
@@ -152,7 +138,6 @@
     // comment
     #[A]
     public const CONSTANT7 = 7;
-
 }
 
 class AttributeSyntaxConst8 {
@@ -160,5 +145,4 @@
     #[A(1)]
     #[A(2)]
     public const CONSTANT8 = 8;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFunction_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFunction_01a.php.formatted
index beb526c..6fb48a7 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFunction_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFunction_01a.php.formatted
@@ -77,7 +77,6 @@
     public function test8(): void {
         
     }
-
 }
 
 #[A(1)]
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFunction_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFunction_01b.php.formatted
index 3247448..f73f452 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFunction_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBeforeFunction_01b.php.formatted
@@ -86,7 +86,6 @@
     public function test8(): void {
         
     }
-
 }
 
 
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_01a.php.formatted
index f7bff66..883aaa0 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_01a.php.formatted
@@ -88,5 +88,4 @@
     // comment
     #[A]
     private int|bool $field9 = 1;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_01b.php.formatted
index 19a11f0..81fa668 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_01b.php.formatted
@@ -103,5 +103,4 @@
     // comment
     #[A]
     private int|bool $field9 = 1;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_02a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_02a.php.formatted
index f7bff66..883aaa0 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_02a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_02a.php.formatted
@@ -88,5 +88,4 @@
     // comment
     #[A]
     private int|bool $field9 = 1;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_02b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_02b.php.formatted
index 19a11f0..81fa668 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_02b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php80/AttributeSyntaxBetweenFields_02b.php.formatted
@@ -103,5 +103,4 @@
     // comment
     #[A]
     private int|bool $field9 = 1;
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLAfter_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLAfter_01a.php.formatted
index 43d3fa8..4818c24 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLAfter_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLAfter_01a.php.formatted
@@ -34,7 +34,6 @@
     public static function staticTest(Foo&Bar $param): void {
         
     }
-
 }
 
 #[Attr]
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLAfter_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLAfter_01b.php.formatted
index cd19628..4818c24 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLAfter_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLAfter_01b.php.formatted
@@ -34,7 +34,6 @@
     public static function staticTest(Foo&Bar $param): void {
         
     }
-
 }
 
 #[Attr]
@@ -48,7 +47,6 @@
 
     #[AAA]
     const Bar = 2;
-
 }
 
 enum WithDoc {
@@ -67,7 +65,6 @@
      * test
      */
     const Bar = 2;
-
 }
 
 enum BackingTypeInt: int {
@@ -76,7 +73,6 @@
 
     case A = self::CONSTANT;
     case B = 2;
-
 }
 
 enum BackingTypeString: string {
@@ -93,5 +89,4 @@
      */
     #[AAA]
     case B = "testB";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBefore_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBefore_01a.php.formatted
index 5bed6d3..d348cba 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBefore_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBefore_01a.php.formatted
@@ -33,7 +33,6 @@
     public static function staticTest(Foo&Bar $param): void {
         
     }
-
 }
 
 #[Attr]
@@ -46,7 +45,6 @@
 
     #[AAA]
     const Bar = 2;
-
 }
 
 enum WithDoc {
@@ -64,7 +62,6 @@
      * test
      */
     const Bar = 2;
-
 }
 
 enum BackingTypeInt: int {
@@ -72,7 +69,6 @@
 
     case A = self::CONSTANT;
     case B = 2;
-
 }
 
 enum BackingTypeString: string {
@@ -88,5 +84,4 @@
      */
     #[AAA]
     case B = "testB";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBefore_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBefore_01b.php.formatted
index cd19628..4818c24 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBefore_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBefore_01b.php.formatted
@@ -34,7 +34,6 @@
     public static function staticTest(Foo&Bar $param): void {
         
     }
-
 }
 
 #[Attr]
@@ -48,7 +47,6 @@
 
     #[AAA]
     const Bar = 2;
-
 }
 
 enum WithDoc {
@@ -67,7 +65,6 @@
      * test
      */
     const Bar = 2;
-
 }
 
 enum BackingTypeInt: int {
@@ -76,7 +73,6 @@
 
     case A = self::CONSTANT;
     case B = 2;
-
 }
 
 enum BackingTypeString: string {
@@ -93,5 +89,4 @@
      */
     #[AAA]
     case B = "testB";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBetween_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBetween_01a.php.formatted
index 84073b8..72b5aff 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBetween_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBetween_01a.php.formatted
@@ -34,7 +34,6 @@
     public static function staticTest(Foo&Bar $param): void {
         
     }
-
 }
 
 #[Attr]
@@ -49,7 +48,6 @@
 
     #[AAA]
     const Bar = 2;
-
 }
 
 enum WithDoc {
@@ -69,7 +67,6 @@
      * test
      */
     const Bar = 2;
-
 }
 
 enum BackingTypeInt: int {
@@ -78,7 +75,6 @@
 
     case A = self::CONSTANT;
     case B = 2;
-
 }
 
 enum BackingTypeString: string {
@@ -96,5 +92,4 @@
      */
     #[AAA]
     case B = "testB";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBetween_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBetween_01b.php.formatted
index 1360135..1374b26 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBetween_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/blankLines/php81/enumCasesBLBetween_01b.php.formatted
@@ -38,7 +38,6 @@
     public static function staticTest(Foo&Bar $param): void {
         
     }
-
 }
 
 #[Attr]
@@ -53,7 +52,6 @@
 
     #[AAA]
     const Bar = 2;
-
 }
 
 enum WithDoc {
@@ -73,7 +71,6 @@
      * test
      */
     const Bar = 2;
-
 }
 
 enum BackingTypeInt: int {
@@ -84,7 +81,6 @@
 
 
     case B = 2;
-
 }
 
 enum BackingTypeString: string {
@@ -102,5 +98,4 @@
      */
     #[AAA]
     case B = "testB";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/broken/constructorPropertyPromotion.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/broken/constructorPropertyPromotion.php.formatted
index 4e991a0..c3a6a9d 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/broken/constructorPropertyPromotion.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/broken/constructorPropertyPromotion.php.formatted
@@ -26,5 +26,4 @@
     ) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/comment06.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/comment06.php.formatted
index add4fc9..d723ef7 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/comment06.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/comment06.php.formatted
@@ -20,7 +20,6 @@
     function fasdfa($param) {
         
     }
-
 }
 
 /*
@@ -33,7 +32,6 @@
     function __construct() {
         
     }
-
 }
 
 /**
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/html/issue183268.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/html/issue183268.php.formatted
index d18be18..3e663da 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/html/issue183268.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/html/issue183268.php.formatted
@@ -136,6 +136,5 @@
     public function toXHTML() {
         $this->mode->modeToXHTML();
     }
-
 }
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/initialIndent01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/initialIndent01.php.formatted
index 72d311f..ea4ceb5 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/initialIndent01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/initialIndent01.php.formatted
@@ -9,7 +9,6 @@
     function method6($param) {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue162320.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue162320.php.formatted
index 5762072..a89dde3 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue162320.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue162320.php.formatted
@@ -14,7 +14,6 @@
     // cmt
     echo 1;
   }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue164219.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue164219.php.formatted
index f0f660f..488a89d 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue164219.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue164219.php.formatted
@@ -19,7 +19,6 @@
   function function_name() {
     ;
   }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue166550.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue166550.php.formatted
index 32c350a..6797c27 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue166550.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue166550.php.formatted
@@ -7,7 +7,6 @@
         'part-time' => 'Part time',
         'freelance' => 'Freelance',
     );
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue167791.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue167791.php.formatted
index 4116a0c..8698954 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue167791.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue167791.php.formatted
@@ -17,7 +17,6 @@
          $this->foo = 'Foo';
          $this->bar = array('Bar1', 'Bar2', 'Bar3');
        }
-
      }
 
      $foo = new foo();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue168396_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue168396_01.php.formatted
index 6b35351..795ceb8 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue168396_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue168396_01.php.formatted
@@ -31,7 +31,6 @@
                     "test1" => "passed"
         ));
     }
-
 }
 ?>
 
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue168396_01_psr12.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue168396_01_psr12.php.formatted
index e7e01f5..606cd5f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue168396_01_psr12.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue168396_01_psr12.php.formatted
@@ -32,7 +32,6 @@
                 )
         );
     }
-
 }
 ?>
 
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue171309.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue171309.php.formatted
index 8de9764..ead704c 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue171309.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue171309.php.formatted
@@ -14,7 +14,6 @@
       $this->_flashMessenger->addMessage('Chyba: ' . $e);
     }
   }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue181588.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue181588.php.formatted
index 35f3c8a..2881136 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue181588.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue181588.php.formatted
@@ -18,7 +18,6 @@
 
         return array($sPhase, $sTeam);
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue182072_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue182072_01.php.formatted
index e46a5e3..6a072d6 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue182072_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue182072_01.php.formatted
@@ -12,7 +12,6 @@
                 "invalid" => "Tato položka byla špatnÄ› vyplnÄ›na")),
         ));
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue183200_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue183200_01.php.formatted
index e07cb05..e04535c 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue183200_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue183200_01.php.formatted
@@ -8,7 +8,6 @@
             )
         )
     );
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue184687_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue184687_01.php.formatted
index 64360ff..733aa4a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue184687_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue184687_01.php.formatted
@@ -14,7 +14,6 @@
             }
             echo 'end of cycle';
         }
-
     }
 
     echo \BLA;
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue188431_03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue188431_03.php.formatted
index d96f98c..3fabb72 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue188431_03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue188431_03.php.formatted
@@ -127,7 +127,6 @@
 
         return $img;
     }
-
 }
 
 //**********************************************************************************
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue190010_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue190010_02.php.formatted
index e326810..7181928 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue190010_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue190010_02.php.formatted
@@ -13,7 +13,6 @@
             'items_item_comment' => array('_type' => G_CreoleDataFlow::TYPE_STRING),
         )));
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue196405.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue196405.php.formatted
index 6b45527..ea4460b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue196405.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue196405.php.formatted
@@ -12,7 +12,6 @@
                 1, 2
         );
     }
-
 }
 
 $y = foo(1,
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue196405_psr12.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue196405_psr12.php.formatted
index 7ec894b..43eee5d 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue196405_psr12.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue196405_psr12.php.formatted
@@ -12,7 +12,6 @@
                 1, 2
         );
     }
-
 }
 
 $y = foo(
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue197698.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue197698.php.formatted
index d1af8dc..29a3f59 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue197698.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue197698.php.formatted
@@ -13,7 +13,6 @@
     private $test;
 
     const GGGG = 'ff';
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue199298_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue199298_01.php.formatted
index 27685f1..f536c8f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue199298_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue199298_01.php.formatted
@@ -16,7 +16,6 @@
     private function moveNode($params = array()) {
         return true;
     }
-
 }
 
 //end class
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue199654.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue199654.php.formatted
index 2cb24e7..6829585 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue199654.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue199654.php.formatted
@@ -11,7 +11,6 @@
     private
             $field1,
             $field2;
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue218877.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue218877.php.formatted
index 0982828..ca9737a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue218877.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue218877.php.formatted
@@ -13,7 +13,6 @@
         else
             2;
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue227287.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue227287.php.formatted
index d93c548..58d2542 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue227287.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue227287.php.formatted
@@ -21,7 +21,6 @@
             3,
         );
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue233353_03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue233353_03.php.formatted
index 90cf7fc..7ee350a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue233353_03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue233353_03.php.formatted
@@ -7,7 +7,6 @@
             return 1;
         };
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue233353_04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue233353_04.php.formatted
index 0f02fdc..b98978a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue233353_04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue233353_04.php.formatted
@@ -7,7 +7,6 @@
             return $a - $b;
         });
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue247047.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue247047.php.formatted
index 857b5db..f354d7b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue247047.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue247047.php.formatted
@@ -18,5 +18,4 @@
             }
         ];
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue259111.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue259111.php.formatted
index e88d1ee..b347606 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue259111.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue259111.php.formatted
@@ -25,7 +25,6 @@
     public function __invoke() {
         echo "class __invoke" . PHP_EOL;
     }
-
 }
 
 (new Bar())();
@@ -52,7 +51,6 @@
     public static function test() {
         echo "array call" . PHP_EOL;
     }
-
 }
 
 $array = new ArrayCall();
@@ -77,5 +75,4 @@
     public function doSomething() {
         ($this->callable)();
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue269707.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue269707.php.formatted
index 755aa84..68d8de6 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue269707.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue269707.php.formatted
@@ -14,5 +14,4 @@
             }
         };
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/issue271062.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/issue271062.php.formatted
index 9bd33ce..791be29 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/issue271062.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/issue271062.php.formatted
@@ -23,5 +23,4 @@
         };
         $this->test();
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/namespaces1.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/namespaces1.php.formatted
index 040dad1..b9302db 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/namespaces1.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/namespaces1.php.formatted
@@ -7,7 +7,6 @@
     public function __construct() {
         echo 'test';
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/namespaces_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/namespaces_02.php.formatted
index 40c4ff1..cf6e0fb 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/namespaces_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/namespaces_02.php.formatted
@@ -10,7 +10,6 @@
             echo $this->testFunc();
             return null;
         }
-
     }
 
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/namespaces_03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/namespaces_03.php.formatted
index b0de975..abbbea5 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/namespaces_03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/namespaces_03.php.formatted
@@ -13,7 +13,6 @@
             echo $this->testFunc();
             return null;
         }
-
     }
 
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/namespaces_04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/namespaces_04.php.formatted
index f6fdead..d8ce2c7 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/namespaces_04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/namespaces_04.php.formatted
@@ -13,7 +13,6 @@
             echo $this->testFunc();
             return null;
             }
-
         }
 
     }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/namespaces_05.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/namespaces_05.php.formatted
index b51e041..cda8220 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/namespaces_05.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/namespaces_05.php.formatted
@@ -11,7 +11,6 @@
             echo $this->testFunc();
             return null;
         }
-
     }
 
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_01.php.formatted
index af7ffe7..cb51b1b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_01.php.formatted
@@ -41,7 +41,6 @@
     public static function staticMethod(#[Class1\Test(9)] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 #[ChildClass1(1)]
@@ -69,7 +68,6 @@
     public static function staticMethod(#[Trait1] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 $anon = new #[Anon1(1)] class() {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_02a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_02a.php.formatted
index a3416c3..a120dce 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_02a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_02a.php.formatted
@@ -51,5 +51,4 @@
     private function test() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_02b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_02b.php.formatted
index 2284416..10d5b15 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_02b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_02b.php.formatted
@@ -51,5 +51,4 @@
     private function test() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_03a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_03a.php.formatted
index e7637bb..bd6408a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_03a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_03a.php.formatted
@@ -70,5 +70,4 @@
     private function test() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_03b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_03b.php.formatted
index f9054cb..17f3175 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_03b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/attributeSyntax_03b.php.formatted
@@ -70,5 +70,4 @@
     private function test() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/constructorPropertyPromotion_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/constructorPropertyPromotion_01a.php.formatted
index 8182e79..34c8843 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/constructorPropertyPromotion_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/constructorPropertyPromotion_01a.php.formatted
@@ -24,7 +24,6 @@
     public function __construct(private int $field1, private ?string $field2, public int|string $field3, protected $field4) {
         
     }
-
 }
 
 class ConstructorPropertyPromotion1b {
@@ -37,7 +36,6 @@
     ) {
         
     }
-
 }
 
 class ConstructorPropertyPromotion2a {
@@ -45,7 +43,6 @@
     public function __construct(private int $field1 = 1, private ?string $field2 = null, public int|string $field3 = 2, protected $field4 = "default value",) {
         
     }
-
 }
 
 class ConstructorPropertyPromotion2b {
@@ -58,7 +55,6 @@
     ) {
         
     }
-
 }
 
 class ConstructorPropertyPromotion3a {
@@ -66,7 +62,6 @@
     public function __construct($param1, private int $field1, private ?string $field2 = "default value", string|int $param2 = "default value") {
         
     }
-
 }
 
 class ConstructorPropertyPromotion3b {
@@ -79,7 +74,6 @@
     ) {
         
     }
-
 }
 
 class ConstructorPropertyPromotion4a {
@@ -87,7 +81,6 @@
     public function __construct(private int $field1, mixed $param1 = "default value", private ?string $field2 = "default value",) {
         
     }
-
 }
 
 class ConstructorPropertyPromotion4b {
@@ -99,5 +92,4 @@
     ) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/constructorPropertyPromotion_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/constructorPropertyPromotion_01b.php.formatted
index c09171f..49b1bde 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/constructorPropertyPromotion_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/constructorPropertyPromotion_01b.php.formatted
@@ -24,7 +24,6 @@
     public function __construct(private int $field1, private ?string $field2, public int|string $field3, protected $field4) {
         
     }
-
 }
 
 class ConstructorPropertyPromotion1b {
@@ -37,7 +36,6 @@
     ) {
         
     }
-
 }
 
 class ConstructorPropertyPromotion2a {
@@ -45,7 +43,6 @@
     public function __construct(private int $field1 = 1, private ?string $field2 = null, public int|string $field3 = 2, protected $field4 = "default value",) {
         
     }
-
 }
 
 class ConstructorPropertyPromotion2b {
@@ -58,7 +55,6 @@
     ) {
         
     }
-
 }
 
 class ConstructorPropertyPromotion3a {
@@ -66,7 +62,6 @@
     public function __construct($param1, private int $field1, private ?string $field2 = "default value", string|int $param2 = "default value") {
         
     }
-
 }
 
 class ConstructorPropertyPromotion3b {
@@ -79,7 +74,6 @@
     ) {
         
     }
-
 }
 
 class ConstructorPropertyPromotion4a {
@@ -87,7 +81,6 @@
     public function __construct(private int $field1, mixed $param1 = "default value", private ?string $field2 = "default value",) {
         
     }
-
 }
 
 class ConstructorPropertyPromotion4b {
@@ -99,5 +92,4 @@
     ) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_NewLineIndented_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_NewLineIndented_01.php.formatted
index eacd5f6..09a9999 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_NewLineIndented_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_NewLineIndented_01.php.formatted
@@ -156,7 +156,6 @@
     public function match(): void {
         echo "Context Sensitive Lexer" . PHP_EOL;
     }
-
 }
 
 $instance = new MatchExpression();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_NewLine_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_NewLine_01.php.formatted
index f94ce81..11041f3 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_NewLine_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_NewLine_01.php.formatted
@@ -156,7 +156,6 @@
     public function match(): void {
         echo "Context Sensitive Lexer" . PHP_EOL;
     }
-
 }
 
 $instance = new MatchExpression();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_PreserveExisting_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_PreserveExisting_01.php.formatted
index f810530..0859523 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_PreserveExisting_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_PreserveExisting_01.php.formatted
@@ -145,7 +145,6 @@
     public function match(): void {
         echo "Context Sensitive Lexer" . PHP_EOL;
     }
-
 }
 
 $instance = new MatchExpression();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_SameLine_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_SameLine_01.php.formatted
index 4b3687b..6c8d373 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_SameLine_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/matchExpression_SameLine_01.php.formatted
@@ -142,7 +142,6 @@
     public function match(): void {
         echo "Context Sensitive Lexer" . PHP_EOL;
     }
-
 }
 
 $instance = new MatchExpression();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/namedArguments_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/namedArguments_01a.php.formatted
index 96520c7..51b4f25 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/namedArguments_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/namedArguments_01a.php.formatted
@@ -36,7 +36,6 @@
     ) {
         
     }
-
 }
 
 class ExampleClass extends ParentClass {
@@ -55,7 +54,6 @@
     public static function staticTest(ExampleClass $exampleClass, int $test) {
         
     }
-
 }
 
 $instance = new ExampleClass($test1, test2: $test2);
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php80/namedArguments_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php80/namedArguments_01b.php.formatted
index 8e85c5d..7151b67 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php80/namedArguments_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php80/namedArguments_01b.php.formatted
@@ -36,7 +36,6 @@
     ) {
         
     }
-
 }
 
 class ExampleClass extends ParentClass {
@@ -55,7 +54,6 @@
     public static function staticTest(ExampleClass $exampleClass, int $test) {
         
     }
-
 }
 
 $instance = new ExampleClass($test1, test2: $test2);
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerationsBP_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerationsBP_01.php.formatted
index bfcbed0..f07fe71 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerationsBP_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerationsBP_01.php.formatted
@@ -35,7 +35,6 @@
     public static function staticTest(Foo&Bar $param): void {
         
     }
-
 }
 
 #[Attr]
@@ -50,7 +49,6 @@
 
     #[AAA]
     const Bar = 2;
-
 }
 
 enum WithDoc
@@ -70,7 +68,6 @@
      * test
      */
     const Bar = 2;
-
 }
 
 enum BackingTypeInt: int
@@ -80,7 +77,6 @@
 
     case A = self::CONSTANT;
     case B = 2;
-
 }
 
 enum BackingTypeString: string
@@ -98,5 +94,4 @@
      */
     #[AAA]
     case B = "testB";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerationsBP_03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerationsBP_03.php.formatted
index cd19628..4818c24 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerationsBP_03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerationsBP_03.php.formatted
@@ -34,7 +34,6 @@
     public static function staticTest(Foo&Bar $param): void {
         
     }
-
 }
 
 #[Attr]
@@ -48,7 +47,6 @@
 
     #[AAA]
     const Bar = 2;
-
 }
 
 enum WithDoc {
@@ -67,7 +65,6 @@
      * test
      */
     const Bar = 2;
-
 }
 
 enum BackingTypeInt: int {
@@ -76,7 +73,6 @@
 
     case A = self::CONSTANT;
     case B = 2;
-
 }
 
 enum BackingTypeString: string {
@@ -93,5 +89,4 @@
      */
     #[AAA]
     case B = "testB";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerationsBP_04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerationsBP_04.php.formatted
index 2790529..8e94bae 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerationsBP_04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerationsBP_04.php.formatted
@@ -35,7 +35,6 @@
     public static function staticTest(Foo&Bar $param): void {
         
     }
-
     }
 
 #[Attr]
@@ -50,7 +49,6 @@
 
     #[AAA]
     const Bar = 2;
-
     }
 
 enum WithDoc
@@ -70,7 +68,6 @@
      * test
      */
     const Bar = 2;
-
     }
 
 enum BackingTypeInt: int
@@ -80,7 +77,6 @@
 
     case A = self::CONSTANT;
     case B = 2;
-
     }
 
 enum BackingTypeString: string
@@ -98,5 +94,4 @@
      */
     #[AAA]
     case B = "testB";
-
     }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerations_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerations_01.php.formatted
index cd19628..4818c24 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerations_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php81/enumerations_01.php.formatted
@@ -34,7 +34,6 @@
     public static function staticTest(Foo&Bar $param): void {
         
     }
-
 }
 
 #[Attr]
@@ -48,7 +47,6 @@
 
     #[AAA]
     const Bar = 2;
-
 }
 
 enum WithDoc {
@@ -67,7 +65,6 @@
      * test
      */
     const Bar = 2;
-
 }
 
 enum BackingTypeInt: int {
@@ -76,7 +73,6 @@
 
     case A = self::CONSTANT;
     case B = 2;
-
 }
 
 enum BackingTypeString: string {
@@ -93,5 +89,4 @@
      */
     #[AAA]
     case B = "testB";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php81/finalClassConstantsWithAttributes_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php81/finalClassConstantsWithAttributes_01.php.formatted
index a23ea9e..de24e75 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php81/finalClassConstantsWithAttributes_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php81/finalClassConstantsWithAttributes_01.php.formatted
@@ -62,7 +62,6 @@
 
     #[A("attribute")]
     protected final const PROTECTED_CONST5 = "foo", PROTECTED_CONST6 = "foo";
-
 }
 
 interface I {
@@ -75,5 +74,4 @@
 
     #[A("attribute")]
     public final const PUBLIC_CONST2 = "i";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php81/finalClassConstants_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php81/finalClassConstants_01.php.formatted
index f5e7727..a043629 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php81/finalClassConstants_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php81/finalClassConstants_01.php.formatted
@@ -35,7 +35,6 @@
     public final const PUBLIC_CONST5 = "foo", PUBLIC_CONST6 = "foo";
     private final const PRIVATE_CONST5 = "foo", PRIVATE_CONST6 = "foo";
     protected final const PROTECTED_CONST5 = "foo", PROTECTED_CONST6 = "foo";
-
 }
 
 interface I {
@@ -43,5 +42,4 @@
     final const IMPLICIT_CONST = "i";
     final public const PUBLIC_CONST1 = "i";
     public final const PUBLIC_CONST2 = "i";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php81/newInInitializers_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php81/newInInitializers_01.php.formatted
index a1501fc..957d0fc 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php81/newInInitializers_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php81/newInInitializers_01.php.formatted
@@ -59,7 +59,6 @@
     ) {
         
     }
-
 }
 
 class ParentClass {
@@ -71,5 +70,4 @@
     public static function method($self = new self, $parent = new parent) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php81/newInInitializers_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php81/newInInitializers_02.php.formatted
index a1501fc..957d0fc 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php81/newInInitializers_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php81/newInInitializers_02.php.formatted
@@ -59,7 +59,6 @@
     ) {
         
     }
-
 }
 
 class ParentClass {
@@ -71,5 +70,4 @@
     public static function method($self = new self, $parent = new parent) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php81/readonlyProperties_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php81/readonlyProperties_01.php.formatted
index ada4657..53322bb 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/php81/readonlyProperties_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/php81/readonlyProperties_01.php.formatted
@@ -46,7 +46,6 @@
     public function readonly(): void {
         
     }
-
 }
 
 trait ReadonlyPropertiesTrait {
@@ -76,5 +75,4 @@
     public function readonly(): void {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/152429_1.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/152429_1.php.formatted
index 8ad5847..0218a3c 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/152429_1.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/152429_1.php.formatted
@@ -20,5 +20,4 @@
     public function anotherone() {
         //blablabla
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/152429_1.php_10_10.formatted b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/152429_1.php_10_10.formatted
index e6ac8e6..2e92afc 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/152429_1.php_10_10.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/152429_1.php_10_10.formatted
@@ -20,5 +20,4 @@
           public function anotherone() {
                     //blablabla
           }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/152429_1.php_5_5.formatted b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/152429_1.php_5_5.formatted
index 271621f..9f4e222 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/152429_1.php_5_5.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/152429_1.php_5_5.formatted
@@ -20,5 +20,4 @@
      public function anotherone() {
           //blablabla
      }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/168396_1.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/168396_1.php.formatted
index 9cf67ce..a2146b9 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/168396_1.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/168396_1.php.formatted
@@ -13,7 +13,6 @@
           'four',
       )
   );
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173903.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173903.php.formatted
index f12b4b5e..8eadbd5 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173903.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173903.php.formatted
@@ -5,7 +5,6 @@
   function emptyFunction() {
     $a = 10;
   }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173903.php_10_10.formatted b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173903.php_10_10.formatted
index 431137f..4ad3963 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173903.php_10_10.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173903.php_10_10.formatted
@@ -5,7 +5,6 @@
           function emptyFunction() {
                     $a = 10;
           }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173903.php_5_5.formatted b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173903.php_5_5.formatted
index 0b99e32..d53fbe7 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173903.php_5_5.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173903.php_5_5.formatted
@@ -5,7 +5,6 @@
      function emptyFunction() {
           $a = 10;
      }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173908.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173908.php.formatted
index 8de9764..ead704c 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173908.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173908.php.formatted
@@ -14,7 +14,6 @@
       $this->_flashMessenger->addMessage('Chyba: ' . $e);
     }
   }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173908.php_10_10.formatted b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173908.php_10_10.formatted
index 0aaffc3..55c1026 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173908.php_10_10.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173908.php_10_10.formatted
@@ -14,7 +14,6 @@
                               $this->_flashMessenger->addMessage('Chyba: ' . $e);
                     }
           }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173908.php_5_5.formatted b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173908.php_5_5.formatted
index c8a32e9..bf1616e 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173908.php_5_5.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/qa/issues/stable_fixedIssues/173908.php_5_5.formatted
@@ -14,7 +14,6 @@
                $this->_flashMessenger->addMessage('Chyba: ' . $e);
           }
      }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/shortArrays3.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/shortArrays3.php.formatted
index 231d681..a82a018 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/shortArrays3.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/shortArrays3.php.formatted
@@ -20,7 +20,6 @@
       "Item 3" => 3
   ];
   public $number2 = 1;
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/shortArrays5.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/shortArrays5.php.formatted
index b7c6593..4fb0df7 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/shortArrays5.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/shortArrays5.php.formatted
@@ -9,7 +9,6 @@
             echo "false";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/simple_class_def.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/simple_class_def.php.formatted
index d8393d5..ed7dc1d 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/simple_class_def.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/simple_class_def.php.formatted
@@ -11,7 +11,6 @@
   function testFunc() {
     ;
   }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaceAfterType.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaceAfterType.php.formatted
index 5839fb0..faf883e 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaceAfterType.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaceAfterType.php.formatted
@@ -36,5 +36,4 @@
     public function isValid(float $length): bool {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/issue187665_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/issue187665_01.php.formatted
index a778453..984f1ab 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/issue187665_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/issue187665_01.php.formatted
@@ -5,7 +5,6 @@
     function test($param) {
         if ($this->test($param))
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/issue187665_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/issue187665_02.php.formatted
index 594cf19..762c635 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/issue187665_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/issue187665_02.php.formatted
@@ -5,7 +5,6 @@
     function test($param) {
         while ($this->test($param))
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/issue187864_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/issue187864_01.php.formatted
index 87354e1..3ed7cef 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/issue187864_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/issue187864_01.php.formatted
@@ -16,4 +16,3 @@
     echo "1";
 } while (true);
 
-
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundNullsafeOperator_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundNullsafeOperator_01a.php.formatted
index 4496ecd..91f77e5 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundNullsafeOperator_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundNullsafeOperator_01a.php.formatted
@@ -27,7 +27,6 @@
         $this->test ?-> test();
         $this->test() ?-> foo::$bar;
     }
-
 }
 
 $instance ?-> test();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundNullsafeOperator_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundNullsafeOperator_01b.php.formatted
index b32948d..e64d384 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundNullsafeOperator_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundNullsafeOperator_01b.php.formatted
@@ -27,7 +27,6 @@
         $this->test?->test();
         $this->test()?->foo::$bar;
     }
-
 }
 
 $instance?->test();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_01a.php.formatted
index f330241..5c79d7b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_01a.php.formatted
@@ -41,7 +41,6 @@
     public static function testStaticMethod(self | parent | null $param1, iterable | false $param2): self | parent | null {
         return null;
     }
-
 }
 
 trait UnionTypesTrait {
@@ -55,5 +54,4 @@
     ): iterable | false | Type1 | null {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_01b.php.formatted
index 7cd3f8a..3e27ba2 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_01b.php.formatted
@@ -41,7 +41,6 @@
     public static function testStaticMethod(self|parent|null $param1, iterable|false $param2): self|parent|null {
         return null;
     }
-
 }
 
 trait UnionTypesTrait {
@@ -55,5 +54,4 @@
     ): iterable|false|Type1|null {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_02a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_02a.php.formatted
index f330241..5c79d7b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_02a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_02a.php.formatted
@@ -41,7 +41,6 @@
     public static function testStaticMethod(self | parent | null $param1, iterable | false $param2): self | parent | null {
         return null;
     }
-
 }
 
 trait UnionTypesTrait {
@@ -55,5 +54,4 @@
     ): iterable | false | Type1 | null {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_02b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_02b.php.formatted
index 7cd3f8a..3e27ba2 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_02b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_02b.php.formatted
@@ -41,7 +41,6 @@
     public static function testStaticMethod(self|parent|null $param1, iterable|false $param2): self|parent|null {
         return null;
     }
-
 }
 
 trait UnionTypesTrait {
@@ -55,5 +54,4 @@
     ): iterable|false|Type1|null {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_03a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_03a.php.formatted
index 62a8ebd..56a8fa3 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_03a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_03a.php.formatted
@@ -32,5 +32,4 @@
     public function testNullableType(): self | static | null {
         return new static;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_03b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_03b.php.formatted
index a7100fb..0e00640 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_03b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceAroundUnionTypeSeparator_03b.php.formatted
@@ -32,5 +32,4 @@
     public static function testNullableType(): self|static|null {
         return new static;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_01a.php.formatted
index f0f41ac..409d0bc 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_01a.php.formatted
@@ -41,7 +41,6 @@
     public static function staticMethod(#[Class1\Test (9)] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 #[ChildClass1 (1)]
@@ -69,7 +68,6 @@
     public static function staticMethod(#[Trait1] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 $anon = new #[Anon1 (1)] class() {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_01b.php.formatted
index af7ffe7..cb51b1b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_01b.php.formatted
@@ -41,7 +41,6 @@
     public static function staticMethod(#[Class1\Test(9)] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 #[ChildClass1(1)]
@@ -69,7 +68,6 @@
     public static function staticMethod(#[Trait1] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 $anon = new #[Anon1(1)] class() {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_02a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_02a.php.formatted
index 817200e..689f88b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_02a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_02a.php.formatted
@@ -51,5 +51,4 @@
     private function test() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_02b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_02b.php.formatted
index a3416c3..a120dce 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_02b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeAttributeDeclParen_02b.php.formatted
@@ -51,5 +51,4 @@
     private function test() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchLeftBrace_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchLeftBrace_01.php.formatted
index 61ec19e..f2c75a4 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchLeftBrace_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchLeftBrace_01.php.formatted
@@ -142,7 +142,6 @@
     public function match(): void {
         echo "Context Sensitive Lexer" . PHP_EOL;
     }
-
 }
 
 $instance = new MatchExpression();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchLeftBrace_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchLeftBrace_02.php.formatted
index dd34178..160e723 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchLeftBrace_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchLeftBrace_02.php.formatted
@@ -142,7 +142,6 @@
     public function match(): void {
         echo "Context Sensitive Lexer" . PHP_EOL;
     }
-
 }
 
 $instance = new MatchExpression();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchParen_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchParen_01.php.formatted
index 61ec19e..f2c75a4 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchParen_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchParen_01.php.formatted
@@ -142,7 +142,6 @@
     public function match(): void {
         echo "Context Sensitive Lexer" . PHP_EOL;
     }
-
 }
 
 $instance = new MatchExpression();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchParen_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchParen_02.php.formatted
index 43ba410..5a73649 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchParen_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceBeforeMatchParen_02.php.formatted
@@ -142,7 +142,6 @@
     public function match(): void {
         echo "Context Sensitive Lexer" . PHP_EOL;
     }
-
 }
 
 $instance = new MatchExpression();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_01a.php.formatted
index 73462d4..77b80c6 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_01a.php.formatted
@@ -41,7 +41,6 @@
     public static function staticMethod(#[ Class1\Test(9) ] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 #[ ChildClass1(1) ]
@@ -69,7 +68,6 @@
     public static function staticMethod(#[ Trait1 ] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 $anon = new #[ Anon1(1) ] class() {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_01b.php.formatted
index af7ffe7..cb51b1b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_01b.php.formatted
@@ -41,7 +41,6 @@
     public static function staticMethod(#[Class1\Test(9)] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 #[ChildClass1(1)]
@@ -69,7 +68,6 @@
     public static function staticMethod(#[Trait1] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 $anon = new #[Anon1(1)] class() {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_02a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_02a.php.formatted
index a3416c3..a120dce 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_02a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_02a.php.formatted
@@ -51,5 +51,4 @@
     private function test() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_02b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_02b.php.formatted
index a3416c3..a120dce 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_02b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeBrackets_02b.php.formatted
@@ -51,5 +51,4 @@
     private function test() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_01a.php.formatted
index 28767d2..7e42b6f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_01a.php.formatted
@@ -41,7 +41,6 @@
     public static function staticMethod(#[Class1\Test( 9 )] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 #[ChildClass1( 1 )]
@@ -69,7 +68,6 @@
     public static function staticMethod(#[Trait1] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 $anon = new #[Anon1( 1 )] class() {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_01b.php.formatted
index af7ffe7..cb51b1b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_01b.php.formatted
@@ -41,7 +41,6 @@
     public static function staticMethod(#[Class1\Test(9)] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 #[ChildClass1(1)]
@@ -69,7 +68,6 @@
     public static function staticMethod(#[Trait1] int|string $param1): bool|int {
         return false;
     }
-
 }
 
 $anon = new #[Anon1(1)] class() {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_02a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_02a.php.formatted
index 613a61f..74dafa3 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_02a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_02a.php.formatted
@@ -51,5 +51,4 @@
     private function test() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_02b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_02b.php.formatted
index a3416c3..a120dce 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_02b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinAttributeDeclParens_02b.php.formatted
@@ -51,5 +51,4 @@
     private function test() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinMatchParen_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinMatchParen_01.php.formatted
index d98808a..be1bfa5 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinMatchParen_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinMatchParen_01.php.formatted
@@ -142,7 +142,6 @@
     public function match(): void {
         echo "Context Sensitive Lexer" . PHP_EOL;
     }
-
 }
 
 $instance = new MatchExpression();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinMatchParen_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinMatchParen_02.php.formatted
index 61ec19e..f2c75a4 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinMatchParen_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php80/spaceWithinMatchParen_02.php.formatted
@@ -142,7 +142,6 @@
     public function match(): void {
         echo "Context Sensitive Lexer" . PHP_EOL;
     }
-
 }
 
 $instance = new MatchExpression();
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_01a.php.formatted
index 380ed32..d87af85 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_01a.php.formatted
@@ -50,7 +50,6 @@
     public function returnType(): X & Y {
         return $this->test;
     }
-
 }
 
 trait TestTrait {
@@ -64,7 +63,6 @@
     public function returnType(): X & Y {
         return $this->test;
     }
-
 }
 
 interface TestInterfase {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_01b.php.formatted
index 77d0cc1..43f1485 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_01b.php.formatted
@@ -50,7 +50,6 @@
     public function returnType(): X&Y {
         return $this->test;
     }
-
 }
 
 trait TestTrait {
@@ -64,7 +63,6 @@
     public function returnType(): X&Y {
         return $this->test;
     }
-
 }
 
 interface TestInterfase {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_02a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_02a.php.formatted
index 380ed32..d87af85 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_02a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_02a.php.formatted
@@ -50,7 +50,6 @@
     public function returnType(): X & Y {
         return $this->test;
     }
-
 }
 
 trait TestTrait {
@@ -64,7 +63,6 @@
     public function returnType(): X & Y {
         return $this->test;
     }
-
 }
 
 interface TestInterfase {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_02b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_02b.php.formatted
index 77d0cc1..43f1485 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_02b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceAroundPureIntersectionTypeSeparator_02b.php.formatted
@@ -50,7 +50,6 @@
     public function returnType(): X&Y {
         return $this->test;
     }
-
 }
 
 trait TestTrait {
@@ -64,7 +63,6 @@
     public function returnType(): X&Y {
         return $this->test;
     }
-
 }
 
 interface TestInterfase {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceBeforeEnumDecLeftBrace_01a.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceBeforeEnumDecLeftBrace_01a.php.formatted
index cd19628..4818c24 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceBeforeEnumDecLeftBrace_01a.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceBeforeEnumDecLeftBrace_01a.php.formatted
@@ -34,7 +34,6 @@
     public static function staticTest(Foo&Bar $param): void {
         
     }
-
 }
 
 #[Attr]
@@ -48,7 +47,6 @@
 
     #[AAA]
     const Bar = 2;
-
 }
 
 enum WithDoc {
@@ -67,7 +65,6 @@
      * test
      */
     const Bar = 2;
-
 }
 
 enum BackingTypeInt: int {
@@ -76,7 +73,6 @@
 
     case A = self::CONSTANT;
     case B = 2;
-
 }
 
 enum BackingTypeString: string {
@@ -93,5 +89,4 @@
      */
     #[AAA]
     case B = "testB";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceBeforeEnumDecLeftBrace_01b.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceBeforeEnumDecLeftBrace_01b.php.formatted
index f8b90d3..b37de40 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceBeforeEnumDecLeftBrace_01b.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/php81/spaceBeforeEnumDecLeftBrace_01b.php.formatted
@@ -34,7 +34,6 @@
     public static function staticTest(Foo&Bar $param): void {
         
     }
-
 }
 
 #[Attr]
@@ -48,7 +47,6 @@
 
     #[AAA]
     const Bar = 2;
-
 }
 
 enum WithDoc{
@@ -67,7 +65,6 @@
      * test
      */
     const Bar = 2;
-
 }
 
 enum BackingTypeInt: int{
@@ -76,7 +73,6 @@
 
     case A = self::CONSTANT;
     case B = 2;
-
 }
 
 enum BackingTypeString: string{
@@ -93,5 +89,4 @@
      */
     #[AAA]
     case B = "testB";
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForMixed04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForMixed04.php.formatted
index 1b83d3c..d8b6177 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForMixed04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForMixed04.php.formatted
@@ -5,5 +5,4 @@
     function nullableTypes(?string $string): ?int {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForMixed05.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForMixed05.php.formatted
index 63aa709..1ef70fe 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForMixed05.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForMixed05.php.formatted
@@ -5,5 +5,4 @@
     function nullableTypes(?string $string, int $num): ?int {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForMixed06.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForMixed06.php.formatted
index 2b1c53b..8b3367c 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForMixed06.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForMixed06.php.formatted
@@ -5,5 +5,4 @@
     function nullableTypes(?string $string, ?\Foo\Bar $bar): ?\Foo\Bar {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForParameter04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForParameter04.php.formatted
index 2ab6eda..2876ab9 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForParameter04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForParameter04.php.formatted
@@ -5,5 +5,4 @@
     function nullableTypes(?string $string) {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForParameter05.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForParameter05.php.formatted
index 2ab6eda..2876ab9 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForParameter05.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForParameter05.php.formatted
@@ -5,5 +5,4 @@
     function nullableTypes(?string $string) {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForParameter06.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForParameter06.php.formatted
index fc366ba..9d091b6 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForParameter06.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForParameter06.php.formatted
@@ -5,5 +5,4 @@
     function nullableTypes(?string $string, ?\Foo\Bar $bar) {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForReturn04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForReturn04.php.formatted
index 82afb31..6f8a1bf 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForReturn04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForReturn04.php.formatted
@@ -5,5 +5,4 @@
     public function nullableTypes(): ?int {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForReturn05.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForReturn05.php.formatted
index 82afb31..6f8a1bf 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForReturn05.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForReturn05.php.formatted
@@ -5,5 +5,4 @@
     public function nullableTypes(): ?int {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForReturn06.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForReturn06.php.formatted
index 5bb1ade..26be589 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForReturn06.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAfterNullableTypePrefixForReturn06.php.formatted
@@ -5,5 +5,4 @@
     public function nullableTypes(): ?\Foo\Bar {
         return null;
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundKeyValueOp01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundKeyValueOp01.php.formatted
index 403f635..191b90a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundKeyValueOp01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundKeyValueOp01.php.formatted
@@ -8,7 +8,6 @@
             $value = $value * 2;
         }
     }
-
 }
 
 $arr2 = array("a"=>1, "b"=>2,
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundKeyValueOp02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundKeyValueOp02.php.formatted
index 4e5acf1..c089a57 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundKeyValueOp02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundKeyValueOp02.php.formatted
@@ -8,7 +8,6 @@
             $value = $value * 2;
         }
     }
-
 }
 
 $arr2 = array("a" => 1, "b" => 2,
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundReturnType07.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundReturnType07.php.formatted
index 88909ca..88f6420 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundReturnType07.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundReturnType07.php.formatted
@@ -5,5 +5,4 @@
     function foo(): array {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundReturnType08.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundReturnType08.php.formatted
index 5bfa27f..47135c7 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundReturnType08.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundReturnType08.php.formatted
@@ -5,5 +5,4 @@
     function foo(): MyClass {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundReturnType09.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundReturnType09.php.formatted
index 70578e4..19a5673 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundReturnType09.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundReturnType09.php.formatted
@@ -5,5 +5,4 @@
     function foo(): \Company\MyClass {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundStringConcat01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundStringConcat01.php.formatted
index e8a7ea8..cb92811 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundStringConcat01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceAroundStringConcat01.php.formatted
@@ -56,7 +56,6 @@
             echo 'Caught exception: '.$e->getMessage()."\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeCatchLeftBrace01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeCatchLeftBrace01.php.formatted
index 522e2e9..b79dcf6 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeCatchLeftBrace01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeCatchLeftBrace01.php.formatted
@@ -58,7 +58,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeClassDecLeftBrace01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeClassDecLeftBrace01.php.formatted
index 3f0659d..32c5a62 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeClassDecLeftBrace01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeClassDecLeftBrace01.php.formatted
@@ -7,7 +7,6 @@
     public function getText() {
         return $this->text;
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeClassDecLeftBrace02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeClassDecLeftBrace02.php.formatted
index 3f0659d..32c5a62 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeClassDecLeftBrace02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeClassDecLeftBrace02.php.formatted
@@ -7,7 +7,6 @@
     public function getText() {
         return $this->text;
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeClassDecLeftBrace03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeClassDecLeftBrace03.php.formatted
index b5ba347..90a5c8e 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeClassDecLeftBrace03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeClassDecLeftBrace03.php.formatted
@@ -7,7 +7,6 @@
     public function getText() {
         return $this->text;
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeDoLeftBrace01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeDoLeftBrace01.php.formatted
index 2ebfd53..fae3d59 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeDoLeftBrace01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeDoLeftBrace01.php.formatted
@@ -58,7 +58,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeElseLeftBrace01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeElseLeftBrace01.php.formatted
index de1c6f3..b4e9925 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeElseLeftBrace01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeElseLeftBrace01.php.formatted
@@ -58,7 +58,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeForLeftBrace01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeForLeftBrace01.php.formatted
index 40e1f42..a070fd5 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeForLeftBrace01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeForLeftBrace01.php.formatted
@@ -58,7 +58,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeIfElseIfLeftBrace01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeIfElseIfLeftBrace01.php.formatted
index 521729e..6791047 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeIfElseIfLeftBrace01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeIfElseIfLeftBrace01.php.formatted
@@ -58,7 +58,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeMethodDeclLeftBrace01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeMethodDeclLeftBrace01.php.formatted
index 7f1124c..8e818ff 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeMethodDeclLeftBrace01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeMethodDeclLeftBrace01.php.formatted
@@ -5,7 +5,6 @@
     public function getText() {
         return $this->text;
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeMethodDeclLeftBrace02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeMethodDeclLeftBrace02.php.formatted
index b5a9be4..d8a60ca 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeMethodDeclLeftBrace02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeMethodDeclLeftBrace02.php.formatted
@@ -5,7 +5,6 @@
     public function getText(){
         return $this->text;
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeMethodDeclLeftBrace03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeMethodDeclLeftBrace03.php.formatted
index 8ef4b77..08e10b7 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeMethodDeclLeftBrace03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeMethodDeclLeftBrace03.php.formatted
@@ -7,7 +7,6 @@
     {
         return $this->text;
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeSwitchLeftBrace01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeSwitchLeftBrace01.php.formatted
index 8bf929c..8e3660e 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeSwitchLeftBrace01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeSwitchLeftBrace01.php.formatted
@@ -58,7 +58,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeTryLeftBrace01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeTryLeftBrace01.php.formatted
index e3734ed..dfa9bd1 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeTryLeftBrace01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeTryLeftBrace01.php.formatted
@@ -58,7 +58,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeWhileLeftBrace01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeWhileLeftBrace01.php.formatted
index 87b117d..45d2d25 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeWhileLeftBrace01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceBeforeWhileLeftBrace01.php.formatted
@@ -58,7 +58,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceCheckAfterKeywords01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceCheckAfterKeywords01.php.formatted
index 0387037..2184430 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceCheckAfterKeywords01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceCheckAfterKeywords01.php.formatted
@@ -13,7 +13,6 @@
     public function test() {
         return "test";
     }
-
 }
 
 $lambda = function ($param) use ($parent) {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceCheckAfterKeywords02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceCheckAfterKeywords02.php.formatted
index fc6ff24..0b35391 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceCheckAfterKeywords02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceCheckAfterKeywords02.php.formatted
@@ -27,7 +27,6 @@
     private function test2() {
         return;
     }
-
 }
 
 $greet = function ($name) {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinArrayDeclParens01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinArrayDeclParens01.php.formatted
index 4e5acf1..c089a57 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinArrayDeclParens01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinArrayDeclParens01.php.formatted
@@ -8,7 +8,6 @@
             $value = $value * 2;
         }
     }
-
 }
 
 $arr2 = array("a" => 1, "b" => 2,
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinArrayDeclParens02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinArrayDeclParens02.php.formatted
index 6e7b61f..47c055a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinArrayDeclParens02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinArrayDeclParens02.php.formatted
@@ -8,7 +8,6 @@
             $value = $value * 2;
         }
     }
-
 }
 
 $arr2 = array( "a" => 1, "b" => 2,
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens01.php.formatted
index 200c95c..09419fc 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens01.php.formatted
@@ -56,7 +56,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens02.php.formatted
index 5da4887..a104bfe 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens02.php.formatted
@@ -56,7 +56,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens03.php.formatted
index 83a4f41..ee9fff2 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens03.php.formatted
@@ -56,7 +56,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens04.php.formatted
index 69e1fd1..303988b 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens04.php.formatted
@@ -56,7 +56,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens05.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens05.php.formatted
index 941f9cd..bfa5998 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens05.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens05.php.formatted
@@ -56,7 +56,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens06.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens06.php.formatted
index f56534c..e2d0df9 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens06.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens06.php.formatted
@@ -56,7 +56,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens07.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens07.php.formatted
index cb2d7fe..a33ca8d 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens07.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens07.php.formatted
@@ -56,7 +56,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 $value = new Example("name");
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens08.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens08.php.formatted
index 2dd99cc..081c7fb 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens08.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spaces/spaceWithinParens08.php.formatted
@@ -56,7 +56,6 @@
             echo 'Caught exception: ' . $e->getMessage() . "\n";
         }
     }
-
 }
 
 $value = new Example( "name" );
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/spreadOperatorInClassConst.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/spreadOperatorInClassConst.php.formatted
index fade372..fcb712f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/spreadOperatorInClassConst.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/spreadOperatorInClassConst.php.formatted
@@ -41,13 +41,11 @@
         "4",
         self::CONSTANT1
     ];
-
 }
 
 class UnpackChildClass extends UnpackClass {
 
     public const CHILD_CONSTANT = ["0", ...parent::CONSTANT,];
-
 }
 
 namespace Bar;
@@ -68,5 +66,4 @@
         4,
     ];
     private const CONST4 = [...F_CONST];
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/templates/implementsOverwrite_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/templates/implementsOverwrite_01.php.formatted
index 632134f..038edfd 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/templates/implementsOverwrite_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/templates/implementsOverwrite_01.php.formatted
@@ -19,7 +19,6 @@
     public function getName() {
         
     }
-
 }
 
 function functionName($param) {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/templates/implementsOverwrite_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/templates/implementsOverwrite_02.php.formatted
index f2bdeae..3071f18 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/templates/implementsOverwrite_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/templates/implementsOverwrite_02.php.formatted
@@ -21,7 +21,6 @@
     {
         
     }
-
 }
 
 function functionName($param) {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/templates/implementsOverwrite_03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/templates/implementsOverwrite_03.php.formatted
index 7916c1f..b6c758a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/templates/implementsOverwrite_03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/templates/implementsOverwrite_03.php.formatted
@@ -21,7 +21,6 @@
     {
     
     }
-
 }
 
 function functionName($param) {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/typedProperties20_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/typedProperties20_01.php.formatted
index c4cc0e9..b0e50a3 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/typedProperties20_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/typedProperties20_01.php.formatted
@@ -49,5 +49,4 @@
     // Handle these as error in UnusableTypesUnhandledError
     public callable $callble; // NG, Unusable type
     public void $void; // NG, Unusable type
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/arrayInit01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/arrayInit01.php.formatted
index d5f3a55..49191f8 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/arrayInit01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/arrayInit01.php.formatted
@@ -13,7 +13,6 @@
             $value = (int) $value * 2;
         }
     }
-
 }
 
 $test = array(
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/arrayInit02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/arrayInit02.php.formatted
index 4715eb6..48843bf 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/arrayInit02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/arrayInit02.php.formatted
@@ -14,7 +14,6 @@
             $value = (int) $value * 2;
         }
     }
-
 }
 
 $test = array(
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/arrayInit03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/arrayInit03.php.formatted
index 4747568..4d81326 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/arrayInit03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/arrayInit03.php.formatted
@@ -30,7 +30,6 @@
             $value = (int) $value * 2;
         }
     }
-
 }
 
 $test = array(
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block01.php.formatted
index 099c2b7..c0754ea 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block01.php.formatted
@@ -47,7 +47,6 @@
 class Simple {
 
     public $field;
-
 }
 
 class Simple2 {
@@ -55,7 +54,6 @@
     function method() {
         echo "test";
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block02.php.formatted
index 3d57ba4..5841f4a 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block02.php.formatted
@@ -35,13 +35,11 @@
 class Simple {
 
     public $field;
-
 }
 
 class Simple2 {
 
     function method() { echo "test"; }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block03.php.formatted
index f2531c4..abfa634 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block03.php.formatted
@@ -49,7 +49,6 @@
 class Simple {
 
     public $field;
-
 }
 
 class Simple2 {
@@ -57,7 +56,6 @@
     function method() {
         echo "test";
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block04.php.formatted
index b29f0c2..e04ae7e 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block04.php.formatted
@@ -37,13 +37,11 @@
 class Simple {
 
     public $field;
-
 }
 
 class Simple2 {
 
     function method() { echo "test"; }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block05.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block05.php.formatted
index 98f30b4..5b6ec1f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block05.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block05.php.formatted
@@ -62,7 +62,6 @@
 {
 
     public $field;
-
 }
 
 class Simple2
@@ -72,7 +71,6 @@
     {
         echo "test";
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block06.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block06.php.formatted
index cffdf63..24e80c9 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block06.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/block06.php.formatted
@@ -50,7 +50,6 @@
 {
 
     public $field;
-
 }
 
 class Simple2
@@ -58,7 +57,6 @@
 
     function method()
     { echo "test"; }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces01.php.formatted
index 56b1c3d..a44fbbb 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces01.php.formatted
@@ -6,7 +6,6 @@
     public function test() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces02.php.formatted
index 56b1c3d..a44fbbb 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces02.php.formatted
@@ -6,7 +6,6 @@
     public function test() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces03.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces03.php.formatted
index c6c23cb..6a053fb 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces03.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces03.php.formatted
@@ -6,7 +6,6 @@
     public function test() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces04.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces04.php.formatted
index 4f62339..0d124e6 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces04.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces04.php.formatted
@@ -7,7 +7,6 @@
     public function test() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces05.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces05.php.formatted
index 67e47a5..cbb2931 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces05.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/interfaces05.php.formatted
@@ -8,7 +8,6 @@
     public function test() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/issue228712.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/issue228712.php.formatted
index 32f2cd5..2fbf982 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/issue228712.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/issue228712.php.formatted
@@ -6,7 +6,6 @@
     function __construct() {
         
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodChainCall_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodChainCall_01.php.formatted
index 11890d0..3b73b7c 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodChainCall_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodChainCall_01.php.formatted
@@ -5,7 +5,6 @@
     public function test($param1, Example $param2, $param3 = "hello longer text as default value") {
         $this->method1()->method2()->method3()->methofsaddfafadasfasdfdafdad4();
     }
-
 }
 
 ?>
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenAlways_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenAlways_01.php.formatted
index 693ad5f..fb11020 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenAlways_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenAlways_01.php.formatted
@@ -68,7 +68,6 @@
             string $param3,): int {
         
     }
-
 }
 
 $labmda = function () {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenAlways_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenAlways_02.php.formatted
index 9ce7e9f..1757639 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenAlways_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenAlways_02.php.formatted
@@ -505,7 +505,6 @@
     ): int {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenIfLong_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenIfLong_01.php.formatted
index 98a34f2..bd2169f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenIfLong_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenIfLong_01.php.formatted
@@ -53,7 +53,6 @@
     private function testParams3($param1, int $param2, string $param3,): int {
         
     }
-
 }
 
 $labmda = function () {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenIfLong_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenIfLong_02.php.formatted
index 8332d2c..c3a5592 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenIfLong_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenIfLong_02.php.formatted
@@ -454,7 +454,6 @@
     ): int {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenNever_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenNever_01.php.formatted
index 98a34f2..bd2169f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenNever_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenNever_01.php.formatted
@@ -53,7 +53,6 @@
     private function testParams3($param1, int $param2, string $param3,): int {
         
     }
-
 }
 
 $labmda = function () {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenNever_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenNever_02.php.formatted
index 52797c5..aeb7640 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenNever_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsAfterLeftParenNever_02.php.formatted
@@ -475,7 +475,6 @@
     ): int {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensAlways_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensAlways_01.php.formatted
index da18973..95a566d 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensAlways_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensAlways_01.php.formatted
@@ -73,7 +73,6 @@
     ): int {
         
     }
-
 }
 
 $labmda = function () {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensAlways_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensAlways_02.php.formatted
index 67602f6..f0561dd 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensAlways_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensAlways_02.php.formatted
@@ -524,7 +524,6 @@
     ): int {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensIfLong_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensIfLong_01.php.formatted
index 98a34f2..bd2169f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensIfLong_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensIfLong_01.php.formatted
@@ -53,7 +53,6 @@
     private function testParams3($param1, int $param2, string $param3,): int {
         
     }
-
 }
 
 $labmda = function () {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensIfLong_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensIfLong_02.php.formatted
index 57cb7e5..10a2bb8 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensIfLong_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensIfLong_02.php.formatted
@@ -473,7 +473,6 @@
     ): int {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensNever_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensNever_01.php.formatted
index 98a34f2..bd2169f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensNever_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensNever_01.php.formatted
@@ -53,7 +53,6 @@
     private function testParams3($param1, int $param2, string $param3,): int {
         
     }
-
 }
 
 $labmda = function () {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensNever_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensNever_02.php.formatted
index 0dbd390..22412d7 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensNever_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsBothParensNever_02.php.formatted
@@ -494,7 +494,6 @@
     ): int {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_01_newline.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_01_newline.php.formatted
index a92bfeb..8964e91 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_01_newline.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_01_newline.php.formatted
@@ -310,7 +310,6 @@
     ): void {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_01_sameline.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_01_sameline.php.formatted
index aa48c25..f23ead7 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_01_sameline.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_01_sameline.php.formatted
@@ -301,7 +301,6 @@
     ): void {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_02_newline.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_02_newline.php.formatted
index fdf0940..1731688 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_02_newline.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_02_newline.php.formatted
@@ -30,5 +30,4 @@
     {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_02_sameline.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_02_sameline.php.formatted
index 5ba03ca..bebb51e 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_02_sameline.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_02_sameline.php.formatted
@@ -29,5 +29,4 @@
     public function testMethod($param1, $param2,) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_03_newline.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_03_newline.php.formatted
index e867b20..ac94376 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_03_newline.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_03_newline.php.formatted
@@ -30,5 +30,4 @@
     {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_03_sameline.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_03_sameline.php.formatted
index 9c82638..df0861c 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_03_sameline.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsKeepRightParenAndLeftBraceOnTheSameLine_03_sameline.php.formatted
@@ -29,5 +29,4 @@
     public function __construct(private int $test1, private string $test2) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensAlways_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensAlways_01.php.formatted
index 31e14e3..fdfec3f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensAlways_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensAlways_01.php.formatted
@@ -63,7 +63,6 @@
             string $param3,): int {
         
     }
-
 }
 
 $labmda = function () {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensAlways_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensAlways_02.php.formatted
index 6d2ebae..658f945 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensAlways_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensAlways_02.php.formatted
@@ -485,7 +485,6 @@
     ): int {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensIfLong_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensIfLong_01.php.formatted
index 98a34f2..bd2169f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensIfLong_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensIfLong_01.php.formatted
@@ -53,7 +53,6 @@
     private function testParams3($param1, int $param2, string $param3,): int {
         
     }
-
 }
 
 $labmda = function () {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensIfLong_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensIfLong_02.php.formatted
index 008e24c..52cf4b9 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensIfLong_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensIfLong_02.php.formatted
@@ -434,7 +434,6 @@
     ): int {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensNever_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensNever_01.php.formatted
index 98a34f2..bd2169f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensNever_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensNever_01.php.formatted
@@ -53,7 +53,6 @@
     private function testParams3($param1, int $param2, string $param3,): int {
         
     }
-
 }
 
 $labmda = function () {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensNever_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensNever_02.php.formatted
index 8d4acf6..5927a42 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensNever_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsNoWrapParensNever_02.php.formatted
@@ -455,7 +455,6 @@
     ): int {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenAlways_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenAlways_01.php.formatted
index 5bbb63f..8722243 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenAlways_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenAlways_01.php.formatted
@@ -68,7 +68,6 @@
     ): int {
         
     }
-
 }
 
 $labmda = function () {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenAlways_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenAlways_02.php.formatted
index 9070c61..a7cf5f1 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenAlways_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenAlways_02.php.formatted
@@ -504,7 +504,6 @@
     ): int {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenIfLong_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenIfLong_01.php.formatted
index 98a34f2..bd2169f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenIfLong_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenIfLong_01.php.formatted
@@ -53,7 +53,6 @@
     private function testParams3($param1, int $param2, string $param3,): int {
         
     }
-
 }
 
 $labmda = function () {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenIfLong_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenIfLong_02.php.formatted
index 6499379..00edd9d 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenIfLong_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenIfLong_02.php.formatted
@@ -453,7 +453,6 @@
     ): int {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenNever_01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenNever_01.php.formatted
index 98a34f2..bd2169f 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenNever_01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenNever_01.php.formatted
@@ -53,7 +53,6 @@
     private function testParams3($param1, int $param2, string $param3,): int {
         
     }
-
 }
 
 $labmda = function () {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenNever_02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenNever_02.php.formatted
index 32644a2..a230204 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenNever_02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/methodParamsRightParenNever_02.php.formatted
@@ -474,7 +474,6 @@
     ): int {
         
     }
-
 }
 
 interface TestInterface {
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways01.php.formatted
index 0efec9e..78ffa0e 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways01.php.formatted
@@ -59,7 +59,6 @@
     ): void {
         echo "Trailing Comma in Parameter List" . PHP_EOL;
     }
-
 }
 
 $closure = function (
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways01_psr12.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways01_psr12.php.formatted
index e526581..240daa0 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways01_psr12.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways01_psr12.php.formatted
@@ -61,7 +61,6 @@
     ): void {
         echo "Trailing Comma in Parameter List" . PHP_EOL;
     }
-
 }
 
 $closure = function (
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways02.php.formatted
index 53cc5ac..ebd26f0 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways02.php.formatted
@@ -51,7 +51,6 @@
             ?string $param2,): void {
         echo "Trailing Comma in Parameter List" . PHP_EOL;
     }
-
 }
 
 $closure = function ($param1,
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways02_psr12.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways02_psr12.php.formatted
index c743f6f..bfc87ed 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways02_psr12.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsAlways02_psr12.php.formatted
@@ -61,7 +61,6 @@
     ): void {
         echo "Trailing Comma in Parameter List" . PHP_EOL;
     }
-
 }
 
 $closure = function (
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsNever01.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsNever01.php.formatted
index 0efec9e..78ffa0e 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsNever01.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsNever01.php.formatted
@@ -59,7 +59,6 @@
     ): void {
         echo "Trailing Comma in Parameter List" . PHP_EOL;
     }
-
 }
 
 $closure = function (
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsNever01_psr12.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsNever01_psr12.php.formatted
index e526581..240daa0 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsNever01_psr12.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsNever01_psr12.php.formatted
@@ -61,7 +61,6 @@
     ): void {
         echo "Trailing Comma in Parameter List" . PHP_EOL;
     }
-
 }
 
 $closure = function (
diff --git a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsNever02.php.formatted b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsNever02.php.formatted
index d5bf309..6766f20 100644
--- a/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsNever02.php.formatted
+++ b/php/php.editor/test/unit/data/testfiles/formatting/wrapping/php80/AllowTrailingCommaInParameterList/declarationsNever02.php.formatted
@@ -40,7 +40,6 @@
     public function testWithReturnType(int $param1, ?string $param2,): void {
         echo "Trailing Comma in Parameter List" . PHP_EOL;
     }
-
 }
 
 $closure = function ($param1, $param2, $param3, $param4,) {
diff --git a/php/php.editor/test/unit/data/testfiles/gotodeclaration/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php b/php/php.editor/test/unit/data/testfiles/gotodeclaration/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php
new file mode 100644
index 0000000..2d2a1a0
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/gotodeclaration/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php
@@ -0,0 +1,38 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+namespace Enum1;
+
+interface ExampleInterface1 {}
+interface ExampleInterface2 {}
+
+namespace Enum2;
+
+use Enum1\ExampleInterface1;
+use Enum1\ExampleInterface2;
+
+enum EnumImpl1 implements ExampleInterface1 {
+    case A = 'A';
+    case B = 'B';
+}
+
+enum EnumImpl2 implements ExampleInterface1, ExampleInterface2 {
+    case A = 'A';
+    case B = 'B';
+}
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_01d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_02d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03e.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03e.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_03e.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_04a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_04a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_04a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_04a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_04b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_04b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_04b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testConstructorPropertyPromotion/testConstructorPropertyPromotion.php.testConstructorPropertyPromotion_04b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01e.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01e.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01e.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01f.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01f.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01f.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01f.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01g.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01g.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01g.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01g.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01h.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01h.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_01h.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_01h.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_03a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_03a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_03a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_03a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_03b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_03b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_03b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_03b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_04a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_04a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_04a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_04a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_04b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_04b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_04b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_04b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_05a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_05a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_05a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_05a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_05b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_05b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_05b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_05b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_06a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_06a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_06a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_06a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_06b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_06b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_06b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_06b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_07a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_07a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_07a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_07a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_07b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_07b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_07b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_07b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_07c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_07c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_07c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_07c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_08a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_08a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_08a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_08a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_08b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_08b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_08b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_08b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_09a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_09a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_09a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_09a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_09b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_09b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_09b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_09b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_09c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_09c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMatchExpression.php.testMatchExpression_09c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testMatchExpression/testMatchExpression.php.testMatchExpression_09c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNonCapturingCatches.php.testNonCapturingCatches_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNonCapturingCatches/testNonCapturingCatches.php.testNonCapturingCatches_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNonCapturingCatches.php.testNonCapturingCatches_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNonCapturingCatches/testNonCapturingCatches.php.testNonCapturingCatches_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNonCapturingCatches.php.testNonCapturingCatches_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNonCapturingCatches/testNonCapturingCatches.php.testNonCapturingCatches_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNonCapturingCatches.php.testNonCapturingCatches_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNonCapturingCatches/testNonCapturingCatches.php.testNonCapturingCatches_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNonCapturingCatches.php.testNonCapturingCatches_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNonCapturingCatches/testNonCapturingCatches.php.testNonCapturingCatches_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNonCapturingCatches.php.testNonCapturingCatches_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNonCapturingCatches/testNonCapturingCatches.php.testNonCapturingCatches_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNonCapturingCatches.php.testNonCapturingCatches_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNonCapturingCatches/testNonCapturingCatches.php.testNonCapturingCatches_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNonCapturingCatches.php.testNonCapturingCatches_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNonCapturingCatches/testNonCapturingCatches.php.testNonCapturingCatches_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNonCapturingCatches.php.testNonCapturingCatches_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNonCapturingCatches/testNonCapturingCatches.php.testNonCapturingCatches_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNonCapturingCatches.php.testNonCapturingCatches_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNonCapturingCatches/testNonCapturingCatches.php.testNonCapturingCatches_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_01c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_01c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_01c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_01d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_01d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_01d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_01d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_01e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_01e.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_01e.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_01e.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_01f.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_01f.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_01f.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_01f.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_02c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_02c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_02c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_02c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_02d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_02d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_02d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_02d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_02e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_02e.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_02e.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_02e.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_02f.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_02f.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_02f.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_02f.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_03a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_03a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_03a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_03a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_03b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_03b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_03b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_03b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04e.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04e.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04e.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04f.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04f.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04f.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04f.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04g.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04g.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_04g.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_04g.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_05a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_05a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_05a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_05a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_05b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_05b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_05b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_05b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_06a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_06a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_06a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_06a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_06b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_06b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_06b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_06b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_06c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_06c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_06c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_06c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_07a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_07a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_07a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_07a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_07b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_07b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_07b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_07b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_08a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_08a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_08a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_08a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_08b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_08b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_08b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_08b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_08c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_08c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_08c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_08c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_09a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_09a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_09a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_09a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_09b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_09b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_09b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_09b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_10a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_10a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_10a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_10a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_10b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_10b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_10b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_10b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_10c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_10c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_10c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_10c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_10d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_10d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullsafeOperator.php.testNullsafeOperator_10d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testNullsafeOperator/testNullsafeOperator.php.testNullsafeOperator_10d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_01c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_01c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_01c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_01d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_01d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_01d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_01d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_02c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_02c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_02c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_02c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_02d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_02d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_02d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_02d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_03a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_03a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_03a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_03a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_03b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_03b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_03b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_03b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_03c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_03c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_03c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_03c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_03d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_03d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_03d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_03d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_04a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_04a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_04a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_04a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_04b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_04b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_04b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_04b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_04c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_04c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_04c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_04c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_04d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_04d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_04d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_04d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_04e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_04e.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUnionTypes.php.testUnionTypes_04e.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php80/testUnionTypes/testUnionTypes.php.testUnionTypes_04e.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_a14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_a14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_b11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_b11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_c08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_c08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_d01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_d01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_d01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_d01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_d02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_d02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_d02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_d02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_d03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_d03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_d03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_d03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_d04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_d04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_d04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_d04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_d05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_d05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_d05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_d05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_d06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_d06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_d06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_d06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_e08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_e08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_f01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_f01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_f01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_f01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_f02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_f02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_f02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_f02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_f03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_f03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_f03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_f03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_g01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_g01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_g01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_g01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_g02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_g02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_g02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_g02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_g03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_g03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerations.php.testEnumerations_g03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerations/testEnumerations.php.testEnumerations_g03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_a01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_a01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_a01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_a01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_a02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_a02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_a02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_a02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_b01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_b01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_b01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_b01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_b02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_b02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_b02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_b02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_b03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_b03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_b03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_b03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_c01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_c01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_c01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_c01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_c02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_c02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_c02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithBackingType/testEnumerationsWithBackingType.php.testEnumerationsWithBackingType_c02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php
new file mode 100644
index 0000000..2d2a1a0
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php
@@ -0,0 +1,38 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+namespace Enum1;
+
+interface ExampleInterface1 {}
+interface ExampleInterface2 {}
+
+namespace Enum2;
+
+use Enum1\ExampleInterface1;
+use Enum1\ExampleInterface2;
+
+enum EnumImpl1 implements ExampleInterface1 {
+    case A = 'A';
+    case B = 'B';
+}
+
+enum EnumImpl2 implements ExampleInterface1, ExampleInterface2 {
+    case A = 'A';
+    case B = 'B';
+}
diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_01a.occurrences
new file mode 100644
index 0000000..1160511
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_01a.occurrences
@@ -0,0 +1,4 @@
+interface |>MARK_OCCURRENCES:ExampleInter^face1<| {}
+use Enum1\|>MARK_OCCURRENCES:ExampleInterface1<|;
+enum EnumImpl1 implements |>MARK_OCCURRENCES:ExampleInterface1<| {
+enum EnumImpl2 implements |>MARK_OCCURRENCES:ExampleInterface1<|, ExampleInterface2 {
diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_01b.occurrences
new file mode 100644
index 0000000..8a7962f
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_01b.occurrences
@@ -0,0 +1,4 @@
+interface |>MARK_OCCURRENCES:ExampleInterface1<| {}
+use Enum1\|>MARK_OCCURRENCES:ExampleInterf^ace1<|;
+enum EnumImpl1 implements |>MARK_OCCURRENCES:ExampleInterface1<| {
+enum EnumImpl2 implements |>MARK_OCCURRENCES:ExampleInterface1<|, ExampleInterface2 {
diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_01c.occurrences
new file mode 100644
index 0000000..20632b5
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_01c.occurrences
@@ -0,0 +1,4 @@
+interface |>MARK_OCCURRENCES:ExampleInterface1<| {}
+use Enum1\|>MARK_OCCURRENCES:ExampleInterface1<|;
+enum EnumImpl1 implements |>MARK_OCCURRENCES:ExampleInterf^ace1<| {
+enum EnumImpl2 implements |>MARK_OCCURRENCES:ExampleInterface1<|, ExampleInterface2 {
diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_01d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_01d.occurrences
new file mode 100644
index 0000000..1c22c68
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_01d.occurrences
@@ -0,0 +1,4 @@
+interface |>MARK_OCCURRENCES:ExampleInterface1<| {}
+use Enum1\|>MARK_OCCURRENCES:ExampleInterface1<|;
+enum EnumImpl1 implements |>MARK_OCCURRENCES:ExampleInterface1<| {
+enum EnumImpl2 implements |>MARK_OCCURRENCES:ExampleInterfa^ce1<|, ExampleInterface2 {
diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_02a.occurrences
new file mode 100644
index 0000000..6e24ebc
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_02a.occurrences
@@ -0,0 +1,3 @@
+interface |>MARK_OCCURRENCES:ExampleInterf^ace2<| {}
+use Enum1\|>MARK_OCCURRENCES:ExampleInterface2<|;
+enum EnumImpl2 implements ExampleInterface1, |>MARK_OCCURRENCES:ExampleInterface2<| {
diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_02b.occurrences
new file mode 100644
index 0000000..b328e7c
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_02b.occurrences
@@ -0,0 +1,3 @@
+interface |>MARK_OCCURRENCES:ExampleInterface2<| {}
+use Enum1\|>MARK_OCCURRENCES:ExampleInterfa^ce2<|;
+enum EnumImpl2 implements ExampleInterface1, |>MARK_OCCURRENCES:ExampleInterface2<| {
diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_02c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_02c.occurrences
new file mode 100644
index 0000000..f8602cc
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testEnumerationsWithInterface/testEnumerationsWithInterface.php.testEnumerationsWithInterface_02c.occurrences
@@ -0,0 +1,3 @@
+interface |>MARK_OCCURRENCES:ExampleInterface2<| {}
+use Enum1\|>MARK_OCCURRENCES:ExampleInterface2<|;
+enum EnumImpl2 implements ExampleInterface1, |>MARK_OCCURRENCES:Exam^pleInterface2<| {
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_01c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_01c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_01c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_02c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_02c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_02c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_02c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_03d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_04a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_04a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_04a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_04a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_04b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_04b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_04b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_04b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_05a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_05a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_05a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_05a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_05b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_05b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_05b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testFirstClassCallableSyntax/testFirstClassCallableSyntax.php.testFirstClassCallableSyntax_05b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithAttribute/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithAttribute/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithAttribute/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithAttribute/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithAttribute/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithAttribute/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithAttribute/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithAttribute/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithAttribute/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithAttribute/testNewInInitializersWithAttribute.php.testNewInInitializersWithAttribute_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithConstant/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithConstant/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithConstant/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithConstant/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithConstant/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithConstant/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithConstant/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithConstant/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithConstant/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithConstant/testNewInInitializersWithConstant.php.testNewInInitializersWithConstant_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithFunc/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithFunc/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithFunc/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithFunc/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithFunc/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithFunc/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithFunc/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithFunc/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithFunc/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithFunc/testNewInInitializersWithFunc.php.testNewInInitializersWithFunc_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithMethod/testNewInInitializersWithMethod.php.testNewInInitializersWithMethod_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithStaticVariable/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithStaticVariable/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithStaticVariable/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithStaticVariable/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithStaticVariable/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithStaticVariable/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithStaticVariable/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithStaticVariable/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithStaticVariable/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testNewInInitializersWithStaticVariable/testNewInInitializersWithStaticVariable.php.testNewInInitializersWithStaticVariable_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_03a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_03a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_03a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_03a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_03b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_03b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_03b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_03b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_04a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_04a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_04a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_04a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_04b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_04b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_04b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_04b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_05a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_05a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_05a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_05a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_05b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_05b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_05b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_05b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_06a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_06a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_06a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_06a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_06b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_06b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_06b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_06b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_07a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_07a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_07a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_07a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_07b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_07b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_07b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_07b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_08a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_08a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_08a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_08a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_08b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_08b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_08b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_08b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_09a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_09a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_09a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_09a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_09b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_09b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_09b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_09b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_10a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_10a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_10a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_10a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_10b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_10b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_10b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_10b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_11a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_11a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_11a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_11a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_11b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_11b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_11b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_11b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_12a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_12a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_12a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_12a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_12b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_12b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_12b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_12b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_13a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_13a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_13a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_13a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_13b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_13b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_13b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_13b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_14a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_14a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_14a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_14a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_14b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_14b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_14b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_14b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_15a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_15a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_15a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_15a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_15b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_15b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_15b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_15b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_16a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_16a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_16a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_16a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_16b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_16b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_16b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_16b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_17a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_17a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_17a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_17a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_17b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_17b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testPureIntersectionType.php.testPureIntersectionType_17b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php81/testPureIntersectionType/testPureIntersectionType.php.testPureIntersectionType_17b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_01c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_01c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_01c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_01d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_01d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_01d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_01d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_01e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_01e.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_01e.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_01e.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_01f.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_01f.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_01f.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_01f.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_02c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_02c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_02c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_02c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_02d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_02d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_02d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_02d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_03a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_03a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_03a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_03a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_03b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_03b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_03b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_03b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_03c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_03c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_03c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_03c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_03d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_03d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_03d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_03d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_04a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_04a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_04a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_04a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_04b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_04b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantsInTraits.php.testConstantsInTraits_04b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/php82/testConstantsInTraits/testConstantsInTraits.php.testConstantsInTraits_04b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_17.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_17.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses01.php.testAnonymousClasses01_17.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses01/testAnonymousClasses01.php.testAnonymousClasses01_17.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses02.php.testAnonymousClasses02_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses02/testAnonymousClasses02.php.testAnonymousClasses02_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses03.php.testAnonymousClasses03_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses03/testAnonymousClasses03.php.testAnonymousClasses03_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses04.php.testAnonymousClasses04_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses04/testAnonymousClasses04.php.testAnonymousClasses04_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses04.php.testAnonymousClasses04_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses04/testAnonymousClasses04.php.testAnonymousClasses04_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses04.php.testAnonymousClasses04_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses04/testAnonymousClasses04.php.testAnonymousClasses04_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses04.php.testAnonymousClasses04_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses04/testAnonymousClasses04.php.testAnonymousClasses04_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses05.php.testAnonymousClasses05_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses05/testAnonymousClasses05.php.testAnonymousClasses05_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses05.php.testAnonymousClasses05_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses05/testAnonymousClasses05.php.testAnonymousClasses05_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses05.php.testAnonymousClasses05_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses05/testAnonymousClasses05.php.testAnonymousClasses05_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses05.php.testAnonymousClasses05_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses05/testAnonymousClasses05.php.testAnonymousClasses05_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses05.php.testAnonymousClasses05_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses05/testAnonymousClasses05.php.testAnonymousClasses05_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses05.php.testAnonymousClasses05_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses05/testAnonymousClasses05.php.testAnonymousClasses05_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses05.php.testAnonymousClasses05_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses05/testAnonymousClasses05.php.testAnonymousClasses05_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses05.php.testAnonymousClasses05_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses05/testAnonymousClasses05.php.testAnonymousClasses05_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses05.php.testAnonymousClasses05_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses05/testAnonymousClasses05.php.testAnonymousClasses05_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses05.php.testAnonymousClasses05_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses05/testAnonymousClasses05.php.testAnonymousClasses05_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testAnonymousClasses05.php.testAnonymousClasses05_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses05/testAnonymousClasses05.php.testAnonymousClasses05_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testAnonymousClasses05.php.testAnonymousClasses05_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testAnonymousClasses05/testAnonymousClasses05.php.testAnonymousClasses05_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrayDereferencing.php.testArrayDereferencing_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrayDereferencing/testArrayDereferencing.php.testArrayDereferencing_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02e.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02e.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02e.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02f.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02f.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02f.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02f.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02g.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02g.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02g.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02g.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02h.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02h.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02h.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02h.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02i.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02i.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02i.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02i.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02j.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02j.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02j.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02j.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02k.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02k.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02k.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02k.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02l.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02l.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02l.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02l.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02m.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02m.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02m.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02m.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02n.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02n.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_02n.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_02n.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_03a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_03a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_03a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_03a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_03b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_03b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_03b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_03b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_04a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_04a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_04a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_04a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_04b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_04b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_04b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_04b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05e.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05e.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05e.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05f.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05f.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05f.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05f.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05g.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05g.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05g.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05g.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05h.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05h.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05h.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05h.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05i.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05i.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05i.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05i.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05j.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05j.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05j.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05j.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05k.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05k.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05k.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05k.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05l.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05l.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_05l.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_05l.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_06a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_06a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_06a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_06a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_06b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_06b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_06b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_06b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_07a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_07a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_07a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_07a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_07b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_07b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_07b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_07b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_08a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_08a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_08a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_08a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_08b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_08b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_08b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_08b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_09a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_09a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_09a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_09a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_09b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_09b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_09b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_09b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_10a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_10a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_10a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_10a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_10b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_10b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_10b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_10b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_11a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_11a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_11a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_11a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_11b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_11b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_11b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_11b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_12a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_12a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_12a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_12a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_12b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_12b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_12b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_12b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_13a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_13a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_13a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_13a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_13b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_13b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_13b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_13b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_14a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_14a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_14a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_14a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_14b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_14b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_14b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_14b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_15a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_15a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_15a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_15a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_15b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_15b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_15b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_15b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_16a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_16a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_16a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_16a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_16b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_16b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_16b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_16b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_17a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_17a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_17a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_17a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_17b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_17b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_17b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_17b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_18a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_18a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_18a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_18a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_18b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_18b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_18b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_18b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_19a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_19a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_19a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_19a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_19b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_19b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_19b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_19b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_20a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_20a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_20a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_20a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_21a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_21a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_21a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_21a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_21b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_21b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_21b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_21b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_22a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_22a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_22a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_22a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_22b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_22b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_22b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_22b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_23a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_23a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_23a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_23a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_23b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_23b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_23b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_23b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_24a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_24a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_24a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_24a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_24b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_24b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_24b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_24b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_25a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_25a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_25a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_25a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_25b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_25b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_25b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_25b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_01c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_01c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_01c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_01d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_01d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_01d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_01d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_01e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_01e.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_01e.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_01e.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_03a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_03a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_03a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_03a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_03b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_03b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testArrowFunctions.php.testArrowFunctions_GH4209_03b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testArrowFunctions/testArrowFunctions.php.testArrowFunctions_GH4209_03b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testCatchWithAlias.php.testCatchWithAlias_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testCatchWithAlias/testCatchWithAlias.php.testCatchWithAlias_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testCatchWithAlias.php.testCatchWithAlias_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testCatchWithAlias/testCatchWithAlias.php.testCatchWithAlias_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testCatchWithAlias.php.testCatchWithAlias_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testCatchWithAlias/testCatchWithAlias.php.testCatchWithAlias_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testCatchWithAlias.php.testCatchWithAlias_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testCatchWithAlias/testCatchWithAlias.php.testCatchWithAlias_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testCatchWithAlias.php.testCatchWithAlias_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testCatchWithAlias/testCatchWithAlias.php.testCatchWithAlias_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testCatchWithAlias.php.testCatchWithAlias_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testCatchWithAlias/testCatchWithAlias.php.testCatchWithAlias_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_17.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_17.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_17.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_17.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_18.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_18.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_18.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_18.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_19.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_19.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_19.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_19.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_20.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_20.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_20.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_20.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_21.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_21.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_21.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_21.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_22.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_22.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_22.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_22.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_23.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_23.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_23.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_23.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_24.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_24.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_24.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_24.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_25.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_25.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_25.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_25.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_26.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_26.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_26.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_26.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_27.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_27.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_27.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_27.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_28.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_28.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_28.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_28.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_29.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_29.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_29.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_29.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_30.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_30.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibility.php.testClassConstantVisibility_30.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibility/testClassConstantVisibility.php.testClassConstantVisibility_30.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClassConstantVisibilityFQN/testClassConstantVisibilityFQN.php.testClassConstantVisibilityFQN_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testClsVarPropInPhpDocTest.php.testClsVarPropInPhpDocTest.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testClsVarPropInPhpDocTest/testClsVarPropInPhpDocTest.php.testClsVarPropInPhpDocTest.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testClsVarPropInPhpDocTest.php.testClsVarPropInPhpDocTest.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testClsVarPropInPhpDocTest/testClsVarPropInPhpDocTest.php.testClsVarPropInPhpDocTest.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_17.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_17.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_17.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_17.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_18.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_18.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_18.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_18.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_19.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_19.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_19.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_19.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_20.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_20.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_20.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_20.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_21.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_21.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_21.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_21.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_22.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_22.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_22.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_22.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_23.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_23.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_23.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_23.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_24.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_24.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_24.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_24.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_25.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_25.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_25.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_25.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_26.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_26.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_26.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_26.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_27.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_27.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_27.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_27.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_28.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_28.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_28.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_28.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_29.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_29.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_29.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_29.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_30.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_30.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstantArrayAccess.php.testConstantArrayAccess_30.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstantArrayAccess/testConstantArrayAccess.php.testConstantArrayAccess_30.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstants.php.testConstants_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstants/testConstants.php.testConstants_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstants.php.testConstants_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstants/testConstants.php.testConstants_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstants.php.testConstants_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstants/testConstants.php.testConstants_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstants.php.testConstants_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstants/testConstants.php.testConstants_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstants.php.testConstants_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstants/testConstants.php.testConstants_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstants.php.testConstants_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstants/testConstants.php.testConstants_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testConstants.php.testConstants_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testConstants/testConstants.php.testConstants_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testConstants.php.testConstants_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testConstants/testConstants.php.testConstants_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_17.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_17.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_17.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_17.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_18.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_18.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_18.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_18.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_19.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_19.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_19.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_19.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_20.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_20.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_20.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_20.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_21.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_21.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_21.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_21.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_22.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_22.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_22.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_22.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_23.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_23.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_23.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_23.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_24.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_24.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_24.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_24.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_25.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_25.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_25.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_25.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_26.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_26.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_26.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_26.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_27.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_27.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testContextSensitiveLexer.php.testContextSensitiveLexer_27.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testContextSensitiveLexer/testContextSensitiveLexer.php.testContextSensitiveLexer_27.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFieldAccessInInstanceOf.php.testFieldAccessInInstanceOf_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testFieldAccessInInstanceOf/testFieldAccessInInstanceOf.php.testFieldAccessInInstanceOf_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFieldAccessInInstanceOf.php.testFieldAccessInInstanceOf_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testFieldAccessInInstanceOf/testFieldAccessInInstanceOf.php.testFieldAccessInInstanceOf_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testFieldAccessInInstanceOf.php.testFieldAccessInInstanceOf_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testFieldAccessInInstanceOf/testFieldAccessInInstanceOf.php.testFieldAccessInInstanceOf_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testFieldAccessInInstanceOf.php.testFieldAccessInInstanceOf_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testFieldAccessInInstanceOf/testFieldAccessInInstanceOf.php.testFieldAccessInInstanceOf_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGotoConstructTest.php.testGotoConstructTest.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGotoConstructTest/testGotoConstructTest.php.testGotoConstructTest.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGotoConstructTest.php.testGotoConstructTest.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGotoConstructTest/testGotoConstructTest.php.testGotoConstructTest.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGotoConstructTest.php.testGotoConstructTest_2.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGotoConstructTest/testGotoConstructTest.php.testGotoConstructTest_2.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGotoConstructTest.php.testGotoConstructTest_2.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGotoConstructTest/testGotoConstructTest.php.testGotoConstructTest_2.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGotoLabel.php.testGotoLabel.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGotoLabel/testGotoLabel.php.testGotoLabel.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGotoLabel.php.testGotoLabel.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGotoLabel/testGotoLabel.php.testGotoLabel.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUseTrailingCommas/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses01.php.testGroupUses01_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses01/testGroupUses01.php.testGroupUses01_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testGroupUses02.php.testGroupUses02_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testGroupUses02/testGroupUses02.php.testGroupUses02_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIfaceTest.php.testIfaceTest.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIfaceTest/testIfaceTest.php.testIfaceTest.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIfaceTest.php.testIfaceTest.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIfaceTest/testIfaceTest.php.testIfaceTest.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIfaceTest.php.testIfaceTest_2.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIfaceTest/testIfaceTest.php.testIfaceTest_2.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIfaceTest.php.testIfaceTest_2.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIfaceTest/testIfaceTest.php.testIfaceTest_2.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIfaceTest.php.testIfaceTest_3.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIfaceTest/testIfaceTest.php.testIfaceTest_3.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIfaceTest.php.testIfaceTest_3.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIfaceTest/testIfaceTest.php.testIfaceTest_3.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIfaceTest.php.testIfaceTest_4.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIfaceTest/testIfaceTest.php.testIfaceTest_4.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIfaceTest.php.testIfaceTest_4.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIfaceTest/testIfaceTest.php.testIfaceTest_4.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testInstanceof198909.php.testInstanceof198909_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testInstanceof198909/testInstanceof198909.php.testInstanceof198909_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testInstanceof198909.php.testInstanceof198909_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testInstanceof198909/testInstanceof198909.php.testInstanceof198909_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testInstanceof198909.php.testInstanceof198909_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testInstanceof198909/testInstanceof198909.php.testInstanceof198909_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testInstanceof198909.php.testInstanceof198909_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testInstanceof198909/testInstanceof198909.php.testInstanceof198909_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testInstanceof198909.php.testInstanceof198909_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testInstanceof198909/testInstanceof198909.php.testInstanceof198909_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testInstanceof198909.php.testInstanceof198909_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testInstanceof198909/testInstanceof198909.php.testInstanceof198909_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue133465.php.testIssue133465_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue133465/testIssue133465.php.testIssue133465_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue133465.php.testIssue133465_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue133465/testIssue133465.php.testIssue133465_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue133465.php.testIssue133465_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue133465/testIssue133465.php.testIssue133465_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue133465.php.testIssue133465_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue133465/testIssue133465.php.testIssue133465_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue133465.php.testIssue133465_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue133465/testIssue133465.php.testIssue133465_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue133465.php.testIssue133465_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue133465/testIssue133465.php.testIssue133465_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue186553.php.testIssue186553_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue186553/testIssue186553.php.testIssue186553_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue186553.php.testIssue186553_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue186553/testIssue186553.php.testIssue186553_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue186553.php.testIssue186553_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue186553/testIssue186553.php.testIssue186553_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue186553.php.testIssue186553_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue186553/testIssue186553.php.testIssue186553_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue186553.php.testIssue186553_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue186553/testIssue186553.php.testIssue186553_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue186553.php.testIssue186553_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue186553/testIssue186553.php.testIssue186553_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue197283.php.testIssue197283_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue197283/testIssue197283.php.testIssue197283_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue197283.php.testIssue197283_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue197283/testIssue197283.php.testIssue197283_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue197283.php.testIssue197283_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue197283/testIssue197283.php.testIssue197283_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue197283.php.testIssue197283_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue197283/testIssue197283.php.testIssue197283_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue197283.php.testIssue197283_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue197283/testIssue197283.php.testIssue197283_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue197283.php.testIssue197283_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue197283/testIssue197283.php.testIssue197283_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue197283.php.testIssue197283_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue197283/testIssue197283.php.testIssue197283_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue197283.php.testIssue197283_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue197283/testIssue197283.php.testIssue197283_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue197283.php.testIssue197283_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue197283/testIssue197283.php.testIssue197283_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue197283.php.testIssue197283_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue197283/testIssue197283.php.testIssue197283_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue197283.php.testIssue197283_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue197283/testIssue197283.php.testIssue197283_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue197283.php.testIssue197283_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue197283/testIssue197283.php.testIssue197283_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue198449.php.testIssue198449_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue198449/testIssue198449.php.testIssue198449_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue198449.php.testIssue198449_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue198449/testIssue198449.php.testIssue198449_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200399.php.testIssue200399_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200399/testIssue200399.php.testIssue200399_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200399.php.testIssue200399_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200399/testIssue200399.php.testIssue200399_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_17.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_17.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_17.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_17.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_18.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_18.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_18.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_18.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_19.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_19.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_19.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_19.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_20.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_20.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_20.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_20.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_21.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_21.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_21.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_21.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_22.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_22.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_22.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_22.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_23.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_23.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_23.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_23.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_24.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_24.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_24.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_24.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_25.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_25.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_25.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_25.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_26.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_26.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_26.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_26.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_27.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_27.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_27.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_27.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_28.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_28.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_28.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_28.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_29.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_29.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_29.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_29.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_30.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_30.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue200596.php.testIssue200596_30.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue200596/testIssue200596.php.testIssue200596_30.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue201429.php.testIssue201429_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue201429/testIssue201429.php.testIssue201429_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue201429.php.testIssue201429_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue201429/testIssue201429.php.testIssue201429_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue201671.php.testIssue201671.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue201671/testIssue201671.php.testIssue201671.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue201671.php.testIssue201671.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue201671/testIssue201671.php.testIssue201671.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203073.php.testIssue203073_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203073/testIssue203073.php.testIssue203073_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203073.php.testIssue203073_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203073/testIssue203073.php.testIssue203073_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203073.php.testIssue203073_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203073/testIssue203073.php.testIssue203073_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203073.php.testIssue203073_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203073/testIssue203073.php.testIssue203073_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203073.php.testIssue203073_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203073/testIssue203073.php.testIssue203073_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203073.php.testIssue203073_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203073/testIssue203073.php.testIssue203073_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203073.php.testIssue203073_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203073/testIssue203073.php.testIssue203073_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203073.php.testIssue203073_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203073/testIssue203073.php.testIssue203073_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203073.php.testIssue203073_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203073/testIssue203073.php.testIssue203073_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203073.php.testIssue203073_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203073/testIssue203073.php.testIssue203073_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203073.php.testIssue203073_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203073/testIssue203073.php.testIssue203073_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203073.php.testIssue203073_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203073/testIssue203073.php.testIssue203073_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203419.php.testIssue203419_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203419/testIssue203419.php.testIssue203419_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203814.php.testIssue203814_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203814/testIssue203814.php.testIssue203814_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203814.php.testIssue203814_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203814/testIssue203814.php.testIssue203814_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203814.php.testIssue203814_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203814/testIssue203814.php.testIssue203814_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203814.php.testIssue203814_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203814/testIssue203814.php.testIssue203814_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203814.php.testIssue203814_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203814/testIssue203814.php.testIssue203814_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203814.php.testIssue203814_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203814/testIssue203814.php.testIssue203814_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue203814.php.testIssue203814_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203814/testIssue203814.php.testIssue203814_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue203814.php.testIssue203814_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue203814/testIssue203814.php.testIssue203814_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue204433.php.testIssue204433_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue204433/testIssue204433.php.testIssue204433_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue204433.php.testIssue204433_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue204433/testIssue204433.php.testIssue204433_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue204433.php.testIssue204433_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue204433/testIssue204433.php.testIssue204433_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue204433.php.testIssue204433_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue204433/testIssue204433.php.testIssue204433_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue204433.php.testIssue204433_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue204433/testIssue204433.php.testIssue204433_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue204433.php.testIssue204433_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue204433/testIssue204433.php.testIssue204433_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue207346.php.testIssue207346_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207346/testIssue207346.php.testIssue207346_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue207346.php.testIssue207346_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207346/testIssue207346.php.testIssue207346_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue207346.php.testIssue207346_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207346/testIssue207346.php.testIssue207346_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue207346.php.testIssue207346_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207346/testIssue207346.php.testIssue207346_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue207346.php.testIssue207346_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207346/testIssue207346.php.testIssue207346_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue207346.php.testIssue207346_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207346/testIssue207346.php.testIssue207346_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue207615.php.testIssue207615_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207615/testIssue207615.php.testIssue207615_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue207615.php.testIssue207615_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207615/testIssue207615.php.testIssue207615_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue207615.php.testIssue207615_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207615/testIssue207615.php.testIssue207615_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue207615.php.testIssue207615_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207615/testIssue207615.php.testIssue207615_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue207615.php.testIssue207615_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207615/testIssue207615.php.testIssue207615_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue207615.php.testIssue207615_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207615/testIssue207615.php.testIssue207615_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue207971.php.testIssue207971_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207971/testIssue207971.php.testIssue207971_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue207971.php.testIssue207971_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207971/testIssue207971.php.testIssue207971_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue207971.php.testIssue207971_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207971/testIssue207971.php.testIssue207971_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue207971.php.testIssue207971_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207971/testIssue207971.php.testIssue207971_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue207971.php.testIssue207971_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207971/testIssue207971.php.testIssue207971_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue207971.php.testIssue207971_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207971/testIssue207971.php.testIssue207971_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue207971.php.testIssue207971_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207971/testIssue207971.php.testIssue207971_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue207971.php.testIssue207971_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207971/testIssue207971.php.testIssue207971_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue207971.php.testIssue207971_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207971/testIssue207971.php.testIssue207971_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue207971.php.testIssue207971_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207971/testIssue207971.php.testIssue207971_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue207971.php.testIssue207971_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207971/testIssue207971.php.testIssue207971_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue207971.php.testIssue207971_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue207971/testIssue207971.php.testIssue207971_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue208245.php.testIssue208245_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208245/testIssue208245.php.testIssue208245_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue208245.php.testIssue208245_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208245/testIssue208245.php.testIssue208245_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue208245.php.testIssue208245_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208245/testIssue208245.php.testIssue208245_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue208245.php.testIssue208245_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208245/testIssue208245.php.testIssue208245_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue208245.php.testIssue208245_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208245/testIssue208245.php.testIssue208245_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue208245.php.testIssue208245_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208245/testIssue208245.php.testIssue208245_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue208245.php.testIssue208245_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208245/testIssue208245.php.testIssue208245_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue208245.php.testIssue208245_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208245/testIssue208245.php.testIssue208245_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue208245.php.testIssue208245_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208245/testIssue208245.php.testIssue208245_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue208245.php.testIssue208245_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208245/testIssue208245.php.testIssue208245_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue208245.php.testIssue208245_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208245/testIssue208245.php.testIssue208245_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue208245.php.testIssue208245_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208245/testIssue208245.php.testIssue208245_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue208826.php.testIssue208826_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208826/testIssue208826.php.testIssue208826_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue208826.php.testIssue208826_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208826/testIssue208826.php.testIssue208826_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue208826.php.testIssue208826_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208826/testIssue208826.php.testIssue208826_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue208826.php.testIssue208826_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208826/testIssue208826.php.testIssue208826_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue208826.php.testIssue208826_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208826/testIssue208826.php.testIssue208826_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue208826.php.testIssue208826_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208826/testIssue208826.php.testIssue208826_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue208826.php.testIssue208826_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208826/testIssue208826.php.testIssue208826_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue208826.php.testIssue208826_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208826/testIssue208826.php.testIssue208826_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue208826.php.testIssue208826_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208826/testIssue208826.php.testIssue208826_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue208826.php.testIssue208826_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208826/testIssue208826.php.testIssue208826_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue208826.php.testIssue208826_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208826/testIssue208826.php.testIssue208826_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue208826.php.testIssue208826_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue208826/testIssue208826.php.testIssue208826_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209187.php.testIssue209187_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209187/testIssue209187.php.testIssue209187_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209187.php.testIssue209187_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209187/testIssue209187.php.testIssue209187_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209187.php.testIssue209187_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209187/testIssue209187.php.testIssue209187_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209187.php.testIssue209187_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209187/testIssue209187.php.testIssue209187_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209187.php.testIssue209187_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209187/testIssue209187.php.testIssue209187_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209187.php.testIssue209187_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209187/testIssue209187.php.testIssue209187_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_010.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_010.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_010.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_010.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_011.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_011.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_011.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_011.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_012.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_012.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_012.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_012.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_013.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_013.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_013.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_013.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_014.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_014.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_014.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_014.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_015.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_015.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_015.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_015.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_016.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_016.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_016.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_016.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_018.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_018.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_018.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_018.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_019.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_019.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_019.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_019.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_020.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_020.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_020.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_020.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_021.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_021.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_021.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_021.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209308.php.testIssue209308_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209308/testIssue209308.php.testIssue209308_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue209309.php.testIssue209309_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue209309/testIssue209309.php.testIssue209309_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue211015.php.testIssue211015_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211015/testIssue211015.php.testIssue211015_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue211015.php.testIssue211015_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211015/testIssue211015.php.testIssue211015_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue211015.php.testIssue211015_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211015/testIssue211015.php.testIssue211015_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue211015.php.testIssue211015_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211015/testIssue211015.php.testIssue211015_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue211015.php.testIssue211015_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211015/testIssue211015.php.testIssue211015_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue211015.php.testIssue211015_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211015/testIssue211015.php.testIssue211015_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue211015.php.testIssue211015_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211015/testIssue211015.php.testIssue211015_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue211015.php.testIssue211015_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211015/testIssue211015.php.testIssue211015_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue211015.php.testIssue211015_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211015/testIssue211015.php.testIssue211015_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue211015.php.testIssue211015_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211015/testIssue211015.php.testIssue211015_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue211230.php.testIssue211230_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211230/testIssue211230.php.testIssue211230_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue211230.php.testIssue211230_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211230/testIssue211230.php.testIssue211230_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue211230.php.testIssue211230_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211230/testIssue211230.php.testIssue211230_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue211230.php.testIssue211230_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211230/testIssue211230.php.testIssue211230_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue211230.php.testIssue211230_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211230/testIssue211230.php.testIssue211230_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue211230.php.testIssue211230_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211230/testIssue211230.php.testIssue211230_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue211230.php.testIssue211230_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211230/testIssue211230.php.testIssue211230_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue211230.php.testIssue211230_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211230/testIssue211230.php.testIssue211230_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue211230.php.testIssue211230_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211230/testIssue211230.php.testIssue211230_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue211230.php.testIssue211230_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue211230/testIssue211230.php.testIssue211230_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213133.php.testIssue213133_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213133/testIssue213133.php.testIssue213133_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213133.php.testIssue213133_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213133/testIssue213133.php.testIssue213133_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213133.php.testIssue213133_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213133/testIssue213133.php.testIssue213133_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213133.php.testIssue213133_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213133/testIssue213133.php.testIssue213133_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213133.php.testIssue213133_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213133/testIssue213133.php.testIssue213133_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213133.php.testIssue213133_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213133/testIssue213133.php.testIssue213133_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213133.php.testIssue213133_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213133/testIssue213133.php.testIssue213133_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213133.php.testIssue213133_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213133/testIssue213133.php.testIssue213133_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213133.php.testIssue213133_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213133/testIssue213133.php.testIssue213133_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213133.php.testIssue213133_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213133/testIssue213133.php.testIssue213133_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213133.php.testIssue213133_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213133/testIssue213133.php.testIssue213133_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213133.php.testIssue213133_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213133/testIssue213133.php.testIssue213133_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue213584.php.testIssue213584_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue213584/testIssue213584.php.testIssue213584_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue216876.php.testIssue216876_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue216876/testIssue216876.php.testIssue216876_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue216876.php.testIssue216876_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue216876/testIssue216876.php.testIssue216876_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue216876.php.testIssue216876_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue216876/testIssue216876.php.testIssue216876_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue216876.php.testIssue216876_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue216876/testIssue216876.php.testIssue216876_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue216876.php.testIssue216876_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue216876/testIssue216876.php.testIssue216876_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue216876.php.testIssue216876_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue216876/testIssue216876.php.testIssue216876_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue217357.php.testIssue217357_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217357/testIssue217357.php.testIssue217357_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue217357.php.testIssue217357_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217357/testIssue217357.php.testIssue217357_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue217357.php.testIssue217357_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217357/testIssue217357.php.testIssue217357_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue217357.php.testIssue217357_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217357/testIssue217357.php.testIssue217357_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue217357.php.testIssue217357_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217357/testIssue217357.php.testIssue217357_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue217357.php.testIssue217357_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217357/testIssue217357.php.testIssue217357_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue217360.php.testIssue217360_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217360/testIssue217360.php.testIssue217360_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue217360.php.testIssue217360_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217360/testIssue217360.php.testIssue217360_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue217360.php.testIssue217360_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217360/testIssue217360.php.testIssue217360_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue217360.php.testIssue217360_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217360/testIssue217360.php.testIssue217360_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue217360.php.testIssue217360_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217360/testIssue217360.php.testIssue217360_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue217360.php.testIssue217360_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217360/testIssue217360.php.testIssue217360_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue217360.php.testIssue217360_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217360/testIssue217360.php.testIssue217360_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue217360.php.testIssue217360_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue217360/testIssue217360.php.testIssue217360_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue218487.php.testIssue218487_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue218487/testIssue218487.php.testIssue218487_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue218487.php.testIssue218487_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue218487/testIssue218487.php.testIssue218487_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue218487.php.testIssue218487_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue218487/testIssue218487.php.testIssue218487_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue218487.php.testIssue218487_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue218487/testIssue218487.php.testIssue218487_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue223076.php.testIssue223076_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue223076/testIssue223076.php.testIssue223076_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue223076.php.testIssue223076_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue223076/testIssue223076.php.testIssue223076_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue223076.php.testIssue223076_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue223076/testIssue223076.php.testIssue223076_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue223076.php.testIssue223076_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue223076/testIssue223076.php.testIssue223076_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue223076.php.testIssue223076_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue223076/testIssue223076.php.testIssue223076_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue223076.php.testIssue223076_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue223076/testIssue223076.php.testIssue223076_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue244317.php.testIssue244317_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue244317/testIssue244317.php.testIssue244317_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue244317.php.testIssue244317_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue244317/testIssue244317.php.testIssue244317_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue244317.php.testIssue244317_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue244317/testIssue244317.php.testIssue244317_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue244317.php.testIssue244317_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue244317/testIssue244317.php.testIssue244317_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue244317.php.testIssue244317_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue244317/testIssue244317.php.testIssue244317_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue244317.php.testIssue244317_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue244317/testIssue244317.php.testIssue244317_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_17.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_17.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_17.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_17.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_18.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_18.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue247082.php.testIssue247082_18.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue247082/testIssue247082.php.testIssue247082_18.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue262438.php.testIssue262438_00.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue262438/testIssue262438.php.testIssue262438_00.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue262438.php.testIssue262438_00.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue262438/testIssue262438.php.testIssue262438_00.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue262438.php.testIssue262438_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue262438/testIssue262438.php.testIssue262438_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue262438.php.testIssue262438_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue262438/testIssue262438.php.testIssue262438_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue262438.php.testIssue262438_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue262438/testIssue262438.php.testIssue262438_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue262438.php.testIssue262438_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue262438/testIssue262438.php.testIssue262438_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue262438.php.testIssue262438_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue262438/testIssue262438.php.testIssue262438_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue262438.php.testIssue262438_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue262438/testIssue262438.php.testIssue262438_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue268712.php.testIssue268712_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue268712/testIssue268712.php.testIssue268712_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269647.php.testIssue269647_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269647/testIssue269647.php.testIssue269647_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssue269672.php.testIssue269672_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssue269672/testIssue269672.php.testIssue269672_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssueGH5371.php.testIssueGH5371_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssueGH5371/testIssueGH5371.php.testIssueGH5371_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssueGH5371.php.testIssueGH5371_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssueGH5371/testIssueGH5371.php.testIssueGH5371_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssueGH5371.php.testIssueGH5371_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssueGH5371/testIssueGH5371.php.testIssueGH5371_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssueGH5371.php.testIssueGH5371_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssueGH5371/testIssueGH5371.php.testIssueGH5371_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssueGH5371.php.testIssueGH5371_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssueGH5371/testIssueGH5371.php.testIssueGH5371_01c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssueGH5371.php.testIssueGH5371_01c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssueGH5371/testIssueGH5371.php.testIssueGH5371_01c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssueGH5371.php.testIssueGH5371_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssueGH5371/testIssueGH5371.php.testIssueGH5371_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssueGH5371.php.testIssueGH5371_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssueGH5371/testIssueGH5371.php.testIssueGH5371_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssueGH5371.php.testIssueGH5371_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssueGH5371/testIssueGH5371.php.testIssueGH5371_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssueGH5371.php.testIssueGH5371_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssueGH5371/testIssueGH5371.php.testIssueGH5371_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testIssueGH5371.php.testIssueGH5371_02c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testIssueGH5371/testIssueGH5371.php.testIssueGH5371_02c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testIssueGH5371.php.testIssueGH5371_02c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testIssueGH5371/testIssueGH5371.php.testIssueGH5371_02c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMagicMethod.php.testMagicMethod_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMagicMethod/testMagicMethod.php.testMagicMethod_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMagicMethod.php.testMagicMethod_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMagicMethod/testMagicMethod.php.testMagicMethod_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMagicMethod.php.testMagicMethod_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMagicMethod/testMagicMethod.php.testMagicMethod_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMagicMethod.php.testMagicMethod_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMagicMethod/testMagicMethod.php.testMagicMethod_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMagicMethod171249.php.testMagicMethod171249.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMagicMethod171249/testMagicMethod171249.php.testMagicMethod171249.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMagicMethod171249.php.testMagicMethod171249.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMagicMethod171249/testMagicMethod171249.php.testMagicMethod171249.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_2.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_2.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_2.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_2.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_3.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_3.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_3.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_3.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_4.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_4.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_4.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_4.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_5.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_5.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_5.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_5.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_6.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_6.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_6.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_6.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_7.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_7.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_7.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_7.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_8.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_8.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_8.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_8.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_9.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_9.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkArray.php.testMarkArray_9.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkArray/testMarkArray.php.testMarkArray_9.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_17.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_17.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_17.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_17.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_18.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_18.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_18.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_18.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_19.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_19.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_19.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_19.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_2.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_2.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_2.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_2.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_20.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_20.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_20.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_20.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_21.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_21.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_21.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_21.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_22.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_22.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_22.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_22.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_3.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_3.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_3.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_3.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_4.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_4.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_4.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_4.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_5.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_5.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_5.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_5.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_6.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_6.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_6.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_6.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_7.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_7.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_7.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_7.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_8.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_8.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_8.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_8.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_9.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_9.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkClsIface.php.testMarkClsIface_9.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkClsIface/testMarkClsIface.php.testMarkClsIface_9.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkReturnsOnConstructorTest.php.testMarkReturnsOnConstructorTest.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkReturnsOnConstructorTest/testMarkReturnsOnConstructorTest.php.testMarkReturnsOnConstructorTest.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkReturnsOnConstructorTest.php.testMarkReturnsOnConstructorTest.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkReturnsOnConstructorTest/testMarkReturnsOnConstructorTest.php.testMarkReturnsOnConstructorTest.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMarkReturnsOnConstructorTest.php.testMarkReturnsOnConstructorTest_2.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMarkReturnsOnConstructorTest/testMarkReturnsOnConstructorTest.php.testMarkReturnsOnConstructorTest_2.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMarkReturnsOnConstructorTest.php.testMarkReturnsOnConstructorTest_2.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMarkReturnsOnConstructorTest/testMarkReturnsOnConstructorTest.php.testMarkReturnsOnConstructorTest_2.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMixin.php.testMixin_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMixin/testMixin.php.testMixin_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatch.php.testMultiCatch_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatch/testMultiCatch.php.testMultiCatch_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testMultiCatchFQN.php.testMultiCatchFQN_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testMultiCatchFQN/testMultiCatchFQN.php.testMultiCatchFQN_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_01c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_01c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_01c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_02c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_02c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_02c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_02c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_03a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_03a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_03a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_03a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_03b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_03b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_03b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_03b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_03c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_03c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_03c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_03c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_04a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_04a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_04a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_04a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_04b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_04b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_04b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_04b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_04c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_04c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb1861.php.testNb1861_04c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb1861/testNb1861.php.testNb1861_04c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_03a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_03a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_03a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_03a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_03b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_03b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_03b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_03b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_03c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_03c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb3108.php.testNb3108_03c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb3108/testNb3108.php.testNb3108_03c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01e.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01e.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01e.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01f.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01f.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01f.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01f.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01g.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01g.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNb5062.php.testNb5062_01g.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNb5062/testNb5062.php.testNb5062_01g.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_17.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_17.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypes.php.testNullableTypes_17.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypes/testNullableTypes.php.testNullableTypes_17.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_17.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_17.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesFQN.php.testNullableTypesFQN_17.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesFQN/testNullableTypesFQN.php.testNullableTypesFQN_17.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testNullableTypesInPhpDoc/testNullableTypesInPhpDoc.php.testNullableTypesInPhpDoc_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testOccurrences1.php.testOccurrences1.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrences1/testOccurrences1.php.testOccurrences1.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testOccurrences1.php.testOccurrences1.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrences1/testOccurrences1.php.testOccurrences1.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testOccurrences2.php.testOccurrences2.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrences2/testOccurrences2.php.testOccurrences2.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testOccurrences2.php.testOccurrences2.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrences2/testOccurrences2.php.testOccurrences2.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testOccurrences3.php.testOccurrences3.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrences3/testOccurrences3.php.testOccurrences3.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testOccurrences3.php.testOccurrences3.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrences3/testOccurrences3.php.testOccurrences3.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testOccurrences4.php.testOccurrences4.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrences4/testOccurrences4.php.testOccurrences4.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testOccurrences4.php.testOccurrences4.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrences4/testOccurrences4.php.testOccurrences4.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testOccurrencesClassHeader.php.testOccurrencesClassHeader.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrencesClassHeader/testOccurrencesClassHeader.php.testOccurrencesClassHeader.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testOccurrencesClassHeader.php.testOccurrencesClassHeader.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrencesClassHeader/testOccurrencesClassHeader.php.testOccurrencesClassHeader.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testOccurrencesDefines.php.testOccurrencesDefines.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrencesDefines/testOccurrencesDefines.php.testOccurrencesDefines.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testOccurrencesDefines.php.testOccurrencesDefines.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrencesDefines/testOccurrencesDefines.php.testOccurrencesDefines.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testOccurrencesInstanceMethod.php.testOccurrencesInstanceMethod.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrencesInstanceMethod/testOccurrencesInstanceMethod.php.testOccurrencesInstanceMethod.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testOccurrencesInstanceMethod.php.testOccurrencesInstanceMethod.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrencesInstanceMethod/testOccurrencesInstanceMethod.php.testOccurrencesInstanceMethod.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testOccurrencesInstanceVarParam.php.testOccurrencesInstanceVarParam.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrencesInstanceVarParam/testOccurrencesInstanceVarParam.php.testOccurrencesInstanceVarParam.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testOccurrencesInstanceVarParam.php.testOccurrencesInstanceVarParam.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrencesInstanceVarParam/testOccurrencesInstanceVarParam.php.testOccurrencesInstanceVarParam.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testOccurrencesInstanceVarParam.php.testOccurrencesInstanceVarParam_1.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrencesInstanceVarParam/testOccurrencesInstanceVarParam.php.testOccurrencesInstanceVarParam_1.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testOccurrencesInstanceVarParam.php.testOccurrencesInstanceVarParam_1.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testOccurrencesInstanceVarParam/testOccurrencesInstanceVarParam.php.testOccurrencesInstanceVarParam_1.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testParamVarPropInPhpDocTest.php.testParamVarPropInPhpDocTest.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testParamVarPropInPhpDocTest/testParamVarPropInPhpDocTest.php.testParamVarPropInPhpDocTest.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testParamVarPropInPhpDocTest.php.testParamVarPropInPhpDocTest.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testParamVarPropInPhpDocTest/testParamVarPropInPhpDocTest.php.testParamVarPropInPhpDocTest.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testQualifiedUseStatement.php.testQualifiedUseStatement_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testQualifiedUseStatement/testQualifiedUseStatement.php.testQualifiedUseStatement_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testQualifiedUseStatement.php.testQualifiedUseStatement_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testQualifiedUseStatement/testQualifiedUseStatement.php.testQualifiedUseStatement_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testQualifiedUseStatement.php.testQualifiedUseStatement_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testQualifiedUseStatement/testQualifiedUseStatement.php.testQualifiedUseStatement_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testQualifiedUseStatement.php.testQualifiedUseStatement_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testQualifiedUseStatement/testQualifiedUseStatement.php.testQualifiedUseStatement_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testQualifiedUseStatement.php.testQualifiedUseStatement_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testQualifiedUseStatement/testQualifiedUseStatement.php.testQualifiedUseStatement_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testQualifiedUseStatement.php.testQualifiedUseStatement_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testQualifiedUseStatement/testQualifiedUseStatement.php.testQualifiedUseStatement_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testQualifiedUseStatement.php.testQualifiedUseStatement_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testQualifiedUseStatement/testQualifiedUseStatement.php.testQualifiedUseStatement_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testQualifiedUseStatement.php.testQualifiedUseStatement_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testQualifiedUseStatement/testQualifiedUseStatement.php.testQualifiedUseStatement_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testReflectionVariableInMethodInvocation.php.testReflectionVariableInMethodInvocation_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testReflectionVariableInMethodInvocation/testReflectionVariableInMethodInvocation.php.testReflectionVariableInMethodInvocation_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testReflectionVariableInMethodInvocation.php.testReflectionVariableInMethodInvocation_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testReflectionVariableInMethodInvocation/testReflectionVariableInMethodInvocation.php.testReflectionVariableInMethodInvocation_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testReflectionVariableInMethodInvocation.php.testReflectionVariableInMethodInvocation_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testReflectionVariableInMethodInvocation/testReflectionVariableInMethodInvocation.php.testReflectionVariableInMethodInvocation_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testReflectionVariableInMethodInvocation.php.testReflectionVariableInMethodInvocation_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testReflectionVariableInMethodInvocation/testReflectionVariableInMethodInvocation.php.testReflectionVariableInMethodInvocation_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testReturnTypes01.php.testReturnTypes01_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testReturnTypes01/testReturnTypes01.php.testReturnTypes01_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInArrayExpression/testSpreadOperatorInArrayExpression.php.testSpreadOperatorInArrayExpression_GlobalConst_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_01a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_01a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_01a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_01b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_01b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_01b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_01c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_01c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_01c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02a.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02a.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02a.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02b.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02b.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02b.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02c.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02c.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02c.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02d.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02d.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02d.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02e.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02e.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02e.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02f.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02f.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02f.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02f.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02g.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02g.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02g.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02g.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02h.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02h.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02h.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02h.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02i.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02i.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02i.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02i.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02j.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02j.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02j.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testSpreadOperatorInClassConst/testSpreadOperatorInClassConst.php.testSpreadOperatorInClassConst_02j.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_17.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_17.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_17.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_17.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_18.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_18.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNs.php.testStaticAccessWithNs_18.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNs/testStaticAccessWithNs.php.testStaticAccessWithNs_18.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticAccessWithNsAlias/testStaticAccessWithNsAlias.php.testStaticAccessWithNsAlias_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testStaticMethodCall.php.testStaticMethodCall.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testStaticMethodCall/testStaticMethodCall.php.testStaticMethodCall.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testStaticMethodCall.php.testStaticMethodCall.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testStaticMethodCall/testStaticMethodCall.php.testStaticMethodCall.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Class.php.testTypedProperties20Class_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Class/testTypedProperties20Class.php.testTypedProperties20Class_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testTypedProperties20Trait.php.testTypedProperties20Trait_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testTypedProperties20Trait/testTypedProperties20Trait.php.testTypedProperties20Trait_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax01.php.testUniformVariableSyntax01_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax01/testUniformVariableSyntax01.php.testUniformVariableSyntax01_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax02.php.testUniformVariableSyntax02_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax02/testUniformVariableSyntax02.php.testUniformVariableSyntax02_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax02.php.testUniformVariableSyntax02_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax02/testUniformVariableSyntax02.php.testUniformVariableSyntax02_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax02.php.testUniformVariableSyntax02_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax02/testUniformVariableSyntax02.php.testUniformVariableSyntax02_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax02.php.testUniformVariableSyntax02_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax02/testUniformVariableSyntax02.php.testUniformVariableSyntax02_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax02.php.testUniformVariableSyntax02_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax02/testUniformVariableSyntax02.php.testUniformVariableSyntax02_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax02.php.testUniformVariableSyntax02_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax02/testUniformVariableSyntax02.php.testUniformVariableSyntax02_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax02.php.testUniformVariableSyntax02_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax02/testUniformVariableSyntax02.php.testUniformVariableSyntax02_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax02.php.testUniformVariableSyntax02_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax02/testUniformVariableSyntax02.php.testUniformVariableSyntax02_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax02.php.testUniformVariableSyntax02_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax02/testUniformVariableSyntax02.php.testUniformVariableSyntax02_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax02.php.testUniformVariableSyntax02_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax02/testUniformVariableSyntax02.php.testUniformVariableSyntax02_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUniformVariableSyntax03.php.testUniformVariableSyntax03_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUniformVariableSyntax03/testUniformVariableSyntax03.php.testUniformVariableSyntax03_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testUseFuncAndConst.php.testUseFuncAndConst_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testUseFuncAndConst/testUseFuncAndConst.php.testUseFuncAndConst_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_01.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_01.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_01.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_01.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_02.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_02.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_02.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_02.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_03.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_03.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_03.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_03.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_04.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_04.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_04.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_04.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_05.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_05.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_05.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_05.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_06.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_06.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_06.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_06.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_07.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_07.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_07.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_07.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_08.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_08.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_08.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_08.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_09.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_09.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_09.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_09.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_10.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_10.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_10.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_10.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_11.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_11.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_11.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_11.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_12.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_12.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_12.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_12.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_13.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_13.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_13.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_13.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_14.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_14.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_14.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_14.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_15.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_15.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_15.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_15.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_16.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_16.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_16.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_16.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_17.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_17.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc.php.testVardoc_17.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc/testVardoc.php.testVardoc_17.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc166660.php.testVardoc166660.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc166660/testVardoc166660.php.testVardoc166660.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc166660.php.testVardoc166660.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc166660/testVardoc166660.php.testVardoc166660.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVardoc166660.php.testVardoc166660_1.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc166660/testVardoc166660.php.testVardoc166660_1.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVardoc166660.php.testVardoc166660_1.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVardoc166660/testVardoc166660.php.testVardoc166660_1.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/testVariableAsAClassName.php.testVariableAsAClassName.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/testVariableAsAClassName/testVariableAsAClassName.php.testVariableAsAClassName.occurrences
similarity index 100%
rename from php/php.editor/test/unit/data/testfiles/testVariableAsAClassName.php.testVariableAsAClassName.occurrences
rename to php/php.editor/test/unit/data/testfiles/markoccurences/testVariableAsAClassName/testVariableAsAClassName.php.testVariableAsAClassName.occurrences
diff --git a/php/php.editor/test/unit/data/testfiles/semantic/enumerationsWithPrivateConst.php b/php/php.editor/test/unit/data/testfiles/semantic/enumerationsWithPrivateConst.php
new file mode 100644
index 0000000..db2a3cb
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/semantic/enumerationsWithPrivateConst.php
@@ -0,0 +1,71 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+enum UsedPrivateConst1 {
+
+    public const PUBLIC_CONST = 'public const';
+    private const PRIVATE_CONST = 'private const';
+    protected const PROTECTED_CONST = 'protected const';
+
+    case Case1;
+
+    private function test(): void {
+        self::PRIVATE_CONST;
+    }
+
+}
+
+enum UsedPrivateConst2 {
+
+    public const PUBLIC_CONST = 'public const';
+    private const PRIVATE_CONST = 'private const';
+    protected const PROTECTED_CONST = 'protected const';
+
+    case Case1;
+
+    private function test(): void {
+        static::PRIVATE_CONST;
+    }
+
+}
+
+enum UsedPrivateConst3 {
+
+    public const PUBLIC_CONST = 'public const';
+    private const PRIVATE_CONST = 'private const';
+    protected const PROTECTED_CONST = 'protected const';
+
+    case Case1;
+
+    private function test(): void {
+        UsedPrivateConst3::PRIVATE_CONST;
+    }
+
+}
+
+enum UnusedPrivateConst {
+
+    public const PUBLIC_CONST = 'public const';
+    private const PRIVATE_CONST = 'private const';
+    protected const PROTECTED_CONST = 'protected const';
+
+    case Case1;
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/semantic/enumerationsWithPrivateConst.php.semantic b/php/php.editor/test/unit/data/testfiles/semantic/enumerationsWithPrivateConst.php.semantic
new file mode 100644
index 0000000..bdc266a
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/semantic/enumerationsWithPrivateConst.php.semantic
@@ -0,0 +1,71 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+enum |>CLASS:UsedPrivateConst1<| {
+
+    public const |>FIELD,STATIC:PUBLIC_CONST<| = 'public const';
+    private const |>FIELD,STATIC:PRIVATE_CONST<| = 'private const';
+    protected const |>FIELD,STATIC:PROTECTED_CONST<| = 'protected const';
+
+    case |>FIELD,STATIC:Case1<|;
+
+    private function |>METHOD,UNUSED:test<|(): void {
+        self::|>FIELD,STATIC:PRIVATE_CONST<|;
+    }
+
+}
+
+enum |>CLASS:UsedPrivateConst2<| {
+
+    public const |>FIELD,STATIC:PUBLIC_CONST<| = 'public const';
+    private const |>FIELD,STATIC:PRIVATE_CONST<| = 'private const';
+    protected const |>FIELD,STATIC:PROTECTED_CONST<| = 'protected const';
+
+    case |>FIELD,STATIC:Case1<|;
+
+    private function |>METHOD,UNUSED:test<|(): void {
+        static::|>FIELD,STATIC:PRIVATE_CONST<|;
+    }
+
+}
+
+enum |>CLASS:UsedPrivateConst3<| {
+
+    public const |>FIELD,STATIC:PUBLIC_CONST<| = 'public const';
+    private const |>FIELD,STATIC:PRIVATE_CONST<| = 'private const';
+    protected const |>FIELD,STATIC:PROTECTED_CONST<| = 'protected const';
+
+    case |>FIELD,STATIC:Case1<|;
+
+    private function |>METHOD,UNUSED:test<|(): void {
+        UsedPrivateConst3::|>FIELD,STATIC:PRIVATE_CONST<|;
+    }
+
+}
+
+enum |>CLASS:UnusedPrivateConst<| {
+
+    public const |>FIELD,STATIC:PUBLIC_CONST<| = 'public const';
+    private const |>FIELD,STATIC,UNUSED:PRIVATE_CONST<| = 'private const';
+    protected const |>FIELD,STATIC:PROTECTED_CONST<| = 'protected const';
+
+    case |>FIELD,STATIC:Case1<|;
+
+}
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testEnumerations_01.php.testEnumerationssFix_01.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testEnumerations_01.php.testEnumerationssFix_01.fixed
index cef40fe..2480286 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testEnumerations_01.php.testEnumerationssFix_01.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testEnumerations_01.php.testEnumerationssFix_01.fixed
@@ -32,7 +32,6 @@
     public function testEnum(): void {
         
     }
-
 }
 
 enum TestEnumWithTrait {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testEnumerations_01.php.testEnumerationssFix_02.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testEnumerations_01.php.testEnumerationssFix_02.fixed
index f969a32..99293f1 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testEnumerations_01.php.testEnumerationssFix_02.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testEnumerations_01.php.testEnumerationssFix_02.fixed
@@ -37,5 +37,4 @@
     public function testTrait(): void {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_01.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_01.fixed
index 35e8433..e7d3c22 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_01.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_01.fixed
@@ -12,7 +12,6 @@
     public function abstractFoo() {
         
     }
-
 }
 
 class ExtendingClass2 extends AbstractClass {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_02.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_02.fixed
index 9ddaa1a..0513080 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_02.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_02.fixed
@@ -16,7 +16,6 @@
     public function abstractFoo() {
         
     }
-
 }
 
 class ExtendingClass3 extends AbstractClass
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_03.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_03.fixed
index 65e51b9..cab30b0 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_03.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_03.fixed
@@ -20,7 +20,6 @@
     public function abstractFoo() {
         
     }
-
 }
 
 class ExtendingClass4 extends AbstractClass {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_04.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_04.fixed
index c2aac7b..70d8ace 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_04.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_04.fixed
@@ -29,7 +29,6 @@
     public function abstractFoo() {
         
     }
-
 }
 
 class ExtendingClass5 extends AbstractClass2 {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_05.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_05.fixed
index 07cb489..782d20e 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_05.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_05.fixed
@@ -39,7 +39,6 @@
     public function abstractBar() {
         
     }
-
 }
 
 interface InterfaceName {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_06.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_06.fixed
index 1800945..ce0e484 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_06.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testImplementAbstractMethodsHintFix.php.testImplementAbstractMethodsHintFix_06.fixed
@@ -45,5 +45,4 @@
     public function abstractBar() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod01.php.testIntersectionTypesFix_01.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod01.php.testIntersectionTypesFix_01.fixed
index 5656cd4..714e60b 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod01.php.testIntersectionTypesFix_01.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod01.php.testIntersectionTypesFix_01.fixed
@@ -29,7 +29,6 @@
     public function testMethod(Foo&Bar $param): Foo&Bar {
         
     }
-
 }
 
 class Foo {}
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod02.php.testIntersectionTypesFix_02.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod02.php.testIntersectionTypesFix_02.fixed
index 59393cf..92fb0f2 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod02.php.testIntersectionTypesFix_02.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod02.php.testIntersectionTypesFix_02.fixed
@@ -38,7 +38,6 @@
         public function testMethod(Foo&Bar $param): Foo&Bar {
             
         }
-
     }
 
     class Foo {}
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod03.php.testIntersectionTypesFix_03.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod03.php.testIntersectionTypesFix_03.fixed
index eeb34df..6924196 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod03.php.testIntersectionTypesFix_03.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod03.php.testIntersectionTypesFix_03.fixed
@@ -38,7 +38,6 @@
         public function testMethod(\Test1\Foo&\Test1\Bar $param): \Test1\Foo&\Test1\Bar {
             
         }
-
     }
 
     $instance = new Implement();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod04.php.testIntersectionTypesFix_04.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod04.php.testIntersectionTypesFix_04.fixed
index 7519b64..6875299 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod04.php.testIntersectionTypesFix_04.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIntersectionTypesImplementMethod04.php.testIntersectionTypesFix_04.fixed
@@ -29,7 +29,6 @@
     public function testMethod(Foo&Bar $param): Foo&Bar {
         
     }
-
 }
 
 class Foo {}
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix01.php.testIssue262838Fix01a.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix01.php.testIssue262838Fix01a.fixed
index 7b2b042..7a2c036 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix01.php.testIssue262838Fix01a.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix01.php.testIssue262838Fix01a.fixed
@@ -10,5 +10,4 @@
     public function someMethod(int $baz): \Bar {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix01.php.testIssue262838Fix01b.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix01.php.testIssue262838Fix01b.fixed
index d79e4a0..72052fe 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix01.php.testIssue262838Fix01b.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix01.php.testIssue262838Fix01b.fixed
@@ -10,5 +10,4 @@
     public function someMethod(int $baz) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix02.php.testIssue262838Fix02a.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix02.php.testIssue262838Fix02a.fixed
index 54d4364..3df614c 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix02.php.testIssue262838Fix02a.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix02.php.testIssue262838Fix02a.fixed
@@ -13,5 +13,4 @@
     public function someMethod(int $baz): \Bar {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix02.php.testIssue262838Fix02b.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix02.php.testIssue262838Fix02b.fixed
index 8671eb7..af7baec 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix02.php.testIssue262838Fix02b.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix02.php.testIssue262838Fix02b.fixed
@@ -13,5 +13,4 @@
     public function someMethod(int $baz) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix03.php.testIssue262838Fix03a.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix03.php.testIssue262838Fix03a.fixed
index 5d05638..7539c3a 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix03.php.testIssue262838Fix03a.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix03.php.testIssue262838Fix03a.fixed
@@ -13,5 +13,4 @@
     public function someMethod(int $baz) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix03.php.testIssue262838Fix03b.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix03.php.testIssue262838Fix03b.fixed
index 5d05638..7539c3a 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix03.php.testIssue262838Fix03b.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue262838Fix03.php.testIssue262838Fix03b.fixed
@@ -13,5 +13,4 @@
     public function someMethod(int $baz) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix01.php.testIssue267563Fix01a.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix01.php.testIssue267563Fix01a.fixed
index 22c529b..14b48d0 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix01.php.testIssue267563Fix01a.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix01.php.testIssue267563Fix01a.fixed
@@ -10,5 +10,4 @@
     public function someMethod(): \FooInterface {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix01.php.testIssue267563Fix01b.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix01.php.testIssue267563Fix01b.fixed
index fefdbf5..5391b10 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix01.php.testIssue267563Fix01b.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix01.php.testIssue267563Fix01b.fixed
@@ -10,5 +10,4 @@
     public function someMethod() {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix02.php.testIssue267563Fix02a.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix02.php.testIssue267563Fix02a.fixed
index 166832d..3629451 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix02.php.testIssue267563Fix02a.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix02.php.testIssue267563Fix02a.fixed
@@ -10,5 +10,4 @@
     public function someMethod(\FooInterface $baz) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix02.php.testIssue267563Fix02b.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix02.php.testIssue267563Fix02b.fixed
index 166832d..3629451 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix02.php.testIssue267563Fix02b.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue267563Fix02.php.testIssue267563Fix02b.fixed
@@ -10,5 +10,4 @@
     public function someMethod(\FooInterface $baz) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix01.php.testIssue270237Fix01a.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix01.php.testIssue270237Fix01a.fixed
index b23e1b6..6eb9324 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix01.php.testIssue270237Fix01a.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix01.php.testIssue270237Fix01a.fixed
@@ -10,5 +10,4 @@
     public function someMethod(?string $string, int $int): ?\Bar {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix01.php.testIssue270237Fix01b.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix01.php.testIssue270237Fix01b.fixed
index d842501..aebdfc0 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix01.php.testIssue270237Fix01b.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix01.php.testIssue270237Fix01b.fixed
@@ -10,5 +10,4 @@
     public function someMethod(?string $string, int $int) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix02.php.testIssue270237Fix02a.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix02.php.testIssue270237Fix02a.fixed
index a230baf..fbb6ed6 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix02.php.testIssue270237Fix02a.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix02.php.testIssue270237Fix02a.fixed
@@ -13,5 +13,4 @@
     public function someMethod(?string $string, int $int): ?\Bar {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix02.php.testIssue270237Fix02b.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix02.php.testIssue270237Fix02b.fixed
index 7024207..48f87ae 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix02.php.testIssue270237Fix02b.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix02.php.testIssue270237Fix02b.fixed
@@ -13,5 +13,4 @@
     public function someMethod(?string $string, int $int) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix03.php.testIssue270237Fix03a.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix03.php.testIssue270237Fix03a.fixed
index 90ce5c0..c02f15d 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix03.php.testIssue270237Fix03a.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix03.php.testIssue270237Fix03a.fixed
@@ -10,5 +10,4 @@
     public function someMethod(?string $string, int $int): ?\FooInterface {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix03.php.testIssue270237Fix03b.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix03.php.testIssue270237Fix03b.fixed
index 7cf7761..0a38349 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix03.php.testIssue270237Fix03b.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix03.php.testIssue270237Fix03b.fixed
@@ -10,5 +10,4 @@
     public function someMethod(?string $string, int $int) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix04.php.testIssue270237Fix04a.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix04.php.testIssue270237Fix04a.fixed
index 8f36aa8..03eea66 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix04.php.testIssue270237Fix04a.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix04.php.testIssue270237Fix04a.fixed
@@ -10,5 +10,4 @@
     public function someMethod(?\FooInterface $baz) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix04.php.testIssue270237Fix04b.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix04.php.testIssue270237Fix04b.fixed
index 8f36aa8..03eea66 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix04.php.testIssue270237Fix04b.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testIssue270237Fix04.php.testIssue270237Fix04b.fixed
@@ -10,5 +10,4 @@
     public function someMethod(?\FooInterface $baz) {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testMixedTypeImplementMethod01.php.testMixedTypeFix_01.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testMixedTypeImplementMethod01.php.testMixedTypeFix_01.fixed
index 5d350bb..4452d0a 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testMixedTypeImplementMethod01.php.testMixedTypeFix_01.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testMixedTypeImplementMethod01.php.testMixedTypeFix_01.fixed
@@ -27,5 +27,4 @@
     public function testMixed(mixed $mixed): mixed {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testNetbeans5370.php.testNetbeans5370Fix_01.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testNetbeans5370.php.testNetbeans5370Fix_01.fixed
index cfdb99f..063ba69 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testNetbeans5370.php.testNetbeans5370Fix_01.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testNetbeans5370.php.testNetbeans5370Fix_01.fixed
@@ -24,7 +24,6 @@
     public function test(): array {
         
     }
-
 }
 
 abstract class TestAbstractClass
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testNetbeans5370.php.testNetbeans5370Fix_02.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testNetbeans5370.php.testNetbeans5370Fix_02.fixed
index 2ef27f9..42ce269 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testNetbeans5370.php.testNetbeans5370Fix_02.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testNetbeans5370.php.testNetbeans5370Fix_02.fixed
@@ -37,7 +37,6 @@
     public function test(): array {
         
     }
-
 }
 
 interface TestInterface
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testStaticReturnTypeImplementMethod01.php.testStaticReturnTypeFix_01.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testStaticReturnTypeImplementMethod01.php.testStaticReturnTypeFix_01.fixed
index b210015..d908457 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testStaticReturnTypeImplementMethod01.php.testStaticReturnTypeFix_01.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testStaticReturnTypeImplementMethod01.php.testStaticReturnTypeFix_01.fixed
@@ -37,5 +37,4 @@
     public function testUnionType(): static|string|null {
         
     }
-
 }
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod01.php.testUnionTypesFix_01.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod01.php.testUnionTypesFix_01.fixed
index 40d2041..c3792af 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod01.php.testUnionTypesFix_01.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod01.php.testUnionTypesFix_01.fixed
@@ -29,7 +29,6 @@
     public function testMethod(float|int|array|Foo|null $param): Foo|Bar {
         
     }
-
 }
 
 class Foo {}
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod02.php.testUnionTypesFix_02.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod02.php.testUnionTypesFix_02.fixed
index 11fd0a9..c48f018 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod02.php.testUnionTypesFix_02.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod02.php.testUnionTypesFix_02.fixed
@@ -38,7 +38,6 @@
         public function testMethod(float|int|array|Foo|null $param): Foo|Bar {
             
         }
-
     }
 
     class Foo {}
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod03.php.testUnionTypesFix_03.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod03.php.testUnionTypesFix_03.fixed
index 5f320ac..69475232 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod03.php.testUnionTypesFix_03.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod03.php.testUnionTypesFix_03.fixed
@@ -38,7 +38,6 @@
         public function testMethod(float|int|array|\Test1\Foo|null $param): \Test1\Foo|\Test1\Bar {
             
         }
-
     }
 
     $instance = new Implement();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod04.php.testUnionTypesFix_04.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod04.php.testUnionTypesFix_04.fixed
index 8968eab..0b600d1 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod04.php.testUnionTypesFix_04.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethod04.php.testUnionTypesFix_04.fixed
@@ -29,7 +29,6 @@
     public function testMethod(float|int|array|Foo|null $param): Foo|Bar {
         
     }
-
 }
 
 class Foo {}
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes01.php.testUnionTypesWithSpecialTypesFix_01.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes01.php.testUnionTypesWithSpecialTypesFix_01.fixed
index 91bac27..84f40ab 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes01.php.testUnionTypesWithSpecialTypesFix_01.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes01.php.testUnionTypesWithSpecialTypesFix_01.fixed
@@ -45,7 +45,6 @@
     public function testUniontypes(ParentClass|Child|null $parent): ParentClass|Child|null {
         
     }
-
 }
 
 $instance = new Grandchild();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes02.php.testUnionTypesWithSpecialTypesFix_02.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes02.php.testUnionTypesWithSpecialTypesFix_02.fixed
index f181a17..328721b 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes02.php.testUnionTypesWithSpecialTypesFix_02.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes02.php.testUnionTypesWithSpecialTypesFix_02.fixed
@@ -44,7 +44,6 @@
     public function testUniontypes(\TestParent1\ParentClass|Child|null $parent): \TestParent1\ParentClass|Child|null {
         
     }
-
 }
 
 $instance = new Grandchild();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes03.php.testUnionTypesWithSpecialTypesFix_03.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes03.php.testUnionTypesWithSpecialTypesFix_03.fixed
index f8671c3..b8ab8c7 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes03.php.testUnionTypesWithSpecialTypesFix_03.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes03.php.testUnionTypesWithSpecialTypesFix_03.fixed
@@ -40,7 +40,6 @@
     public function testUniontypes(ParentClass|Child|null $parent): ParentClass|Child|null {
         
     }
-
 }
 
 $instance = new Grandchild();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes04.php.testUnionTypesWithSpecialTypesFix_04.fixed b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes04.php.testUnionTypesWithSpecialTypesFix_04.fixed
index 5588630..299403e 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes04.php.testUnionTypesWithSpecialTypesFix_04.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/ImplementAbstractMethodsHintError/testUnionTypesImplementMethodSpecialTypes04.php.testUnionTypesWithSpecialTypesFix_04.fixed
@@ -38,7 +38,6 @@
     public function testUniontypes(\ParentClass|\Child|null $parent): \ParentClass|\Child|null {
         
     }
-
 }
 
 $instance = new Grandchild();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix01.fixed b/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix01.fixed
index 8ec9ef4..8cb7103 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix01.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix01.fixed
@@ -5,7 +5,6 @@
     private function testMethod1() {
         
     }
-
 }
 
 class Test2 {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix02.fixed b/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix02.fixed
index 01129be..fcecc09 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix02.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix02.fixed
@@ -11,7 +11,6 @@
     private function testMethod2(): ?array {
         
     }
-
 }
 
 class Test3 {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix03.fixed b/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix03.fixed
index a34cb49..da753e1 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix03.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix03.fixed
@@ -16,7 +16,6 @@
     private function testMethod3() {
         
     }
-
 }
 
 class Test4 {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix04.fixed b/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix04.fixed
index b98b1d9..624dec8 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix04.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/IncorrectNonAbstractMethod/testIssue270385.php.testIssue270385Fix04.fixed
@@ -21,6 +21,5 @@
     private function testMethod4(): string {
         
     }
-
 }
 
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php
new file mode 100644
index 0000000..baf82ae
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php
@@ -0,0 +1,51 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+}
+
+ExampleEnum::Case3;
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumInt::Case3;
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumString::Case3;
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_01a.fixed b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_01a.fixed
new file mode 100644
index 0000000..349ab8a
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_01a.fixed
@@ -0,0 +1,52 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+    case Case3;
+}
+
+ExampleEnum::Case3;
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumInt::Case3;
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumString::Case3;
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_01b.fixed b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_01b.fixed
new file mode 100644
index 0000000..11e2505
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_01b.fixed
@@ -0,0 +1,52 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+    const Case3 = "";
+
+    case Case1 = 100;
+    case Case2 = 'C';
+}
+
+ExampleEnum::Case3;
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumInt::Case3;
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumString::Case3;
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_02a.fixed b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_02a.fixed
new file mode 100644
index 0000000..16f13dc
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_02a.fixed
@@ -0,0 +1,52 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+}
+
+ExampleEnum::Case3;
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+    case Case3 = 3;
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumInt::Case3;
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumString::Case3;
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_02b.fixed b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_02b.fixed
new file mode 100644
index 0000000..03a3209
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_02b.fixed
@@ -0,0 +1,52 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+}
+
+ExampleEnum::Case3;
+
+enum BackedEnumInt: int {
+    const a = 1;
+    const Case3 = "";
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumInt::Case3;
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumString::Case3;
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_03a.fixed b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_03a.fixed
new file mode 100644
index 0000000..ec157bf
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_03a.fixed
@@ -0,0 +1,52 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+}
+
+ExampleEnum::Case3;
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumInt::Case3;
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+    case Case3 = '';
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumString::Case3;
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_03b.fixed b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_03b.fixed
new file mode 100644
index 0000000..3eca451
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCaseFix_03b.fixed
@@ -0,0 +1,52 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+}
+
+ExampleEnum::Case3;
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumInt::Case3;
+
+enum BackedEnumString: string {
+    const a = 1;
+    const Case3 = "";
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+
+    public function publicMethod(): void {
+    }
+}
+
+BackedEnumString::Case3;
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCase_01.hints b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCase_01.hints
new file mode 100644
index 0000000..150e05c
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCase_01.hints
@@ -0,0 +1,6 @@
+ExampleEnum::Ca^se3;
+------------------
+HINT:Introduce Hint
+FIX:Create Constant "Case3" in Enum "ExampleEnum" (testEnumCase.php)
+HINT:Introduce Hint
+FIX:Create Enum Case "Case3" in Enum "ExampleEnum" (testEnumCase.php)
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCase_02.hints b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCase_02.hints
new file mode 100644
index 0000000..a6037f6
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCase_02.hints
@@ -0,0 +1,6 @@
+BackedEnumInt::Case^3;
+--------------------
+HINT:Introduce Hint
+FIX:Create Constant "Case3" in Enum "BackedEnumInt" (testEnumCase.php)
+HINT:Introduce Hint
+FIX:Create Enum Case "Case3" in Enum "BackedEnumInt" (testEnumCase.php)
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCase_03.hints b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCase_03.hints
new file mode 100644
index 0000000..7cd2ae9
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumCase.php.testEnumCase_03.hints
@@ -0,0 +1,6 @@
+BackedEnumString::C^ase3;
+-----------------------
+HINT:Introduce Hint
+FIX:Create Constant "Case3" in Enum "BackedEnumString" (testEnumCase.php)
+HINT:Introduce Hint
+FIX:Create Enum Case "Case3" in Enum "BackedEnumString" (testEnumCase.php)
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php
new file mode 100644
index 0000000..2bbc9e6
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php
@@ -0,0 +1,51 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+}
+
+ExampleEnum::introduceStaticMethod();
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+        $this->introduceMethod();
+        self::introduceStaticMethod();
+        static::introduceStaticMethod();
+    }
+}
+
+BackedEnumInt::Case1->introduceMethod();
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+}
+
+BackedEnumString::Case2::introduceStaticMethod();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_01.fixed b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_01.fixed
new file mode 100644
index 0000000..63058b8
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_01.fixed
@@ -0,0 +1,55 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+
+    public static function introduceStaticMethod() {
+        
+    }
+}
+
+ExampleEnum::introduceStaticMethod();
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+        $this->introduceMethod();
+        self::introduceStaticMethod();
+        static::introduceStaticMethod();
+    }
+}
+
+BackedEnumInt::Case1->introduceMethod();
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+}
+
+BackedEnumString::Case2::introduceStaticMethod();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_02.fixed b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_02.fixed
new file mode 100644
index 0000000..8832bae
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_02.fixed
@@ -0,0 +1,55 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+}
+
+ExampleEnum::introduceStaticMethod();
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+        $this->introduceMethod();
+        self::introduceStaticMethod();
+        static::introduceStaticMethod();
+    }
+
+    public function introduceMethod() {
+        
+    }
+}
+
+BackedEnumInt::Case1->introduceMethod();
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+}
+
+BackedEnumString::Case2::introduceStaticMethod();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_03.fixed b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_03.fixed
new file mode 100644
index 0000000..97f5e43
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_03.fixed
@@ -0,0 +1,55 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+}
+
+ExampleEnum::introduceStaticMethod();
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+        $this->introduceMethod();
+        self::introduceStaticMethod();
+        static::introduceStaticMethod();
+    }
+
+    public static function introduceStaticMethod() {
+        
+    }
+}
+
+BackedEnumInt::Case1->introduceMethod();
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+}
+
+BackedEnumString::Case2::introduceStaticMethod();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_04.fixed b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_04.fixed
new file mode 100644
index 0000000..97f5e43
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_04.fixed
@@ -0,0 +1,55 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+}
+
+ExampleEnum::introduceStaticMethod();
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+        $this->introduceMethod();
+        self::introduceStaticMethod();
+        static::introduceStaticMethod();
+    }
+
+    public static function introduceStaticMethod() {
+        
+    }
+}
+
+BackedEnumInt::Case1->introduceMethod();
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+}
+
+BackedEnumString::Case2::introduceStaticMethod();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_05.fixed b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_05.fixed
new file mode 100644
index 0000000..8832bae
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_05.fixed
@@ -0,0 +1,55 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+}
+
+ExampleEnum::introduceStaticMethod();
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+        $this->introduceMethod();
+        self::introduceStaticMethod();
+        static::introduceStaticMethod();
+    }
+
+    public function introduceMethod() {
+        
+    }
+}
+
+BackedEnumInt::Case1->introduceMethod();
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+}
+
+BackedEnumString::Case2::introduceStaticMethod();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_06.fixed b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_06.fixed
new file mode 100644
index 0000000..a65e92a
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethodsFix_06.fixed
@@ -0,0 +1,55 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+enum ExampleEnum {
+    const a = 1;
+
+    case Case1 = 100;
+    case Case2 = 'C';
+}
+
+ExampleEnum::introduceStaticMethod();
+
+enum BackedEnumInt: int {
+    const a = 1;
+
+    case Case1 = 1;
+    case Case2 = 2;
+
+    public function publicMethod(): void {
+        $this->introduceMethod();
+        self::introduceStaticMethod();
+        static::introduceStaticMethod();
+    }
+}
+
+BackedEnumInt::Case1->introduceMethod();
+
+enum BackedEnumString: string {
+    const a = 1;
+
+    case Case1 = 'A';
+    case Case2 = 'B';
+
+    public static function introduceStaticMethod() {
+        
+    }
+}
+
+BackedEnumString::Case2::introduceStaticMethod();
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_01.hints b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_01.hints
new file mode 100644
index 0000000..635dc07
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_01.hints
@@ -0,0 +1,4 @@
+ExampleEnum::introduceStat^icMethod();
+------------------------------------
+HINT:Introduce Hint
+FIX:Create Method " introduceStaticMethod()" in Enum "ExampleEnum" (testEnumMethods.php)
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_02.hints b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_02.hints
new file mode 100644
index 0000000..97b3bce
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_02.hints
@@ -0,0 +1,4 @@
+        $this->introduceMeth^od();
+        ------------------------
+HINT:Introduce Hint
+FIX:Create Method " introduceMethod()" in Enum "BackedEnumInt" (testEnumMethods.php)
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_03.hints b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_03.hints
new file mode 100644
index 0000000..cd3c4c2
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_03.hints
@@ -0,0 +1,4 @@
+        self::introduceStaticMet^hod();
+        -----------------------------
+HINT:Introduce Hint
+FIX:Create Method " introduceStaticMethod()" in Enum "BackedEnumInt" (testEnumMethods.php)
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_04.hints b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_04.hints
new file mode 100644
index 0000000..edc7eb4
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_04.hints
@@ -0,0 +1,4 @@
+        static::introduceStaticMeth^od();
+        -------------------------------
+HINT:Introduce Hint
+FIX:Create Method " introduceStaticMethod()" in Enum "BackedEnumInt" (testEnumMethods.php)
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_05.hints b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_05.hints
new file mode 100644
index 0000000..c59990a
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_05.hints
@@ -0,0 +1,4 @@
+BackedEnumInt::Case1->introduceMet^hod();
+---------------------------------------
+HINT:Introduce Hint
+FIX:Create Method " introduceMethod()" in Enum "BackedEnumInt" (testEnumMethods.php)
diff --git a/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_06.hints b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_06.hints
new file mode 100644
index 0000000..93f858a4
--- /dev/null
+++ b/php/php.editor/test/unit/data/testfiles/verification/IntroduceSuggestion/testEnumMethods.php.testEnumMethods_06.hints
@@ -0,0 +1,4 @@
+BackedEnumString::Case2::introdu^ceStaticMethod();
+------------------------------------------------
+HINT:Introduce Hint
+FIX:Create Method " introduceStaticMethod()" in Enum "BackedEnumString" (testEnumMethods.php)
diff --git a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_02.fixed b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_02.fixed
index 2ae659b..ca35ad4 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_02.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_02.fixed
@@ -3,7 +3,6 @@
 class Omg {
 
     public $bar;
-
 }
 $foo = new Omg();
 
diff --git a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_03.fixed b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_03.fixed
index b518fe5..7e22889 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_03.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_03.fixed
@@ -5,7 +5,6 @@
     public function method() {
         
     }
-
 }
 $foo = new Omg();
 
diff --git a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_04.fixed b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_04.fixed
index c1b419b..2c147bd 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_04.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_04.fixed
@@ -3,7 +3,6 @@
 class Omg {
 
     const CON = "";
-
 }
 $foo = new Omg();
 
diff --git a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_05.fixed b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_05.fixed
index 3f3f057..7a440e5 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_05.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_05.fixed
@@ -5,7 +5,6 @@
     public static function stMeth() {
         
     }
-
 }
 $foo = new Omg();
 
diff --git a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_06.fixed b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_06.fixed
index d5e81c6..677c35a 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_06.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestion.php.testIntroduceSuggestionFix_06.fixed
@@ -3,7 +3,6 @@
 class Omg {
 
     static $stFld = "";
-
 }
 $foo = new Omg();
 
diff --git a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitMethod.fixed b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitMethod.fixed
index 0ba6674..b318986 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitMethod.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitMethod.fixed
@@ -16,7 +16,6 @@
     public function method() {
         
     }
-
 }
 
 trait TraitB {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticField_03.fixed b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticField_03.fixed
index d216119..53a7680 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticField_03.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticField_03.fixed
@@ -20,7 +20,6 @@
     use BaseTrait;
 
     static $staticTraitBField = "";
-
 }
 
 trait TraitC {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticField_04.fixed b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticField_04.fixed
index fce6fc6..f971118 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticField_04.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticField_04.fixed
@@ -24,7 +24,6 @@
 trait TraitC {
 
     static $staticTraitCField = "";
-
 }
 
 TraitA::$staticField2;
diff --git a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_01.fixed b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_01.fixed
index ca7caed..821bac9 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_01.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_01.fixed
@@ -16,7 +16,6 @@
     public static function staticMethod1() {
         
     }
-
 }
 
 trait TraitB {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_02.fixed b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_02.fixed
index 9e80437..e774eaf 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_02.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_02.fixed
@@ -16,7 +16,6 @@
     public static function staticMethod2() {
         
     }
-
 }
 
 trait TraitB {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_03.fixed b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_03.fixed
index 142f886..1e519ad 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_03.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_03.fixed
@@ -22,7 +22,6 @@
     public static function staticTraitBMethod() {
         
     }
-
 }
 
 trait TraitC {
diff --git a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_04.fixed b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_04.fixed
index 84b0e2f..b8dd7f9 100644
--- a/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_04.fixed
+++ b/php/php.editor/test/unit/data/testfiles/verification/testIntroduceSuggestionTrait.php.testIntroduceSuggestionFixForTraitStaticMethod_04.fixed
@@ -26,7 +26,6 @@
     public static function staticTraitCMethod() {
         
     }
-
 }
 
 TraitA::$staticField2;
diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHPCCDocumentationTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHPCCDocumentationTest.java
index f299402..f577a53 100644
--- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHPCCDocumentationTest.java
+++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHPCCDocumentationTest.java
@@ -23,6 +23,7 @@
 import java.util.Collections;
 import java.util.Map;
 import org.netbeans.api.java.classpath.ClassPath;
+import org.netbeans.modules.csl.api.CodeCompletionHandler.QueryType;
 import org.netbeans.modules.php.project.api.PhpSourcePath;
 import org.netbeans.spi.java.classpath.support.ClassPathSupport;
 import org.openide.filesystems.FileObject;
@@ -299,6 +300,44 @@
         checkCompletionDocumentation("testfiles/completion/documentation/issueGH5426.php", "        $this->testMetho^d(null);", false, "");
     }
 
+    public void testIssueGH4494_01() throws Exception {
+        checkCompletionOnlyDocumentation("testfiles/completion/documentation/issueGH4494.php", "gh44^94_aa_bbb();");
+    }
+
+    public void testIssueGH4494_02() throws Exception {
+        checkCompletionOnlyDocumentation("testfiles/completion/documentation/issueGH4494.php", "gh4494_aa^_bbb();");
+    }
+
+    public void testIssueGH4494_03() throws Exception {
+        checkCompletionOnlyDocumentation("testfiles/completion/documentation/issueGH4494.php", "gh4494_aa_b^bb();");
+    }
+
+    public void testIssueGH4494_04() throws Exception {
+        checkCompletionOnlyDocumentation("testfiles/completion/documentation/issueGH4494.php", "gh4494^_aa_bb_cc();");
+    }
+
+    public void testIssueGH4494_05() throws Exception {
+        checkCompletionOnlyDocumentation("testfiles/completion/documentation/issueGH4494.php", "gh4494_aa^_bb_cc();");
+    }
+
+    public void testIssueGH4494_06() throws Exception {
+        checkCompletionOnlyDocumentation("testfiles/completion/documentation/issueGH4494.php", "gh4494_aa_bb^_cc();");
+    }
+
+    public void testIssueGH4494_07() throws Exception {
+        checkCompletionOnlyDocumentation("testfiles/completion/documentation/issueGH4494.php", "gh4494_aa_bb_cc^();");
+    }
+
+    public void testIssueGH5347_01() throws Exception {
+        // no golden file
+        checkCompletionOnlyDocumentation("testfiles/completion/documentation/issueGH5347.php", "^// test", true);
+    }
+
+    public void testIssueGH5347_02() throws Exception {
+        // no golden file
+        checkCompletionOnlyDocumentation("testfiles/completion/documentation/issueGH5347.php", "un^defined();", true);
+    }
+
     @Override
     protected String alterDocumentationForTest(String documentation) {
         int start = documentation.indexOf("file:");
@@ -324,6 +363,24 @@
         }
     }
 
+    private void checkCompletionOnlyDocumentation(String filePath, String caretLine) throws Exception {
+        checkCompletionOnlyDocumentation(filePath, caretLine, false);
+    }
+
+    private void checkCompletionOnlyDocumentation(String filePath, String caretLine, boolean noDocument) throws Exception {
+        if (!noDocument) {
+            checkCompletionDocumentation(filePath, caretLine, false, "", QueryType.DOCUMENTATION);
+        } else {
+            try {
+                checkCompletionDocumentation(filePath, caretLine, false, "", QueryType.DOCUMENTATION);
+            } catch (AssertionError ex) {
+                // there is no completion item
+                return;
+            }
+            fail("Must not have documentation");
+        }
+    }
+
     @Override
     protected Map<String, ClassPath> createClassPathsForTest() {
         return Collections.singletonMap(
diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHPCodeCompletionGH4683Test.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHPCodeCompletionGH4683Test.java
new file mode 100644
index 0000000..99adfbe
--- /dev/null
+++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHPCodeCompletionGH4683Test.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.php.editor.completion;
+
+import java.io.File;
+import java.util.Collections;
+import java.util.Map;
+import org.netbeans.api.java.classpath.ClassPath;
+import org.netbeans.modules.php.project.api.PhpSourcePath;
+import org.netbeans.spi.java.classpath.support.ClassPathSupport;
+import org.openide.filesystems.FileObject;
+import org.openide.filesystems.FileUtil;
+
+public class PHPCodeCompletionGH4683Test extends PHPCodeCompletionTestBase {
+
+    public PHPCodeCompletionGH4683Test(String testName) {
+        super(testName);
+    }
+
+    public void testGH3486_01() throws Exception {
+        checkCompletion("testfiles/completion/lib/gh4683/gh4683.php", "        $this->^data;", false);
+    }
+
+    public void testGH3486_02() throws Exception {
+        checkCompletion("testfiles/completion/lib/gh4683/gh4683.php", "        $this->data->^publicField;", false);
+    }
+
+    public void testGH3486_03() throws Exception {
+        checkCompletion("testfiles/completion/lib/gh4683/gh4683.php", "        $this->data::^PUBLIC_CONSTANT;", false);
+    }
+
+    public void testGH3486_04() throws Exception {
+        checkCompletion("testfiles/completion/lib/gh4683/gh4683.php", "$test->^data;", false);
+    }
+
+    public void testGH3486_05() throws Exception {
+        checkCompletion("testfiles/completion/lib/gh4683/gh4683.php", "$test->data->^publicField;", false);
+    }
+
+    public void testGH3486_06() throws Exception {
+        checkCompletion("testfiles/completion/lib/gh4683/gh4683.php", "$test->data::^PUBLIC_CONSTANT;", false);
+    }
+
+    @Override
+    protected Map<String, ClassPath> createClassPathsForTest() {
+        return Collections.singletonMap(
+            PhpSourcePath.SOURCE_CP,
+            ClassPathSupport.createClassPath(new FileObject[] {
+                FileUtil.toFileObject(new File(getDataDir(), "/testfiles/completion/lib/gh4683"))
+            })
+        );
+    }
+}
diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/GotoDeclarationPHP81Test.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/GotoDeclarationPHP81Test.java
index f68ba9a..f7c015c 100644
--- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/GotoDeclarationPHP81Test.java
+++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/GotoDeclarationPHP81Test.java
@@ -437,6 +437,26 @@
         checkDeclaration(getTestPath(), "$i::publicSt^aticMethod();", "    public static function ^publicStaticMethod(): void {");
     }
 
+    public void testEnumerationsWithInterface_01a() throws Exception {
+        checkDeclaration(getTestPath(), "use Enum1\\ExampleInter^face1;", "interface ^ExampleInterface1 {}");
+    }
+
+    public void testEnumerationsWithInterface_01b() throws Exception {
+        checkDeclaration(getTestPath(), "enum EnumImpl1 implements ExampleInterf^ace1 {", "interface ^ExampleInterface1 {}");
+    }
+
+    public void testEnumerationsWithInterface_01c() throws Exception {
+        checkDeclaration(getTestPath(), "enum EnumImpl2 implements ExampleInterfa^ce1, ExampleInterface2 {", "interface ^ExampleInterface1 {}");
+    }
+
+    public void testEnumerationsWithInterface_02a() throws Exception {
+        checkDeclaration(getTestPath(), "use Enum1\\ExampleInter^face2;", "interface ^ExampleInterface2 {}");
+    }
+
+    public void testEnumerationsWithInterface_02b() throws Exception {
+        checkDeclaration(getTestPath(), "enum EnumImpl2 implements ExampleInterface1, ExampleInterfa^ce2 {", "interface ^ExampleInterface2 {}");
+    }
+
     public void testEnumerationsWithBackingType_01() throws Exception {
         checkDeclaration(getTestPath(), "            static::CASE^1 => 'Case1',", "    case ^CASE1 = 1;");
     }
diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplPHP81Test.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplPHP81Test.java
index 3e5e205..ca3d7d2 100644
--- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplPHP81Test.java
+++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplPHP81Test.java
@@ -493,6 +493,34 @@
         checkOccurrences(getTestPath(), "        static::CONST^ANT2;", true);
     }
 
+    public void testEnumerationsWithInterface_01a() throws Exception {
+        checkOccurrences(getTestPath(), "interface ExampleInter^face1 {}", true);
+    }
+
+    public void testEnumerationsWithInterface_01b() throws Exception {
+        checkOccurrences(getTestPath(), "use Enum1\\ExampleInterf^ace1;", true);
+    }
+
+    public void testEnumerationsWithInterface_01c() throws Exception {
+        checkOccurrences(getTestPath(), "enum EnumImpl1 implements ExampleInterf^ace1 {", true);
+    }
+
+    public void testEnumerationsWithInterface_01d() throws Exception {
+        checkOccurrences(getTestPath(), "enum EnumImpl2 implements ExampleInterfa^ce1, ExampleInterface2 {", true);
+    }
+
+    public void testEnumerationsWithInterface_02a() throws Exception {
+        checkOccurrences(getTestPath(), "interface ExampleInterf^ace2 {}", true);
+    }
+
+    public void testEnumerationsWithInterface_02b() throws Exception {
+        checkOccurrences(getTestPath(), "use Enum1\\ExampleInterfa^ce2;", true);
+    }
+
+    public void testEnumerationsWithInterface_02c() throws Exception {
+        checkOccurrences(getTestPath(), "enum EnumImpl2 implements ExampleInterface1, Exam^pleInterface2 {", true);
+    }
+
     public void testEnumerationsWithBackingType_a01() throws Exception {
         checkOccurrences(getTestPath(), "    case C^ASE1 = 1;", true);
     }
diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplTestBase.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplTestBase.java
index 1a31898..49cb0e1 100644
--- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplTestBase.java
+++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplTestBase.java
@@ -19,6 +19,7 @@
 package org.netbeans.modules.php.editor.csl;
 
 import java.io.File;
+import java.io.IOException;
 import org.openide.filesystems.FileObject;
 import org.openide.filesystems.FileUtil;
 
@@ -35,6 +36,12 @@
         return new FileObject[]{FileUtil.toFileObject(new File(getDataDir(), getTestFolderPath()))};
     }
 
+    @Override
+    protected void assertDescriptionMatches(FileObject fileObject, String description, boolean includeTestName, String ext) throws IOException {
+        // put each golden file to each test file directory
+        assertDescriptionMatches(fileObject, description, includeTestName, ext, true);
+    }
+
     protected String getBaseTestFolderPath() {
         return BASE_TEST_FOLDER_PATH;
     }
diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/SemanticAnalyzerTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/SemanticAnalyzerTest.java
index f7c50a0..4fbc1df 100644
--- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/SemanticAnalyzerTest.java
+++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/SemanticAnalyzerTest.java
@@ -214,6 +214,10 @@
         checkSemantic("testfiles/semantic/enumerations.php");
     }
 
+    public void testEnumerationsWithPrivateConst() throws Exception {
+        checkSemantic("testfiles/semantic/enumerationsWithPrivateConst.php");
+    }
+
     public void testConstantsInTraits() throws Exception {
         checkSemantic("testfiles/semantic/constantsInTraits.php");
     }
diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterBlankLinesTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterBlankLinesTest.java
index e1d914e..13a2f15 100644
--- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterBlankLinesTest.java
+++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterBlankLinesTest.java
@@ -1687,4 +1687,276 @@
         reformatFileContents("testfiles/formatting/blankLines/php81/enumCasesBLBefore_01b.php", options);
     }
 
+    public void testIssueGH4611Methods_01a() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Methods.php", options, false, true);
+    }
+
+    public void testIssueGH4611Methods_01b() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Methods.php", options, false, true);
+    }
+
+    public void testIssueGH4611Methods_01c() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Methods.php", options, false, true);
+    }
+
+    public void testIssueGH4611Methods_01d() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Methods.php", options, false, true);
+    }
+
+    public void testIssueGH4611Methods_02a() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Methods.php", options, false, true);
+    }
+
+    public void testIssueGH4611Methods_02b() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Methods.php", options, false, true);
+    }
+
+    public void testIssueGH4611Methods_02c() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Methods.php", options, false, true);
+    }
+
+    public void testIssueGH4611Methods_02d() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Methods.php", options, false, true);
+    }
+
+    public void testIssueGH4611Properties_01a() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Properties.php", options, false, true);
+    }
+
+    public void testIssueGH4611Properties_01b() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Properties.php", options, false, true);
+    }
+
+    public void testIssueGH4611Properties_01c() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Properties.php", options, false, true);
+    }
+
+    public void testIssueGH4611Properties_01d() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Properties.php", options, false, true);
+    }
+
+    public void testIssueGH4611Properties_02a() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Properties.php", options, false, true);
+    }
+
+    public void testIssueGH4611Properties_02b() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Properties.php", options, false, true);
+    }
+
+    public void testIssueGH4611Properties_02c() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Properties.php", options, false, true);
+    }
+
+    public void testIssueGH4611Properties_02d() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611Properties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_01a() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_01b() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_01c() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_01d() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_01e() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_01f() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_01g() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_01h() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.NEW_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_02a() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_02b() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_02c() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_02d() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_02e() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_02f() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 0);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_02g() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
+    public void testIssueGH4611BothMethodsAndProperties_02h() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.BLANK_LINES_BEFORE_CLASS_END, 0);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FUNCTION, 1);
+        options.put(FmtOptions.BLANK_LINES_BEFORE_FIELDS, 1);
+        options.put(FmtOptions.CLASS_DECL_BRACE_PLACEMENT, CodeStyle.BracePlacement.SAME_LINE);
+        reformatFileContents("testfiles/formatting/blankLines/issueGH4611BothMethodsAndProperties.php", options, false, true);
+    }
+
 }
diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterTestBase.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterTestBase.java
index 7e05ce2..70a8166 100644
--- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterTestBase.java
+++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterTestBase.java
@@ -119,10 +119,14 @@
     }
 
     protected void reformatFileContents(String file, Map<String, Object> options, boolean isTemplate) throws Exception {
-        reformatFileContents(file, options, isTemplate, new IndentPrefs(4, 4));
+        reformatFileContents(file, options, isTemplate, false, new IndentPrefs(4, 4));
     }
 
-    private void reformatFileContents(String file, Map<String, Object> options, boolean isTemplate, IndentPrefs indentPrefs) throws Exception {
+    protected void reformatFileContents(String file, Map<String, Object> options, boolean isTemplate, boolean includeTestName) throws Exception {
+        reformatFileContents(file, options, isTemplate, includeTestName, new IndentPrefs(4, 4));
+    }
+
+    private void reformatFileContents(String file, Map<String, Object> options, boolean isTemplate, boolean includeTestName, IndentPrefs indentPrefs) throws Exception {
         FileObject fo = getTestFile(file);
         assertNotNull(fo);
 
@@ -194,7 +198,7 @@
 
         format(doc, formatter, formatStart, formatEnd, false);
         String after = doc.getText(0, doc.getLength());
-        assertDescriptionMatches(file, after, false, ".formatted");
+        assertDescriptionMatches(file, after, includeTestName, ".formatted");
         GSFPHPParserTestUtil.setUnitTestCaretPosition(-1);
     }
 }
diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterWrappingTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterWrappingTest.java
index ea17685..18effb0 100644
--- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterWrappingTest.java
+++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterWrappingTest.java
@@ -686,6 +686,12 @@
         reformatFileContents("testfiles/formatting/wrapping/coalescingOp03a.php", options);
     }
 
+    public void testCoalescingOp03b() throws Exception {
+        HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
+        options.put(FmtOptions.WRAP_COALESCING_OPS, CodeStyle.WrapStyle.WRAP_IF_LONG);
+        reformatFileContents("testfiles/formatting/wrapping/coalescingOp03b.php", options);
+    }
+
     public void testCoalescingOp04a() throws Exception {
         HashMap<String, Object> options = new HashMap<>(FmtOptions.getDefaults());
         options.put(FmtOptions.WRAP_COALESCING_OPS, CodeStyle.WrapStyle.WRAP_IF_LONG);
diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/typinghooks/PhpTypedTextInterceptorTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/typinghooks/PhpTypedTextInterceptorTest.java
index 144a453..4f64215 100644
--- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/typinghooks/PhpTypedTextInterceptorTest.java
+++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/typinghooks/PhpTypedTextInterceptorTest.java
@@ -662,6 +662,42 @@
         insertChar("'\"(a)\"'^", '[', "[\"(a)\"]^", "'\"(a)\"'");
     }
 
+    public void testIssueGH5707_01() throws Exception {
+        String original = ""
+                + "switch ($variable) {\n"
+                + "    case 1:\n"
+                + "        break;\n"
+                + "    case 2:\n"
+                + "        break;\n"
+                + "    ^\n"
+                + "}";
+        String expected = ""
+                + "switch ($variable) {\n"
+                + "    case 1:\n"
+                + "        break;\n"
+                + "    case 2:\n"
+                + "        break;\n"
+                + "     ^\n"
+                + "}";
+        insertChar(original, ' ', expected);
+    }
+
+    public void testIssueGH5707_02() throws Exception {
+        String original = ""
+                + "enum Enum1 {\n"
+                + "    case A = 'A';\n"
+                + "    case B = 'B';\n"
+                + "    ^\n"
+                + "}";
+        String expected = ""
+                + "enum Enum1 {\n"
+                + "    case A = 'A';\n"
+                + "    case B = 'B';\n"
+                + "     ^\n"
+                + "}";
+        insertChar(original, ' ', expected);
+    }
+
 //    Uncomment when CslTestBase.insertChar() will support ambiguous selection strings
 //
 //    public void testIssue242358() throws Exception {
diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/verification/IntroduceSuggestionTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/verification/IntroduceSuggestionTest.java
new file mode 100644
index 0000000..39281af
--- /dev/null
+++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/verification/IntroduceSuggestionTest.java
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.php.editor.verification;
+
+public class IntroduceSuggestionTest extends PHPHintsTestBase {
+
+    public IntroduceSuggestionTest(String testName) {
+        super(testName);
+    }
+
+    @Override
+    protected String getTestDirectory() {
+        return TEST_DIRECTORY + "IntroduceSuggestion/";
+    }
+
+    public void testEnumCase_01() throws Exception {
+        checkHints(new IntroduceSuggestion(), "testEnumCase.php", "ExampleEnum::Ca^se3;");
+    }
+
+    public void testEnumCase_02() throws Exception {
+        checkHints(new IntroduceSuggestion(), "testEnumCase.php", "BackedEnumInt::Case^3;");
+    }
+
+    public void testEnumCase_03() throws Exception {
+        checkHints(new IntroduceSuggestion(), "testEnumCase.php", "BackedEnumString::C^ase3;");
+    }
+
+    public void testEnumCaseFix_01a() throws Exception {
+        applyHint(new IntroduceSuggestion(), "testEnumCase.php", "ExampleEnum::Ca^se3;", "Create Enum Case");
+    }
+
+    public void testEnumCaseFix_01b() throws Exception {
+        applyHint(new IntroduceSuggestion(), "testEnumCase.php", "ExampleEnum::Ca^se3;", "Create Constant");
+    }
+
+    public void testEnumCaseFix_02a() throws Exception {
+        applyHint(new IntroduceSuggestion(), "testEnumCase.php", "BackedEnumInt::Case^3;", "Create Enum Case");
+    }
+
+    public void testEnumCaseFix_02b() throws Exception {
+        applyHint(new IntroduceSuggestion(), "testEnumCase.php", "BackedEnumInt::Case^3;", "Create Constant");
+    }
+
+    public void testEnumCaseFix_03a() throws Exception {
+        applyHint(new IntroduceSuggestion(), "testEnumCase.php", "BackedEnumString::C^ase3;", "Create Enum Case");
+    }
+
+    public void testEnumCaseFix_03b() throws Exception {
+        applyHint(new IntroduceSuggestion(), "testEnumCase.php", "BackedEnumString::C^ase3;", "Create Constant");
+    }
+
+    public void testEnumMethods_01() throws Exception {
+        checkHints(new IntroduceSuggestion(), "testEnumMethods.php", "ExampleEnum::introduceStat^icMethod();");
+    }
+
+    public void testEnumMethods_02() throws Exception {
+        checkHints(new IntroduceSuggestion(), "testEnumMethods.php", "        $this->introduceMeth^od();");
+    }
+
+    public void testEnumMethods_03() throws Exception {
+        checkHints(new IntroduceSuggestion(), "testEnumMethods.php", "        self::introduceStaticMet^hod();");
+    }
+
+    public void testEnumMethods_04() throws Exception {
+        checkHints(new IntroduceSuggestion(), "testEnumMethods.php", "        static::introduceStaticMeth^od();");
+    }
+
+    public void testEnumMethods_05() throws Exception {
+        checkHints(new IntroduceSuggestion(), "testEnumMethods.php", "BackedEnumInt::Case1->introduceMet^hod();");
+    }
+
+    public void testEnumMethods_06() throws Exception {
+        checkHints(new IntroduceSuggestion(), "testEnumMethods.php", "BackedEnumString::Case2::introdu^ceStaticMethod();");
+    }
+
+    public void testEnumMethodsFix_01() throws Exception {
+        applyHint(new IntroduceSuggestion(), "testEnumMethods.php", "ExampleEnum::introduceStat^icMethod();", "Create Method");
+    }
+
+    public void testEnumMethodsFix_02() throws Exception {
+        applyHint(new IntroduceSuggestion(), "testEnumMethods.php", "        $this->introduceMeth^od();", "Create Method");
+    }
+
+    public void testEnumMethodsFix_03() throws Exception {
+        applyHint(new IntroduceSuggestion(), "testEnumMethods.php", "        self::introduceStaticMet^hod();", "Create Method");
+    }
+
+    public void testEnumMethodsFix_04() throws Exception {
+        applyHint(new IntroduceSuggestion(), "testEnumMethods.php", "        static::introduceStaticMeth^od();", "Create Method");
+    }
+
+    public void testEnumMethodsFix_05() throws Exception {
+        applyHint(new IntroduceSuggestion(), "testEnumMethods.php", "BackedEnumInt::Case1->introduceMet^hod();", "Create Method");
+    }
+
+    public void testEnumMethodsFix_06() throws Exception {
+        applyHint(new IntroduceSuggestion(), "testEnumMethods.php", "BackedEnumString::Case2::introdu^ceStaticMethod();", "Create Method");
+    }
+}
diff --git a/php/php.refactoring/src/org/netbeans/modules/refactoring/php/findusages/Bundle.properties b/php/php.refactoring/src/org/netbeans/modules/refactoring/php/findusages/Bundle.properties
index fbc5f1e..97f934a 100644
--- a/php/php.refactoring/src/org/netbeans/modules/refactoring/php/findusages/Bundle.properties
+++ b/php/php.refactoring/src/org/netbeans/modules/refactoring/php/findusages/Bundle.properties
@@ -34,6 +34,8 @@
 DSC_VariableUsages=<html>Variable <b>{0}</b>:</html>
 DSC_UseAliasUsages=<html>Use Alias <b>{0}</b>:</html>
 DSC_TraitUsages=<html>Trait <b>{0}</b>:</html>
+DSC_EnumUsages=<html>Enum <b>{0}</b>:</html>
+DSC_EnumCaseUsages=<html>Enum Case <b>{0}</b> of enum <b>{1}</b>:</html>
 DSC_WhereUsedWarningInDevelopment={0} (PHP refactoring is approximate. Review all results.)
 LBL_FindUsages=Find &Usages
 LBL_FindOverridingMethods=Find &Overriding Methods
diff --git a/php/php.refactoring/src/org/netbeans/modules/refactoring/php/findusages/WhereUsedPanel.java b/php/php.refactoring/src/org/netbeans/modules/refactoring/php/findusages/WhereUsedPanel.java
index e36670a..201ec1f 100644
--- a/php/php.refactoring/src/org/netbeans/modules/refactoring/php/findusages/WhereUsedPanel.java
+++ b/php/php.refactoring/src/org/netbeans/modules/refactoring/php/findusages/WhereUsedPanel.java
@@ -199,6 +199,12 @@
             case TRAIT:
                 bundleKey = "DSC_TraitUsages"; //NOI18N
                 break;
+            case ENUM:
+                bundleKey = "DSC_EnumUsages"; // NOI18N
+                break;
+            case ENUM_CASE:
+                bundleKey = "DSC_EnumCaseUsages"; // NOI18N
+                break;
             default:
                 assert false : usage.getKind();
         }
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php
new file mode 100644
index 0000000..1209da3
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php
@@ -0,0 +1,68 @@
+<?php
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+namespace A;
+
+enum EnumA {
+
+    public const CONSTANT_A = 1;
+
+    case Case1;
+    case Case2;
+
+    public function test(): void {
+        $this->publicMethod();
+        self::publicStaticMethod();
+        static::publicStaticMethod();
+    }
+
+    public function publicMethod(): void { // EnumA
+    }
+
+    public static function publicStaticMethod(): string { // EnumA
+        return "publicStaticMethod()";
+    }
+}
+
+namespace B;
+
+use A\EnumA;
+
+interface InterfaceB {
+}
+
+enum EnumB: string implements InterfaceB {
+
+    public const CONSTANT_B = EnumA::CONSTANT_A;
+
+    case A = 'A';
+    case B = 'B';
+    case C = EnumA::Case1;
+
+    public function publicMethod(): void { // EnumB
+    }
+
+    public static function publicStaticMethod(): string { // EnumB
+        return "publicStaticMethod()";
+    }
+}
+
+EnumB::A->publicMethod();
+EnumB::A::publicStaticMethod();
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_01a.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_01a.findUsages
new file mode 100644
index 0000000..3a98252
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_01a.findUsages
@@ -0,0 +1,9 @@
+Display text: case <b>Case1</b>;
+File name: index.php
+Name: Case1
+Position: BEGIN: 886 END: 891
+
+Display text: case C = EnumA::<b>Case1</b>;
+File name: index.php
+Name: Case1
+Position: BEGIN: 1435 END: 1440
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_01b.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_01b.findUsages
new file mode 100644
index 0000000..3a98252
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_01b.findUsages
@@ -0,0 +1,9 @@
+Display text: case <b>Case1</b>;
+File name: index.php
+Name: Case1
+Position: BEGIN: 886 END: 891
+
+Display text: case C = EnumA::<b>Case1</b>;
+File name: index.php
+Name: Case1
+Position: BEGIN: 1435 END: 1440
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_02a.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_02a.findUsages
new file mode 100644
index 0000000..3af4cdb
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_02a.findUsages
@@ -0,0 +1,14 @@
+Display text: case <b>A</b> = 'A';
+File name: index.php
+Name: A
+Position: BEGIN: 1388 END: 1389
+
+Display text: EnumB::<b>A</b>->publicMethod();
+File name: index.php
+Name: A
+Position: BEGIN: 1624 END: 1625
+
+Display text: EnumB::<b>A</b>::publicStaticMethod();
+File name: index.php
+Name: A
+Position: BEGIN: 1650 END: 1651
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_02b.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_02b.findUsages
new file mode 100644
index 0000000..3af4cdb
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_02b.findUsages
@@ -0,0 +1,14 @@
+Display text: case <b>A</b> = 'A';
+File name: index.php
+Name: A
+Position: BEGIN: 1388 END: 1389
+
+Display text: EnumB::<b>A</b>->publicMethod();
+File name: index.php
+Name: A
+Position: BEGIN: 1624 END: 1625
+
+Display text: EnumB::<b>A</b>::publicStaticMethod();
+File name: index.php
+Name: A
+Position: BEGIN: 1650 END: 1651
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_02c.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_02c.findUsages
new file mode 100644
index 0000000..3af4cdb
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Case_02c.findUsages
@@ -0,0 +1,14 @@
+Display text: case <b>A</b> = 'A';
+File name: index.php
+Name: A
+Position: BEGIN: 1388 END: 1389
+
+Display text: EnumB::<b>A</b>->publicMethod();
+File name: index.php
+Name: A
+Position: BEGIN: 1624 END: 1625
+
+Display text: EnumB::<b>A</b>::publicStaticMethod();
+File name: index.php
+Name: A
+Position: BEGIN: 1650 END: 1651
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Constant_01a.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Constant_01a.findUsages
new file mode 100644
index 0000000..346dd4f
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Constant_01a.findUsages
@@ -0,0 +1,9 @@
+Display text: public const <b>CONSTANT_A</b> = 1;
+File name: index.php
+Name: CONSTANT_A
+Position: BEGIN: 860 END: 870
+
+Display text: public const CONSTANT_B = EnumA::<b>CONSTANT_A</b>;
+File name: index.php
+Name: CONSTANT_A
+Position: BEGIN: 1366 END: 1376
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Constant_01b.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Constant_01b.findUsages
new file mode 100644
index 0000000..346dd4f
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Constant_01b.findUsages
@@ -0,0 +1,9 @@
+Display text: public const <b>CONSTANT_A</b> = 1;
+File name: index.php
+Name: CONSTANT_A
+Position: BEGIN: 860 END: 870
+
+Display text: public const CONSTANT_B = EnumA::<b>CONSTANT_A</b>;
+File name: index.php
+Name: CONSTANT_A
+Position: BEGIN: 1366 END: 1376
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_01a.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_01a.findUsages
new file mode 100644
index 0000000..345dbb1
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_01a.findUsages
@@ -0,0 +1,19 @@
+Display text: enum <b>EnumA</b> {
+File name: index.php
+Name: EnumA
+Position: BEGIN: 834 END: 839
+
+Display text: use A\<b>EnumA</b>;
+File name: index.php
+Name: EnumA
+Position: BEGIN: 1251 END: 1256
+
+Display text: public const CONSTANT_B = <b>EnumA</b>::CONSTANT_A;
+File name: index.php
+Name: EnumA
+Position: BEGIN: 1359 END: 1364
+
+Display text: case C = <b>EnumA</b>::Case1;
+File name: index.php
+Name: EnumA
+Position: BEGIN: 1428 END: 1433
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_01b.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_01b.findUsages
new file mode 100644
index 0000000..345dbb1
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_01b.findUsages
@@ -0,0 +1,19 @@
+Display text: enum <b>EnumA</b> {
+File name: index.php
+Name: EnumA
+Position: BEGIN: 834 END: 839
+
+Display text: use A\<b>EnumA</b>;
+File name: index.php
+Name: EnumA
+Position: BEGIN: 1251 END: 1256
+
+Display text: public const CONSTANT_B = <b>EnumA</b>::CONSTANT_A;
+File name: index.php
+Name: EnumA
+Position: BEGIN: 1359 END: 1364
+
+Display text: case C = <b>EnumA</b>::Case1;
+File name: index.php
+Name: EnumA
+Position: BEGIN: 1428 END: 1433
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_01c.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_01c.findUsages
new file mode 100644
index 0000000..345dbb1
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_01c.findUsages
@@ -0,0 +1,19 @@
+Display text: enum <b>EnumA</b> {
+File name: index.php
+Name: EnumA
+Position: BEGIN: 834 END: 839
+
+Display text: use A\<b>EnumA</b>;
+File name: index.php
+Name: EnumA
+Position: BEGIN: 1251 END: 1256
+
+Display text: public const CONSTANT_B = <b>EnumA</b>::CONSTANT_A;
+File name: index.php
+Name: EnumA
+Position: BEGIN: 1359 END: 1364
+
+Display text: case C = <b>EnumA</b>::Case1;
+File name: index.php
+Name: EnumA
+Position: BEGIN: 1428 END: 1433
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_01d.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_01d.findUsages
new file mode 100644
index 0000000..345dbb1
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_01d.findUsages
@@ -0,0 +1,19 @@
+Display text: enum <b>EnumA</b> {
+File name: index.php
+Name: EnumA
+Position: BEGIN: 834 END: 839
+
+Display text: use A\<b>EnumA</b>;
+File name: index.php
+Name: EnumA
+Position: BEGIN: 1251 END: 1256
+
+Display text: public const CONSTANT_B = <b>EnumA</b>::CONSTANT_A;
+File name: index.php
+Name: EnumA
+Position: BEGIN: 1359 END: 1364
+
+Display text: case C = <b>EnumA</b>::Case1;
+File name: index.php
+Name: EnumA
+Position: BEGIN: 1428 END: 1433
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_02a.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_02a.findUsages
new file mode 100644
index 0000000..ba47c75
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_02a.findUsages
@@ -0,0 +1,14 @@
+Display text: enum <b>EnumB</b>: string implements InterfaceB {
+File name: index.php
+Name: EnumB
+Position: BEGIN: 1290 END: 1295
+
+Display text: <b>EnumB</b>::A->publicMethod();
+File name: index.php
+Name: EnumB
+Position: BEGIN: 1617 END: 1622
+
+Display text: <b>EnumB</b>::A::publicStaticMethod();
+File name: index.php
+Name: EnumB
+Position: BEGIN: 1643 END: 1648
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_02b.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_02b.findUsages
new file mode 100644
index 0000000..ba47c75
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_02b.findUsages
@@ -0,0 +1,14 @@
+Display text: enum <b>EnumB</b>: string implements InterfaceB {
+File name: index.php
+Name: EnumB
+Position: BEGIN: 1290 END: 1295
+
+Display text: <b>EnumB</b>::A->publicMethod();
+File name: index.php
+Name: EnumB
+Position: BEGIN: 1617 END: 1622
+
+Display text: <b>EnumB</b>::A::publicStaticMethod();
+File name: index.php
+Name: EnumB
+Position: BEGIN: 1643 END: 1648
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_02c.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_02c.findUsages
new file mode 100644
index 0000000..ba47c75
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_EnumName_02c.findUsages
@@ -0,0 +1,14 @@
+Display text: enum <b>EnumB</b>: string implements InterfaceB {
+File name: index.php
+Name: EnumB
+Position: BEGIN: 1290 END: 1295
+
+Display text: <b>EnumB</b>::A->publicMethod();
+File name: index.php
+Name: EnumB
+Position: BEGIN: 1617 END: 1622
+
+Display text: <b>EnumB</b>::A::publicStaticMethod();
+File name: index.php
+Name: EnumB
+Position: BEGIN: 1643 END: 1648
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Interface_01a.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Interface_01a.findUsages
new file mode 100644
index 0000000..c2f2d33
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Interface_01a.findUsages
@@ -0,0 +1,9 @@
+Display text: interface <b>InterfaceB</b> {
+File name: index.php
+Name: InterfaceB
+Position: BEGIN: 1269 END: 1279
+
+Display text: enum EnumB: string implements <b>InterfaceB</b> {
+File name: index.php
+Name: InterfaceB
+Position: BEGIN: 1315 END: 1325
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Interface_01b.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Interface_01b.findUsages
new file mode 100644
index 0000000..c2f2d33
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Interface_01b.findUsages
@@ -0,0 +1,9 @@
+Display text: interface <b>InterfaceB</b> {
+File name: index.php
+Name: InterfaceB
+Position: BEGIN: 1269 END: 1279
+
+Display text: enum EnumB: string implements <b>InterfaceB</b> {
+File name: index.php
+Name: InterfaceB
+Position: BEGIN: 1315 END: 1325
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Method_01a.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Method_01a.findUsages
new file mode 100644
index 0000000..910c405
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Method_01a.findUsages
@@ -0,0 +1,9 @@
+Display text: $this-><b>publicMethod</b>();
+File name: index.php
+Name: publicMethod
+Position: BEGIN: 960 END: 972
+
+Display text: public function <b>publicMethod</b>(): void { // EnumA
+File name: index.php
+Name: publicMethod
+Position: BEGIN: 1077 END: 1089
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Method_01b.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Method_01b.findUsages
new file mode 100644
index 0000000..910c405
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Method_01b.findUsages
@@ -0,0 +1,9 @@
+Display text: $this-><b>publicMethod</b>();
+File name: index.php
+Name: publicMethod
+Position: BEGIN: 960 END: 972
+
+Display text: public function <b>publicMethod</b>(): void { // EnumA
+File name: index.php
+Name: publicMethod
+Position: BEGIN: 1077 END: 1089
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Method_02a.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Method_02a.findUsages
new file mode 100644
index 0000000..df4e7bc
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Method_02a.findUsages
@@ -0,0 +1,9 @@
+Display text: public function <b>publicMethod</b>(): void { // EnumB
+File name: index.php
+Name: publicMethod
+Position: BEGIN: 1463 END: 1475
+
+Display text: EnumB::A-><b>publicMethod</b>();
+File name: index.php
+Name: publicMethod
+Position: BEGIN: 1627 END: 1639
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Method_02b.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Method_02b.findUsages
new file mode 100644
index 0000000..df4e7bc
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_Method_02b.findUsages
@@ -0,0 +1,9 @@
+Display text: public function <b>publicMethod</b>(): void { // EnumB
+File name: index.php
+Name: publicMethod
+Position: BEGIN: 1463 END: 1475
+
+Display text: EnumB::A-><b>publicMethod</b>();
+File name: index.php
+Name: publicMethod
+Position: BEGIN: 1627 END: 1639
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_01a.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_01a.findUsages
new file mode 100644
index 0000000..333b043
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_01a.findUsages
@@ -0,0 +1,14 @@
+Display text: self::<b>publicStaticMethod</b>();
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 990 END: 1008
+
+Display text: static::<b>publicStaticMethod</b>();
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 1028 END: 1046
+
+Display text: public static function <b>publicStaticMethod</b>(): string { // EnumA
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 1143 END: 1161
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_01b.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_01b.findUsages
new file mode 100644
index 0000000..333b043
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_01b.findUsages
@@ -0,0 +1,14 @@
+Display text: self::<b>publicStaticMethod</b>();
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 990 END: 1008
+
+Display text: static::<b>publicStaticMethod</b>();
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 1028 END: 1046
+
+Display text: public static function <b>publicStaticMethod</b>(): string { // EnumA
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 1143 END: 1161
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_01c.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_01c.findUsages
new file mode 100644
index 0000000..333b043
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_01c.findUsages
@@ -0,0 +1,14 @@
+Display text: self::<b>publicStaticMethod</b>();
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 990 END: 1008
+
+Display text: static::<b>publicStaticMethod</b>();
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 1028 END: 1046
+
+Display text: public static function <b>publicStaticMethod</b>(): string { // EnumA
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 1143 END: 1161
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_02a.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_02a.findUsages
new file mode 100644
index 0000000..23a93a2
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_02a.findUsages
@@ -0,0 +1,9 @@
+Display text: public static function <b>publicStaticMethod</b>(): string { // EnumB
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 1529 END: 1547
+
+Display text: EnumB::A::<b>publicStaticMethod</b>();
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 1653 END: 1671
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_02b.findUsages b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_02b.findUsages
new file mode 100644
index 0000000..23a93a2
--- /dev/null
+++ b/php/php.refactoring/test/unit/data/testfiles/findusages/testEnums/index.php.testEnums_StaticMethod_02b.findUsages
@@ -0,0 +1,9 @@
+Display text: public static function <b>publicStaticMethod</b>(): string { // EnumB
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 1529 END: 1547
+
+Display text: EnumB::A::<b>publicStaticMethod</b>();
+File name: index.php
+Name: publicStaticMethod
+Position: BEGIN: 1653 END: 1671
\ No newline at end of file
diff --git a/php/php.refactoring/test/unit/src/org/netbeans/modules/refactoring/php/findusages/WhereUsedSupportTest.java b/php/php.refactoring/test/unit/src/org/netbeans/modules/refactoring/php/findusages/WhereUsedSupportTest.java
index 34d7198..cfb7b38 100644
--- a/php/php.refactoring/test/unit/src/org/netbeans/modules/refactoring/php/findusages/WhereUsedSupportTest.java
+++ b/php/php.refactoring/test/unit/src/org/netbeans/modules/refactoring/php/findusages/WhereUsedSupportTest.java
@@ -272,4 +272,104 @@
         findUsages("echo $this->privateFi^eld;", "nb6087.php");
     }
 
+    public void testEnums_EnumName_01a() throws Exception {
+        findUsages("enum Enum^A {");
+    }
+
+    public void testEnums_EnumName_01b() throws Exception {
+        findUsages("use A\\Enu^mA;");
+    }
+
+    public void testEnums_EnumName_01c() throws Exception {
+        findUsages("    public const CONSTANT_B = Enu^mA::CONSTANT_A;");
+    }
+
+    public void testEnums_EnumName_01d() throws Exception {
+        findUsages("    case C = E^numA::Case1;");
+    }
+
+    public void testEnums_EnumName_02a() throws Exception {
+        findUsages("enum Enu^mB: string implements InterfaceB {");
+    }
+
+    public void testEnums_EnumName_02b() throws Exception {
+        findUsages("Enu^mB::A->publicMethod();");
+    }
+
+    public void testEnums_EnumName_02c() throws Exception {
+        findUsages("E^numB::A::publicStaticMethod();");
+    }
+
+    public void testEnums_Constant_01a() throws Exception {
+        findUsages("    public const CONSTA^NT_A = 1;");
+    }
+
+    public void testEnums_Constant_01b() throws Exception {
+        findUsages("    public const CONSTANT_B = EnumA::CONS^TANT_A;");
+    }
+
+    public void testEnums_Case_01a() throws Exception {
+        findUsages("    case Cas^e1;");
+    }
+
+    public void testEnums_Case_01b() throws Exception {
+        findUsages("    case C = EnumA::Cas^e1;");
+    }
+
+    public void testEnums_Case_02a() throws Exception {
+        findUsages("    case ^A = 'A';");
+    }
+
+    public void testEnums_Case_02b() throws Exception {
+        findUsages("EnumB::A^->publicMethod();");
+    }
+
+    public void testEnums_Case_02c() throws Exception {
+        findUsages("EnumB::^A::publicStaticMethod();");
+    }
+
+    public void testEnums_Method_01a() throws Exception {
+        findUsages("        $this->publicMeth^od();");
+    }
+
+    public void testEnums_Method_01b() throws Exception {
+        findUsages("    public function publicMet^hod(): void { // EnumA");
+    }
+
+    public void testEnums_Method_02a() throws Exception {
+        findUsages("    public function publicM^ethod(): void { // EnumB");
+    }
+
+    public void testEnums_Method_02b() throws Exception {
+        findUsages("EnumB::A->publicMet^hod();");
+    }
+
+    public void testEnums_StaticMethod_01a() throws Exception {
+        findUsages("        self::publicStaticMet^hod();");
+    }
+
+    public void testEnums_StaticMethod_01b() throws Exception {
+        findUsages("        static::publicStaticMe^thod();");
+    }
+
+    public void testEnums_StaticMethod_01c() throws Exception {
+        findUsages("    public static function publicStati^cMethod(): string { // EnumA");
+    }
+
+    public void testEnums_StaticMethod_02a() throws Exception {
+        findUsages("    public static function publicStatic^Method(): string { // EnumB");
+    }
+
+    public void testEnums_StaticMethod_02b() throws Exception {
+        findUsages("EnumB::A::publicStati^cMethod();");
+    }
+
+    public void testEnums_Interface_01a() throws Exception {
+        findUsages("interface Interfac^eB {");
+    }
+
+    public void testEnums_Interface_01b() throws Exception {
+        findUsages("enum EnumB: string implements Inter^faceB {");
+    }
+
 }
diff --git a/platform/api.search/src/org/netbeans/spi/search/SearchInfoDefinition.java b/platform/api.search/src/org/netbeans/spi/search/SearchInfoDefinition.java
index a34ee17..f969d33 100644
--- a/platform/api.search/src/org/netbeans/spi/search/SearchInfoDefinition.java
+++ b/platform/api.search/src/org/netbeans/spi/search/SearchInfoDefinition.java
@@ -48,7 +48,7 @@
  * In most cases, you do not need to create custom implementation. You can 
  * use some factory method in {@link SearchInfoDefinitionFactory}.
  * 
- * <div clas="nonnormative">
+ * <div class="nonnormative">
  * <p>Example:</p>
  * <pre>
  * {@code
diff --git a/platform/api.search/src/org/netbeans/spi/search/SearchInfoDefinitionFactory.java b/platform/api.search/src/org/netbeans/spi/search/SearchInfoDefinitionFactory.java
index a092e13..45b9136 100644
--- a/platform/api.search/src/org/netbeans/spi/search/SearchInfoDefinitionFactory.java
+++ b/platform/api.search/src/org/netbeans/spi/search/SearchInfoDefinitionFactory.java
@@ -175,7 +175,7 @@
      * Convenience method for creating search info for a list of roots with
      * default filters.
      *
-     * @see #createSearchInfo(.FileObject[], SearchFilterDefinition[])
+     * @see #createSearchInfo(FileObject[], SearchFilterDefinition[])
      */
     public static @NonNull SearchInfoDefinition createSearchInfo(
             @NonNull FileObject[] roots) {
@@ -197,7 +197,7 @@
      * <p> In case you want to create node children in the node constructor, you
      * can create children in one constructor and pass them to another
      * constructor:</p>
-     * <pre class="nonnormative"">
+     * <pre class="nonnormative">
      * {@code
      * public ExampleNode() {
      *    this(Children.create(someChildrenFactory, true));
diff --git a/platform/autoupdate.services/apichanges.xml b/platform/autoupdate.services/apichanges.xml
index 58588a8..77aafa6 100644
--- a/platform/autoupdate.services/apichanges.xml
+++ b/platform/autoupdate.services/apichanges.xml
@@ -33,6 +33,20 @@
     <!-- ACTUAL CHANGES BEGIN HERE: -->
 
     <changes>
+        <change id="plugin-installer">
+            <api name="general"/>
+            <summary>Simple API to install modules</summary>
+            <version major="1" minor="76"/>
+            <date day="18" month="3" year="2023"/>
+            <author login="sdedic"/>
+            <compatibility addition="yes" binary="compatible" deletion="no" deprecation="no" semantic="compatible" source="compatible"/>
+            <description>
+                <a href="@TOP@/org/netbeans/api/autoupdate/PluginInstaller.html">Simplified API to install</a> additional plugins to avoid dependencies on UI part of the AutoUpdate. CLI and UI implementations
+                for the autoupdate plugs provides their implementations, UI is preferred.
+            </description>
+            <class package="org.netbeans.api.autoupdate" name="Plugininstaller"/>
+            <class package="org.netbeans.spi.autoupdate" name="PlugininstallerImplementation"/>
+        </change>
         <change id="unpack200">
             <api name="general"/>
             <summary>Allow alternative unpack200 implementation</summary>
diff --git a/platform/autoupdate.services/manifest.mf b/platform/autoupdate.services/manifest.mf
index cb77055..1f7a2fb 100644
--- a/platform/autoupdate.services/manifest.mf
+++ b/platform/autoupdate.services/manifest.mf
@@ -1,7 +1,7 @@
 Manifest-Version: 1.0
 OpenIDE-Module: org.netbeans.modules.autoupdate.services
 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/autoupdate/services/resources/Bundle.properties
-OpenIDE-Module-Specification-Version: 1.75
+OpenIDE-Module-Specification-Version: 1.76
 OpenIDE-Module-Layer: org/netbeans/modules/autoupdate/services/resources/layer.xml
 AutoUpdate-Show-In-Client: false
 AutoUpdate-Essential-Module: true
diff --git a/platform/autoupdate.services/nbproject/project.xml b/platform/autoupdate.services/nbproject/project.xml
index bd5097f..df7c1e1 100644
--- a/platform/autoupdate.services/nbproject/project.xml
+++ b/platform/autoupdate.services/nbproject/project.xml
@@ -26,6 +26,15 @@
             <code-name-base>org.netbeans.modules.autoupdate.services</code-name-base>
             <module-dependencies>
                 <dependency>
+                    <code-name-base>org.netbeans.api.annotations.common</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.48</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
                     <code-name-base>org.netbeans.api.progress</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
@@ -61,6 +70,14 @@
                     </run-dependency>
                 </dependency>
                 <dependency>
+                    <code-name-base>org.openide.dialogs</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.66</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
                     <code-name-base>org.openide.filesystems</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
diff --git a/platform/autoupdate.services/src/org/netbeans/api/autoupdate/InstallSupport.java b/platform/autoupdate.services/src/org/netbeans/api/autoupdate/InstallSupport.java
index a622975..63c279e 100644
--- a/platform/autoupdate.services/src/org/netbeans/api/autoupdate/InstallSupport.java
+++ b/platform/autoupdate.services/src/org/netbeans/api/autoupdate/InstallSupport.java
@@ -53,7 +53,7 @@
  *      support.doRestart(r, null);
  * }
  * </pre>
- * </p>
+ *
  * @author Radek Matous, Jiri Rechtacek
  */
 public final class InstallSupport {
diff --git a/platform/autoupdate.services/src/org/netbeans/api/autoupdate/OperationContainer.java b/platform/autoupdate.services/src/org/netbeans/api/autoupdate/OperationContainer.java
index 58f1ebb..82991c6 100644
--- a/platform/autoupdate.services/src/org/netbeans/api/autoupdate/OperationContainer.java
+++ b/platform/autoupdate.services/src/org/netbeans/api/autoupdate/OperationContainer.java
@@ -59,7 +59,7 @@
  * OperationSupport support = container.getSupport();
  * support.doOperation(null);
  * </pre>
- * </p>
+ *
  * @param <Support> the type of support for performing chosen operation like 
  * {@link OperationSupport} or {@link InstallSupport}
  * @author Radek Matous, Jiri Rechtacek
diff --git a/platform/autoupdate.services/src/org/netbeans/api/autoupdate/PluginInstaller.java b/platform/autoupdate.services/src/org/netbeans/api/autoupdate/PluginInstaller.java
new file mode 100644
index 0000000..710325d
--- /dev/null
+++ b/platform/autoupdate.services/src/org/netbeans/api/autoupdate/PluginInstaller.java
@@ -0,0 +1,131 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.api.autoupdate;
+
+import java.util.Collections;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.netbeans.api.annotations.common.NonNull;
+import org.netbeans.spi.autoupdate.PluginInstallerImplementation;
+import org.openide.NotifyDescriptor;
+import org.openide.util.Lookup;
+import org.openide.util.UserCancelException;
+
+/**
+ * Allows to programmatically install plugins. It serves as a frontend API to UI/CLI
+ * whichever is installed - other modules need to provide the actual installation provider to handle the requests. 
+ * No default implementation for the installation provider is present by default unless additional modules
+ * like {@code autoupdate.ui} is installed. If no providers are registered, the installation fails as if
+ * the user had rejected the operation using "Cancel" button.
+ * 
+ * @since 1.76
+ * @author sdedic
+ */
+public final class PluginInstaller {
+    private static final Logger LOG = Logger.getLogger(PluginInstaller.class.getName());
+    
+    private static PluginInstaller INSTANCE;
+    
+    public static PluginInstaller getDefault() {
+        if (INSTANCE != null) {
+            return INSTANCE;
+        }
+        // no sync needed, instance is stateless.
+        return INSTANCE = new PluginInstaller();
+    }
+    
+    /**
+     * Installs a single module. When reporting progress or messages, uses the supplied `displayName`; use {@code null}
+     * to use a generic description possibly based on the module name/codename. The method converts the {@link UserCancelException}
+     * thrown by the actual implementation into {@link NotifyDescriptor#CANCEL_OPTION} for compatibility with older code.
+     * Otherwise, see {@link #install(java.lang.String, java.lang.String, org.openide.util.Lookup, java.lang.Object...)}.
+     * 
+     * @param codenamebase codename base to install
+     * @param displayName title/heading for messages
+     * @param context additional context passed to the process
+     * @param alternativeOptions possible failure resolution choices
+     * @return null on success, {@link NotifyDescriptor#CANCEL_OPTION} if the operation is rejected (i.e. user cancel) or one of
+     * "alternativeOptions".
+     */
+    public Object install(@NonNull String codenamebase, @NonNull String displayName,
+            Lookup context, @NonNull Object... alternativeOptions) {
+        try {
+            return install(Collections.singleton(codenamebase), displayName, context, alternativeOptions);
+        } catch (UserCancelException ex) {
+            LOG.log(Level.FINE, "User cancelled", ex);
+            return NotifyDescriptor.CANCEL_OPTION;
+        } catch (OperationException ex) {
+            LOG.log(Level.WARNING, "Exception during install of " + codenamebase, ex);
+            return NotifyDescriptor.CANCEL_OPTION;
+        }
+    }
+    
+    /**
+     * Installs a single module. Uses some default title for possible progress indication during module search 
+     * and installation. Does not support alternative options. The method converts the {@link UserCancelException}
+     * thrown by the actual implementation into {@link NotifyDescriptor#CANCEL_OPTION} for compatibility with older code.
+     * Otherwise, see {@link #install(java.lang.String, java.lang.String, org.openide.util.Lookup, java.lang.Object...)}.
+     * 
+     * @param codenamebase codename base of the module to install
+     * @return null on success, {@link NotifyDescriptor#CANCEL_OPTION} if the operation is rejected (i.e. user cancel).
+     */
+    public Object install(@NonNull String codenamebase) {
+        return install(codenamebase, null, null);
+    }
+    
+    /**
+     * Attempts to install one or more plugins, specified by their codebases. During module + dependency search and download
+     * some interim progress messages can be displayed - the `displayName` will be used as a title, heading or otherwise provide
+     * informative context for those messages. If the display name is not provided, some generic title can be used (i.e. searching,
+     * installing).
+     * <p>
+     * If fetching the plugin catalog data fails on I/O, the user can get a choice to 
+     * retry the process or cancel the operation. `alternativeOptions` are presented as other alternative solutions. If the user
+     * chooses to cancel, operation ends with {@link NotifyDescriptor#CANCEL_OPTION}. The user can choose to retry the operation.
+     * The user can also select one of the `alternativeOptions`, which will terminate the operation with the chosen option as a result.
+     * During the download, the operation can be cancelled resulting in {@link NotifyDescriptor#CANCEL_OPTION}.
+     * <p>
+     * If the operation completes successfully, the method returns {@code null}.
+     * <p>
+     * In the case that no installation provider is installed, the implementation throws {@link UserCancelException} as if the operation
+     * was rejected by the user.
+     * 
+     * @param codenamebases codename bases of modules to install. The modules will be installed in no particular order.
+     * @param displayName 
+     * @param alternativeOptions
+     * @return {@code null} on success. {@link NotifyDescriptor#CANCEL_OPTION} on cancel, or one of `alternativeOptions` on failure
+     * according to user's choice.
+     * @throws OperationException if the download or installation / enable operation fails.
+     * @throws UserCancelException if the operation is rejected.
+     */
+    public Object install(@NonNull Set<String> codenamebases, String displayName, Lookup context, Object... alternativeOptions) throws OperationException, UserCancelException {
+        PluginInstallerImplementation impl = Lookup.getDefault().lookup(PluginInstallerImplementation.class);
+        if (impl == null) {
+            throw new UserCancelException();
+        }
+        Object o = impl.install(codenamebases, displayName, context == null ? Lookup.EMPTY : context, alternativeOptions);
+        if (o == NotifyDescriptor.CLOSED_OPTION) {
+            return NotifyDescriptor.CANCEL_OPTION;
+        } else {
+            // even OK_OPTION would display in case of some failure.
+            return o;
+        }
+    }
+}
diff --git a/platform/autoupdate.services/src/org/netbeans/spi/autoupdate/PluginInstallerImplementation.java b/platform/autoupdate.services/src/org/netbeans/spi/autoupdate/PluginInstallerImplementation.java
new file mode 100644
index 0000000..fdab056
--- /dev/null
+++ b/platform/autoupdate.services/src/org/netbeans/spi/autoupdate/PluginInstallerImplementation.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.spi.autoupdate;
+
+import java.util.Set;
+import org.netbeans.api.annotations.common.NonNull;
+import org.netbeans.api.autoupdate.OperationException;
+import org.openide.NotifyDescriptor;
+import org.openide.util.Lookup;
+import org.openide.util.UserCancelException;
+
+/**
+ * Handles out plugin installation requests. An implementation should be provided for CLI, UI or remote UI as suitabke
+ * for the distribution that handles possible user interaction. As downloading the plugins often require license acceptance
+ * no default implementation is provided.
+ * 
+ * @since 1.76
+ * @author sdedic
+ */
+public interface PluginInstallerImplementation {
+    /**
+     * Attempts to install one or more plugins. Before the actual installation, some network I/O may occur
+     * to e.g. download catalog of plugins or download the plugin itself. The `displayName` serves as a context
+     * for possible progress messages or interactive UI. When the network I/O fails, the implementation
+     * may prompt the user and retry the operation or offer other remedies (and implement them).
+     * The `alternativeOptions` are other choices that should be presented to the user, and will be handled
+     * by the caller. Values accepted in `alternativeOptions are the same as with {@link NotifyDescriptor#setOptions}.
+     * <p>
+     * After the network operations complete, the implementation should install the plugin(s). Any report from this
+     * phase should be reported by throwing a {@link OperationException} that describes the failure.
+     * <p>
+     * On successful completion, returns {@code null}. In the case of a network error must return {@link NotifyDescriptor#CANCEL_OPTION}
+     * if the user cancelled the operation, one of the `additionalOption` values if the user selected an alternative choice.
+     * Retry (if offered) must be handled by the implementation.
+     * <p>
+     * If the user cancels the operation, the {@link UserCancelException} should be thrown to avoid dependency on Dialogs API; modules that use Dialogs API may
+     * return {@link NotifyDescriptor#CANCEL_OPTION}.
+     * 
+     * @param codenamebases codenames of plugins to install
+     * @param displayName context for possible progress or error messages
+     * @param alternativeOptions alternative network failure resolution choices
+     * @return {@code null} if successful, {@link NotifyDescriptor#CANCEL_OPTION} or one of `additionalOptions'.
+     * @throws OperationException on a failed operation.
+     * @throws UserCancelException if the user cancels the operation.
+     */
+    public Object install(@NonNull Set<String> codenamebases, String displayName, Lookup context, @NonNull Object... alternativeOptions)
+            throws OperationException, UserCancelException;
+}
diff --git a/platform/autoupdate.services/src/org/netbeans/spi/autoupdate/UpdateItem.java b/platform/autoupdate.services/src/org/netbeans/spi/autoupdate/UpdateItem.java
index 2db1706..5b62e55 100644
--- a/platform/autoupdate.services/src/org/netbeans/spi/autoupdate/UpdateItem.java
+++ b/platform/autoupdate.services/src/org/netbeans/spi/autoupdate/UpdateItem.java
@@ -50,8 +50,8 @@
         item.setUpdateItem (this);
     }
     
-    /** Creates <code>UpdateItem/code> which represents NetBeans Module in Autoupdate infrastructure.
-     * UpdateItem is identify by <code>codeName</code> and <code>specificationVersion<code>.
+    /** Creates <code>UpdateItem</code> which represents NetBeans Module in Autoupdate infrastructure.
+     * UpdateItem is identify by <code>codeName</code> and <code>specificationVersion</code>.
      * 
      * @param codeName code name of module
      * @param specificationVersion specification version of module
@@ -93,8 +93,8 @@
         return new UpdateItem (item);
     }
     
-    /** Creates <code>UpdateItem/code> which represents NetBeans Module in Autoupdate infrastructure.
-     * UpdateItem is identify by <code>codeName</code> and <code>specificationVersion<code>.
+    /** Creates <code>UpdateItem</code> which represents NetBeans Module in Autoupdate infrastructure.
+     * UpdateItem is identify by <code>codeName</code> and <code>specificationVersion</code>.
      * 
      * @param codeName code name of module
      * @param specificationVersion specification version of module
@@ -141,8 +141,8 @@
     
     /** Creates <code>UpdateItem</code> which represents <code>Feature</code>, it's means group
      * of NetBeans Modules. This <code>Feature</code> is handled in UI as atomic item.
-     * UpdateItem is identify by <code>codeName</code> and <code>specificationVersion<code>.
-     * <p/>
+     * UpdateItem is identify by <code>codeName</code> and <code>specificationVersion</code>.
+     * <p>
      * If some of the tokens in {@code dependencies} is not known, it will be reported
      * as a missing dependency.
      * 
diff --git a/platform/autoupdate.ui/src/org/netbeans/modules/autoupdate/ui/GuiPluginInstallerImpl.java b/platform/autoupdate.ui/src/org/netbeans/modules/autoupdate/ui/GuiPluginInstallerImpl.java
new file mode 100644
index 0000000..ae2bc68
--- /dev/null
+++ b/platform/autoupdate.ui/src/org/netbeans/modules/autoupdate/ui/GuiPluginInstallerImpl.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.autoupdate.ui;
+
+import java.util.Set;
+import org.netbeans.api.autoupdate.OperationException;
+import org.netbeans.spi.autoupdate.PluginInstallerImplementation;
+import org.openide.NotifyDescriptor;
+import org.openide.util.Lookup;
+import org.openide.util.Parameters;
+import org.openide.util.UserCancelException;
+import org.openide.util.lookup.ServiceProvider;
+
+/**
+ * GUI implementation of the plugin installer, shows wizard etc. Register with a higher priority
+ * than CLI implementation.
+ * 
+ * @author sdedic
+ */
+@ServiceProvider(service = PluginInstallerImplementation.class, position = 30000)
+public class GuiPluginInstallerImpl implements PluginInstallerImplementation {
+
+    @Override
+    public Object install(Set<String> codenamebases, String displayName, Lookup context, Object... alternativeOptions) throws OperationException, UserCancelException {
+        // copied from PluginManager, but displayName handling changed.
+        Parameters.notNull("cnb", codenamebases); // NOI18N
+        Parameters.notNull("alternativeOptions", alternativeOptions); // NOI18N
+        if (codenamebases.isEmpty()) {
+            throw new IllegalArgumentException("No plugins to install");
+        }
+
+        Object o = new ModuleInstallerSupport(alternativeOptions).installPlugins(displayName, codenamebases);
+        if (o == NotifyDescriptor.CANCEL_OPTION) {
+            throw new UserCancelException();
+        } else {
+            return o;
+        }
+    }
+    
+}
diff --git a/platform/autoupdate.ui/src/org/netbeans/modules/autoupdate/ui/ModuleInstallerSupport.java b/platform/autoupdate.ui/src/org/netbeans/modules/autoupdate/ui/ModuleInstallerSupport.java
index d6302aa..6565b66 100644
--- a/platform/autoupdate.ui/src/org/netbeans/modules/autoupdate/ui/ModuleInstallerSupport.java
+++ b/platform/autoupdate.ui/src/org/netbeans/modules/autoupdate/ui/ModuleInstallerSupport.java
@@ -107,7 +107,7 @@
             final String resolveTitle = displayName != null
                     ? resolve_title_single(displayName) : resolve_title();
 
-            final ProgressHandle handle = ProgressHandleFactory.createHandle(searchMessage);
+            final ProgressHandle handle = ProgressHandle.createHandle(searchMessage);
             initButtons();
             final DialogDescriptor searching = new DialogDescriptor(searchingPanel(new JLabel(searchMessage),
                     ProgressHandleFactory.createProgressComponent(handle)), resolveTitle, true, null);
diff --git a/platform/autoupdate.ui/src/org/netbeans/modules/autoupdate/ui/api/PluginManager.java b/platform/autoupdate.ui/src/org/netbeans/modules/autoupdate/ui/api/PluginManager.java
index 7505e8d..2bf0d0e 100644
--- a/platform/autoupdate.ui/src/org/netbeans/modules/autoupdate/ui/api/PluginManager.java
+++ b/platform/autoupdate.ui/src/org/netbeans/modules/autoupdate/ui/api/PluginManager.java
@@ -30,6 +30,7 @@
 import org.netbeans.api.autoupdate.OperationContainer;
 import org.netbeans.api.autoupdate.OperationContainer.OperationInfo;
 import org.netbeans.api.autoupdate.OperationException;
+import org.netbeans.api.autoupdate.PluginInstaller;
 import org.netbeans.api.autoupdate.UpdateManager;
 import org.netbeans.api.autoupdate.UpdateUnit;
 import org.netbeans.modules.autoupdate.ui.ModuleInstallerSupport;
@@ -58,8 +59,8 @@
      * <p>
      * Single module installation can be handled easily by
      * {@link #installSingle(java.lang.String, java.lang.String, java.lang.Object[])}.
-<pre>
-{@link OperationContainer}<InstallSupport> container = OperationContainer.createForInstall();
+<pre><code>
+{@link OperationContainer}&lt;InstallSupport&gt; container = OperationContainer.createForInstall();
 for ({@link UpdateUnit} u : {@link UpdateManager#getUpdateUnits(org.netbeans.api.autoupdate.UpdateManager.TYPE[]) UpdateManager.getDefault().getUpdateUnits(UpdateManager.TYPE.MODULE)}) {
     if (u.getCodeName().matches("org.my.favorite.module")) {
         if (u.getAvailableUpdates().isEmpty()) {
@@ -69,7 +70,7 @@
     }
 }
 PluginManager.openInstallWizard(container);
-</pre>
+</code></pre>
      *
      * @param container the container with list of modules for install
      * @return true if all the requested modules were successfully installed,
@@ -162,7 +163,11 @@
      * and blocks (until the user clicks through), so either call from AWT dispatch
      * thread directly, or be sure you hold no locks and block no progress of other
      * threads to avoid deadlocks.
-     *
+     * <p>
+     * Although the method is not deprecated, modules that <b>only uses PluginManager.install</b> to
+     * install additional plugins should now depend on <code>autoupdate.services</code> directly,
+     * and use {@link PluginInstaller#install} to reduce UI dependencies.
+     * 
      * @param codenamebases the codenamebases of modules to install; must contain at least
      *             one codenamebase
      * @param alternativeOptions alternative options possibly displayed in error
diff --git a/platform/core.multiview/src/org/netbeans/core/spi/multiview/text/MultiViewEditorElement.java b/platform/core.multiview/src/org/netbeans/core/spi/multiview/text/MultiViewEditorElement.java
index 3def348..46274ba 100644
--- a/platform/core.multiview/src/org/netbeans/core/spi/multiview/text/MultiViewEditorElement.java
+++ b/platform/core.multiview/src/org/netbeans/core/spi/multiview/text/MultiViewEditorElement.java
@@ -50,7 +50,7 @@
  * to continue to call super implementation) and register the
  * subclass.
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  * @since 1.24
  */
 public class MultiViewEditorElement implements 
diff --git a/platform/core.netigso/src/org/netbeans/core/netigso/spi/BundleContent.java b/platform/core.netigso/src/org/netbeans/core/netigso/spi/BundleContent.java
index c1c0b89..8a3035a 100644
--- a/platform/core.netigso/src/org/netbeans/core/netigso/spi/BundleContent.java
+++ b/platform/core.netigso/src/org/netbeans/core/netigso/spi/BundleContent.java
@@ -24,7 +24,7 @@
 /** Interface to represent anyone capable of providing real content from
  * a bundle.
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  * @since 1.3
  */
 public interface BundleContent {
diff --git a/platform/core.netigso/src/org/netbeans/core/netigso/spi/NetigsoArchive.java b/platform/core.netigso/src/org/netbeans/core/netigso/spi/NetigsoArchive.java
index 1962569..ce25ec0 100644
--- a/platform/core.netigso/src/org/netbeans/core/netigso/spi/NetigsoArchive.java
+++ b/platform/core.netigso/src/org/netbeans/core/netigso/spi/NetigsoArchive.java
@@ -34,7 +34,7 @@
  * an associated {@link BundleContent} implementation. Then you can read
  * cached content of your bundles via {@link #fromArchive(java.lang.String)}.
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  * @since 1.3
  */
 public final class NetigsoArchive {
diff --git a/platform/core.network/src/org/netbeans/core/network/proxy/pac/PacHelperMethodsNetscape.java b/platform/core.network/src/org/netbeans/core/network/proxy/pac/PacHelperMethodsNetscape.java
index 8531e98..d06e938 100644
--- a/platform/core.network/src/org/netbeans/core/network/proxy/pac/PacHelperMethodsNetscape.java
+++ b/platform/core.network/src/org/netbeans/core/network/proxy/pac/PacHelperMethodsNetscape.java
@@ -256,7 +256,7 @@
      * <br>
      * @param args up to max 3 arguments
      * @return 
-     * @see org.netbeans.network.proxy.pac.datetime.PacUtilsDateTime#WEEKDAY_NAMES
+     * @see org.netbeans.core.network.proxy.pac.datetime.PacUtilsDateTime#WEEKDAY_NAMES
      */
     public boolean weekdayRange(Object... args);
 
@@ -279,7 +279,6 @@
      * Even if not shown above, the {@code gmt} parameter can always be
      * added as an (optional) last parameter.
      * 
-     * <p>
      * <ul>
      *    <li>{@code day} is the day of month between 1 and 31 (as an integer).
      *    </li>
@@ -320,7 +319,7 @@
      *     true from beginning of year 1995 until the end of year 1997.
      * </pre>
      * 
-     * @see org.netbeans.network.proxy.pac.datetime.PacUtilsDateTime#MONTH_NAMES
+     * @see org.netbeans.core.network.proxy.pac.datetime.PacUtilsDateTime#MONTH_NAMES
      * @param args
      * @return 
      */
@@ -339,7 +338,6 @@
      * </pre>
      * Even if not shown above, the {@code gmt} parameter can always be
      * added as an (optional) last parameter.
-     * <p>
      * <ul>
      *    <li>{@code hour} is the hour from 0 to 23. (0 is midnight, 23 is 11 pm.)
      *    </li>
diff --git a/platform/core.network/src/org/netbeans/core/network/proxy/pac/PacUtils.java b/platform/core.network/src/org/netbeans/core/network/proxy/pac/PacUtils.java
index c7b8a2f..41c6ab1 100644
--- a/platform/core.network/src/org/netbeans/core/network/proxy/pac/PacUtils.java
+++ b/platform/core.network/src/org/netbeans/core/network/proxy/pac/PacUtils.java
@@ -30,7 +30,7 @@
 /**
  * Methods and constants useful in PAC script evaluation.
  * 
- * @see org.netbeans.network.proxy.pac.datetime.PacUtilsDateTime
+ * @see org.netbeans.core.network.proxy.pac.datetime.PacUtilsDateTime
  * 
  * @author lbruun
  */
@@ -54,17 +54,18 @@
      *
      * <p>
      * This method supports all GLOB wildcards, such as
-     * <table border="0" style="order-collapse: separate;border-spacing: 50px 0;" summary="">
-     * <tr align="left"><td>{@code *}</td><td>matches any number of any
+     * <table>
+     * <caption>Example of translation</caption>
+     * <tr><td>{@code *}</td><td>matches any number of any
      * characters including none</td>
-     * <tr align="left"><td>{@code ?}</td><td>matches any single character</td>
-     * <tr align="left"><td>{@code [abc]}</td><td>matches one character given in
+     * <tr><td>{@code ?}</td><td>matches any single character</td>
+     * <tr><td>{@code [abc]}</td><td>matches one character given in
      * the bracket</td>
-     * <tr align="left"><td>{@code [a-z]}</td><td>matches one character from the
+     * <tr><td>{@code [a-z]}</td><td>matches one character from the
      * range given in the bracket</td>
-     * <tr align="left"><td>{@code [!abc]}</td><td>matches one character
+     * <tr><td>{@code [!abc]}</td><td>matches one character
      * <i>not</i> given in the bracket</td>
-     * <tr align="left"><td>{@code [!a-z]}</td><td>matches one character
+     * <tr><td>{@code [!a-z]}</td><td>matches one character
      * <i>not</i> from the range given in the bracket</td>
      * </table>
      *
diff --git a/platform/core.network/src/org/netbeans/core/network/proxy/pac/impl/NbPacScriptEvaluator.java b/platform/core.network/src/org/netbeans/core/network/proxy/pac/impl/NbPacScriptEvaluator.java
index 52def8a..551df3a 100644
--- a/platform/core.network/src/org/netbeans/core/network/proxy/pac/impl/NbPacScriptEvaluator.java
+++ b/platform/core.network/src/org/netbeans/core/network/proxy/pac/impl/NbPacScriptEvaluator.java
@@ -51,12 +51,15 @@
  * NetBeans implementation of a PAC script evaluator. This implementation
  * is the one returned by {@link NbPacScriptEvaluatorFactory}.
  *
- * <h3>Features comparison</h3>
+ * <p>
+ * <strong>Features comparison</strong>
+ * <p>
  * There are differences between how browsers have implemented the PAC
  * evaluation functionality. In the following the Apache NetBeans implementation
  * (this class) is pitched against some of the major browsers.<br><br>
  *
- * <table summary="" style="table-layout: fixed; width:100%;" border="1" cellpadding="10" cellspacing="0">
+ * <table>
+ *   <caption>Features comparison</caption>
  *   <tr><th class="tablersh">Behavior</th>
  *       <th>Apache<br>NetBeans</th>
  *       <th>Chrome<br>{@code 61.0.3163.100}</th>
@@ -167,7 +170,9 @@
  *    at finding the host's correct IP address, in particular on a multi-homed
  *    computer.
  *
- * <h3>Customization</h3>
+ * <p>
+ * <strong>Customization</strong>
+ * <p>
  * The implementation for
  * {@link org.netbeans.core.network.proxy.pac.PacHelperMethods PacHelperMethods} is
  * found via the global lookup. If you are unhappy with the implementation
diff --git a/platform/core.network/src/org/netbeans/core/network/utils/HostnameUtils.java b/platform/core.network/src/org/netbeans/core/network/utils/HostnameUtils.java
index 7ac2e9a..f9d31c4 100644
--- a/platform/core.network/src/org/netbeans/core/network/utils/HostnameUtils.java
+++ b/platform/core.network/src/org/netbeans/core/network/utils/HostnameUtils.java
@@ -36,8 +36,7 @@
      * name on the network.
      * 
      * <p>
-     * IMPLEMENTATION:
-     * <p>
+     * IMPLEMENTATION: 
      * <ul>
      *   <li>On Unix-like OSes (incl Mac OS X) this is the value as returned from
      *       the {@code gethostname()} function from the standard C Library. </li>
diff --git a/platform/core.network/src/org/netbeans/core/network/utils/IpAddressUtils.java b/platform/core.network/src/org/netbeans/core/network/utils/IpAddressUtils.java
index cded068..2062bfe 100644
--- a/platform/core.network/src/org/netbeans/core/network/utils/IpAddressUtils.java
+++ b/platform/core.network/src/org/netbeans/core/network/utils/IpAddressUtils.java
@@ -207,7 +207,7 @@
 
     /**
      * Performs a name service lookup with a timeout. Same as 
-     * {@link #nameResolveArr(java.lang.String, int, org.netbeans.network.IpAddressUtils.IpTypePreference) nameResolveArr()}
+     * {@link #nameResolveArr(java.lang.String, int, IpTypePreference) nameResolveArr()}
      * but only returns a single address. 
      * 
      * @see #nameResolveArr(String, int, IpTypePreference) 
@@ -235,7 +235,7 @@
     
     /**
      * Performs a name service lookup with a timeout. Same as 
-     * {@link #nameResolveArr(java.lang.String, int, org.netbeans.network.IpAddressUtils.IpTypePreference) nameResolveArr()}
+     * {@link #nameResolveArr(java.lang.String, int, IpTypePreference) nameResolveArr()}
      * but only returns a single address and uses 
      * {@link IpTypePreference#ANY_JDK_PREF IpTypePreference.ANY_JDK_PREF}.
      * 
diff --git a/platform/core.network/src/org/netbeans/core/network/utils/LocalAddressUtils.java b/platform/core.network/src/org/netbeans/core/network/utils/LocalAddressUtils.java
index 96ac007..43c927a 100644
--- a/platform/core.network/src/org/netbeans/core/network/utils/LocalAddressUtils.java
+++ b/platform/core.network/src/org/netbeans/core/network/utils/LocalAddressUtils.java
@@ -47,7 +47,6 @@
 /**
  * Methods for determining the local host's own address. The methods provide
  * two benefits over the core JDK classes.:
- * <p>
  * <ul>
  *    <li><i>Caching</i>. Results from the methods are cached and can therefore
  *       be returned without blocking. An application should call 
@@ -250,13 +249,13 @@
      * Returns the addresses of the local host.
      * 
      * <p>This is achieved by retrieving the
-     * {@link org.netbeans.network.hname.HostnameUtils#getNetworkHostname() name-of-the-host} 
+     * {@link HostnameUtils#getNetworkHostname() name-of-the-host} 
      * from the system, then resolving that name into a list of {@code InetAddress}es. 
      * 
      * <p>This method returns a cached result and is therefore likely not to
      * block unless this is the first time this class is being referenced.
      * 
-     * @see org.netbeans.network.hname.HostnameUtils#getNetworkHostname()
+     * @see HostnameUtils#getNetworkHostname()
      * @see InetAddress#getAllByName(java.lang.String) 
      * @param ipTypePref filter
      * @return
diff --git a/platform/core.startup/arch.xml b/platform/core.startup/arch.xml
index 7a18ab7..befc257 100644
--- a/platform/core.startup/arch.xml
+++ b/platform/core.startup/arch.xml
@@ -704,7 +704,7 @@
         </question>
 -->
  <answer id="exec-reflection">
-        <api category="friend" group="java" name="Javeleon" type="import" url="https://netbeans.org/bugzilla/show_bug.cgi?id=195074">
+        <api category="friend" group="java" name="Javeleon" type="import" url="https://bz.apache.org/netbeans/show_bug.cgi?id=195074">
             <p>When present as a Java agent on the boot classpath, Javeleon is invoked reflectively to enhance module reloading.</p>
         </api>
  </answer>
diff --git a/platform/core.startup/src/org/netbeans/core/startup/AutomaticDependencies.java b/platform/core.startup/src/org/netbeans/core/startup/AutomaticDependencies.java
index 6038c03..639e59f 100644
--- a/platform/core.startup/src/org/netbeans/core/startup/AutomaticDependencies.java
+++ b/platform/core.startup/src/org/netbeans/core/startup/AutomaticDependencies.java
@@ -58,8 +58,8 @@
  * Public for possible access from AU (see #29577).
  * Usage: see implementation of {@link ModuleInstaller#refineDependencies}.
  * @author Jesse Glick, with help from NB XML module
- * @see "#30161"
- * @see <a href="http://www.netbeans.org/dtds/module-auto-deps-1_0.dtd"><samp>-//NetBeans//DTD Module Automatic Dependencies 1.0//EN</samp></a>
+ * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=30161">30161</a>
+ * @see <a href="http://www.netbeans.org/dtds/module-auto-deps-1_0.dtd"><code>-//NetBeans//DTD Module Automatic Dependencies 1.0//EN</code></a>
  * @since org.netbeans.core/1 1.12
  */
 public final class AutomaticDependencies {
@@ -119,8 +119,8 @@
     /**
      * Create a list of transformations based on some XML files.
      * They must be valid (this method may not validate them).
-     * Doctype must be <samp>&lt;transformations&gt;</samp> from
-     * <samp>-//NetBeans//DTD Module Automatic Dependencies 1.0//EN</samp>.
+     * Doctype must be <code>&lt;transformations&gt;</code> from
+     * <code>-//NetBeans//DTD Module Automatic Dependencies 1.0//EN</code>.
      * @param urls the XML files
      * @throws SAXException if malformed
      * @throws IOException if unloadable
diff --git a/platform/core.startup/src/org/netbeans/core/startup/MainLookup.java b/platform/core.startup/src/org/netbeans/core/startup/MainLookup.java
index 148a162..9b32d10 100644
--- a/platform/core.startup/src/org/netbeans/core/startup/MainLookup.java
+++ b/platform/core.startup/src/org/netbeans/core/startup/MainLookup.java
@@ -107,8 +107,8 @@
         l.changeLookups(newDelegates);
     }
 
-    /** Called when Lookup<ModuleInfo> is ready from the ModuleManager.
-     * @see "#28465"
+    /** Called when Lookup&lt;ModuleInfo&gt; is ready from the ModuleManager.
+     * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=28465">28465</a>
      */
     public static final void moduleLookupReady(Lookup moduleLookup) {
         if (Lookup.getDefault() instanceof MainLookup) {
diff --git a/platform/core.startup/src/org/netbeans/core/startup/ModuleLifecycleManager.java b/platform/core.startup/src/org/netbeans/core/startup/ModuleLifecycleManager.java
index 1e65d5b..e30cfdc 100644
--- a/platform/core.startup/src/org/netbeans/core/startup/ModuleLifecycleManager.java
+++ b/platform/core.startup/src/org/netbeans/core/startup/ModuleLifecycleManager.java
@@ -33,7 +33,7 @@
 /**
  * Rudimentary manager useful for non-GUI platform applications.
  * Superseded by NbLifecycleManager.
- * @see #158525
+ * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=158525">158525</a>
  */
 @ServiceProvider(service=LifecycleManager.class)
 public class ModuleLifecycleManager extends LifecycleManager {
diff --git a/platform/core.startup/src/org/netbeans/core/startup/NbPlaces.java b/platform/core.startup/src/org/netbeans/core/startup/NbPlaces.java
index 42e8057..8fc5475 100644
--- a/platform/core.startup/src/org/netbeans/core/startup/NbPlaces.java
+++ b/platform/core.startup/src/org/netbeans/core/startup/NbPlaces.java
@@ -24,7 +24,7 @@
 
 /** Implementation of Places to deal with command line --cachedir argument.
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  */
 @ServiceProvider(service=Places.class)
 public final class NbPlaces extends Places {
diff --git a/platform/core.startup/src/org/netbeans/core/startup/layers/LayerCacheManager.java b/platform/core.startup/src/org/netbeans/core/startup/layers/LayerCacheManager.java
index b2914fd..ee12902 100644
--- a/platform/core.startup/src/org/netbeans/core/startup/layers/LayerCacheManager.java
+++ b/platform/core.startup/src/org/netbeans/core/startup/layers/LayerCacheManager.java
@@ -46,7 +46,7 @@
 import org.openide.util.NbBundle;
 
 /** Interface for a manager which can handle XML layer caching.
- * @see "#20168"
+ * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=20168">20168</a>
  * @author Jesse Glick
  */
 public abstract class LayerCacheManager implements LayerFactory {
@@ -195,7 +195,7 @@
      * Should only be called when the cache directory is prepared.
      * The filesystem's contents should be modified.
      * The filesystem must have been originally produced by
-     * {@link #createEmptyFileSystem} or {@link #createLoadedFileSystem}.
+     * {@link #createEmptyFileSystem}.
      * Not called if the manager does not support loading;
      * otherwise must be overridden.
      */
@@ -204,7 +204,6 @@
     /**
      * Save a new cache to disk, load it, and return that filesystem.
      * @param urls list of type URL; earlier layers can override later layers
-     * @return a new filesystem with the specified contents
      * Not called if the manager supports loading;
      * otherwise must be overridden.
      */
diff --git a/platform/core.startup/src/org/netbeans/core/startup/layers/SessionManager.java b/platform/core.startup/src/org/netbeans/core/startup/layers/SessionManager.java
index 4aee208..6e60f24 100644
--- a/platform/core.startup/src/org/netbeans/core/startup/layers/SessionManager.java
+++ b/platform/core.startup/src/org/netbeans/core/startup/layers/SessionManager.java
@@ -71,7 +71,7 @@
     * @param homeDir directory where netbeans has been installed, user need not have write access
     * @param extradirs 0+ extra dirs to add; cf. #27151
     * @return repository
-    * @exception PropertyVetoException if something fails
+    * @exception java.beans.PropertyVetoException if something fails
     */
     public FileSystem create(File userDir, File homeDir, File[] extradirs)
     throws java.beans.PropertyVetoException, IOException {
@@ -89,7 +89,7 @@
     
     /** get a layer associated with the name
      * @param name layer name (LAYER_SESSION, ...)
-     * @return layer, can be <code>null</null>
+     * @return layer, can be <code>null</code>
      */
     public FileSystem getLayer(String name) {
         return layers.get(name);
diff --git a/platform/core.startup/src/org/netbeans/core/startup/package.html b/platform/core.startup/src/org/netbeans/core/startup/package.html
index cd4085d..b22c02f 100644
--- a/platform/core.startup/src/org/netbeans/core/startup/package.html
+++ b/platform/core.startup/src/org/netbeans/core/startup/package.html
@@ -84,7 +84,7 @@
   <p>{@link org.netbeans.core.modules.TestModuleDeployer} is a service available via lookup
   which deploys test modules; accessible separately with a thin API for use by modules
   such as the API Support.
-  <p>{@link AutomaticDependencies} is used to parse XML files constrained by <a href="http://www.netbeans.org/dtds/module-auto-deps-1_0.dtd"><samp>module-auto-deps-1_0.dtd</samp></a>
+  <p>{@link org.netbeans.core.stratup.AutomaticDependencies} is used to parse XML files constrained by <a href="http://www.netbeans.org/dtds/module-auto-deps-1_0.dtd"><samp>module-auto-deps-1_0.dtd</samp></a>
   and automatically update dependencies used by old modules as a result. This is very
   useful for maintaining backward compatibility across major refactorings.
   <p>Also of interest: {@link org.netbeans.core.ui.ModuleBean} provides a Swing-safe UI
diff --git a/platform/o.n.bootstrap/arch.xml b/platform/o.n.bootstrap/arch.xml
index 4ca45f7..87508d9 100644
--- a/platform/o.n.bootstrap/arch.xml
+++ b/platform/o.n.bootstrap/arch.xml
@@ -190,7 +190,7 @@
                         group="java.io.File" 
                         name="nbexec" 
                         type="export" 
-                        url="http://platform.netbeans.org/articles/installation.html#launcher"
+                        url="https://netbeans.apache.org/projects/platform/articles/installation.html#launcher"
                     /> launcher is fully featured and
                     supported. It should work on any Unix flavor. Implemented as
                     a shell script. 
@@ -215,7 +215,7 @@
                         group="java.io.File" 
                         name="nbexec.exe" 
                         type="export" 
-                        url="http://platform.netbeans.org/articles/installation.html#launcher"
+                        url="https://netbeans.apache.org/projects/platform/articles/installation.html#launcher"
                     />
                     launcher is fully featured and
                     supported. <!-- <samp>runidew.exe</samp> is similar but avoids
@@ -282,7 +282,7 @@
 -->
     <answer id="deploy-nbm">
         As part of core. But <a
-        href="http://www.netbeans.org/issues/show_bug.cgi?id=24361">not on
+        href="https://bz.apache.org/netbeans/show_bug.cgi?id=24361">not on
         Windows</a>.
     </answer>
 
@@ -477,7 +477,7 @@
             <li>
                 <api type="export" group="systemproperty" name="netbeans.dirs" category="friend">
                     Additional secondary NetBeans installation directories as proposed in <a
-                    href="https://platform.netbeans.org/articles/installation.html">installation structure</a>
+                    href="https://netbeans.apache.org/projects/platform/articles/installation.html">installation structure</a>
                     design document.
                 </api>
             </li>
@@ -684,7 +684,7 @@
             <li>
                 <api type="export" group="cli" name="--fontsize" category="deprecated">
                     Specify base fontsize. Deprecated in favor of using <a
-                    href="http://ui.netbeans.org/docs/ui/themes/themes.html">themes</a>
+                    href="https://netbeans.apache.org/projects/ui/themes/themes.html">themes</a>
                     which is much more general. But this is a convenient quick
                     settings, handy for projection screens and so on.
                 </api>
@@ -759,7 +759,7 @@
         load from JARs is rather buggy when it comes to changing or removing the
         JAR during the JVM session.
         </p>
-        <api category="friend" group="java" name="Javeleon" type="import" url="https://netbeans.org/bugzilla/show_bug.cgi?id=195074">
+        <api category="friend" group="java" name="Javeleon" type="import" url="https://bz.apache.org/netbeans/show_bug.cgi?id=195074">
             <p>When present as a Java agent on the boot classpath, Javeleon is invoked reflectively to enhance module reloading.</p>
         </api>
     </answer>
@@ -1410,7 +1410,7 @@
         <a name="usecase-invalidate.cache"></a>
         <p>
             NetBeans Module system is optimized to eliminate useless I/O
-            operations on start (as a result the <a href="http://netbinox.apidesign.org">
+            operations on start (as a result the <a href="http://wiki.apidesign.org/wiki/Netbinox">
             embedded OSGi container</a> is fastest on the planet -- with respect to 
             application start up time). This is achieved by caching information
             known to have been needed in previous starts and using it
@@ -1427,7 +1427,7 @@
             Together, working in orchestration, they eliminate the need to
             touch the disk (which is very slow operation especially during
             <a href="http://wiki.apidesign.org/wiki/Startup#Morning_Launch">morning launch</a>).
-            Btw. there is a <a href="http://hg.netbeans.org/releases/file/cdbdc70050a8/core.startup/test/unit/src/org/netbeans/core/startup/layers/CachingPreventsFileTouchesTest.java">
+            Btw. there is a <a href="https://github.com/apache/netbeans/tree/master/platform/core.startup/test/unit/src/org/netbeans/core/startup/layers/CachingPreventsFileTouchesTest.java">
             test which verifies</a> 
             the caching system really works
             -- it is recommended for each product built on top of NetBeans Platform
diff --git a/platform/o.n.bootstrap/manifest.mf b/platform/o.n.bootstrap/manifest.mf
index 75ae0c4..0a534f0 100644
--- a/platform/o.n.bootstrap/manifest.mf
+++ b/platform/o.n.bootstrap/manifest.mf
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0
 OpenIDE-Module: org.netbeans.bootstrap/1
-OpenIDE-Module-Specification-Version: 2.98
+OpenIDE-Module-Specification-Version: 2.99
 OpenIDE-Module-Localizing-Bundle: org/netbeans/Bundle.properties
 OpenIDE-Module-Recommends: org.netbeans.NetigsoFramework
 
diff --git a/platform/o.n.bootstrap/src/org/netbeans/CLIHandler.java b/platform/o.n.bootstrap/src/org/netbeans/CLIHandler.java
index 5e2bf4a..20817f8 100644
--- a/platform/o.n.bootstrap/src/org/netbeans/CLIHandler.java
+++ b/platform/o.n.bootstrap/src/org/netbeans/CLIHandler.java
@@ -55,12 +55,12 @@
  * Command Line Interface and User Directory Locker support class.
  * Subclasses may be registered into the system to handle special command-line options.
  * To be registered, use {@link org.openide.util.lookup.ServiceProvider}
- * in a JAR file in the startup or dynamic class path (e.g. <samp>lib/ext/</samp>
- * or <samp>lib/</samp>).
+ * in a JAR file in the startup or dynamic class path (e.g. <code>lib/ext/</code>
+ * or <code>lib/</code>).
  * @author Jaroslav Tulach
  * @since org.netbeans.core/1 1.18
  * @see "#32054"
- * @see <a href="http://openide.netbeans.org/proposals/arch/cli.html">Specification</a>
+ * @see <a href="https://netbeans.apache.org/projects/platform/openide/proposals/arch/cli.html">Specification</a>
  */
 public abstract class CLIHandler extends Object {
     /** lenght of the key used for connecting */
diff --git a/platform/o.n.bootstrap/src/org/netbeans/Events.java b/platform/o.n.bootstrap/src/org/netbeans/Events.java
index b3932f4..ba53121 100644
--- a/platform/o.n.bootstrap/src/org/netbeans/Events.java
+++ b/platform/o.n.bootstrap/src/org/netbeans/Events.java
@@ -59,23 +59,23 @@
     public static final String FINISH_DEPLOY_TEST_MODULE = "finishDeployTestModule"; // NOI18N
     /** Module toDelete */
     public static final String DELETE_MODULE = "deleteModule"; // NOI18N
-    /** List<Module> toEnable */
+    /** List&lt;Module&gt; toEnable */
     public static final String START_ENABLE_MODULES = "startEnableModules"; // NOI18N
-    /** List<Module> toEnable */
+    /** List&lt;Module&gt; toEnable */
     public static final String FINISH_ENABLE_MODULES = "finishEnableModules"; // NOI18N
-    /** List<Module> toDisable */
+    /** List&lt;Module&gt; toDisable */
     public static final String START_DISABLE_MODULES = "startDisableModules"; // NOI18N
-    /** List<Module> toDisable */
+    /** List&lt;Module&gt; toDisable */
     public static final String FINISH_DISABLE_MODULES = "finishDisableModules"; // NOI18N
     /** Module prepared */
     public static final String PREPARE = "prepare"; // NOI18N
-    /** List<Module> loaded */
+    /** List&lt;Module&gt; loaded */
     public static final String START_LOAD = "startLoad"; // NOI18N
-    /** List<Module> loaded */
+    /** List&lt;Module&gt; loaded */
     public static final String FINISH_LOAD = "finishLoad"; // NOI18N
-    /** List<Module> unloaded */
+    /** List&lt;Module&gt; unloaded */
     public static final String START_UNLOAD = "startUnload"; // NOI18N
-    /** List<Module> unloaded */
+    /** List&lt;Module&gt; unloaded */
     public static final String FINISH_UNLOAD = "finishUnload"; // NOI18N
     /** Module installed */
     public static final String INSTALL = "install"; // NOI18N
@@ -91,27 +91,27 @@
     public static final String CLOSE = "close"; // NOI18N
     /** no args */
     public static final String START_READ = "startRead"; // NOI18N
-    /** Set<Module> found */
+    /** Set&lt;Module&gt; found */
     public static final String FINISH_READ = "finishRead"; // NOI18N
     /** FileObject */
     public static final String MODULES_FILE_PROCESSED = "modulesFileProcessed"; // NOI18N
     /** Integer */
     public static final String MODULES_FILE_SCANNED = "modulesFileScanned"; // NOI18N
-    /** Set<Module> toInstall */
+    /** Set&lt;Module&gt; toInstall */
     public static final String START_AUTO_RESTORE = "startAutoRestore"; // NOI18N
-    /** Set<Module> toInstall */
+    /** Set&lt;Module&gt; toInstall */
     public static final String FINISH_AUTO_RESTORE = "finishAutoRestore"; // NOI18N
-    /** Set<Module> notInstalled */
+    /** Set&lt;Module&gt; notInstalled */
     public static final String FAILED_INSTALL_NEW = "failedInstallNew"; // NOI18N
     /** Module notInstalled, InvalidException problem */
     public static final String FAILED_INSTALL_NEW_UNEXPECTED = "failedInstallNewUnexpected"; // NOI18N
-    /** Set<Module> modules */
+    /** Set&lt;Module&gt; modules */
     public static final String LOAD_LAYERS = "loadLayers"; // NOI18N
-    /** Set<Module> modules */
+    /** Set&lt;Module&gt; modules */
     public static final String UNLOAD_LAYERS = "unloadLayers"; // NOI18N
     /** Module culprit, Class offending, ClassLoader expected */
     public static final String WRONG_CLASS_LOADER = "wrongClassLoader"; // NOI18N
-    /** File extension, Set<File> owners */
+    /** File extension, Set&lt;File&gt;owners */
     public static final String EXTENSION_MULTIPLY_LOADED = "extensionMultiplyLoaded"; // NOI18N
     /** File nonexistentJar */
     public static final String MISSING_JAR_FILE = "missingJarFile"; // NOI18N
diff --git a/platform/o.n.bootstrap/src/org/netbeans/Module.java b/platform/o.n.bootstrap/src/org/netbeans/Module.java
index 45dffce..ff81bba 100644
--- a/platform/o.n.bootstrap/src/org/netbeans/Module.java
+++ b/platform/o.n.bootstrap/src/org/netbeans/Module.java
@@ -63,7 +63,7 @@
     /** event logging (should not be much here) */
     protected final Events events;
     /** associated history object
-     * @see ModuleHistory
+     * @see <a href="@org-netbeans-core-startup@/org/netbeans/core/startup/ModuleHistory.html">ModuleHistory</a>
      */
     private final Object history;
     /** true if currently enabled; manipulated by ModuleManager */
@@ -203,7 +203,7 @@
      * permanently beyond the existence of its JAR file;
      * it is enabled when some real module needs it to be,
      * and disabled when this is no longer the case.
-     * @see <a href="http://www.netbeans.org/issues/show_bug.cgi?id=9779">#9779</a>
+     * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=9779">#9779</a>
      */
     public boolean isAutoload() {
         return autoload;
@@ -215,7 +215,7 @@
      * its dependencies. This may be used to implement "bridge" modules with
      * simple functionality that just depend on two normal modules.
      * A module may not be simultaneously eager and autoload.
-     * @see <a href="http://www.netbeans.org/issues/show_bug.cgi?id=17501">#17501</a>
+     * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=17501">#17501</a>
      * @since org.netbeans.core/1 1.3
      */
     public boolean isEager() {
@@ -440,7 +440,7 @@
 
     /** Turn off the classloader and release all resources. */
     protected abstract void classLoaderDown();
-    /** Should be called after turning off the classloader of one or more modules & GC'ing. */
+    /** Should be called after turning off the classloader of one or more modules &amp; GC'ing. */
     protected abstract void cleanup();
     
     /** Notify the module that it is being deleted. */
@@ -520,7 +520,7 @@
     }
     
     /** Get the history object representing what has happened to this module before.
-     * @see org.netbeans.core.startup.ModuleHistory
+     * @see <a href="@org-netbeans-core-startup@/org/netbeans/core/startup/ModuleHistory.html">ModuleHistory</a>
      */
     public final Object getHistory() {
         return history;
@@ -619,7 +619,7 @@
      * @see Module#getPublicPackages
      */
     public static final class PackageExport {
-        /** Package to export, in the form <samp>org/netbeans/modules/foo/</samp>. */
+        /** Package to export, in the form <code>org/netbeans/modules/foo/</code>. */
         public final String pkg;
         /** If true, export subpackages also. */
         public final boolean recursive;
diff --git a/platform/o.n.bootstrap/src/org/netbeans/ModuleManager.java b/platform/o.n.bootstrap/src/org/netbeans/ModuleManager.java
index 3e15e51..5654999 100644
--- a/platform/o.n.bootstrap/src/org/netbeans/ModuleManager.java
+++ b/platform/o.n.bootstrap/src/org/netbeans/ModuleManager.java
@@ -19,6 +19,7 @@
 
 package org.netbeans;
 
+import java.awt.GraphicsEnvironment;
 import java.beans.PropertyChangeListener;
 import java.beans.PropertyChangeSupport;
 import java.io.ByteArrayInputStream;
@@ -57,6 +58,7 @@
 import java.util.concurrent.Future;
 import java.util.jar.Manifest;
 import java.util.logging.Level;
+import java.util.logging.Logger;
 import org.openide.modules.Dependency;
 import org.openide.modules.ModuleInfo;
 import org.openide.modules.Modules;
@@ -80,6 +82,11 @@
  * @author Jesse Glick
  */
 public final class ModuleManager extends Modules {
+    /**
+     * Used for dependency logging. Use -J-Dorg.netbeans.ModuleManager.deps.level=500 to enable. For brute-force extractions from the log,
+     * use {@code grep DEP: messages.log | cut -d : -f3- | sort | uniq}. The output is in "dot" format, just enclose in digraph block.
+     */
+    private static final Logger DEPLOG = Logger.getLogger(ModuleManager.class.getName() + ".deps");
 
     public static final String PROP_MODULES = "modules"; // NOI18N
     public static final String PROP_ENABLED_MODULES = "enabledModules"; // NOI18N
@@ -114,6 +121,11 @@
 
     // modules providing a given requires token; set may never be empty
     private final ProvidersOf providersOf = new ProvidersOf();
+    
+    /**
+     * Generic tokens provided "by the environment". Initially only one token is defined, <code>"netbeans:gui.swing"</code>
+     */
+    private final Set<String> environmentTokens = new HashSet<>();
 
     private final ModuleInstaller installer;
     private ModuleFactory moduleFactory;
@@ -166,6 +178,13 @@
                 moduleFactory.getClasspathDelegateClassLoader(this, 
                     ModuleManager.class.getClassLoader()));
         }
+        initializeEnvTokens();
+    }
+    
+    private void initializeEnvTokens() {
+        if (!GraphicsEnvironment.isHeadless()) {
+            environmentTokens.add("netbeans:gui.swing");
+        }
     }
 
     /** Access for ManifestSection.
@@ -954,7 +973,7 @@
      * `parent'. The parent is identified either by module specification (parent) or by a classloader
      * which should load the package. For system or bootstrap classes, `parent' may be {@code null}, since
      * boostrap classloaders load more modules together.
-     * <p/>
+     * <p>
      * If <b>both</b> `parent' and `ldr' are {@code null}, access to system/application classpath will be checked.
      * 
      * @param m module that attempts to load resources.
@@ -1130,7 +1149,7 @@
      * Removes a fragment module. Throws an exception if the fragment's
      * host is already enabled and its classloader may have loaded fragment's
      * contents.
-     * <p/>
+     * <p>
      * The method does nothing for non-fragment modules
      * 
      * @param m the module to remove
@@ -1680,7 +1699,8 @@
             }
             if (m.isEnabled()) throw new IllegalModuleException(IllegalModuleException.Reason.SIMULATE_ENABLE_ALREADY, m);
             if (!m.isValid()) throw new IllegalModuleException(IllegalModuleException.Reason.SIMULATE_ENABLE_INVALID, m);
-            maybeAddToEnableList(willEnable, modules, m, true);
+            addedBecauseOfDependent = null;
+            maybeAddToEnableList(willEnable, modules, m, true, null);
         }
         // XXX clumsy but should work:
         Set<Module> stillDisabled = new HashSet<Module>(this.modules);
@@ -1742,7 +1762,11 @@
         return false;
     }
     
-    private void maybeAddToEnableList(Set<Module> willEnable, Set<Module> mightEnable, Module m, boolean okToFail) {
+    private Module addedBecauseOfDependent;
+    private boolean eagerActivation;
+    private Set<Module> reported = new HashSet<>();
+    
+    private void maybeAddToEnableList(Set<Module> willEnable, Set<Module> mightEnable, Module m, boolean okToFail, String reason) {
         if (! missingDependencies(m).isEmpty()) {
             if (!okToFail) {
                 Util.err.warning("Module " + m + " had unexpected problems: " + missingDependencies(m));
@@ -1751,74 +1775,97 @@
             // Cannot satisfy its dependencies, exclude it.
             return;
         }
+        if (reported.add(m)) {
+            if (addedBecauseOfDependent == null) {
+                DEPLOG.log(Level.FINE, "DEP: \"" + m.getCodeNameBase() + '"' + (eagerActivation ? "[color=cornsilk]" : ""));
+            } else if (!addedBecauseOfDependent.getCodeNameBase().equals(m.getCodeNameBase())) {
+                DEPLOG.log(Level.FINE, "DEP: \"" + addedBecauseOfDependent.getCodeNameBase() + "\" "+ "->\""  
+                        + (reason != null ? "[label=\"" + reason + "\"]" : "")
+                        + " " + m.getCodeNameBase() + '"');
+            }
+        }
+
         if (!willEnable.add(m)) {
             // Already there, done.
             return;
         }
-        // need to register fragments eagerly, so they are available during
-        // dependency sort
-        Module host = attachModuleFragment(m);
-        if (host != null && !host.isEnabled()) {
-            maybeAddToEnableList(willEnable, mightEnable, host, okToFail);
-        }
-        // Also add anything it depends on, if not already there,
-        // or already enabled.
-        for (Dependency dep : m.getDependenciesArray()) {
-            if (dep.getType() == Dependency.TYPE_MODULE) {
-                String codeNameBase = (String)Util.parseCodeName(dep.getName())[0];
-                Module other = get(codeNameBase);
-                // Should never happen:
-                if (other == null) throw new IllegalStateException("Should have found module: " + codeNameBase); // NOI18N
-                if (! other.isEnabled()) {
-                    maybeAddToEnableList(willEnable, mightEnable, other, false);
-                }
-            } else if (
-                dep.getType() == Dependency.TYPE_REQUIRES || 
-                dep.getType() == Dependency.TYPE_NEEDS ||
-                dep.getType() == Dependency.TYPE_RECOMMENDS
-            ) {
-                Set<Module> providers = getProvidersOf().get(dep.getName());
-                if (providers == null) {
-                    assert dep.getType() == Dependency.TYPE_RECOMMENDS : "Should have found a provider of " + dep;
-                    continue;
-                }
-                // First check if >= 1 is already enabled or will be soon. If so, great.
-                boolean foundOne = false;
-                for (Module other : providers) {
-                    if (other.isEnabled() ||
-                            (other.getProblems().isEmpty() && mightEnable.contains(other))) {
-                        foundOne = true;
-                        break;
-                    }
-                }
-                if (foundOne) {
-                    // OK, we are satisfied.
-                    continue;
-                }
-                // All disabled. So add them all to the enable list.
-                for (Module other : providers) {
-                    // It is OK if one of them fails.
-                    maybeAddToEnableList(willEnable, mightEnable, other, true);
-                    // But we still check to ensure that at least one did not!
-                    if (!foundOne && willEnable.contains(other)) {
-                        foundOne = true;
-                        // and continue with the others, try to add them too...
-                    }
-                }
-                // Logic is that missingDependencies(m) should contain dep in this case.
-                assert foundOne || dep.getType() == Dependency.TYPE_RECOMMENDS : "Should have found a nonproblematic provider of " + dep + " among " + providers + " with willEnable=" + willEnable + " mightEnable=" + mightEnable;
+        Module outer = addedBecauseOfDependent;
+        boolean outerEagerActivatioon = eagerActivation;
+        Set<Module> outerReported = reported;
+        try {
+            reported = new HashSet<>();
+            addedBecauseOfDependent = m;
+            // need to register fragments eagerly, so they are available during
+            // dependency sort
+            Module host = attachModuleFragment(m);
+            if (host != null && !host.isEnabled()) {
+                maybeAddToEnableList(willEnable, mightEnable, host, okToFail, "Fragment host");
             }
-            // else some other kind of dependency that does not concern us
-        }
-        Collection<Module> frags = getAttachedFragments(m);
-        for (Module fragMod : frags) {
-            // do not enable regular fragments unless eager: if something depends on a fragment, it will 
-            // enable the fragment along with normal dependencies.
-            if (fragMod.isEager()) {
-                maybeAddToEnableList(willEnable, mightEnable, fragMod, fragMod.isAutoload() || fragMod.isEager());
+            
+            // Also add anything it depends on, if not already there,
+            // or already enabled.
+            for (Dependency dep : m.getDependenciesArray()) {
+                if (dep.getType() == Dependency.TYPE_MODULE) {
+                    String codeNameBase = (String)Util.parseCodeName(dep.getName())[0];
+                    Module other = get(codeNameBase);
+                    // Should never happen:
+                    if (other == null) throw new IllegalStateException("Should have found module: " + codeNameBase); // NOI18N
+                    if (! other.isEnabled()) {
+                        maybeAddToEnableList(willEnable, mightEnable, other, false, null);
+                    }
+                } else if (
+                    dep.getType() == Dependency.TYPE_REQUIRES || 
+                    dep.getType() == Dependency.TYPE_NEEDS ||
+                    dep.getType() == Dependency.TYPE_RECOMMENDS
+                ) {
+                    Set<Module> providers = getProvidersOf().get(dep.getName());
+                    if (providers == null) {
+                        assert dep.getType() == Dependency.TYPE_RECOMMENDS : "Should have found a provider of " + dep;
+                        continue;
+                    }
+                    // First check if >= 1 is already enabled or will be soon. If so, great.
+                    boolean foundOne = false;
+                    for (Module other : providers) {
+                        if (other.isEnabled() ||
+                                (other.getProblems().isEmpty() && mightEnable.contains(other))) {
+                            foundOne = true;
+                            break;
+                        }
+                    }
+                    if (foundOne) {
+                        // OK, we are satisfied.
+                        continue;
+                    }
+                    // All disabled. So add them all to the enable list.
+                    for (Module other : providers) {
+                        // It is OK if one of them fails.
+                        maybeAddToEnableList(willEnable, mightEnable, other, true, (dep.getName().startsWith("cnb.") ? null : "Provides " + dep.getName()));
+                        // But we still check to ensure that at least one did not!
+                        if (!foundOne && willEnable.contains(other)) {
+                            foundOne = true;
+                            // and continue with the others, try to add them too...
+                        }
+                    }
+                    // Logic is that missingDependencies(m) should contain dep in this case.
+                    assert foundOne || dep.getType() == Dependency.TYPE_RECOMMENDS : "Should have found a nonproblematic provider of " + dep + " among " + providers + " with willEnable=" + willEnable + " mightEnable=" + mightEnable;
+                }
+                // else some other kind of dependency that does not concern us
             }
+            Collection<Module> frags = getAttachedFragments(m);
+            for (Module fragMod : frags) {
+                // do not enable regular fragments unless eager: if something depends on a fragment, it will 
+                // enable the fragment along with normal dependencies.
+                if (fragMod.isEager()) {
+                    maybeAddToEnableList(willEnable, mightEnable, fragMod, fragMod.isAutoload() || fragMod.isEager(), "Fragment");
+                }
+            }
+        } finally {
+            reported = outerReported;
+            addedBecauseOfDependent = outer;
+            eagerActivation = outerEagerActivatioon;
         }
     }
+    
     private boolean searchForPossibleEager(Set<Module> willEnable, Set<Module> stillDisabled, Set<Module> mightEnable) {
         // Check for any eagers in stillDisabled which could be enabled based
         // on currently enabled modules and willEnable. For any such, remove from
@@ -1849,7 +1896,12 @@
                     // Go for it!
                     found = true;
                     it.remove();
-                    maybeAddToEnableList(willEnable, mightEnable, m, false);
+                    eagerActivation = true;
+                    try {
+                        maybeAddToEnableList(willEnable, mightEnable, m, false, "Eager");
+                    } finally {
+                        eagerActivation = false;
+                    }
                 }
             }
         }
diff --git a/platform/o.n.bootstrap/src/org/netbeans/NetigsoFramework.java b/platform/o.n.bootstrap/src/org/netbeans/NetigsoFramework.java
index b03a22f..21802af 100644
--- a/platform/o.n.bootstrap/src/org/netbeans/NetigsoFramework.java
+++ b/platform/o.n.bootstrap/src/org/netbeans/NetigsoFramework.java
@@ -35,7 +35,7 @@
 /** This class contains abstracted calls to OSGi provided by core.netigso
  * module. No other module can implement this class, except core.netigso.
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  */
 public abstract class NetigsoFramework {
     private ModuleManager mgr;
@@ -135,7 +135,7 @@
     //
     
     /** Get an array of bytes from archive. If not found, it remembers the
-     * request and later calls {@link #toArchive(java.lang.String, java.lang.String)}
+     * request and later calls <code>#toArchive(java.lang.String, java.lang.String)</code>
      * method to store it for next time.
      *
      * @param name name of the resource inside the JAR
@@ -170,7 +170,7 @@
     
     /** Gives OSGi support access to NetBeans bytecode manipulation libraries.
      * They are built over {@link Instrumentation} specification 
-     * read more at <a href="@TOP@architecture-overview.html#usecase-bytecode.patching">
+     * read more at <a href="@TOP@/architecture-summary.html#usecase-patch">
      * architecture document</a>.
      * 
      * @param l the classloader that is loading the class
diff --git a/platform/o.n.bootstrap/src/org/netbeans/PatchByteCode.java b/platform/o.n.bootstrap/src/org/netbeans/PatchByteCode.java
index 074d8a7..0da8351 100644
--- a/platform/o.n.bootstrap/src/org/netbeans/PatchByteCode.java
+++ b/platform/o.n.bootstrap/src/org/netbeans/PatchByteCode.java
@@ -163,7 +163,7 @@
     }
     /**
      * Patches a class if it is needed.
-     * @param arr the bytecode
+     * @param data the bytecode
      * @return the enhanced bytecode
      */
     public static byte[] patch(byte[] data) {
diff --git a/platform/o.n.bootstrap/src/org/netbeans/ProxyClassLoader.java b/platform/o.n.bootstrap/src/org/netbeans/ProxyClassLoader.java
index e64180d..0f72833 100644
--- a/platform/o.n.bootstrap/src/org/netbeans/ProxyClassLoader.java
+++ b/platform/o.n.bootstrap/src/org/netbeans/ProxyClassLoader.java
@@ -106,7 +106,7 @@
          
     /**
      * Loads the class with the specified name.  The implementation of
-     * this method searches for classes in the following order:<p>
+     * this method searches for classes in the following order:
      * <ol>
      * <li> Looks for a known package and pass the loading to the ClassLoader 
             for that package. 
@@ -450,7 +450,6 @@
     /**
      * Faster way to find a package.
      * @param name package name in org.netbeans.modules.foo format
-     * @param sname package name in org/netbeans/modules/foo/ format
      * @param recurse whether to also ask parents
      * @return located package, or null
      */
diff --git a/platform/o.n.bootstrap/src/org/netbeans/Stamps.java b/platform/o.n.bootstrap/src/org/netbeans/Stamps.java
index 7e8ec50..f274d5d 100644
--- a/platform/o.n.bootstrap/src/org/netbeans/Stamps.java
+++ b/platform/o.n.bootstrap/src/org/netbeans/Stamps.java
@@ -62,7 +62,7 @@
  * Support for optimal checking of time stamps of certain files in
  * NetBeans directory structure. 
  *
- * @author Jaroslav Tulach <jaroslav.tulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jaroslav.tulach@netbeans.org&gt;
  * @since 2.9
  */
 public final class Stamps {
@@ -133,7 +133,7 @@
     }
     
     /** Opens the access to cache object as a stream.
-     * @param name name of the cache
+     * @param cache name of the cache
      * @return stream to read from the cache or null if the cache is not valid
      */
     public InputStream asStream(String cache) {
@@ -157,7 +157,7 @@
      */
    
     /** Opens the access to cache object as a stream.
-     * @param name name of the cache
+     * @param cache name of the cache
      * @return stream to read from the cache or null if the cache is not valid
      */
     public ByteBuffer asByteBuffer(String cache) {
@@ -213,7 +213,7 @@
     
     /** Method for registering updates to caches.
      * @param updater the callback to start when flushing caches
-     * @param file name of the file to store the cache into
+     * @param cache name of the file to store the cache into
      * @param append write from scratch or append?
      */
     public void scheduleSave(Updater updater, String cache, boolean append) {
diff --git a/platform/o.n.bootstrap/src/org/netbeans/StandardModule.java b/platform/o.n.bootstrap/src/org/netbeans/StandardModule.java
index 52ab00b..e524661 100644
--- a/platform/o.n.bootstrap/src/org/netbeans/StandardModule.java
+++ b/platform/o.n.bootstrap/src/org/netbeans/StandardModule.java
@@ -334,7 +334,7 @@
      * as needed.
      * Note: due to #19698, this cache is not usually used; only if you
      * specifically go to look at the display properties of a disabled module.
-     * @see <a href="http://www.netbeans.org/issues/show_bug.cgi?id=12549">#12549</a>
+     * @see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=12549">#12549</a>
      */
     private void loadLocalizedProps(JarFile jarFile, Manifest m) throws IOException {
         String locbundle = m.getMainAttributes().getValue("OpenIDE-Module-Localizing-Bundle"); // NOI18N
@@ -557,7 +557,7 @@
         }
         classloader = null;
     }
-    /** Should be called after turning off the classloader of one or more modules & GC'ing. */
+    /** Should be called after turning off the classloader of one or more modules &amp; GC'ing. */
     protected void cleanup() {
         if (isEnabled()) throw new IllegalStateException("cleanup on enabled module: " + this); // NOI18N
         if (classloader != null) throw new IllegalStateException("cleanup on module with classloader: " + this); // NOI18N
diff --git a/platform/o.n.bootstrap/src/org/netbeans/Util.java b/platform/o.n.bootstrap/src/org/netbeans/Util.java
index 395de60..2287d87 100644
--- a/platform/o.n.bootstrap/src/org/netbeans/Util.java
+++ b/platform/o.n.bootstrap/src/org/netbeans/Util.java
@@ -232,7 +232,7 @@
      * list of modules (suitable for disabling; reverse for enabling).
      * @param modules some modules
      * @param modulesByName map from module cnbs to modules (may contain unrelated modules)
-     * @param providersOf map from tokens to sets of modules providing them (may mention unrelated modules)
+     * @param _providersOf map from tokens to sets of modules providing them (may mention unrelated modules)
      * @return a map from modules to lists of modules they depend on
      * @see Utilities#topologicalSort
      * JST-PENDING needed from tests
diff --git a/platform/o.n.core/src/org/netbeans/beaninfo/editors/ArrayOfIntSupport.java b/platform/o.n.core/src/org/netbeans/beaninfo/editors/ArrayOfIntSupport.java
index f22dde2..a10c13f 100644
--- a/platform/o.n.core/src/org/netbeans/beaninfo/editors/ArrayOfIntSupport.java
+++ b/platform/o.n.core/src/org/netbeans/beaninfo/editors/ArrayOfIntSupport.java
@@ -211,7 +211,7 @@
     * the value should be available via the getValue method.
     * An IOException should be thrown when the value cannot be restored from the specified XML element
     * @param element the XML DOM element representing a subtree of XML from which the value should be loaded
-    * @exception IOException thrown when the value cannot be restored from the specified XML element
+    * @exception java.io.IOException thrown when the value cannot be restored from the specified XML element
     */
     public void readFromXML (org.w3c.dom.Node element) throws java.io.IOException {
         if (!getXMLValueTag ().equals (element.getNodeName ())) {
diff --git a/platform/o.n.core/src/org/netbeans/beaninfo/editors/CharEditor.java b/platform/o.n.core/src/org/netbeans/beaninfo/editors/CharEditor.java
index 47292ea..c09bf40 100644
--- a/platform/o.n.core/src/org/netbeans/beaninfo/editors/CharEditor.java
+++ b/platform/o.n.core/src/org/netbeans/beaninfo/editors/CharEditor.java
@@ -107,7 +107,7 @@
     /**
      * Accepts Character and String values. If the argument is
      * a String the first character is taken as the new value.
-     * @param v new value
+     * @param newValue new value
      */
     @Override
     public void setValue(Object newValue) throws IllegalArgumentException {
diff --git a/platform/o.n.core/src/org/netbeans/beaninfo/editors/ColorEditor.java b/platform/o.n.core/src/org/netbeans/beaninfo/editors/ColorEditor.java
index a0f0320..7358ec6 100644
--- a/platform/o.n.core/src/org/netbeans/beaninfo/editors/ColorEditor.java
+++ b/platform/o.n.core/src/org/netbeans/beaninfo/editors/ColorEditor.java
@@ -225,7 +225,7 @@
 
     /** Sets value. Implements <code>PropertyEditor</code> interface.
      * @param object object to set, accepts <code>Color</code> 
-     * or <code>SuperColor<code> types */
+     * or <code>SuperColor</code> types */
     public void setValue (Object object) {
         if(object != null) {
             if (object instanceof SuperColor) {
diff --git a/platform/o.n.core/src/org/netbeans/beaninfo/editors/IntEditor.java b/platform/o.n.core/src/org/netbeans/beaninfo/editors/IntEditor.java
index 6eda57d..9f09147 100644
--- a/platform/o.n.core/src/org/netbeans/beaninfo/editors/IntEditor.java
+++ b/platform/o.n.core/src/org/netbeans/beaninfo/editors/IntEditor.java
@@ -33,12 +33,14 @@
  *  values and handles whitespace in setAsText better than the default
  *  JDK one.  The following hints are supported:
  *  <UL><LI><B>stringKeys</B> - an array of Strings that should be supplied
- *  from getTags()</LI><LI><B>intValues - an array of ints corresponding to
+ *  from getTags()</LI><LI><B>intValues</B> - an array of ints corresponding to
  *  the values represented by stringKeys. <I>This hint must be present if
- *  the stringKeys hint is used, and the arrays must be of the same length.</LI>
+ *  the stringKeys hint is used, and the arrays must be of the same length.</I></LI>
  *  <LI><B>codeValues</B> - an array of strings that should be returned from
  *  getJavaInitializationString.  This hint is optional when using the
- *  aforementioned hints.  <P>These hints will also work for the Integer
+ *  aforementioned hints. 
+ *  </UL>
+ *  <P>These hints will also work for the Integer
  *  editor, which wraps an instance of this editor.
  *
  * @author  Tim Boudreau
diff --git a/platform/o.n.core/src/org/netbeans/beaninfo/editors/StringArrayEditor.java b/platform/o.n.core/src/org/netbeans/beaninfo/editors/StringArrayEditor.java
index 1aeb0f7..417f7f7 100644
--- a/platform/o.n.core/src/org/netbeans/beaninfo/editors/StringArrayEditor.java
+++ b/platform/o.n.core/src/org/netbeans/beaninfo/editors/StringArrayEditor.java
@@ -197,7 +197,7 @@
      * the specified XML element
      * @param element the XML DOM element representing a subtree of XML from
      *                which the value should be loaded
-     * @exception IOException thrown when the value cannot be restored from
+     * @exception java.io.IOException thrown when the value cannot be restored from
                   the specified XML element
      */
     public void readFromXML(org.w3c.dom.Node element) throws java.io.IOException {
diff --git a/platform/o.n.core/src/org/netbeans/beaninfo/editors/URLEditor.java b/platform/o.n.core/src/org/netbeans/beaninfo/editors/URLEditor.java
index 3a516e8..735908a 100644
--- a/platform/o.n.core/src/org/netbeans/beaninfo/editors/URLEditor.java
+++ b/platform/o.n.core/src/org/netbeans/beaninfo/editors/URLEditor.java
@@ -83,7 +83,7 @@
     * the value should be available via the getValue method.
     * An IOException should be thrown when the value cannot be restored from the specified XML element
     * @param element the XML DOM element representing a subtree of XML from which the value should be loaded
-    * @exception IOException thrown when the value cannot be restored from the specified XML element
+    * @exception java.io.IOException thrown when the value cannot be restored from the specified XML element
     */
     public void readFromXML (org.w3c.dom.Node element) throws java.io.IOException {
         if (!XML_URL.equals (element.getNodeName ())) {
diff --git a/platform/o.n.core/src/org/netbeans/core/Services.java b/platform/o.n.core/src/org/netbeans/core/Services.java
index 42e2b31..2540c39 100644
--- a/platform/o.n.core/src/org/netbeans/core/Services.java
+++ b/platform/o.n.core/src/org/netbeans/core/Services.java
@@ -130,7 +130,7 @@
     * instaces of the objects but only of the types that are already registered
     * to the system by manifest sections.
     *
-    * @param arr list of ServiceTypes 
+    * @param arr0 list of ServiceTypes 
     */
     public synchronized void setServiceTypes (java.util.List/*<ServiceType>*/ arr0) {
         if (arr0 == null) {
diff --git a/platform/o.n.core/src/org/netbeans/core/actions/LogViewerSupport.java b/platform/o.n.core/src/org/netbeans/core/actions/LogViewerSupport.java
index 56b51b9..b523069 100644
--- a/platform/o.n.core/src/org/netbeans/core/actions/LogViewerSupport.java
+++ b/platform/o.n.core/src/org/netbeans/core/actions/LogViewerSupport.java
@@ -49,7 +49,7 @@
     
     /** Connects a given process to the output window. Returns immediately, but threads are started that
      * copy streams of the process to/from the output window.
-     * @param process process whose streams to connect to the output window
+     * @param fileName process whose streams to connect to the output window
      * @param ioName name of the output window tab to use
      */
     public LogViewerSupport(final File fileName, final String ioName) {
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTable.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTable.java
index 627e21b..48158bf 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTable.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTable.java
@@ -313,7 +313,7 @@
     /**
      * Overridden to calculate a preferred size based on the current optimal
      * number of columns, and set up the preferred width for each column based
-     * on the maximum width item & icon displayed in it
+     * on the maximum width item &amp; icon displayed in it
      */
     @Override
     public Dimension getPreferredSize() {
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTableItem.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTableItem.java
index 25fbb3d..afcf7a0 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTableItem.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTableItem.java
@@ -22,7 +22,7 @@
 import javax.swing.Icon;
 
 /**
- * Represents one item in <code>SwitcherTable</class>.
+ * Represents one item in <code>SwitcherTable</code>.
  *
  * @see SwitcherTable
  *
@@ -100,7 +100,7 @@
     
     /**
      * Return item's description - the text which can be used for arbitrary
-     * purpose. E.g. </code>KeyboardPopupSwitcher</code> uses it for statusbar
+     * purpose. E.g. <code>KeyboardPopupSwitcher</code> uses it for statusbar
      * text.
      */
     public String getDescription() {
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTableModel.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTableModel.java
index a735f24..5f57566 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTableModel.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTableModel.java
@@ -24,7 +24,7 @@
 import org.openide.util.Utilities;
 
 /**
- * <code>TableModel</code> for <code>SwitcherTable</class>.
+ * <code>TableModel</code> for <code>SwitcherTable</code>.
  *
  * @see SwitcherTable
  *
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/TabData.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/TabData.java
index 57f2e82..c8d63cd 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/TabData.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/TabData.java
@@ -31,7 +31,7 @@
  * immutable to client code, changes to the data model may change the values
  * returned by the methods of this class.  TabData objects are the data
  * component of TabDataModel.
- * <p/>
+ * <p>
  * TabData objects implement their <code>equals()</code> and
  * <code>hashCode</code> contract based on the equality of the user object and
  * the text.  The icon and the tooltip text are not considered when testing
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/TabDataModel.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/TabDataModel.java
index 7e2f7ff..3e1deab 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/TabDataModel.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/TabDataModel.java
@@ -208,7 +208,7 @@
      * The model will fire a change event whenever a modification occurs that
      * could require a repaint. <strong>This method is only here for the
      * prototype - eventually the UI delegate should listen for ComplexDataNN
-     * events and optimize repaints based on the actual areas affected.
+     * events and optimize repaints based on the actual areas affected.</strong>
      */
     public void addChangeListener(ChangeListener listener);
 
@@ -216,7 +216,7 @@
      * The model will fire a change event whenever a modification occurs that
      * could require a repaint. <strong>This method is only here for the
      * prototype - eventually the UI delegate should listen for ComplexDataNN
-     * events and optimize repaints based on the actual areas affected.
+     * events and optimize repaints based on the actual areas affected.</strong>
      */
     public void removeChangeListener(ChangeListener listener);
 }
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/TabbedContainer.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/TabbedContainer.java
index e531508..63aa5c8 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/TabbedContainer.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/TabbedContainer.java
@@ -75,13 +75,16 @@
  * fade or sliding effect when displayed.  For this style, a second click on the selected
  * tab will hide the selected tab (setting the selection model's selected index to -1).</li></ul>
  * <p>
- * <h4>Customizing the appearance of tabs</h4>
+ * <strong>Customizing the appearance of tabs</strong>
+ * <p>
  * Tabs are customized by providing a different UI delegate for the tab displayer component,
  * via UIManager, in the same manner as any standard Swing component; for <code>TYPE_SLIDING</code>
  * tabs, simply implementing an alternate UI delegate for the buttons used to represent tabs
  * is all that is needed.
  *
- * <h4>Managing user events on tabs</h4>
+ * <p>
+ * <strong>Managing user events on tabs</strong>
+ * <p>
  * When a user clicks a tab, the TabbedContainer will fire an action event to all of its listeners.
  * This action event will always be an instance of <code>TabActionEvent</code>, which can provide
  * the index of the tab that was pressed, and the command name of the action that was performed.
@@ -89,7 +92,9 @@
  * to save data, and possibly vetoing the closing of a tab) may veto (or take full responsibility
  * for performing) the action by consuming the TabActionEvent.
  *
- *<h4>Indication of focus and the &quot;activated&quot; state</h4>
+ * <p>
+ * <strong>Indication of focus and the &quot;activated&quot; state</strong>
+ * <p>
  * The property <code>active</code> is provided to allow a tabbed container to indicate that it
  * contains the currently focused component. However, no effort is made to track focus on the
  * part of the tabbed control - there is too much variability possible (for example, if
@@ -571,7 +576,7 @@
      * TabbedContainer. While one would expect a component gaining keyboard
      * focus to be a good determinant, it actually turns out to be a potent
      * source of subtle and hard-to-fix bugs.
-     * <p/>
+     * <p>
      * NetBeans uses an AWTEventListener to track mouse clicks, and allows
      * components to become activated only via a mouse click or via a keyboard
      * action or menu item which activates the component.  This approach is far
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/customtabs/Tabbed.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/customtabs/Tabbed.java
index 248de8e..d6c3bff 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/customtabs/Tabbed.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/customtabs/Tabbed.java
@@ -50,7 +50,7 @@
 
     /**
      * Turn tab highlight on/off
-     * @param tab
+     * @param tc
      * @since 1.38
      */
     public void setAttentionHighlight(TopComponent tc, boolean highlight) {
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/event/ArrayDiff.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/event/ArrayDiff.java
index 12c20f4..14f6153 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/event/ArrayDiff.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/event/ArrayDiff.java
@@ -33,7 +33,6 @@
  * Class representing a diff of two arrays.  Note that it is
  * <strong>not</strong> designed to work with arrays which contain the same
  * element more than one time - in that case, the results are undefined.
- * <p/>
  * <p>Note the current implementation is unoptimized and fairly brute force.
  *
  * @author Tim Boudreau
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/AbstractViewTabDisplayerUI.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/AbstractViewTabDisplayerUI.java
index 41f045ed..80ef033 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/AbstractViewTabDisplayerUI.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/AbstractViewTabDisplayerUI.java
@@ -69,7 +69,7 @@
 /**
  * Basic UI class for view tabs - non scrollable tabbed displayer, which shows all
  * tabs equally sized, proportionally. This class is independent on specific
- * L&F, acts as base class for specific L&F descendants.
+ * L&amp;F, acts as base class for specific L&amp;F descendants.
  * <p>
  * XXX eventually this class should be deleted and a subclass of BasicTabDisplayer can be used;
  * currently this is simply a port of the original code to the new API. Do not introduce any new
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/BusyTabsSupport.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/BusyTabsSupport.java
index 3325bcd..b68bc6d 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/BusyTabsSupport.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/BusyTabsSupport.java
@@ -35,7 +35,7 @@
 
 /**
  * Support class to implement animation in tab headers to indicate some sort of
- * 'busy' state.<br
+ * 'busy' state.<br>
  * The default implementation tracks changes in registered tab containers
  * (<code>install(Tabbed, TabDataModel)</code>) and if any tab is marked as 'busy'
  * (<code>TopComponent.makeBusy(boolean)</code>) it forces repeated repaints of
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/DefaultTabbedContainerUI.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/DefaultTabbedContainerUI.java
index 3cfae3c..b49d6c0 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/DefaultTabbedContainerUI.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/DefaultTabbedContainerUI.java
@@ -468,10 +468,10 @@
      * Create the layout manager that will manage the layout of the
      * TabbedContainer.  A TabbedContainer contains two components - the tabs
      * contentDisplayer, and the component contentDisplayer.
-     * <p/>
+     * <p>
      * The layout manager determines the position of the tabs relative to the
      * contentDisplayer component which displays the tab contents.
-     * <p/>
+     * <p>
      * The default implementation uses BorderLayout.  If you override this, you
      * should probably override <code>installDisplayer()</code> as well.
      */
@@ -534,8 +534,8 @@
      * Shows the passed component. <strong>This method does not communicate with
      * the data model in any way shape or form, it just moves the passed
      * component to the front.  It should only be called in response to an event
-     * from the data model or selection model.
-     * <p/>
+     * from the data model or selection model.</strong>
+     * <p>
      * If you override <code>createContentDisplayerLayoutModel()</code> to
      * provide your own layout manager to arrange the displayed component, you
      * need to override this to tell the layout (or do whatever is needed) to
@@ -624,7 +624,7 @@
      * cases such as removing the selected component appropriately, so if such a
      * model change happens, a selection change will be immediately forthcoming
      * to handle it.
-     * <p/>
+     * <p>
      * Note that it is important that this listener be added to the data model
      * <i>after</i> the DefaultSelectionModel has added its listener. It is
      * important to create the displayer component before adding this listener.
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/EqualPolygon.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/EqualPolygon.java
index 7921bd7..40790ea 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/EqualPolygon.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/EqualPolygon.java
@@ -34,12 +34,12 @@
  * A Polygon which implements a proper equals/hashcode contract.  In order to
  * optimize drag and drop repainting, it is necessary that the Shape objects
  * returned by getTabIndication() be able to be compared properly.
- * <p/>
+ * <p>
  * To ease migration of older code, this class also implements a couple methods
  * of GeneralPath, which was used before. These methods just delegate to
  * addPoint(), so the full functionality of GeneralPath is not replicated
  * (specifically, a polygon must be contiguous and closed).
- * <p/>
+ * <p>
  *
  * @author Tim Boudreau
  */
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/MetalEditorTabCellRenderer.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/MetalEditorTabCellRenderer.java
index d5eccc3..b5930e6 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/MetalEditorTabCellRenderer.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/MetalEditorTabCellRenderer.java
@@ -28,7 +28,7 @@
 import java.awt.*;
 
 /**
- * Renderer for editor tabs in metal l&f
+ * Renderer for editor tabs in metal l&amp;f
  *
  * @author Tim Boudreau
  */
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabCellRenderer.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabCellRenderer.java
index ebcfccf..d06be80 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabCellRenderer.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabCellRenderer.java
@@ -100,7 +100,7 @@
      * Get the shape that represents those pixels actually occupied by the tab
      * on-screen.  This is used for determining whether a mouse event really
      * occured on a tab, and for painting.<p> <b>A note on painting of tab drag
-     * and drop indication:  <code>AbstractTabsUI</code> contains generic
+     * and drop indication:</b>  <code>AbstractTabsUI</code> contains generic
      * support for drawing drag and drop target indications. If want to use it
      * rather than write your own, you need to specify the polygon returned by
      * this method with the following point order:  The last two points in the
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabState.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabState.java
index 0aa98cf..db7c0f9 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabState.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabState.java
@@ -59,7 +59,8 @@
  * <p>
  * BasicTabDisplayerUI implements a mouse listener which will call the appropriate
  * methods when the mouse enters/exits tabs, etc.
- * <h4>Details</h4>
+ * <p>
+ * <strong>Details</strong>
  * <p>
  * State is composed as an integer bitmask which covers all of the supported
  * states of a tab that may affect the way they paint.  These are also the values that
diff --git a/platform/openide.actions/src/org/openide/actions/SaveAction.java b/platform/openide.actions/src/org/openide/actions/SaveAction.java
index f8c01a9..b747f30 100644
--- a/platform/openide.actions/src/org/openide/actions/SaveAction.java
+++ b/platform/openide.actions/src/org/openide/actions/SaveAction.java
@@ -43,7 +43,7 @@
 
 /** Save a one or more objects. Since version 6.20 this handles ANY selection
  * instead of EXACTLY_ONE selection.
- * @see savable
+ * @see Savable
  * @see SaveCookie
  *
  * @author   Jan Jancura, Petr Hamernik, Ian Formanek, Dafe Simonek
diff --git a/platform/openide.explorer/arch-propertysheet.xml b/platform/openide.explorer/arch-propertysheet.xml
index ac5f6d3..1f06309 100644
--- a/platform/openide.explorer/arch-propertysheet.xml
+++ b/platform/openide.explorer/arch-propertysheet.xml
@@ -600,7 +600,7 @@
 bean. Reflection is used during decision-making whether "Restore Default Value"
 Action should be disabled or enabled. This is due to the backward compatibility
 with properties in old modules (or new incorrectly implemented properties). See
-<a href="http://www.netbeans.org/issues/show_bug.cgi?id=51907">#51907</a> for
+<a href="https://bz.apache.org/netbeans/show_bug.cgi?id=51907">#51907</a> for
 detailed description why we do so.
 </answer>
 
diff --git a/platform/openide.explorer/src/org/openide/explorer/ExplorerManager.java b/platform/openide.explorer/src/org/openide/explorer/ExplorerManager.java
index 5a170a5..2d024b9 100644
--- a/platform/openide.explorer/src/org/openide/explorer/ExplorerManager.java
+++ b/platform/openide.explorer/src/org/openide/explorer/ExplorerManager.java
@@ -352,7 +352,7 @@
      * @param value the new node to explore, or <code>null</code> if none should be explored.
      * @param selection the new nodes to be selected
      * @throws IllegalArgumentException if the node is not within the current root context in the node hierarchy
-     * @throws PropertyVetoExcepion if listeners attached to this explorer manager do so
+     * @throws PropertyVetoException if listeners attached to this explorer manager do so
      */
     public final void setExploredContextAndSelection(final Node value, final Node[] selection)
     throws PropertyVetoException {
@@ -794,7 +794,7 @@
      * that implements {@link Provider}.  <P> This method should be used in
      * {@link Component#addNotify} of each component that works with the
      * Explorer manager, e.g.:
-     * <p><pre>
+     * <pre>
      * private transient ExplorerManager explorer;
      *
      * public void addNotify () {
diff --git a/platform/openide.explorer/src/org/openide/explorer/ExplorerUtils.java b/platform/openide.explorer/src/org/openide/explorer/ExplorerUtils.java
index bbdd363..6dab2ea 100644
--- a/platform/openide.explorer/src/org/openide/explorer/ExplorerUtils.java
+++ b/platform/openide.explorer/src/org/openide/explorer/ExplorerUtils.java
@@ -46,7 +46,7 @@
  *
         <span class="comment">// following line tells the top component which lookup should be associated with it</span>
         associateLookup (ExplorerUtils.createLookup (manager, map));
-</span>    }
+    }
     <span class="keyword">public</span> <span class="type">ExplorerManager</span> <span class="function-name">getExplorerManager</span>() {
         <span class="keyword">return</span> manager;
     }
@@ -68,7 +68,7 @@
 <span class="keyword">implements</span> <span class="type">ExplorerManager.Provider</span>, <span class="type">Lookup.Provider</span> {
     <span class="keyword">private</span> <span class="type">ExplorerManager</span> <span class="variable-name">manager</span>;
     <span class="keyword">private</span> <span class="type">Lookup</span> <span class="variable-name">lookup</span>;
-</span>    <span class="keyword">public</span> <span class="type">YourComponent</span>() {
+    <span class="keyword">public</span> <span class="type">YourComponent</span>() {
         <span class="comment">// same as before...</span>
         manager = <span class="keyword">new</span> <span class="type">ExplorerManager</span>();
         <span class="type">ActionMap</span> <span class="variable-name">map</span> = getActionMap();
diff --git a/platform/openide.explorer/src/org/openide/explorer/propertysheet/ButtonPanel.java b/platform/openide.explorer/src/org/openide/explorer/propertysheet/ButtonPanel.java
index a503e22..a0b3af7 100644
--- a/platform/openide.explorer/src/org/openide/explorer/propertysheet/ButtonPanel.java
+++ b/platform/openide.explorer/src/org/openide/explorer/propertysheet/ButtonPanel.java
@@ -457,7 +457,7 @@
      * custom editor button.
      * <p>
      * This class also contains the ability to create an image buffer of itself
-     * and use it for its lifetime.  On XP and Aqua L&Fs, button painting is
+     * and use it for its lifetime.  On XP and Aqua L&amp;Fs, button painting is
      * expensive, and a huge amount of a treetable or property sheet's painting
      * cycle gets spent scaling the backing bitmap for a button that will
      * always be painted exactly the same size.
diff --git a/platform/openide.explorer/src/org/openide/explorer/propertysheet/DefaultPropertyModel.java b/platform/openide.explorer/src/org/openide/explorer/propertysheet/DefaultPropertyModel.java
index f261cac..bd85e44 100644
--- a/platform/openide.explorer/src/org/openide/explorer/propertysheet/DefaultPropertyModel.java
+++ b/platform/openide.explorer/src/org/openide/explorer/propertysheet/DefaultPropertyModel.java
@@ -88,7 +88,7 @@
      * panel = new PropertyPanel (model);
      * </PRE>
      * This constructor replaces the default use of BeanInfo and that is why
-     * simplifies the use of <link>ExPropertyEditor</link>s.
+     * simplifies the use of {@link ExPropertyEditor}s.
      *
      * @param bean the java bean to be introspected
      * @param descr the property descriptor of the property to use
diff --git a/platform/openide.explorer/src/org/openide/explorer/propertysheet/PropertyPanel.java b/platform/openide.explorer/src/org/openide/explorer/propertysheet/PropertyPanel.java
index 1cc1332..80e47ea 100644
--- a/platform/openide.explorer/src/org/openide/explorer/propertysheet/PropertyPanel.java
+++ b/platform/openide.explorer/src/org/openide/explorer/propertysheet/PropertyPanel.java
@@ -806,8 +806,8 @@
      * In such a case, the PropertyModel instance thus obtained <u>will not
      * fire changes</u> due to changes made by calling <code>setValue</code>
      * on the <code>Node.Property</code>.  For details on why this is the case,
-     * see <a href="http://www.netbeans.org/issues/show_bug.cgi?id=37779">issue
-     * 37779</code>.</strong>
+     * see <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=37779">issue
+     * 37779</a>.</strong>
      *
      * @return Either the PropertyModel set in the constructor or via <code>setModel</code>,
      * or a generated instance of PropertyModel which wraps the <code>Node.Property</code>
@@ -948,8 +948,8 @@
     }
 
     /** Getter for the state of the property editor. The editor can be in
-     * not valid states just if it implements the <link>ExPropertyEditor</link>
-     * and changes state by the <code>setState</code> method of the <link>PropertyEnv</link>
+     * not valid states just if it implements the {@link ExPropertyEditor}
+     * and changes state by the <code>setState</code> method of the {@link PropertyEnv}
      * environment.
      * <P>
      * @return <code>PropertyEnv.STATE_VALID</code> if the editor is not the <code>ExPropertyEditor</code>
@@ -975,7 +975,7 @@
         return PropertyEnv.STATE_VALID;
     }
 
-    /** If the editor is <link>ExPropertyEditor</link> it tries to change the
+    /** If the editor is {@link ExPropertyEditor} it tries to change the
      * <code>getState</code> property to <code>PropertyEnv.STATE_VALID</code>
      * state. This may be vetoed, in such case a warning is presented to the user
      * and the <code>getState</code> will still return the original value
diff --git a/platform/openide.explorer/src/org/openide/explorer/propertysheet/PropertySheetView.java b/platform/openide.explorer/src/org/openide/explorer/propertysheet/PropertySheetView.java
index 57eb896..c594499 100644
--- a/platform/openide.explorer/src/org/openide/explorer/propertysheet/PropertySheetView.java
+++ b/platform/openide.explorer/src/org/openide/explorer/propertysheet/PropertySheetView.java
@@ -33,7 +33,7 @@
  * properties for currently selected {@link Node}
  *
  * <p>
- * This class is a <q>view</q>
+ * This class is a <em>view</em>
  * to use it properly you need to add it into a component which implements
  * {@link Provider}. Good examples of that can be found
  * in {@link ExplorerUtils}. Then just use 
@@ -41,7 +41,7 @@
  * and control its state.
  * </p>
  * <p>
- * There can be multiple <q>views</q> under one container implementing {@link Provider}. Select from
+ * There can be multiple <em>views</em> under one container implementing {@link Provider}. Select from
  * range of predefined ones or write your own:
  * </p>
  * <ul>
diff --git a/platform/openide.explorer/src/org/openide/explorer/propertysheet/editors/XMLPropertyEditor.java b/platform/openide.explorer/src/org/openide/explorer/propertysheet/editors/XMLPropertyEditor.java
index b7dffe6..e011798 100644
--- a/platform/openide.explorer/src/org/openide/explorer/propertysheet/editors/XMLPropertyEditor.java
+++ b/platform/openide.explorer/src/org/openide/explorer/propertysheet/editors/XMLPropertyEditor.java
@@ -31,7 +31,7 @@
     * the value should be available via the getValue method.
     * An IOException should be thrown when the value cannot be restored from the specified XML element
     * @param element the XML DOM element representing a subtree of XML from which the value should be loaded
-    * @exception IOException thrown when the value cannot be restored from the specified XML element
+    * @exception java.io.IOException thrown when the value cannot be restored from the specified XML element
     */
     public void readFromXML(org.w3c.dom.Node element) throws java.io.IOException;
 
diff --git a/platform/openide.explorer/src/org/openide/explorer/view/BeanTreeView.java b/platform/openide.explorer/src/org/openide/explorer/view/BeanTreeView.java
index ba608be..e8dc413 100644
--- a/platform/openide.explorer/src/org/openide/explorer/view/BeanTreeView.java
+++ b/platform/openide.explorer/src/org/openide/explorer/view/BeanTreeView.java
@@ -34,7 +34,7 @@
 /** Displays {@link Node} hierarchy as a tree of all nodes.
  *
  * <p>
- * This class is a <q>view</q>
+ * This class is a <em>view</em>
  * to use it properly you need to add it into a component which implements
  * {@link Provider}. Good examples of that can be found 
  * in {@link ExplorerUtils}. Then just use 
@@ -42,7 +42,7 @@
  * and control its state.
  * </p>
  * <p>
- * There can be multiple <q>views</q> under one container implementing {@link Provider}. Select from
+ * There can be multiple <em>views</em> under one container implementing {@link Provider}. Select from
  * range of predefined ones or write your own:
  * </p>
  * <ul>
diff --git a/platform/openide.explorer/src/org/openide/explorer/view/ChoiceView.java b/platform/openide.explorer/src/org/openide/explorer/view/ChoiceView.java
index e7deac4..92c6f95 100644
--- a/platform/openide.explorer/src/org/openide/explorer/view/ChoiceView.java
+++ b/platform/openide.explorer/src/org/openide/explorer/view/ChoiceView.java
@@ -32,7 +32,7 @@
 
 /** Explorer view based on a combo box.
  * <p>
- * This class is a <q>view</q>
+ * This class is a <em>view</em>
  * to use it properly you need to add it into a component which implements
  * {@link Provider}. Good examples of that can be found
  * in {@link ExplorerUtils}. Then just use
@@ -40,7 +40,7 @@
  * and control its state.
  * </p>
  * <p>
- * There can be multiple <q>views</q> under one container implementing {@link Provider}. Select from
+ * There can be multiple <em>views</em> under one container implementing {@link Provider}. Select from
  * range of predefined ones or write your own:
  * </p>
  * <ul>
diff --git a/platform/openide.explorer/src/org/openide/explorer/view/ContextTreeView.java b/platform/openide.explorer/src/org/openide/explorer/view/ContextTreeView.java
index 7ed3b99..d669df1 100644
--- a/platform/openide.explorer/src/org/openide/explorer/view/ContextTreeView.java
+++ b/platform/openide.explorer/src/org/openide/explorer/view/ContextTreeView.java
@@ -36,7 +36,7 @@
  * Works well together (e.g. sharing one {@link ExplorerManager}) with {@link ListView}.
  *
  * <p>
- * This class is a <q>view</q>
+ * This class is a <em>view</em>
  * to use it properly you need to add it into a component which implements
  * {@link Provider}. Good examples of that can be found 
  * in {@link ExplorerUtils}. Then just use 
@@ -44,7 +44,7 @@
  * and control its state.
  * </p>
  * <p>
- * There can be multiple <q>views</q> under one container implementing {@link Provider}. Select from
+ * There can be multiple <em>views</em> under one container implementing {@link Provider}. Select from
  * range of predefined ones or write your own:
  * </p>
  * <ul>
diff --git a/platform/openide.explorer/src/org/openide/explorer/view/IconView.java b/platform/openide.explorer/src/org/openide/explorer/view/IconView.java
index 38ee7fe..47598f9 100644
--- a/platform/openide.explorer/src/org/openide/explorer/view/IconView.java
+++ b/platform/openide.explorer/src/org/openide/explorer/view/IconView.java
@@ -32,15 +32,15 @@
 
 /** A view displaying {@link Node}s as icons.
  * <p>
- * This class is a <q>view</q>
+ * This class is a <em>view</em>
  * to use it properly you need to add it into a component which implements
- * {@link Provider}. Good examples of that can be found 
+ * {@link org.openide.explorer.ExplorerManager.Provider}. Good examples of that can be found 
  * in {@link ExplorerUtils}. Then just use 
- * {@link Provider#getExplorerManager} call to get the {@link ExplorerManager}
+ * {@link org.openide.explorer.ExplorerManager.Provider#getExplorerManager} call to get the {@link ExplorerManager}
  * and control its state.
  * </p>
  * <p>
- * There can be multiple <q>views</q> under one container implementing {@link Provider}. Select from
+ * There can be multiple <em>views</em> under one container implementing {@link org.openide.explorer.ExplorerManager.Provider}. Select from
  * range of predefined ones or write your own:
  * </p>
  * <ul>
@@ -49,7 +49,7 @@
  *      <li>{@link org.openide.explorer.view.ListView} - shows a list of nodes</li>
  *      <li>{@link org.openide.explorer.view.IconView} - shows a rows of nodes with bigger icons</li>
  *      <li>{@link org.openide.explorer.view.ChoiceView} - creates a combo box based on the explored nodes</li>
- *      <li>{@link org.openide.explorer.view.TreeTableView} - shows tree of nodes together with a set of their {@link Property}</li>
+ *      <li>{@link org.openide.explorer.view.TreeTableView} - shows tree of nodes together with a set of their {@link org.openide.nodes.Node.Property}</li>
  *      <li>{@link org.openide.explorer.view.MenuView} - can create a {@link JMenu} structure based on structure of {@link Node}s</li>
  * </ul>
  * <p>
diff --git a/platform/openide.explorer/src/org/openide/explorer/view/ListView.java b/platform/openide.explorer/src/org/openide/explorer/view/ListView.java
index 7680720..f3a7365 100644
--- a/platform/openide.explorer/src/org/openide/explorer/view/ListView.java
+++ b/platform/openide.explorer/src/org/openide/explorer/view/ListView.java
@@ -80,7 +80,7 @@
 
 /** Explorer view to display items in a list.
  * <p>
- * This class is a <q>view</q>
+ * This class is a <em>view</em>
  * to use it properly you need to add it into a component which implements
  * {@link Provider}. Good examples of that can be found 
  * in {@link org.openide.explorer.ExplorerUtils}. Then just use 
@@ -88,7 +88,7 @@
  * and control its state.
  * </p>
  * <p>
- * There can be multiple <q>views</q> under one container implementing {@link Provider}. Select from
+ * There can be multiple <em>views</em> under one container implementing {@link Provider}. Select from
  * range of predefined ones or write your own:
  * </p>
  * <ul>
diff --git a/platform/openide.explorer/src/org/openide/explorer/view/MenuView.java b/platform/openide.explorer/src/org/openide/explorer/view/MenuView.java
index 1165397..6be05f3 100644
--- a/platform/openide.explorer/src/org/openide/explorer/view/MenuView.java
+++ b/platform/openide.explorer/src/org/openide/explorer/view/MenuView.java
@@ -48,7 +48,7 @@
 * explored context.
  *
  * <p>
- * This class is a <q>view</q>
+ * This class is a <em>view</em>
  * to use it properly you need to add it into a component which implements
  * {@link Provider}. Good examples of that can be found 
  * in {@link ExplorerUtils}. Then just use 
@@ -56,7 +56,7 @@
  * and control its state.
  * </p>
  * <p>
- * There can be multiple <q>views</q> under one container implementing {@link Provider}. Select from
+ * There can be multiple <em>views</em> under one container implementing {@link Provider}. Select from
  * range of predefined ones or write your own:
  * </p>
  * <ul>
@@ -306,13 +306,13 @@
             this(node, action, true);
         }
 
-        /** @deprecated use {@link MenuView.Menu#MenuView.Menu(Node, NodeAcceptor)}
+        /** @deprecated use {@link #Menu(Node, NodeAcceptor)}
          */
         public @Deprecated Menu(Node node, Acceptor action) {
             this(node, new AcceptorProxy(action), true);
         }
 
-        /** @deprecated use {@link MenuView.Menu#MenuView.Menu(Node, NodeAcceptor, boolean)}
+        /** @deprecated use {@link #Menu(Node, NodeAcceptor, boolean)}
          */
         public @Deprecated Menu(Node node, Acceptor action, boolean setName) {
             this(node, new AcceptorProxy(action), setName);
diff --git a/platform/openide.explorer/src/org/openide/explorer/view/OutlineView.java b/platform/openide.explorer/src/org/openide/explorer/view/OutlineView.java
index d4f55eb..707207c 100644
--- a/platform/openide.explorer/src/org/openide/explorer/view/OutlineView.java
+++ b/platform/openide.explorer/src/org/openide/explorer/view/OutlineView.java
@@ -423,13 +423,14 @@
      * @see #getTreeHorizontalScrollBarPolicy
      * @since 6.30
      *
-     * @beaninfo
+     * <pre> beaninfo taglet
      *   preferred: true
      *       bound: true
      * description: The tree column scrollbar policy
      *        enum: HORIZONTAL_SCROLLBAR_AS_NEEDED ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
      *              HORIZONTAL_SCROLLBAR_NEVER ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
      *              HORIZONTAL_SCROLLBAR_ALWAYS ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS
+     * </pre>
      */
     public void setTreeHorizontalScrollBarPolicy(int policy) {
         if (policy == treeHorizontalScrollBarPolicy) {
@@ -691,7 +692,7 @@
      * Enable/disable double click to invoke default action.
      * If the default action is not enabled, double click expand/collapse node.
      * @param defaultActionAllowed Provide <code>true</code> to enable
-     * @see {@link #isDefaultActionAllowed()}
+     * @see #isDefaultActionAllowed()
      * @since 6.32
      */
     public void setDefaultActionAllowed(boolean defaultActionAllowed) {
@@ -701,7 +702,7 @@
     /**
      * Tells if double click invokes default action.
      * @return <code>true</code> if the default action is invoked, or <code>false</code> when it's not.
-     * @see {@link #setDefaultActionAllowed(boolean)}
+     * @see #setDefaultActionAllowed(boolean)
      * @since 6.32
      */
     public boolean isDefaultActionAllowed() {
diff --git a/platform/openide.explorer/src/org/openide/explorer/view/TreeTableView.java b/platform/openide.explorer/src/org/openide/explorer/view/TreeTableView.java
index 2c469df..ad5c969 100644
--- a/platform/openide.explorer/src/org/openide/explorer/view/TreeTableView.java
+++ b/platform/openide.explorer/src/org/openide/explorer/view/TreeTableView.java
@@ -67,7 +67,7 @@
  * and its properties in table on the right.
  * <p>
  * The main mechanism for setting what properties are displayed is
- * <a href="#setProperties"><code>setProperties (Node.Property[])</code></a>.
+ * {@link #setProperties(org.openide.nodes.Node.Property[])}.
  * Pass this method an
  * array of properties.  These will act as a template, and properties of
  * the displayed nodes which share the same <i>name</i> will be used in
@@ -83,7 +83,8 @@
  * should set its custom parameter:
  * <br><code>properties[1].setValue ("InvisibleInTreeTableView", Boolean.TRUE);</code>
  *
- * <TABLE border="1" summary="custom parameter list">
+ * <TABLE>
+ * <caption>custom parameter list</caption>
  *     <TR>
  *         <TH> Parameter name
  *         </TH>
@@ -151,7 +152,7 @@
  * </TABLE>
  *
  * <p>
- * This class is a <q>view</q>
+ * This class is a <em>view</em>
  * to use it properly you need to add it into a component which implements
  * {@link Provider}. Good examples of that can be found 
  * in {@link ExplorerUtils}. Then just use 
@@ -159,7 +160,7 @@
  * and control its state.
  * </p>
  * <p>
- * There can be multiple <q>views</q> under one container implementing {@link Provider}. Select from
+ * There can be multiple <em>views</em> under one container implementing {@link Provider}. Select from
  * range of predefined ones or write your own:
  * </p>
  * <ul>
diff --git a/platform/openide.loaders/arch.xml b/platform/openide.loaders/arch.xml
index 71bf524..752ad8b 100644
--- a/platform/openide.loaders/arch.xml
+++ b/platform/openide.loaders/arch.xml
@@ -56,7 +56,7 @@
     A lot of usecases is described <a href="@TOP@/org/openide/loaders/doc-files/api.html" >in the javadoc</a>. Here 
     is the list of some faqs:
   
-    <usecase id="script" name="Using Scripting and Templating Languages" >
+    <usecase id="loaders-script" name="Using Scripting and Templating Languages" >
         <p>
         Often many people require ability to create a "clever" template - e.g.
         write piece of simple text and at the time of its 
@@ -64,7 +64,7 @@
             processing
         </a>
         do some advanced changes to it using either 
-        <a name="script">scripting or templating</a> languages.
+        <a name="loaders-script">scripting or templating</a> languages.
         </p>
         
         <p>
@@ -497,7 +497,7 @@
 <!-- XMLDataObject: -->
     <api type="import" group="property" name="org.xml.sax.driver" category="private" > 
         This is a standard way to find a class of a SAX2 driver. See
-        <a href="http://www.saxproject.org/"> SAX2 documentation </a>
+        <a href="http://www.saxproject.org"> SAX2 documentation </a>
     </api>
 
     <api type="import" group="property" name="netbeans.profile.memory" category="private" > 
@@ -539,7 +539,7 @@
         <a href="@TOP@/org/openide/loaders/DataObject.html">DataObject</a>.createFromTemplate,
         it passes as argument all its <a href="@org-openide-dialogs@/org/openide/WizardDescriptor.html#getProperties--">properties</a>
         to it with prefix <code>wizard.</code>. That way they are available to
-        underlaying <a href="@TOP@/architecture-summary.html#script">scripting and templating
+        underlaying <a href="@TOP@/architecture-summary.html#loaders-script">scripting and templating
         engines</a>.
     </api>
 
diff --git a/platform/openide.loaders/src/org/openide/loaders/CreateFromTemplateAttributesProvider.java b/platform/openide.loaders/src/org/openide/loaders/CreateFromTemplateAttributesProvider.java
index e19cb99..610f03d 100644
--- a/platform/openide.loaders/src/org/openide/loaders/CreateFromTemplateAttributesProvider.java
+++ b/platform/openide.loaders/src/org/openide/loaders/CreateFromTemplateAttributesProvider.java
@@ -21,12 +21,12 @@
 
 import java.util.Map;
 
-/** This is an interface for <q>smart templating</q>.
+/** This is an interface for <em>smart templating</em>.
  * Implementations of this class can be registered in the global {@link org.openide.util.Lookup}
  * and allows anyone provide additional parameters to each {@link CreateFromTemplateHandler}s
  * when a template is instantiating.
- * Read more in the <a href="@TOP@/architecture-summary.html#script">howto document</a>.
- * <p/>
+ * Read more in the <a href="@TOP@/architecture-summary.html#loaders-script">howto document</a>.
+ * <p>
  * Since templating system need not to depend on Data Systems APIs, the relevant interfaces
  * were moved to the {@code openide.filesystems.templates} module. This interface has been kept
  * for backward compatibility and DataSystems provide a compatibility bridge, which allows
@@ -37,7 +37,7 @@
  * @author Jaroslav Tulach
  * @since 6.3
  * @since deprecated from 7.59
- * @deprecated Use {@link CreateFromTemplateAttributes} in {@code openide.filesystems.templates} instead.
+ * @deprecated Use {@link org.netbeans.api.templates.CreateFromTemplateAttributes} instead.
  */
 @Deprecated
 public interface CreateFromTemplateAttributesProvider {
diff --git a/platform/openide.loaders/src/org/openide/loaders/CreateFromTemplateHandler.java b/platform/openide.loaders/src/org/openide/loaders/CreateFromTemplateHandler.java
index 03e4794..52f52e6 100644
--- a/platform/openide.loaders/src/org/openide/loaders/CreateFromTemplateHandler.java
+++ b/platform/openide.loaders/src/org/openide/loaders/CreateFromTemplateHandler.java
@@ -26,12 +26,12 @@
 import org.netbeans.api.templates.CreateDescriptor;
 import org.openide.filesystems.FileObject;
 
-/** This is an interface for <q>smart templating</q> that allows
+/** This is an interface for <em>smart templating</em> that allows
  * any module to intercept calls to {@link DataObject#createFromTemplate} 
  * and handle them themselves. The NetBeans IDE provides default
  * implementation that allows use of Freemarker templating engine.
- * Read more in the <a href="@TOP@/architecture-summary.html#script">howto document</a>.
- * <p/>
+ * Read more in the <a href="@TOP@/architecture-summary.html#loaders-script">howto document</a>.
+ * <p>
  * This SPI is now <b>deprecated</b> and serves just a backward compatilibity SPI adapter
  * which allows the template API to work with legacy handlers. The templating SPI is delegated
  * to the original handler methods.
@@ -91,7 +91,7 @@
      * parameter set to {@link Boolean#TRUE}
      * (such as from {@link DataObject#createFromTemplate(DataFolder,String,Map)}),
      * and the file name already seems to
-     * include an extension (<samp>*.*</samp>), the handler should not append
+     * include an extension (<em>*.*</em>), the handler should not append
      * any extension from the template.
      * @since org.openide.loaders 7.16
      * @see <a href="@org-netbeans-modules-projectuiapi@/org/netbeans/spi/project/ui/templates/support/Templates.SimpleTargetChooserBuilder.html#freeFileExtension()"><code>Templates.SimpleTargetChooserBuilder.freeFileExtension</code></a>
diff --git a/platform/openide.loaders/src/org/openide/loaders/DataLoader.java b/platform/openide.loaders/src/org/openide/loaders/DataLoader.java
index b4ea3b6..6145569 100644
--- a/platform/openide.loaders/src/org/openide/loaders/DataLoader.java
+++ b/platform/openide.loaders/src/org/openide/loaders/DataLoader.java
@@ -204,7 +204,7 @@
      * <p>
      * {@link javax.swing.JSeparator} instances may be used to separate items.
      * <p>
-     * Suggested context name: <samp>Loaders/<em>PRIMARY-FILE/MIME-TYPE</em>/Actions</samp>
+     * Suggested context name: <code>Loaders/<em>PRIMARY-FILE/MIME-TYPE</em>/Actions</code>
      *
      * @return the string name of the context on layer files to read/write actions to
      * @since 5.0
diff --git a/platform/openide.loaders/src/org/openide/loaders/DataLoaderPool.java b/platform/openide.loaders/src/org/openide/loaders/DataLoaderPool.java
index beade10..cc673a8 100644
--- a/platform/openide.loaders/src/org/openide/loaders/DataLoaderPool.java
+++ b/platform/openide.loaders/src/org/openide/loaders/DataLoaderPool.java
@@ -620,7 +620,7 @@
      *   &lt;attr name="iconBase" stringvalue="org/your/pkg/YourDataObject.png"/&gt;
      * &lt;/file&gt;
      * </pre>
-     * @param clazz the class of the data object to create. Must have appropriate
+     * @param dataObjectClass the class of the data object to create. Must have appropriate
      *    constructor.
      * @param mimeType the mime type associated with the object, used for 
      *    example to create the right actions for the object's node
diff --git a/platform/openide.loaders/src/org/openide/loaders/DataNode.java b/platform/openide.loaders/src/org/openide/loaders/DataNode.java
index 9dacc08..0ee54c3 100644
--- a/platform/openide.loaders/src/org/openide/loaders/DataNode.java
+++ b/platform/openide.loaders/src/org/openide/loaders/DataNode.java
@@ -209,7 +209,6 @@
      }
 
     /** Get the displayed icon for this node.
-     * A filesystem may {@link org.openide.filesystems.FileSystem#getStatus specially alter} this.
      * Subclassers overriding this method should consider the recommendations
      * in {@link DataObject#createNodeDelegate}.
      * @param type the icon type from {@link java.beans.BeanInfo}
@@ -232,7 +231,6 @@
     }
 
     /** Get the displayed icon for this node.
-    * A filesystem may {@link org.openide.filesystems.FileSystem#getStatus specially alter} this.
      * Subclassers overriding this method should consider the recommendations
      * in {@link DataObject#createNodeDelegate}.
     * @param type the icon type from {@link java.beans.BeanInfo}
diff --git a/platform/openide.loaders/src/org/openide/loaders/DataObject.java b/platform/openide.loaders/src/org/openide/loaders/DataObject.java
index 98dd639..369d0ca 100644
--- a/platform/openide.loaders/src/org/openide/loaders/DataObject.java
+++ b/platform/openide.loaders/src/org/openide/loaders/DataObject.java
@@ -115,12 +115,12 @@
     private static final Set<DataObject> syncModified = Collections.synchronizedSet(modified);
 
     /** Modified flag 
-     * @GuardedBy(LOCK)
+     * &#64;GuardedBy(LOCK)
      */
     private boolean modif = false;
 
     /** the node delegate for this data object 
-     * @GuardedBy(LOCK)
+     * &#64;GuardedBy(LOCK)
        */
     private transient Node nodeDelegate;
     private static final Node BEING_CREATED = Node.EMPTY.cloneNode();
@@ -139,7 +139,7 @@
     private volatile PropertyChangeSupport changeSupport;
 
     /** vetoable property change listener support 
-        *  @GuardedBy(LOCK)
+        *  &#64;GuardedBy(LOCK)
         */
     private VetoableChangeSupport vetoableChangeSupport;
 
@@ -394,12 +394,11 @@
     * <P>
     * This method is called only once per data object.
     * <p>It is strongly recommended that the resulting node will, when asked for
-    * the cookie <samp>DataObject.class</samp>, return this same data object.
+    * the cookie <code>DataObject.class</code>, return this same data object.
     * <p>It is also recommended that the node:
     * <ol>
     * <li>Base its name on {@link #getName}.
     * <li>Base its display name additionally on {@link DataNode#getShowFileExtensions}.
-    * <li>Tune its display name and icon according to {@link org.openide.filesystems.FileSystem.Status}.
     * </ol>
     * @return the node delegate (without parent) for this data object
     * @see <a href="doc-files/api.html#create-delegate">Datasystems API - Creating a node delegate</a>
@@ -1255,7 +1254,7 @@
     
     /** Factory interface for converting file object to data objects. Read
      * more about the layer based registrations in 
-     * <a href="@TOP@/org/openide/loaders/doc-files/api.html#register"/>separate document</a>.
+     * <a href="@TOP@/org/openide/loaders/doc-files/api.html#register">separate document</a>.
      * @since 7.0
      */
     public static interface Factory {
@@ -1269,7 +1268,7 @@
         *    primary file already exists
         * @exception IOException if the object is recognized but cannot be created
         * @exception InvalidClassException if the class is not instance of
-        *    {@link #getRepresentationClass}
+        *    {@link DataLoader#getRepresentationClass}
         *
         * @return suitable data object or <CODE>null</CODE> if the handler cannot
         *   recognize this object (or its group)
@@ -1316,7 +1315,7 @@
     public static @interface Registration {
         /**
          * Mime type to recognize. Use
-         * {@link MIMEResolver.ExtensionRegistration} and co. to assign
+         * {@link org.openide.filesystems.MIMEResolver.ExtensionRegistration} and co. to assign
          * a mime types to {@link FileObject files} in the system.
          */
         String mimeType();
diff --git a/platform/openide.loaders/src/org/openide/loaders/FileEntry.java b/platform/openide.loaders/src/org/openide/loaders/FileEntry.java
index 3ac38c6..ae8dad8 100644
--- a/platform/openide.loaders/src/org/openide/loaders/FileEntry.java
+++ b/platform/openide.loaders/src/org/openide/loaders/FileEntry.java
@@ -360,7 +360,7 @@
 
         /** Deletes folder associated with entry. Although filesystems delete
          * folders recursively, it is better to delete children DataObjects before
-         * the {@link #FileEntry.Folder} entry is deleted.
+         * the {@link FileEntry.Folder} entry is deleted.
          * @exception IOException when the operation fails
          */
         public void delete () throws IOException {
diff --git a/platform/openide.loaders/src/org/openide/loaders/FolderLookup.java b/platform/openide.loaders/src/org/openide/loaders/FolderLookup.java
index 0cf296e..9692d29 100644
--- a/platform/openide.loaders/src/org/openide/loaders/FolderLookup.java
+++ b/platform/openide.loaders/src/org/openide/loaders/FolderLookup.java
@@ -174,7 +174,7 @@
     }
     
     /** Overrides superclass method. It returns instance
-     * for <code>DataObject</code>&<code>InstanceCookie</code> 'pair'. 
+     * for <code>DataObject</code>&amp;<code>InstanceCookie</code> 'pair'. 
      * If the instance is of <code>FolderLookup.Lkp</code> class it is created otherwise
      * new <code>Lkp.ICItem</code> created and returned.
      *
diff --git a/platform/openide.loaders/src/org/openide/loaders/SaveAsCapable.java b/platform/openide.loaders/src/org/openide/loaders/SaveAsCapable.java
index 29b1434..f77f5f4 100644
--- a/platform/openide.loaders/src/org/openide/loaders/SaveAsCapable.java
+++ b/platform/openide.loaders/src/org/openide/loaders/SaveAsCapable.java
@@ -29,17 +29,17 @@
  * editor support inherits from <code>DataEditorSupport</code> you can implement "Save As" feature
  * for your documents by adding the following lines into your {@link DataObject}'s constructor:
  * 
-<code><pre>
+<pre>{@code
         getCookieSet().assign(SaveAsCapable.class, new SaveAsCapable() {
             public void saveAs(FileObject folder, String fileName) throws IOException {
                 getDataEditorSupport().saveAs( folder, fileName );
             }
         });
-</pre></code>
+}</pre>
  *
- * If you have {@link Node}, you may use the following code:
+ * If you have {@link org.openide.nodes.Node}, you may use the following code:
  * 
-<code><pre>
+<pre>{@code
     public class MyNode extends AbstractNode {
         
         public MyNode() {
@@ -75,7 +75,7 @@
             }
         }
     }
-</pre></code>
+}</pre>
  *
  * @since 6.3
  * @author S. Aubrecht
diff --git a/platform/openide.loaders/src/org/openide/loaders/XMLDataObject.java b/platform/openide.loaders/src/org/openide/loaders/XMLDataObject.java
index c22af36..5184524 100644
--- a/platform/openide.loaders/src/org/openide/loaders/XMLDataObject.java
+++ b/platform/openide.loaders/src/org/openide/loaders/XMLDataObject.java
@@ -148,7 +148,7 @@
     /** 
      * Create new XMLDataObject. It is usually called by a loader.
      * A user can get existing XMLDataObject by calling {@link DataObject#find(FileObject) 
-     * <code>DataObject.find(FileObject f)</code>} instead.
+     * DataObject.find(FileObject f)} instead.
      *
      * @param fo the primary file object, never <code>null</code>
      * @param loader loader of this data object, never <code>null</code>
@@ -654,13 +654,13 @@
      *             It directly violates DOM's root element reference read-only status.
      *             If you can not move to XMLUtil for compatabilty reasons please
      *             replace with following workaround:
-     * <pre>
+     * <pre>{@code
      * String templ = "<myroot/>";
      * InputSource in = new InputSource(new StringReader(templ));
      * in.setSystemId("StringReader");  //workaround
      * DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
      * Document doc = builder.parse(in);
-     * </pre>
+     * }</pre>
      */
     @Deprecated
     public static Document createDocument() {
diff --git a/platform/openide.loaders/src/org/openide/text/DataEditorSupport.java b/platform/openide.loaders/src/org/openide/text/DataEditorSupport.java
index a05c8c7..16f357e 100644
--- a/platform/openide.loaders/src/org/openide/text/DataEditorSupport.java
+++ b/platform/openide.loaders/src/org/openide/text/DataEditorSupport.java
@@ -157,7 +157,7 @@
     /** Factory method to create a bit more complicated CloneableEditorSupport for a given
      * entry of a given DataObject. The common use inside DataObject looks like
      * this:
-     * <pre>
+     * <pre>{@code
      *  getCookieSet().add((Node.Cookie) DataEditorSupport.create(
      *    this, getPrimaryEntry(), getCookieSet(),
      *    new Callable<Pane>() { 
@@ -166,7 +166,7 @@
      *      }
      *    }
      *  ));
-     * </pre>
+     * }</pre>
      * The method can be used to instantiate <b>multi view</b> editor by returning
      * <a href="@org-netbeans-core-multiview@/org/netbeans/core/api/multiview/MultiViews.html">
      * MultiViews.createCloneableMultiView("text/yourmime", this)</a>.
@@ -435,7 +435,7 @@
     }
     
     /**
-     * @inheritDoc
+     * {@inheritDoc}
      */
     @Override
     protected void loadFromStreamToKit(StyledDocument doc, InputStream stream, EditorKit kit) throws IOException, BadLocationException {
@@ -512,7 +512,7 @@
     }
 
     /**
-     * @inheritDoc
+     * {@inheritDoc}
      */
     @Override
     protected void saveFromKitToStream(StyledDocument doc, EditorKit kit, OutputStream stream) throws IOException, BadLocationException {
diff --git a/platform/openide.options/src/org/openide/explorer/propertysheet/PropertySheetSettings.java b/platform/openide.options/src/org/openide/explorer/propertysheet/PropertySheetSettings.java
index 8ae855f..fa4fa81 100644
--- a/platform/openide.options/src/org/openide/explorer/propertysheet/PropertySheetSettings.java
+++ b/platform/openide.options/src/org/openide/explorer/propertysheet/PropertySheetSettings.java
@@ -29,7 +29,7 @@
 
 /**
 * Settings for the property sheet.
-* @see PropertySheet
+* @see <a href="@org-openide-explorer@/org/openide/explorer/propertysheet/PropertySheet.html">PropertySheet</a>
 *
 * @deprecated None of the settings in this class are supported in the new property sheet.  The entire implementation
 *            has been gutted to do nothing.
diff --git a/platform/openide.options/src/org/openide/options/ContextSystemOption.java b/platform/openide.options/src/org/openide/options/ContextSystemOption.java
index b7aa9dd..27d299f 100644
--- a/platform/openide.options/src/org/openide/options/ContextSystemOption.java
+++ b/platform/openide.options/src/org/openide/options/ContextSystemOption.java
@@ -190,7 +190,7 @@
 
     /** A hierarchy of SystemOptions.
     * Allows add/remove SystemOption beans only.
-    * @warning many methods throws UnsupportedOperationException like BeanContextSupport does.
+    * <strong>warning</strong> many methods throws UnsupportedOperationException like BeanContextSupport does.
     */
     private static class OptionBeanContext extends BeanContextSupport implements PropertyChangeListener {
         private static final long serialVersionUID = 3532434266136225440L;
diff --git a/platform/openide.text/src/org/openide/text/Line.java b/platform/openide.text/src/org/openide/text/Line.java
index 673ac48..fd060b8 100644
--- a/platform/openide.text/src/org/openide/text/Line.java
+++ b/platform/openide.text/src/org/openide/text/Line.java
@@ -218,12 +218,12 @@
 
     /** Get the line number. The last condition in following should
     * always be true:
-    * <PRE>
+    * <PRE>{@code 
     *   Line.Set lineSet = <line set>
     *   Line l = <some line from line set lineSet>
     *
     *   l.equals (lineSet.getCurrent (l.getLineNumber ()))
-    * </PRE>
+    * }</PRE>
     *
     * @return current line number (may change as text is edited) (starting at 0)
     */
diff --git a/platform/openide.text/src/org/openide/text/NbDocument.java b/platform/openide.text/src/org/openide/text/NbDocument.java
index f8c6f5d..7f20fd8 100644
--- a/platform/openide.text/src/org/openide/text/NbDocument.java
+++ b/platform/openide.text/src/org/openide/text/NbDocument.java
@@ -176,13 +176,13 @@
         return new DocumentRenderer(DocumentRenderer.FIND_LINE_OFFSET, doc, lineNumber).renderToInt();
     }
 
-    /** Creates position with a bias. If the bias is {@link javax.swing.text.Position.Bias#Backward}
+    /** Creates position with a bias. If the bias is {@link javax.swing.text.Position.Bias#Backward Backward}
     * then if an insert occures at the position, the text is inserted
-    * after the position. If the bias is {@link javax.swing.text.Position.Bias#Forward <code>Forward</code>}, then the text is
+    * after the position. If the bias is {@link javax.swing.text.Position.Bias#Forward Forward}, then the text is
     * inserted before the position.
     * <P>
     * The method checks if the document implements {@link PositionBiasable},
-    * and if so, {@link PositionBiasable#createPosition <code>createPosition</code>} is called.
+    * and if so, {@link PositionBiasable#createPosition createPosition} is called.
     * Otherwise an attempt is made to provide a <code>Position</code> with the correct behavior.
     *
     * @param doc document to create position in
@@ -396,7 +396,7 @@
     }
     
     /** Locks the document to have exclusive access to it.
-     * Documents implementing {@link Lockable} can specify exactly how to do this.
+     * Documents implementing {@link WriteLockable} can specify exactly how to do this.
     *
     * @param doc document to lock
     * @param run the action to run
@@ -474,7 +474,7 @@
     /**
      * Add annotation to the document. For annotation of whole line
      * the length parameter can be ignored (specify value -1).
-     * <br/>
+     * <br>
      * Note: since 6.35 the requests (delegated to document) are no longer replanned to EDT.
      * @param doc the document which will be annotated
      * @param startPos position which represent begining
@@ -495,7 +495,7 @@
 
     /**
      * Removal of added annotation.
-     * <br/>
+     * <br>
      * Note: since 6.35 the requests (delegated to document) are no longer replanned to EDT.
      * @param doc the annotated document
      * @param annotation annotation which is going to be removed
@@ -789,9 +789,9 @@
     * If not, special support for the position is created.
     */
     public interface PositionBiasable extends Document {
-        /** Creates position with a bias. If the bias is {@link javax.swing.text.Position.Bias#Backward}
+        /** Creates position with a bias. If the bias is {@link javax.swing.text.Position.Bias#Backward Backward}
         * then if an insert occures at the position, the text is inserted
-        * after the position. If the bias is {@link javax.swing.text.Position.Bias#Forward <code>Forward</code>}, then the text is
+        * after the position. If the bias is {@link javax.swing.text.Position.Bias#Forward Forward}, then the text is
         * inserted before the position.
         *
         * @param offset the offset for the position
diff --git a/platform/openide.text/src/org/openide/text/PositionBounds.java b/platform/openide.text/src/org/openide/text/PositionBounds.java
index 5c12d27..4bb2e6c 100644
--- a/platform/openide.text/src/org/openide/text/PositionBounds.java
+++ b/platform/openide.text/src/org/openide/text/PositionBounds.java
@@ -66,7 +66,7 @@
     }
 
     /** Replaces the text contained in this range.
-    * This replacement is done atomically, and so is preferable to manual inserts & removes.
+    * This replacement is done atomically, and so is preferable to manual inserts &amp; removes.
     * <p>If you are running this from user-oriented code, you may want to wrap it in {@link NbDocument#runAtomicAsUser}.
     * @param text new text to insert over existing text
     * @exception IOException if any problem occurred during document loading (if that was necessary)
diff --git a/platform/openide.text/src/org/openide/text/PrintPreferences.java b/platform/openide.text/src/org/openide/text/PrintPreferences.java
index 3728f48..28580a2 100644
--- a/platform/openide.text/src/org/openide/text/PrintPreferences.java
+++ b/platform/openide.text/src/org/openide/text/PrintPreferences.java
@@ -278,7 +278,7 @@
     }
     
     /** 
-     * @param <code>correction</code> the amount of vertical space to print between lines.
+     * @param correction the amount of vertical space to print between lines.
      * @exception IllegalArgumentException if <tt>correction</tt> is less than 0.
      */
     public static void setLineAscentCorrection(float correction) {
diff --git a/platform/openide.text/src/org/openide/text/UndoRedoManager.java b/platform/openide.text/src/org/openide/text/UndoRedoManager.java
index dba99d2..5986637 100644
--- a/platform/openide.text/src/org/openide/text/UndoRedoManager.java
+++ b/platform/openide.text/src/org/openide/text/UndoRedoManager.java
@@ -29,11 +29,11 @@
 /**
  * An improved version of UndoRedo manager that locks document before
  * doing any other operations.
- * <br/>
+ * <br>
  * It supports grouping of undoable edits by extending UndoGroupManager.
- * <br/>
+ * <br>
  * It supports save actions that produce a compound undoable edit.
- * <br/>
+ * <br>
  * 
  * <p>
  * Following requirements should be met:
@@ -47,8 +47,6 @@
  *   <li>When save occurred inside UM.edits the extra save actions are kept separately and undone
  *     when "coming out of the savepoint" and redone when "coming to a savepoint".</li>
  * </ul>
- * </p>
- * 
  * <p>
  * <tt>Undo Grouping</tt> allows explicit control of what
  * <tt>UndoableEdit</tt>s are coalesced into compound edits, rather than using
@@ -64,7 +62,6 @@
  * <tt>CompoundEdit</tt> and to continue accumulating; an application could do
  * this at strategic points, such as EndOfLine input or cursor movement.</li>
  * </ol>
- * </p>
  * 
  * @author Miloslav Metelka
  * @author Jaroslav Tulach
diff --git a/platform/openide.windows/apichanges.xml b/platform/openide.windows/apichanges.xml
index 268f916..b105d89 100644
--- a/platform/openide.windows/apichanges.xml
+++ b/platform/openide.windows/apichanges.xml
@@ -836,7 +836,7 @@
      Provided implementation of new window system. It is a new major version of module core/windows.
      There also open API affected. There were added some new APIs, some older were deprecated
      and also some older APIs have adjusted their semantics. Look at the 
-     <a href="http://core.netbeans.org/windowsystem/changes.html" shape="rect">changes document</a>
+     <a href="https://netbeans.apache.org/projects/platform/core/windowsystem/changes.html" shape="rect">changes document</a>
      which has the detailed information.
      </description>
      <class package="org.openide.windows" name="CloneableTopComponent"/>
diff --git a/platform/openide.windows/arch.xml b/platform/openide.windows/arch.xml
index 2f4ec6c..904f094 100644
--- a/platform/openide.windows/arch.xml
+++ b/platform/openide.windows/arch.xml
@@ -96,20 +96,20 @@
 <answer id="arch-usecases">
     
   <p>
-     <a onclick="target='_blank'" href="https://leanpub.com/nbp4beginners">
+     <a href="https://leanpub.com/nbp4beginners">
      <img src="http://wiki.apidesign.org/images/0/03/NetBeansPlatformForBeginners.jpg"
         style="float: right"
           width="60" height="70" alt="Cover of NetBeans Platform for Beginners book"/>
      </a>
     For general overview of the concepts, 
     together with code samples, see chapter 6, 
-    of <a onclick="target='_blank'" href="https://leanpub.com/nbp4beginners">NetBeans Platform for Beginners</a> 
+    of <a href="https://leanpub.com/nbp4beginners">NetBeans Platform for Beginners</a>
     by Jason Wexbridge and Walter Nyland.
   </p>
     
 <usecase id="windowsystem-general" name="General Usecases">
 General usecases
-can be read in the <a href="http://core.netbeans.org/windowsystem/changes.html#4">design document</a>
+can be read in the <a href="https://netbeans.apache.org/projects/platform/core/windowsystem/changes.html#s4">design document</a>
 created before work on new window system design started. 
 </usecase>
 
@@ -126,7 +126,7 @@
 <usecase id="windowsystem-groups" name="How to make a TopComponentGroup?" >
 
 <p></p>
-    <b>Q:</b> I'm trying to make a TopComponentGroup.  I've just read http://ui.netbeans.org/docs/ui/ws/ws_spec.html#3.9
+    <b>Q:</b> I'm trying to make a TopComponentGroup.  I've just read https://netbeans.apache.org/projects/ui/ws/ws_spec.html#s39
             I want to make a group that uses the first invocation strategy.  
             That is, I want the group to open/close when I activate a certain subclass of TopComponent.  
             Say, for example, I have a FooTopComponent, and when it's active, 
@@ -143,7 +143,7 @@
 
 <p></p>
     <b>A:</b>Yes it is correct way. You can check
-    <a href="http://www.netbeans.org/source/browse/platform/samples/window-system-groups/">simple test module</a>.
+    <a href="http://source.apidesign.org/hg/netbeans/misc/file/tip/platform/samples/window-system-groups">simple test module</a>.
     First you must get TopComponentGroup instance using find method then call TopComponentGroup.open()/close(). 
     Here is the code in your componentDeactivated method:
     <pre>
@@ -237,11 +237,11 @@
 Yes. Module stores its own versioned settings as XML files. In addition
 components are stored in settings file format of core/settings module.
 For description of current (version 2.0) configuration data folders see
-<api group="layer" category="devel" name="NewConfigurationData" type="export" url="http://core.netbeans.org/windowsystem/changes.html#3.4.2" >
+<api group="layer" category="devel" name="NewConfigurationData" type="export" url="https://netbeans.apache.org/projects/platform/core/windowsystem/changes.html#s342" >
 new configuration data</api> here
 For description of old (version &lt; 2.0) configuration data folders and how they are imported
 to new desktop layout see 
-<api group="layer" category="deprecated" name="OldConfigurationData" type="export" url="http://core.netbeans.org/windowsystem/changes.html#3.4.6" >
+<api group="layer" category="deprecated" name="OldConfigurationData" type="export" url="https://netbeans.apache.org/projects/platform/core/windowsystem/changes.html#s346" >
 old configuration data </api>
 </answer>
 
@@ -1422,9 +1422,9 @@
 -->
 <answer id="resources-read">
 Module reads its own configuration from its layer and eventualy from other module layers
-if provided. Data have following <a href="http://core.netbeans.org/windowsystem/changes.html#3.4.2">folder structure</a>.
-It contains <api group="layer" category="private" type="export" name="ModuleDataStructure" url="http://core.netbeans.org/windowsystem/changes.html#3.4.2">Module folder structure under Windows2 directory </api>
-and <api group="layer" category="private" type="export" name="LocalDataStructure" url="http://core.netbeans.org/windowsystem/changes.html#3.4.2">Local folder structure under Windows2Local directory</api>.
+if provided. Data have following <a href="https://netbeans.apache.org/projects/platform/core/windowsystem/changes.html#s342">folder structure</a>.
+It contains <api group="layer" category="private" type="export" name="ModuleDataStructure" url="https://netbeans.apache.org/projects/platform/core/windowsystem/changes.html#s342">Module folder structure under Windows2 directory </api>
+and <api group="layer" category="private" type="export" name="LocalDataStructure" url="https://netbeans.apache.org/projects/platform/core/windowsystem/changes.html#s342">Local folder structure under Windows2Local directory</api>.
 </answer>
 
 </api-answers>
diff --git a/platform/openide.windows/src/org/openide/windows/CloneableOpenSupport.java b/platform/openide.windows/src/org/openide/windows/CloneableOpenSupport.java
index e831de5..2c9fc0e 100644
--- a/platform/openide.windows/src/org/openide/windows/CloneableOpenSupport.java
+++ b/platform/openide.windows/src/org/openide/windows/CloneableOpenSupport.java
@@ -307,7 +307,7 @@
         public CloneableOpenSupport findCloneableOpenSupport();
     }
 
-    /** Property change & veto listener. To react to dispose/delete of
+    /** Property change &amp; veto listener. To react to dispose/delete of
     * the data object.
     */
     private static final class Listener extends CloneableTopComponent.Ref implements PropertyChangeListener,
diff --git a/platform/openide.windows/src/org/openide/windows/Mode.java b/platform/openide.windows/src/org/openide/windows/Mode.java
index ed32f33..801ecce 100644
--- a/platform/openide.windows/src/org/openide/windows/Mode.java
+++ b/platform/openide.windows/src/org/openide/windows/Mode.java
@@ -34,12 +34,12 @@
  * Modules can add their own modes by declaring them using XML.
  * <P>
  * Modules can get a set of current modes by calling
- * {@link WindowManager#getModes}.<p>
+ * {@link WindowManager#getModes}.
  *
  * <p>
  * Each mode must have a unique name.
  *
- * <p><p>
+ * <p>
  * <b><font color="red"><em>Important note: Do not provide implementation of this interface unless you are window system provider!</em></font></b>
  */
 public interface Mode extends Serializable {
@@ -134,7 +134,7 @@
     /**
      * Extension to provide exposure of XML configuration.
      * 
-     * @see http://wiki.apidesign.org/wiki/ExtendingInterfaces
+     * @see <a href="http://wiki.apidesign.org/wiki/ExtendingInterfaces">ExtendingInterfaces</a>
      * @since 6.82
      */
     public interface Xml extends Mode {
diff --git a/platform/openide.windows/src/org/openide/windows/ModeSelector.java b/platform/openide.windows/src/org/openide/windows/ModeSelector.java
index 228d4fc..b749c6b 100644
--- a/platform/openide.windows/src/org/openide/windows/ModeSelector.java
+++ b/platform/openide.windows/src/org/openide/windows/ModeSelector.java
@@ -25,11 +25,11 @@
  * the last-used editor-kind Mode, or the default editor mode if no editor was used.
  * Plugin implementors can hint the Window System to use more appropriate
  * mode than the default to open the TopComppnent. 
- * <p/>
+ * <p>
  * If none of the registered {@code ModeSelector}s return a valid Mode, the TopComponent
  * will open in the mode selected by the default algorithm. Implementation of WindowManager 
  * may ignore the hint, for example if it conflicts with persisted settings or user choices.
- * <p/>
+ * <p>
  * Implementations of {@code ModeSelector} must be registered in the default Lookup.
  * @since 6.77
  */
diff --git a/platform/openide.windows/src/org/openide/windows/ModeUtilities.java b/platform/openide.windows/src/org/openide/windows/ModeUtilities.java
index 2de0b7b..c9d6f4c 100644
--- a/platform/openide.windows/src/org/openide/windows/ModeUtilities.java
+++ b/platform/openide.windows/src/org/openide/windows/ModeUtilities.java
@@ -39,7 +39,7 @@
  * of TopComponents at shut-down time in the Windows2Local file system. Note also that 
  * this is not connected with the deprecated notion of {@link Workspace}.
  * 
- * @see http://wiki.apidesign.org/wiki/ExtendingInterfaces
+ * @see <a href="http://wiki.apidesign.org/wiki/ExtendingInterfaces">ExtendingInterfaces</a>
  * 
  * @author Mark Phipps
  * @since 6.82
diff --git a/platform/openide.windows/src/org/openide/windows/OnShowing.java b/platform/openide.windows/src/org/openide/windows/OnShowing.java
index 6d29f7d..f210cc2 100644
--- a/platform/openide.windows/src/org/openide/windows/OnShowing.java
+++ b/platform/openide.windows/src/org/openide/windows/OnShowing.java
@@ -38,7 +38,7 @@
  * </pre>
  * 
  * @since 6.54
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  */
 @NamedServiceDefinition(
     path="Modules/UIReady", // NOI18N
diff --git a/platform/openide.windows/src/org/openide/windows/TopComponent.java b/platform/openide.windows/src/org/openide/windows/TopComponent.java
index 6c6bc16..3dbffd2 100644
--- a/platform/openide.windows/src/org/openide/windows/TopComponent.java
+++ b/platform/openide.windows/src/org/openide/windows/TopComponent.java
@@ -797,7 +797,7 @@
      * if it is not already.
      * <p>Subclasses should override this method to transfer focus to desired
      * focusable component. <code>TopComponent</code> itself is not focusable.
-     * See for example {@link org.openide.text.CloneableEditor#requestFocus}.
+     * See for example <a href="@org-openide-text@/org/openide/text/CloneableEditor.html#requestFocus--">CloneableEditor#requestFocus</a>.
      * <p><strong>Note:</strong> Use {@link #requestActive} instead to make TopComponent active
      * in the window system (not only focused). This method should be considered deprecated
      * for calling from outside; but it may be overridden (inside of which you may call super).
@@ -817,7 +817,7 @@
      * if it is not already.
      * <p>Subclasses should override this method to transfer focus to desired
      * focusable component. <code>TopComponent</code> itself is not focusable.
-     * See for example {@link org.openide.text.CloneableEditor#requestFocusInWindow}.
+     * See for example <a href="@org-openide-text@/org/openide/text/CloneableEditor.html#requestFocusInWindow--">CloneableEditor#requestFocusInWindow</a>.
      * <p><strong>Note:</strong> Use {@link #requestActive} instead to make TopComponent active
      * in the window system (not only focused). This method should be considered deprecated
      * for calling from outside; but it may be overridden (inside of which you may call super).
@@ -1305,7 +1305,7 @@
      * an action just because focus is transferred from a component with a (potential)
      * node selection to a component that does not have node selections.
      * <p>
-     * If you override the method in your subclass, the default activatedNodes<->lookup synchronization
+     * If you override the method in your subclass, the default activatedNodes&lt;-&gt;lookup synchronization
      * will not be performed. That can influence functionality that relies on activated Nodes being present 
      * in the TopComponent's lookup. If you want to preserve the synchronization, use {@link #associateLookup}
      * instead.
diff --git a/platform/openide.windows/src/org/openide/windows/TopComponentGroup.java b/platform/openide.windows/src/org/openide/windows/TopComponentGroup.java
index e155dbe..e9551fa 100644
--- a/platform/openide.windows/src/org/openide/windows/TopComponentGroup.java
+++ b/platform/openide.windows/src/org/openide/windows/TopComponentGroup.java
@@ -23,10 +23,10 @@
 
 /**
  * Represents window group. The notion of window group is defined by
- * <a href="http://ui.netbeans.org/docs/ui/ws/ws_spec.html#3.7">Window system UI specification document</a>.
- * The concept of window group explains <a href="http://core.netbeans.org/windowsystem/changes.html#2.3">API changes document</a>.
+ * <a href="https://netbeans.apache.org/projects/ui/ws/ws_spec.html#s37">Window system UI specification document</a>.
+ * The concept of window group explains <a href="https://netbeans.apache.org/projects/platform/core/windowsystem/changes.html#s23">API changes document</a>.
  *
- * <p><p>
+ * <p>
  * <b><font color="red"><em>Importatnt note: Do not provide implementation of this interface unless you are window system provider!</em></font></b>
  *
  * @author  Peter Zavadsky
diff --git a/platform/openide.windows/src/org/openide/windows/WindowManager.java b/platform/openide.windows/src/org/openide/windows/WindowManager.java
index 7717b6c..bbf60d9 100644
--- a/platform/openide.windows/src/org/openide/windows/WindowManager.java
+++ b/platform/openide.windows/src/org/openide/windows/WindowManager.java
@@ -40,7 +40,7 @@
  * Manages window system.
  * Allows the work with window system components, i.e. <code>Mode</code>s, <code>TopComponentGroup</code>s
  * and provides handling of operations provided over <code>TopComponent</code>s.
- * <p><p>
+ * <p>
  * <b><font color="red"><em>Important note: Do not provide implementation of this abstract class unless you are window system provider!</em></font></b>
  *
  * @author Jaroslav Tulach
@@ -668,20 +668,18 @@
      * <li>Load new window layout from the given role.</li>
      * <li>Show the main window.</li>
      * </ol>
-     * The whole operation may take a few seconds to complete.</p>
+     * The whole operation may take a few seconds to complete.
      * <p>Windows that were opened in previous role but are not opened or present 
-     * in the new role will receive <code>TopComponent.componentClosed()</code> notification.</p>
+     * in the new role will receive <code>TopComponent.componentClosed()</code> notification.
      * <p>Note: To keep the main window showing while switching the role, use the following branding:
      * <code>org.netbeans.core.windows.WinSys.Show.Hide.MainWindow.While.Switching.Role=false</code>
-     * </p>
      * <p>Note: Action <code>org.netbeans.core.windows.actions.SwitchRoleKeepDocumentsAction</code>
      * in <code>Actions/Window</code> layer folder can change the role too but it
      * also attempts to keep documents from previous role opened in the new role as well.
      * The new role name is <code>ActionEvent.getActionCommand()</code> argument.
-     * </p>
      * <p>If the window system has been already loaded then the method must be
      * called from EDT thread, otherwise it's safe to set the initial startup
-     * role in e.g. <code>ModuleInstall.restored()</code> method.</p>
+     * role in e.g. <code>ModuleInstall.restored()</code> method.
      * @param roleName Name of the new role to switch to or null to switch
      * to the default window layout.
      * @since 6.43
diff --git a/platform/openide.windows/src/org/openide/windows/Workspace.java b/platform/openide.windows/src/org/openide/windows/Workspace.java
index 1946a03..1d65760 100644
--- a/platform/openide.windows/src/org/openide/windows/Workspace.java
+++ b/platform/openide.windows/src/org/openide/windows/Workspace.java
@@ -35,7 +35,7 @@
  * When serialized only keeps "weak" reference to this workspace does not
  * stores the content of the workspace (it is responsibility of window manager).
  *
- * <p><p>
+ * <p>
  * <b><font color="red"><em>Important note: Do not provide implementation of this interface unless you are window system provider!</em></font></b>
  *
  * @author Jaroslav Tulach
diff --git a/platform/openide.windows/src/org/openide/windows/doc-files/api.html b/platform/openide.windows/src/org/openide/windows/doc-files/api.html
index 123dbd0..3e4cb0c 100644
--- a/platform/openide.windows/src/org/openide/windows/doc-files/api.html
+++ b/platform/openide.windows/src/org/openide/windows/doc-files/api.html
@@ -26,7 +26,7 @@
 <body>
 
 <p></p><p>
-<em>Note: See the <a href="http://core.netbeans.org/windowsystem/changes.html">changes document</a>. Window system implementation
+<em>Note: See the <a href="https://netbeans.apache.org/projects/platform/core/windowsystem/changes.html">changes document</a>. Window system implementation
 changed is major version. Comparing to the older version it has changed its
 laout significantly, introduced group, and released support of workspaces</em>
 </p>
@@ -493,7 +493,7 @@
 can return <code>null</code> <code>findDefault</code> should handle such case somehow
 eg. by calling of <code>getDefault</code>.
 There is a
-<a href="http://www.netbeans.org/source/browse/platform/samples/window-system-basic/">simple example module</a>
+<a href="http://source.apidesign.org/hg/netbeans/misc/file/tip/platform/samples/window-system-basic">simple example module</a>
 where persistent singleton instance is defined in module layer as described here.
 
 <p>It is possible to use <code>writeReplace</code> and <code>readResolve</code> as well
@@ -780,7 +780,7 @@
 </P>
 
 <PRE>
-   See <a href="http://core.netbeans.org/windowsystem/changes.html#3.4.2">Structure of configuration data</a>.
+   See <a href="https://netbeans.apache.org/projects/platform/core/windowsystem/changes.html#s342">Structure of configuration data</a>.
 </PRE>
 
 </div>
diff --git a/platform/options.api/src/org/netbeans/api/options/OptionsDisplayer.java b/platform/options.api/src/org/netbeans/api/options/OptionsDisplayer.java
index e770190..fe5e99b 100644
--- a/platform/options.api/src/org/netbeans/api/options/OptionsDisplayer.java
+++ b/platform/options.api/src/org/netbeans/api/options/OptionsDisplayer.java
@@ -53,7 +53,7 @@
      * @since 1.29
      */
     public static final String KEYMAPS = "Keymaps"; // NOI18N
-    /** Registration name of FontsAndColors category (aka Fonts & Colors).
+    /** Registration name of FontsAndColors category (aka Fonts &amp; Colors).
      * @since 1.29
      */
     public static final String FONTSANDCOLORS = "FontsAndColors"; // NOI18N
diff --git a/platform/options.api/src/org/netbeans/spi/options/AdvancedOption.java b/platform/options.api/src/org/netbeans/spi/options/AdvancedOption.java
index 7803dae..e3cc244 100644
--- a/platform/options.api/src/org/netbeans/spi/options/AdvancedOption.java
+++ b/platform/options.api/src/org/netbeans/spi/options/AdvancedOption.java
@@ -44,19 +44,19 @@
  * &lt;/folder&gt;</pre>
  *
  * where:
- * <br/><b>controller</b> should be an instance of <code>OptionsPanelController</code>
- * <br/><b>displayName</b> should be a localized string for your tab display name
- * <br/><b>toolTip</b> should be a localized string for your tab tool tip
+ * <br><b>controller</b> should be an instance of <code>OptionsPanelController</code>
+ * <br><b>displayName</b> should be a localized string for your tab display name
+ * <br><b>toolTip</b> should be a localized string for your tab tool tip
  * <span class="nonnormative"><strong>Currently unused.</strong></span>
- * <br/><b>keywords</b> should be localized keywords list, separated by comma in Bundle, for quickserach purposes
- * <br/><b>keywordsCategory</b> should be relative path to your panel inside Options dialog
- * <br/><br/>
+ * <br><b>keywords</b> should be localized keywords list, separated by comma in Bundle, for quickserach purposes
+ * <br><b>keywordsCategory</b> should be relative path to your panel inside Options dialog
+ * <br><br>
  * No explicit sorting recognized (may be sorted e.g. by display name).
  *
  * <p><b>Related documentation</b>
  *
  * <ul>
- * <li><a href="http://platform.netbeans.org/tutorials/nbm-options.html">NetBeans Options Window Module Tutorial</a>
+ * <li><a href="https://netbeans.apache.org/tutorials/nbm-options.html">NetBeans Options Window Module Tutorial</a>
  * </ul>
  *
  * @see OptionsCategory
diff --git a/platform/options.api/src/org/netbeans/spi/options/OptionsCategory.java b/platform/options.api/src/org/netbeans/spi/options/OptionsCategory.java
index 5829903..fd42e34 100644
--- a/platform/options.api/src/org/netbeans/spi/options/OptionsCategory.java
+++ b/platform/options.api/src/org/netbeans/spi/options/OptionsCategory.java
@@ -29,7 +29,7 @@
 import org.openide.util.ImageUtilities;
 
 /**
- * This class represents one category (like "Fonts & Colors"
+ * This class represents one category (like "Fonts &amp; Colors"
  * or "Editor") in Options Dialog.
  * <p>Normally panels are registered using one of the annotations in {@link OptionsPanelController}.
  * They may also be registered in a layer manually as follows:
@@ -50,17 +50,17 @@
  *   &lt;/folder&gt;</pre>
  *
  * where:
- * <br/><b>controller</b> should be an instance of <code>OptionsPanelController</code>
- * <br/><b>title</b> should be a localized string where title of your tab inside OD is stored
+ * <br><b>controller</b> should be an instance of <code>OptionsPanelController</code>
+ * <br><b>title</b> should be a localized string where title of your tab inside OD is stored
  * <span class="nonnormative"><strong>Currently unused.</strong></span>
- * <br/><b>categoryName</b> should be a localized string for your tab's category name
- * <br/><b>iconBase</b> should be relative path to icon wou wish to display inside OD
- * <br/><b>keywords</b> should be localized keywords list, separated by comma in Bundle, for quickserach purposes
- * <br/><b>keywordsCategory</b> should be relative path to your panel inside Options dialog
- * <br/><b>description</b> should be a localized string where your tab description is stored
+ * <br><b>categoryName</b> should be a localized string for your tab's category name
+ * <br><b>iconBase</b> should be relative path to icon wou wish to display inside OD
+ * <br><b>keywords</b> should be localized keywords list, separated by comma in Bundle, for quickserach purposes
+ * <br><b>keywordsCategory</b> should be relative path to your panel inside Options dialog
+ * <br><b>description</b> should be a localized string where your tab description is stored
  * <span class="nonnormative"><strong>Currently unused.</strong></span>
  *
- * <br/><br/>
+ * <br><br>
  * Or, when registering a category with sub-panels, instead of
  * <pre style="background-color: rgb(255, 255, 153);">
  *            &lt;attr name="controller" newvalue="org.netbeans.core.ui.options.general.GeneralOptionsPanelController"/&gt;
@@ -71,7 +71,7 @@
  * </pre>
  * and supply a folder where instaces of <code>AdvancedOption</code> should be
  * registered. Its instances would be found automatically and shown as sub-panels
-  <br/><br/>
+  <br><br>
  * Use standard {@code position} attributes to sort items registered in layers.
  *
  * @see AdvancedOption
diff --git a/platform/options.api/src/org/netbeans/spi/options/OptionsPanelController.java b/platform/options.api/src/org/netbeans/spi/options/OptionsPanelController.java
index e3dfa6b..ca020af 100644
--- a/platform/options.api/src/org/netbeans/spi/options/OptionsPanelController.java
+++ b/platform/options.api/src/org/netbeans/spi/options/OptionsPanelController.java
@@ -337,7 +337,7 @@
 
     /**
      * Registers keywords for some panel in the Options dialog. Should be placed
-     * on a {@link JPanel} instance.
+     * on a {@link javax.swing.JPanel} instance.
      *
      * @since org.netbeans.modules.options.api/1 1.29
      */
@@ -352,30 +352,25 @@
          * <p> Each entry in the provided array is split around comma character.
          * For example:
          *
-         * <blockquote><table cellpadding=1 cellspacing=0 summary="Split
-         * examples showing array and keywords"> <tr> <th>Provided array</th>
-         * <th>Keywords</th> </tr> <tr><td align=center>{ "Boo", "fOo" }</td>
-         * <td><tt>{ "BOO", "FOO" }</tt></td></tr>
-         * </tr> <tr><td align=center>{ "boo and", "foo" }</td>
-         * <td><tt>{ "BOO AND", "FOO" }</tt></td></tr>
-         * </tr> <tr><td align=center>{ "boo,and", "foo" }</td>
-         * <td><tt>{ "BOO", "AND", "FOO" }</tt></td></tr> 
+         * <blockquote><table>
+         * <caption>Split examples showing array and keywords</caption>
+         * <tr><th>Provided array</th><th>Keywords</th></tr> 
+         * <tr><td align=center>{ "Boo", "fOo" }</td><td><tt>{ "BOO", "FOO" }</tt></td></tr>
+         * <tr><td align=center>{ "boo and", "foo" }</td><td><tt>{ "BOO AND", "FOO" }</tt></td></tr>
+         * <tr><td align=center>{ "boo,and", "foo" }</td><td><tt>{ "BOO", "AND", "FOO" }</tt></td></tr> 
          * </table></blockquote>
          *
          * <p> The user's search-text is split around the space character to form words.
          * All words need to be present in a panel to yield a successful search.
          * The registered keywords {"Boo,anD", "fOo"}, for example, yield the following results with these search-texts:
          *
-         * <blockquote><table cellpadding=1 cellspacing=0 summary="Search
-         * examples showing search-text and results"> <tr> <th>User's search-text</th>
-         * <th>Result</th> </tr> <tr><td align=center>"boo"</td>
-         * <td><tt>keyword found</tt></td></tr>
-         * <tr><td align=center>"nd"</td>
-         * <td><tt>keyword found</tt></td></tr>
-         * <tr><td align=center>"boo and"</td>
-         * <td><tt>keyword found</tt></td></tr>
-         * <tr><td align=center>"boo moo"</td>
-         * <td><tt>keyword NOT found</tt></td></tr>
+         * <blockquote><table> 
+         * <caption>Search examples showing search-text and results</caption>
+         * <tr><th>User's search-text</th><th>Result</th></tr>
+         * <tr><td align=center>"boo"</td><td><tt>keyword found</tt></td></tr>
+         * <tr><td align=center>"nd"</td><td><tt>keyword found</tt></td></tr>
+         * <tr><td align=center>"boo and"</td><td><tt>keyword found</tt></td></tr>
+         * <tr><td align=center>"boo moo"</td><td><tt>keyword NOT found</tt></td></tr>
          * </table></blockquote>
          */
         String[] keywords();
@@ -394,7 +389,7 @@
 
         /**
          * Optional title that must be used if the panel is part of a tabbed pane, such as when it is
-         * in the Editor, Fonts & Colors, Java, PHP, C/C++ or Miscellaneous categories, matching the
+         * in the Editor, Fonts &amp; Colors, Java, PHP, C/C++ or Miscellaneous categories, matching the
          * {@link SubRegistration#displayName}.
          * 
          * You may use {@code #key} syntax.
diff --git a/platform/sendopts/apichanges.xml b/platform/sendopts/apichanges.xml
index de16ffc..9221c15 100644
--- a/platform/sendopts/apichanges.xml
+++ b/platform/sendopts/apichanges.xml
@@ -126,7 +126,7 @@
       <author login="jtulach"/>
       <compatibility addition="yes" modification="yes" binary="incompatible" source="incompatible" semantic="incompatible" deprecation="no" deletion="yes"/>
       <description>
-          After the <a href="http://www.netbeans.org/issues/show_bug.cgi?id=57611">review from others</a>
+          After the <a href="https://bz.apache.org/netbeans/show_bug.cgi?id=57611">review from others</a>
           it has been decided to de-generify the interfaces. As a result
           of this complete rewrite, the API clients need to be fully 
           rewritten as most of the method signatures changed.
diff --git a/platform/sendopts/arch.xml b/platform/sendopts/arch.xml
index 09dfa60..bf33456 100644
--- a/platform/sendopts/arch.xml
+++ b/platform/sendopts/arch.xml
@@ -300,7 +300,7 @@
            identified by some additional option, so when the shared option appears
            the infrastructure knows which processor to delegate to. 
            This is demonstrated in the 
-           <a href="http://www.netbeans.org/source/browse/contrib/sendopts/test/unit/src/org/netbeans/api/sendopts/Attic/SharedOptionTest.java?rev=1.1.2">
+           <a href="https://github.com/apache/netbeans/tree/master/platform/sendopts/test/unit/src/org/netbeans/api/sendopts/SharedOptionTest.java">
            SharedOptionTest</a> which
            basically does the following:
        </p>       
diff --git a/platform/sendopts/src/org/netbeans/spi/sendopts/Arg.java b/platform/sendopts/src/org/netbeans/spi/sendopts/Arg.java
index 81006db..545bfa8 100644
--- a/platform/sendopts/src/org/netbeans/spi/sendopts/Arg.java
+++ b/platform/sendopts/src/org/netbeans/spi/sendopts/Arg.java
@@ -59,7 +59,7 @@
  *   }
  * }
  * </pre>
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  * @since 2.20
  */
 @Retention(RetentionPolicy.RUNTIME)
diff --git a/platform/sendopts/src/org/netbeans/spi/sendopts/ArgsProcessor.java b/platform/sendopts/src/org/netbeans/spi/sendopts/ArgsProcessor.java
index 3198611..4cab7a1 100644
--- a/platform/sendopts/src/org/netbeans/spi/sendopts/ArgsProcessor.java
+++ b/platform/sendopts/src/org/netbeans/spi/sendopts/ArgsProcessor.java
@@ -32,7 +32,7 @@
  * use the platform.
  * </p>
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  * @since 2.20
  */
 public interface ArgsProcessor {
diff --git a/platform/sendopts/src/org/netbeans/spi/sendopts/Description.java b/platform/sendopts/src/org/netbeans/spi/sendopts/Description.java
index 95e6234..83dcc34 100644
--- a/platform/sendopts/src/org/netbeans/spi/sendopts/Description.java
+++ b/platform/sendopts/src/org/netbeans/spi/sendopts/Description.java
@@ -28,7 +28,7 @@
  * Can be attached to public non-static fields that are also annotated 
  * by {@code @}{@link Arg}.
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  * @since 2.20
  */
 @Target({ElementType.FIELD})
diff --git a/platform/sendopts/src/org/netbeans/spi/sendopts/Option.java b/platform/sendopts/src/org/netbeans/spi/sendopts/Option.java
index 0c5a55c..d7f40de 100644
--- a/platform/sendopts/src/org/netbeans/spi/sendopts/Option.java
+++ b/platform/sendopts/src/org/netbeans/spi/sendopts/Option.java
@@ -217,7 +217,7 @@
         return new Option(shortName, longName, 2);
     }
 
-    /** Creates an option that can accept <q>additional arguments</q>.
+    /** Creates an option that can accept <code>additional arguments</code>.
      * For example to have option that opens few files
      * one could write:<pre>
      * Option openOption = Option.additionalArguments('o', "open");</pre> 
@@ -241,8 +241,8 @@
      * <code>{ "X.java", "Y.java", "Z.txt" }</code>.
      * <p>
      * Obviously only one such {@link Option#additionalArguments} can be
-     * used at once on a command line. If there was not only the <q>open</q>
-     * but also <q>edit</q> option 
+     * used at once on a command line. If there was not only the <code>open</code>
+     * but also <code>edit</code> option 
      * taking the additional arguments, 
      * then command line like: <pre>
      * --edit X.java --open Y.java Z.txt</pre>
@@ -254,7 +254,7 @@
     public static Option additionalArguments(char shortName, String longName) {
         return new Option(shortName, longName, 3);
     }
-    /** Creates a default option that accepts <q>additional arguments</q>
+    /** Creates a default option that accepts <code>additional arguments</code>
      * not claimed by any other option. 
      * For example to have option that opens few files
      * one could write:<pre>
@@ -298,7 +298,7 @@
     /** Creates an option that is always present. This can be useful for
      * processors that want to be notified everytime the command line
      * is successfuly parsed. 
-     * 
+     * <pre>
      * Option always = Option.always();</pre> 
      * and inside of the {@link OptionProcessor} declaring this
      * option use:<pre>
diff --git a/platform/sendopts/src/org/netbeans/spi/sendopts/OptionGroups.java b/platform/sendopts/src/org/netbeans/spi/sendopts/OptionGroups.java
index 21a89d3..36c9e30 100644
--- a/platform/sendopts/src/org/netbeans/spi/sendopts/OptionGroups.java
+++ b/platform/sendopts/src/org/netbeans/spi/sendopts/OptionGroups.java
@@ -31,12 +31,13 @@
  * arguments to each method. The <em>Min</em> and <em>Max</em> shown the
  * number that is needed for the group option to be "consistent":
  * 
- * <table border=1>
- *   <theader>
- *     <td>Method</td>
- *     <td>Min</td>
- *     <td>Max</td>
- *   </theader>
+ * <table>
+ * <caption>Behaviour overview</caption>
+ *   <tr>
+ *     <th>Method</th>
+ *     <th>Min</th>
+ *     <th>Max</th>
+ *   </tr>
  * 
  *   <tr>
  *     <td>{@link OptionGroups#allOf}</td>
@@ -90,7 +91,7 @@
      * can then be processed one by one.
      * 
      * @param options the sub options to check on the command line
-     * @return compound option that <q>is activated</q> if at least one of the
+     * @return compound option that <em>is activated</em> if at least one of the
      *    options appears on the command line
      */
     public static Option someOf(Option... options) {
@@ -105,7 +106,7 @@
      * with associated value of <code>new String[0]</code>.
      * 
      * @param options the sub options to check on the command line
-     * @return compound option that <q>is activated</q> if at least one of the
+     * @return compound option that <em>is activated</em> if at least one of the
      *    options appears on the command line
      */
     public static Option anyOf(Option... options) {
diff --git a/platform/settings/src/org/netbeans/api/settings/ConvertAsJavaBean.java b/platform/settings/src/org/netbeans/api/settings/ConvertAsJavaBean.java
index 47882ea..768b40e 100644
--- a/platform/settings/src/org/netbeans/api/settings/ConvertAsJavaBean.java
+++ b/platform/settings/src/org/netbeans/api/settings/ConvertAsJavaBean.java
@@ -47,7 +47,7 @@
  * starts to listen on existing objects and in case a property change
  * is delivered, the new state of the object is persisted again.
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  * @since 1.20
  */
 @Retention(RetentionPolicy.SOURCE)
diff --git a/platform/settings/src/org/netbeans/api/settings/ConvertAsProperties.java b/platform/settings/src/org/netbeans/api/settings/ConvertAsProperties.java
index f3651f1..874e12f 100644
--- a/platform/settings/src/org/netbeans/api/settings/ConvertAsProperties.java
+++ b/platform/settings/src/org/netbeans/api/settings/ConvertAsProperties.java
@@ -42,7 +42,7 @@
  * }
  * </pre>
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  * @since 1.18
  */
 @Retention(RetentionPolicy.SOURCE)
diff --git a/platform/settings/src/org/netbeans/api/settings/FactoryMethod.java b/platform/settings/src/org/netbeans/api/settings/FactoryMethod.java
index 1bd1420..58bed32 100644
--- a/platform/settings/src/org/netbeans/api/settings/FactoryMethod.java
+++ b/platform/settings/src/org/netbeans/api/settings/FactoryMethod.java
@@ -30,7 +30,7 @@
  * {@link Convertor}s.
  * 
  * @since 1.40
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  */
 @Target(ElementType.TYPE)
 @Retention(RetentionPolicy.RUNTIME)
diff --git a/platform/settings/src/org/netbeans/spi/settings/DOMConvertor.java b/platform/settings/src/org/netbeans/spi/settings/DOMConvertor.java
index 255859e..435d9d6 100644
--- a/platform/settings/src/org/netbeans/spi/settings/DOMConvertor.java
+++ b/platform/settings/src/org/netbeans/spi/settings/DOMConvertor.java
@@ -224,7 +224,7 @@
         return obj;
     }
     
-    /** delegate the write operation to a convertor able to write <code>obj<code>.
+    /** delegate the write operation to a convertor able to write <code>obj</code>.
      * @param doc a DOM document allowing to create elements describing passed object
      * @param obj an object to convert
      * @return a DOM element representation
diff --git a/webcommon/api.knockout/arch.xml b/webcommon/api.knockout/arch.xml
index 7dee84b..4e8a891 100644
--- a/webcommon/api.knockout/arch.xml
+++ b/webcommon/api.knockout/arch.xml
@@ -120,11 +120,11 @@
 <p>
 This is the code to register a sample <a href="@TOP@/org/netbeans/spi/knockout/BindingsProvider.html">provider</a>:
 </p>
-<pre>
-{@code @}ServiceProvider(service = BindingsProvider.class)
-public class SampleBindingsProvider implements {@link org.netbeans.spi.knockout.BindingsProvider} {
-    {@code @Override}
-    public void findBindings(FileObject htmlFile, Response r) {
+<pre><code style="background-color:#fafafb">
+<span>@</span>ServiceProvider(service = BindingsProvider.class)
+public class SampleBindingsProvider implements <a href="@TOP@/org/netbeans/spi/knockout/BindingsProvider.html">org.netbeans.spi.knockout.BindingsProvider</a> {
+    <span>@</span>Override
+    public void findBindings(FileObject htmlFile) {
         Bindings tweet = Bindings.create("Tweet").
                 stringProperty("from_user", false).
                 intProperty("from_user_id", false);
@@ -142,10 +142,10 @@
                 modelProperty("currentTweets", tweet, true).
                 modelProperty("savedLists", tweeters, true);
 
-        r.applyBindings(twitterClient);
+        return Response.create(twitterClient);
     }
 }
-</pre>
+</code></pre>
 
 <p>
 This sample has been used when testing the module.
diff --git a/webcommon/api.knockout/src/org/netbeans/spi/knockout/Bindings.java b/webcommon/api.knockout/src/org/netbeans/spi/knockout/Bindings.java
index 2a04676..4335373 100644
--- a/webcommon/api.knockout/src/org/netbeans/spi/knockout/Bindings.java
+++ b/webcommon/api.knockout/src/org/netbeans/spi/knockout/Bindings.java
@@ -38,9 +38,9 @@
  * Register as {@link BindingsProvider}. When called build description of JSON
  * types using methods like {@link #stringProperty(java.lang.String, boolean)}
  * and then pass the result into
- * {@link Response#applyBindings(org.netbeans.spi.knockout.Bindings)} method.
+ * {@link Response#create(Bindings)} method.
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  */
 public final class Bindings {
 
diff --git a/webcommon/api.knockout/src/org/netbeans/spi/knockout/BindingsProvider.java b/webcommon/api.knockout/src/org/netbeans/spi/knockout/BindingsProvider.java
index cd9eba8..956f46f 100644
--- a/webcommon/api.knockout/src/org/netbeans/spi/knockout/BindingsProvider.java
+++ b/webcommon/api.knockout/src/org/netbeans/spi/knockout/BindingsProvider.java
@@ -25,12 +25,12 @@
  * A provider that knows more about structure of Knockout bindings in an HTML
  * page. Providers should be registered by {@link ServiceProvider} annotation so
  * they can be found for a particular HTML file. Their
- * {@link #findBindings(org.openide.filesystems.FileObject, org.netbeans.spi.knockout.BindingsProvider.Response) findBindings}
+ * {@link #findBindings(org.openide.filesystems.FileObject) findBindings}
  * method is called when a knockout code completion is about to be shown in the
  * HTML editor and then can generate a JSON like description of the structure of
  * knockout context via {@link Bindings} methods.
  *
- * @author Jaroslav Tulach <jtulach@netbeans.org>
+ * @author Jaroslav Tulach &lt;jtulach@netbeans.org&gt;
  */
 public interface BindingsProvider {
 
@@ -44,7 +44,7 @@
 
     /**
      * Methods for {@link BindingsProvider}s to provide a response when
-     * {@link BindingsProvider#findBindings(org.openide.filesystems.FileObject, org.netbeans.spi.knockout.BindingsProvider.Response) queries}
+     * {@link BindingsProvider#findBindings(org.openide.filesystems.FileObject) queries}
      * about a particular HTML file.
      */
     public static final class Response {
diff --git a/webcommon/api.knockout/src/org/netbeans/spi/knockout/package.html b/webcommon/api.knockout/src/org/netbeans/spi/knockout/package.html
index 4e7f59a..7037828 100644
--- a/webcommon/api.knockout/src/org/netbeans/spi/knockout/package.html
+++ b/webcommon/api.knockout/src/org/netbeans/spi/knockout/package.html
@@ -21,7 +21,7 @@
 -->
 <html>
     <body>
-        <div>Java {@link org.netbeans.spi.knockout.Bindings model class} to describe JSON-like <a href="http://knockoutjs.com">Knockout</a> bindings and
+        <div>Java {@link org.netbeans.spi.knockout.Bindings model class} to describe JSON-like <a href="https://knockoutjs.com">Knockout</a> bindings and
             register {@link org.netbeans.spi.knockout.BindingsProvider a provider} used by the editor infrastructure
             to query for the {@link org.netbeans.spi.knockout.Bindings model}.
         </div>
diff --git a/webcommon/web.clientproject/src/org/netbeans/modules/web/clientproject/sites/OnlineSites.java b/webcommon/web.clientproject/src/org/netbeans/modules/web/clientproject/sites/OnlineSites.java
index 05a6943..f438588 100644
--- a/webcommon/web.clientproject/src/org/netbeans/modules/web/clientproject/sites/OnlineSites.java
+++ b/webcommon/web.clientproject/src/org/netbeans/modules/web/clientproject/sites/OnlineSites.java
@@ -192,13 +192,13 @@
     public static class SiteHtml5Boilerplate extends OnlineSites {
 
         @NbBundle.Messages({
-            "SiteHtml5Boilerplate.name=HTML5 Boilerplate 5.3.0",
+            "SiteHtml5Boilerplate.name=HTML5 Boilerplate 8.0.0",
             "SiteHtml5Boilerplate.description=Site template from html5boilerplate.com.",
         })
         public SiteHtml5Boilerplate() {
             super("INIT.BOILER", Bundle.SiteHtml5Boilerplate_name(), Bundle.SiteHtml5Boilerplate_description(), // NOI18N
-                    "https://github.com/h5bp/html5-boilerplate/releases/download/5.3.0/html5-boilerplate_v5.3.0.zip", // NOI18N
-                    new File(SiteHelper.getJsLibsDirectory(), "html5-boilerplate-530.zip")); // NOI18N
+                    "https://github.com/h5bp/html5-boilerplate/releases/download/v8.0.0/html5-boilerplate_v8.0.0.zip", // NOI18N
+                    new File(SiteHelper.getJsLibsDirectory(), "html5-boilerplate-800.zip")); // NOI18N
         }
 
     }
@@ -207,13 +207,13 @@
     public static class SiteTwitterBootstrap extends OnlineSites {
 
         @NbBundle.Messages({
-            "SiteTwitterBootstrap.name=Twitter Bootstrap 3.3.6",
+            "SiteTwitterBootstrap.name=Twitter Bootstrap 5.2.3",
             "SiteTwitterBootstrap.description=Site template from getbootstrap.com.",
         })
         public SiteTwitterBootstrap() {
             super("TWITTER", Bundle.SiteTwitterBootstrap_name(), Bundle.SiteTwitterBootstrap_description(), // NOI18N
-                    "https://github.com/twbs/bootstrap/releases/download/v3.3.6/bootstrap-3.3.6-dist.zip", // NOI18N
-                    new File(SiteHelper.getJsLibsDirectory(), "twitter-bootstrap-336.zip")); // NOI18N
+                    "https://github.com/twbs/bootstrap/releases/download/v5.2.3/bootstrap-5.2.3-dist.zip", // NOI18N
+                    new File(SiteHelper.getJsLibsDirectory(), "twitter-bootstrap-523.zip")); // NOI18N
         }
 
     }