Merge pull request #2154 from lkishalmi/NETBEANS-4365

[NETBEANS-4365] Fix NetBeans New Action Wizard.
diff --git a/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/YamlLexer.java b/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/YamlLexer.java
index 9b189ff..3c7dd55 100644
--- a/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/YamlLexer.java
+++ b/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/YamlLexer.java
@@ -468,6 +468,12 @@
             case ISA_CURLY:
                 state = ISI_WHITESPACE;
                 return token(YamlTokenId.TEXT);
+            case ISI_MUSTACHE:
+                state = ISI_WHITESPACE;
+                return token(YamlTokenId.MUSTACHE);
+            case ISI_MUSTACHE_QUOTE:
+                state = ISI_WHITESPACE;
+                return token(YamlTokenId.MUSTACHE);
             case ISI_PHP:
                 state = ISI_WHITESPACE;
                 return token(YamlTokenId.PHP);
diff --git a/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4370_1.yaml.txt b/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4370_1.yaml.txt
new file mode 100644
index 0000000..07f6ba4
--- /dev/null
+++ b/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4370_1.yaml.txt
@@ -0,0 +1,3 @@
+.t.e.s.t. SimpleMustache
+k: {{a
+.e.o.f.
\ No newline at end of file
diff --git a/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4370_1.yaml.txt.tokens.txt b/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4370_1.yaml.txt.tokens.txt
new file mode 100644
index 0000000..57a900d
--- /dev/null
+++ b/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4370_1.yaml.txt.tokens.txt
@@ -0,0 +1,9 @@
+.t.e.s.t. SimpleMustache
+TEXT            "k: ", la=2, st=0
+MUSTACHE_DELIMITER  "{{", st=13
+MUSTACHE        "a", la=1, st=0
+----- EOF -----
+
+<Unnamed test>
+----- EOF -----
+
diff --git a/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4370_2.yaml.txt b/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4370_2.yaml.txt
new file mode 100644
index 0000000..b967254
--- /dev/null
+++ b/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4370_2.yaml.txt
@@ -0,0 +1,3 @@
+.t.e.s.t. SimpleMustacheQuote
+k: {{ '}}
+.e.o.f.
\ No newline at end of file
diff --git a/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4370_2.yaml.txt.tokens.txt b/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4370_2.yaml.txt.tokens.txt
new file mode 100644
index 0000000..7e811bf
--- /dev/null
+++ b/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4370_2.yaml.txt.tokens.txt
@@ -0,0 +1,9 @@
+.t.e.s.t. SimpleMustacheQuote
+TEXT            "k: ", la=2, st=0
+MUSTACHE_DELIMITER  "{{", st=13
+MUSTACHE        " '}}", la=1, st=0
+----- EOF -----
+
+<Unnamed test>
+----- EOF -----
+
diff --git a/ide/languages.yaml/test/unit/src/org/netbeans/modules/languages/yaml/YamlLexerTest.java b/ide/languages.yaml/test/unit/src/org/netbeans/modules/languages/yaml/YamlLexerTest.java
index e0463ef..18886f1 100644
--- a/ide/languages.yaml/test/unit/src/org/netbeans/modules/languages/yaml/YamlLexerTest.java
+++ b/ide/languages.yaml/test/unit/src/org/netbeans/modules/languages/yaml/YamlLexerTest.java
@@ -65,7 +65,17 @@
                 YamlTokenId.language());
     }
 
-     public void testIssue246124() throws Exception {
+    public void testNETBEANS_4370_1() throws Exception {
+        LexerTestUtilities.checkTokenDump(this, "testfiles/issue_NETBEANS-4370_1.yaml.txt",
+                YamlTokenId.language());
+    }
+
+    public void testNETBEANS_4370_2() throws Exception {
+        LexerTestUtilities.checkTokenDump(this, "testfiles/issue_NETBEANS-4370_2.yaml.txt",
+                YamlTokenId.language());
+    }
+
+    public void testIssue246124() throws Exception {
         LexerTestUtilities.checkTokenDump(this, "testfiles/issue246124.yaml",
                 YamlTokenId.language());
     }
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/ParameterNameProviderImpl.java b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/ParameterNameProviderImpl.java
index efaf35c..3bc125c 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/ParameterNameProviderImpl.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/ParameterNameProviderImpl.java
@@ -208,7 +208,7 @@
 
     static void capCache(LinkedHashMap<String, ?> map) {
         Iterator<String> it = map.keySet().iterator();
-        while (map.size() > MAX_CACHE_SIZE) {
+        while (map.size() > MAX_CACHE_SIZE && it.hasNext()) {
             it.next();
             it.remove();
         }