LSP: Change method parameters should refactor access modifier.

diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ChangeMethodParametersRefactoring.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ChangeMethodParametersRefactoring.java
index 6175429..0e5edc8 100644
--- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ChangeMethodParametersRefactoring.java
+++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ChangeMethodParametersRefactoring.java
@@ -25,6 +25,7 @@
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.CompletableFuture;
@@ -208,6 +209,7 @@
         model.withName(method.getSimpleName().toString())
                 .withReturnType(Utilities.getTypeName(ci, method.getReturnType(), true).toString())
                 .withSelectedModifier(mod)
+                .withIsStatic(method.getModifiers().contains(javax.lang.model.element.Modifier.STATIC))
                 .withParameters(params)
                 .assignData(client, file, TreePathHandle.from(handle, ClasspathInfo.create(file)));
         model.applyBindings();
@@ -221,6 +223,7 @@
 
     @Model(className = "ChangeMethodParameterUI", targetId = "", instance = true, builder = "with", properties = {
         @Property(name = "selectedModifier", type = Modifier.class),
+        @Property(name = "isStatic", type = boolean.class),
         @Property(name = "name", type = String.class),
         @Property(name = "returnType", type = String.class),
         @Property(name = "parameters", type = ParameterUI.class, array = true)
@@ -243,6 +246,17 @@
         void doRefactoring(ChangeMethodParameterUI ui) {
             try {
                 ChangeParametersRefactoring refactoring = new ChangeParametersRefactoring(handle);
+                Modifier selectedModifier = ui.getSelectedModifier();
+                if (selectedModifier != null) {
+                    Set<javax.lang.model.element.Modifier> modifiers = new HashSet<>(1);
+                    switch (selectedModifier) {
+                        case PRIVATE: modifiers.add(javax.lang.model.element.Modifier.PRIVATE);break;
+                        case PACKAGE_PRIVATE: break; /* no modifier */
+                        case PROTECTED: modifiers.add(javax.lang.model.element.Modifier.PROTECTED); break;
+                        case PUBLIC: modifiers.add(javax.lang.model.element.Modifier.PUBLIC); break;
+                    }
+                    refactoring.setModifiers(modifiers);
+                }
                 String returnType = ui.getReturnType();
                 refactoring.setReturnType(returnType.length() > 0 ? returnType : null);
                 List<ParameterUI> parameters = ui.getParameters();
@@ -310,15 +324,19 @@
 
         @ComputedProperty
         static String preview(
-            Modifier selectedModifier, String returnType, String name, List<ParameterUI> parameters
+            Modifier selectedModifier, boolean isStatic, String returnType, String name, List<ParameterUI> parameters
         ) {
             StringBuilder sb = new StringBuilder();
-            sb.append(selectedModifier != null ? selectedModifier.javaName : "").append(" ").append(returnType);
+            sb.append(selectedModifier != null ? selectedModifier.javaName : "").append(" ");
+            if (isStatic) {
+                sb.append("static ");
+            }
+            sb.append(returnType);
             sb.append(" ").append(name).append("(");
             String sep = "";
             for (ParameterUI p : parameters) {
                 sb.append(sep);
-                sb.append(p.getType()).append(" ").append(p.getName());
+                sb.append(p.getType() != null ? p.getType() : "").append(" ").append(p.getName() != null ? p.getName() : "");
                 sep = ", ";
             }
             sb.append(")");