diff --git a/tmp/parsergen/MapCSSParser.java b/src/org/openstreetmap/josm/gui/mappaint/mapcss/parsergen/MapCSSParser.java
index 97398203f..52c2337a0 100644
--- a/tmp/parsergen/MapCSSParser.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/mapcss/parsergen/MapCSSParser.java
@@ -2179,34 +2179,34 @@ private boolean jj_2_14(int xla)
     finally { jj_save(13, xla); }
   }
 
-  private boolean jj_3R_105()
+  private boolean jj_3R_and_expression_942_9_105()
  {
     if (jj_scan_token(AMPERSAND)) return true;
     if (jj_scan_token(AMPERSAND)) return true;
-    if (jj_3R_31()) return true;
-    if (jj_3R_104()) return true;
+    if (jj_3R_w_517_5_31()) return true;
+    if (jj_3R_relational_expression_959_5_104()) return true;
     return false;
   }
 
   private boolean jj_3_3()
  {
-    if (jj_3R_20()) return true;
+    if (jj_3R_pp_supports_declaration_condition_379_5_20()) return true;
     return false;
   }
 
-  private boolean jj_3R_55()
+  private boolean jj_3R_ufloat_unit_1119_18_55()
  {
-    if (jj_3R_34()) return true;
+    if (jj_3R_ident_477_5_34()) return true;
     return false;
   }
 
-  private boolean jj_3R_96()
+  private boolean jj_3R_and_expression_940_5_96()
  {
-    if (jj_3R_104()) return true;
+    if (jj_3R_relational_expression_959_5_104()) return true;
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_105()) { jj_scanpos = xsp; break; }
+      if (jj_3R_and_expression_942_9_105()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
@@ -2215,134 +2215,134 @@ private boolean jj_3_9()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_26()) {
+    if (jj_3R_simple_key_value_condition_747_21_26()) {
     jj_scanpos = xsp;
-    if (jj_3R_27()) return true;
+    if (jj_3R_simple_key_value_condition_749_21_27()) return true;
     }
-    if (jj_3R_23()) return true;
+    if (jj_3R_s_506_5_23()) return true;
     xsp = jj_scanpos;
-    if (jj_3R_28()) jj_scanpos = xsp;
-    if (jj_3R_29()) return true;
+    if (jj_3R_simple_key_value_condition_752_15_28()) jj_scanpos = xsp;
+    if (jj_3R_regex_494_5_29()) return true;
     return false;
   }
 
-  private boolean jj_3R_45()
+  private boolean jj_3R_simple_key_value_condition_742_9_45()
  {
-    if (jj_3R_61()) return true;
-    if (jj_3R_23()) return true;
+    if (jj_3R_tag_key_705_9_61()) return true;
+    if (jj_3R_s_506_5_23()) return true;
     return false;
   }
 
-  private boolean jj_3R_37()
+  private boolean jj_3R_pp_supports_condition_in_parens_359_9_37()
  {
     if (jj_scan_token(LPAR)) return true;
-    if (jj_3R_19()) return true;
-    if (jj_3R_58()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
+    if (jj_3R_pp_supports_condition_328_5_58()) return true;
     if (jj_scan_token(RPAR)) return true;
     return false;
   }
 
-  private boolean jj_3R_44()
+  private boolean jj_3R_simple_key_value_condition_740_9_44()
  {
-    if (jj_3R_29()) return true;
-    if (jj_3R_23()) return true;
+    if (jj_3R_regex_494_5_29()) return true;
+    if (jj_3R_s_506_5_23()) return true;
     return false;
   }
 
-  private boolean jj_3R_36()
+  private boolean jj_3R_pp_supports_condition_in_parens_356_9_36()
  {
-    if (jj_3R_20()) return true;
+    if (jj_3R_pp_supports_declaration_condition_379_5_20()) return true;
     return false;
   }
 
-  private boolean jj_3R_24()
+  private boolean jj_3R_simple_key_value_condition_739_5_24()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_44()) {
+    if (jj_3R_simple_key_value_condition_740_9_44()) {
     jj_scanpos = xsp;
-    if (jj_3R_45()) return true;
+    if (jj_3R_simple_key_value_condition_742_9_45()) return true;
     }
     xsp = jj_scanpos;
     if (jj_3_9()) {
     jj_scanpos = xsp;
-    if (jj_3R_46()) {
+    if (jj_3R_simple_key_value_condition_755_13_46()) {
     jj_scanpos = xsp;
-    if (jj_3R_47()) return true;
+    if (jj_3R_simple_key_value_condition_779_13_47()) return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_43()
+  private boolean jj_3R_simple_key_condition_724_20_43()
  {
     if (jj_scan_token(QUESTION)) return true;
     return false;
   }
 
-  private boolean jj_3R_18()
+  private boolean jj_3R_pp_supports_condition_in_parens_355_5_18()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_36()) {
+    if (jj_3R_pp_supports_condition_in_parens_356_9_36()) {
     jj_scanpos = xsp;
-    if (jj_3R_37()) return true;
+    if (jj_3R_pp_supports_condition_in_parens_359_9_37()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_35()
+  private boolean jj_3R_ufloat_unit_1119_5_35()
  {
-    if (jj_3R_50()) return true;
+    if (jj_3R_ufloat_450_5_50()) return true;
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_55()) {
+    if (jj_3R_ufloat_unit_1119_18_55()) {
     jj_scanpos = xsp;
-    if (jj_3R_56()) {
+    if (jj_3R_ufloat_unit_1119_30_56()) {
     jj_scanpos = xsp;
-    if (jj_3R_57()) return true;
+    if (jj_3R_ufloat_unit_1119_51_57()) return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_97()
+  private boolean jj_3R_or_expression_923_9_97()
  {
     if (jj_scan_token(PIPE)) return true;
     if (jj_scan_token(PIPE)) return true;
-    if (jj_3R_31()) return true;
-    if (jj_3R_96()) return true;
+    if (jj_3R_w_517_5_31()) return true;
+    if (jj_3R_and_expression_940_5_96()) return true;
     return false;
   }
 
   private boolean jj_3_2()
  {
-    if (jj_3R_18()) return true;
-    if (jj_3R_19()) return true;
+    if (jj_3R_pp_supports_condition_in_parens_355_5_18()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
     if (jj_scan_token(PP_OR)) return true;
     return false;
   }
 
-  private boolean jj_3R_77()
+  private boolean jj_3R_or_expression_921_5_77()
  {
-    if (jj_3R_96()) return true;
+    if (jj_3R_and_expression_940_5_96()) return true;
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_97()) { jj_scanpos = xsp; break; }
+      if (jj_3R_or_expression_923_9_97()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_51()
+  private boolean jj_3R_float_array_533_9_51()
  {
     if (jj_scan_token(COMMA)) return true;
-    if (jj_3R_23()) return true;
-    if (jj_3R_50()) return true;
+    if (jj_3R_s_506_5_23()) return true;
+    if (jj_3R_ufloat_450_5_50()) return true;
     return false;
   }
 
-  private boolean jj_3R_90()
+  private boolean jj_3R_literal_1105_9_90()
  {
     if (jj_scan_token(HEXCOLOR)) return true;
     return false;
@@ -2350,31 +2350,31 @@ private boolean jj_3R_90()
 
   private boolean jj_3_1()
  {
-    if (jj_3R_18()) return true;
-    if (jj_3R_19()) return true;
+    if (jj_3R_pp_supports_condition_in_parens_355_5_18()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
     if (jj_scan_token(PP_AND)) return true;
     return false;
   }
 
-  private boolean jj_3R_99()
+  private boolean jj_3R_pp_supports_condition_337_11_99()
  {
     if (jj_scan_token(PP_OR)) return true;
-    if (jj_3R_19()) return true;
-    if (jj_3R_18()) return true;
-    if (jj_3R_19()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
+    if (jj_3R_pp_supports_condition_in_parens_355_5_18()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
     return false;
   }
 
-  private boolean jj_3R_89()
+  private boolean jj_3R_literal_1103_9_89()
  {
-    if (jj_3R_50()) return true;
+    if (jj_3R_ufloat_450_5_50()) return true;
     return false;
   }
 
-  private boolean jj_3R_82()
+  private boolean jj_3R_pp_supports_condition_339_9_82()
  {
-    if (jj_3R_18()) return true;
-    if (jj_3R_19()) return true;
+    if (jj_3R_pp_supports_condition_in_parens_355_5_18()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
     return false;
   }
 
@@ -2385,254 +2385,254 @@ private boolean jj_3_7()
     return false;
   }
 
-  private boolean jj_3R_42()
+  private boolean jj_3R_simple_key_condition_721_9_42()
  {
-    if (jj_3R_61()) return true;
+    if (jj_3R_tag_key_705_9_61()) return true;
     return false;
   }
 
-  private boolean jj_3R_101()
+  private boolean jj_3R_tag_key_707_21_101()
  {
     if (jj_scan_token(COLON)) return true;
-    if (jj_3R_34()) return true;
+    if (jj_3R_ident_477_5_34()) return true;
     return false;
   }
 
-  private boolean jj_3R_41()
+  private boolean jj_3R_simple_key_condition_719_9_41()
  {
-    if (jj_3R_29()) return true;
+    if (jj_3R_regex_494_5_29()) return true;
     return false;
   }
 
-  private boolean jj_3R_30()
+  private boolean jj_3R_float_array_531_5_30()
  {
-    if (jj_3R_50()) return true;
+    if (jj_3R_ufloat_450_5_50()) return true;
     Token xsp;
-    if (jj_3R_51()) return true;
+    if (jj_3R_float_array_533_9_51()) return true;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_51()) { jj_scanpos = xsp; break; }
+      if (jj_3R_float_array_533_9_51()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
   private boolean jj_3_14()
  {
-    if (jj_3R_35()) return true;
+    if (jj_3R_ufloat_unit_1119_5_35()) return true;
     return false;
   }
 
-  private boolean jj_3R_98()
+  private boolean jj_3R_pp_supports_condition_333_11_98()
  {
     if (jj_scan_token(PP_AND)) return true;
-    if (jj_3R_19()) return true;
-    if (jj_3R_18()) return true;
-    if (jj_3R_19()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
+    if (jj_3R_pp_supports_condition_in_parens_355_5_18()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
     return false;
   }
 
-  private boolean jj_3R_81()
+  private boolean jj_3R_pp_supports_condition_335_9_81()
  {
-    if (jj_3R_18()) return true;
-    if (jj_3R_19()) return true;
+    if (jj_3R_pp_supports_condition_in_parens_355_5_18()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
     Token xsp;
-    if (jj_3R_99()) return true;
+    if (jj_3R_pp_supports_condition_337_11_99()) return true;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_99()) { jj_scanpos = xsp; break; }
+      if (jj_3R_pp_supports_condition_337_11_99()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_88()
+  private boolean jj_3R_literal_1098_9_88()
  {
     if (jj_scan_token(PLUS)) return true;
-    if (jj_3R_50()) return true;
+    if (jj_3R_ufloat_450_5_50()) return true;
     return false;
   }
 
-  private boolean jj_3R_40()
+  private boolean jj_3R_simple_key_condition_717_7_40()
  {
     if (jj_scan_token(EXCLAMATION)) return true;
     return false;
   }
 
-  private boolean jj_3R_87()
+  private boolean jj_3R_literal_1096_9_87()
  {
-    if (jj_3R_100()) return true;
+    if (jj_3R_string_467_5_100()) return true;
     return false;
   }
 
-  private boolean jj_3R_80()
+  private boolean jj_3R_pp_supports_condition_331_9_80()
  {
-    if (jj_3R_18()) return true;
-    if (jj_3R_19()) return true;
+    if (jj_3R_pp_supports_condition_in_parens_355_5_18()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
     Token xsp;
-    if (jj_3R_98()) return true;
+    if (jj_3R_pp_supports_condition_333_11_98()) return true;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_98()) { jj_scanpos = xsp; break; }
+      if (jj_3R_pp_supports_condition_333_11_98()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_22()
+  private boolean jj_3R_simple_key_condition_717_5_22()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_40()) jj_scanpos = xsp;
+    if (jj_3R_simple_key_condition_717_7_40()) jj_scanpos = xsp;
     xsp = jj_scanpos;
-    if (jj_3R_41()) {
+    if (jj_3R_simple_key_condition_719_9_41()) {
     jj_scanpos = xsp;
-    if (jj_3R_42()) return true;
+    if (jj_3R_simple_key_condition_721_9_42()) return true;
     }
     xsp = jj_scanpos;
     if (jj_3_7()) jj_scanpos = xsp;
     xsp = jj_scanpos;
-    if (jj_3R_43()) jj_scanpos = xsp;
+    if (jj_3R_simple_key_condition_724_20_43()) jj_scanpos = xsp;
     return false;
   }
 
-  private boolean jj_3R_86()
+  private boolean jj_3R_literal_1094_9_86()
  {
     if (jj_scan_token(IDENT)) return true;
     return false;
   }
 
-  private boolean jj_3R_76()
+  private boolean jj_3R_w_517_13_76()
  {
     if (jj_scan_token(COMMENT_START)) return true;
     if (jj_scan_token(COMMENT_END)) return true;
     return false;
   }
 
-  private boolean jj_3R_79()
+  private boolean jj_3R_pp_supports_condition_329_9_79()
  {
     if (jj_scan_token(PP_NOT)) return true;
-    if (jj_3R_19()) return true;
-    if (jj_3R_18()) return true;
-    if (jj_3R_19()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
+    if (jj_3R_pp_supports_condition_in_parens_355_5_18()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
     return false;
   }
 
-  private boolean jj_3R_78()
+  private boolean jj_3R_conditional_expression_902_9_78()
  {
     if (jj_scan_token(QUESTION)) return true;
-    if (jj_3R_31()) return true;
-    if (jj_3R_53()) return true;
+    if (jj_3R_w_517_5_31()) return true;
+    if (jj_3R_conditional_expression_900_5_53()) return true;
     if (jj_scan_token(COLON)) return true;
-    if (jj_3R_31()) return true;
-    if (jj_3R_53()) return true;
+    if (jj_3R_w_517_5_31()) return true;
+    if (jj_3R_conditional_expression_900_5_53()) return true;
     return false;
   }
 
-  private boolean jj_3R_92()
+  private boolean jj_3R_tag_key_707_9_92()
  {
-    if (jj_3R_34()) return true;
+    if (jj_3R_ident_477_5_34()) return true;
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_101()) { jj_scanpos = xsp; break; }
+      if (jj_3R_tag_key_707_21_101()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_58()
+  private boolean jj_3R_pp_supports_condition_328_5_58()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_79()) {
+    if (jj_3R_pp_supports_condition_329_9_79()) {
     jj_scanpos = xsp;
-    if (jj_3R_80()) {
+    if (jj_3R_pp_supports_condition_331_9_80()) {
     jj_scanpos = xsp;
-    if (jj_3R_81()) {
+    if (jj_3R_pp_supports_condition_335_9_81()) {
     jj_scanpos = xsp;
-    if (jj_3R_82()) return true;
+    if (jj_3R_pp_supports_condition_339_9_82()) return true;
     }
     }
     }
     return false;
   }
 
-  private boolean jj_3R_52()
+  private boolean jj_3R_w_517_7_52()
  {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(27)) {
     jj_scanpos = xsp;
-    if (jj_3R_76()) return true;
+    if (jj_3R_w_517_13_76()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_91()
+  private boolean jj_3R_tag_key_705_9_91()
  {
-    if (jj_3R_100()) return true;
+    if (jj_3R_string_467_5_100()) return true;
     return false;
   }
 
-  private boolean jj_3R_61()
+  private boolean jj_3R_tag_key_705_9_61()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_91()) {
+    if (jj_3R_tag_key_705_9_91()) {
     jj_scanpos = xsp;
-    if (jj_3R_92()) return true;
+    if (jj_3R_tag_key_707_9_92()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_53()
+  private boolean jj_3R_conditional_expression_900_5_53()
  {
-    if (jj_3R_77()) return true;
+    if (jj_3R_or_expression_921_5_77()) return true;
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_78()) jj_scanpos = xsp;
+    if (jj_3R_conditional_expression_902_9_78()) jj_scanpos = xsp;
     return false;
   }
 
-  private boolean jj_3R_31()
+  private boolean jj_3R_w_517_5_31()
  {
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_52()) { jj_scanpos = xsp; break; }
+      if (jj_3R_w_517_7_52()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
   private boolean jj_3_6()
  {
-    if (jj_3R_24()) return true;
-    if (jj_3R_23()) return true;
+    if (jj_3R_simple_key_value_condition_739_5_24()) return true;
+    if (jj_3R_s_506_5_23()) return true;
     if (jj_scan_token(RSQUARE)) return true;
     return false;
   }
 
   private boolean jj_3_13()
  {
-    if (jj_3R_34()) return true;
+    if (jj_3R_ident_477_5_34()) return true;
     if (jj_scan_token(HEXCOLOR)) return true;
     return false;
   }
 
-  private boolean jj_3R_60()
+  private boolean jj_3R_literal_1085_9_60()
  {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3_13()) {
     jj_scanpos = xsp;
-    if (jj_3R_86()) {
+    if (jj_3R_literal_1094_9_86()) {
     jj_scanpos = xsp;
-    if (jj_3R_87()) {
+    if (jj_3R_literal_1096_9_87()) {
     jj_scanpos = xsp;
-    if (jj_3R_88()) {
+    if (jj_3R_literal_1098_9_88()) {
     jj_scanpos = xsp;
     if (jj_3_14()) {
     jj_scanpos = xsp;
-    if (jj_3R_89()) {
+    if (jj_3R_literal_1103_9_89()) {
     jj_scanpos = xsp;
-    if (jj_3R_90()) return true;
+    if (jj_3R_literal_1105_9_90()) return true;
     }
     }
     }
@@ -2644,13 +2644,13 @@ private boolean jj_3R_60()
 
   private boolean jj_3_5()
  {
-    if (jj_3R_22()) return true;
-    if (jj_3R_23()) return true;
+    if (jj_3R_simple_key_condition_717_5_22()) return true;
+    if (jj_3R_s_506_5_23()) return true;
     if (jj_scan_token(RSQUARE)) return true;
     return false;
   }
 
-  private boolean jj_3R_23()
+  private boolean jj_3R_s_506_5_23()
  {
     Token xsp;
     xsp = jj_scanpos;
@@ -2658,23 +2658,23 @@ private boolean jj_3R_23()
     return false;
   }
 
-  private boolean jj_3R_32()
+  private boolean jj_3R_expression_888_5_32()
  {
-    if (jj_3R_53()) return true;
+    if (jj_3R_conditional_expression_900_5_53()) return true;
     return false;
   }
 
-  private boolean jj_3R_128()
+  private boolean jj_3R_function_1072_11_128()
  {
     if (jj_scan_token(COMMA)) return true;
-    if (jj_3R_31()) return true;
-    if (jj_3R_32()) return true;
+    if (jj_3R_w_517_5_31()) return true;
+    if (jj_3R_expression_888_5_32()) return true;
     return false;
   }
 
   private boolean jj_3_11()
  {
-    if (jj_3R_32()) return true;
+    if (jj_3R_expression_888_5_32()) return true;
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(40)) {
@@ -2684,27 +2684,27 @@ private boolean jj_3_11()
     return false;
   }
 
-  private boolean jj_3R_54()
+  private boolean jj_3R_function_1071_9_54()
  {
-    if (jj_3R_32()) return true;
+    if (jj_3R_expression_888_5_32()) return true;
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_128()) { jj_scanpos = xsp; break; }
+      if (jj_3R_function_1072_11_128()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_103()
+  private boolean jj_3R_string_or_ident_486_19_103()
  {
-    if (jj_3R_100()) return true;
+    if (jj_3R_string_467_5_100()) return true;
     return false;
   }
 
   private boolean jj_3_10()
  {
-    if (jj_3R_30()) return true;
-    if (jj_3R_31()) return true;
+    if (jj_3R_float_array_531_5_30()) return true;
+    if (jj_3R_w_517_5_31()) return true;
     Token xsp;
     xsp = jj_scanpos;
     if (jj_scan_token(40)) {
@@ -2714,71 +2714,71 @@ private boolean jj_3_10()
     return false;
   }
 
-  private boolean jj_3R_95()
+  private boolean jj_3R_float__459_41_95()
  {
-    if (jj_3R_50()) return true;
+    if (jj_3R_ufloat_450_5_50()) return true;
     return false;
   }
 
-  private boolean jj_3R_33()
+  private boolean jj_3R_function_1068_5_33()
  {
-    if (jj_3R_34()) return true;
-    if (jj_3R_31()) return true;
+    if (jj_3R_ident_477_5_34()) return true;
+    if (jj_3R_w_517_5_31()) return true;
     if (jj_scan_token(LPAR)) return true;
-    if (jj_3R_31()) return true;
+    if (jj_3R_w_517_5_31()) return true;
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_54()) jj_scanpos = xsp;
+    if (jj_3R_function_1071_9_54()) jj_scanpos = xsp;
     if (jj_scan_token(RPAR)) return true;
     return false;
   }
 
-  private boolean jj_3R_29()
+  private boolean jj_3R_regex_494_5_29()
  {
     if (jj_scan_token(REGEX)) return true;
     return false;
   }
 
-  private boolean jj_3R_127()
+  private boolean jj_3R_primary_1058_9_127()
  {
     if (jj_scan_token(LPAR)) return true;
-    if (jj_3R_31()) return true;
-    if (jj_3R_32()) return true;
+    if (jj_3R_w_517_5_31()) return true;
+    if (jj_3R_expression_888_5_32()) return true;
     if (jj_scan_token(RPAR)) return true;
     return false;
   }
 
-  private boolean jj_3R_102()
+  private boolean jj_3R_string_or_ident_486_7_102()
  {
-    if (jj_3R_34()) return true;
+    if (jj_3R_ident_477_5_34()) return true;
     return false;
   }
 
-  private boolean jj_3R_93()
+  private boolean jj_3R_string_or_ident_486_5_93()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_102()) {
+    if (jj_3R_string_or_ident_486_7_102()) {
     jj_scanpos = xsp;
-    if (jj_3R_103()) return true;
+    if (jj_3R_string_or_ident_486_19_103()) return true;
     }
     return false;
   }
 
   private boolean jj_3_4()
  {
-    if (jj_3R_21()) return true;
+    if (jj_3R_uint_434_5_21()) return true;
     if (jj_scan_token(MINUS)) return true;
     return false;
   }
 
-  private boolean jj_3R_126()
+  private boolean jj_3R_primary_1051_9_126()
  {
-    if (jj_3R_60()) return true;
+    if (jj_3R_literal_1085_9_60()) return true;
     return false;
   }
 
-  private boolean jj_3R_34()
+  private boolean jj_3R_ident_477_5_34()
  {
     Token xsp;
     xsp = jj_scanpos;
@@ -2789,21 +2789,21 @@ private boolean jj_3R_34()
     return false;
   }
 
-  private boolean jj_3R_49()
+  private boolean jj_3R_int__442_39_49()
  {
-    if (jj_3R_21()) return true;
+    if (jj_3R_uint_434_5_21()) return true;
     return false;
   }
 
-  private boolean jj_3R_121()
+  private boolean jj_3R_primary_1048_5_121()
  {
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3_12()) {
     jj_scanpos = xsp;
-    if (jj_3R_126()) {
+    if (jj_3R_primary_1051_9_126()) {
     jj_scanpos = xsp;
-    if (jj_3R_127()) return true;
+    if (jj_3R_primary_1058_9_127()) return true;
     }
     }
     return false;
@@ -2811,82 +2811,82 @@ private boolean jj_3R_121()
 
   private boolean jj_3_12()
  {
-    if (jj_3R_33()) return true;
+    if (jj_3R_function_1068_5_33()) return true;
     return false;
   }
 
-  private boolean jj_3R_123()
+  private boolean jj_3R_multiplicative_expression_1011_38_123()
  {
     if (jj_scan_token(SLASH)) return true;
     return false;
   }
 
-  private boolean jj_3R_100()
+  private boolean jj_3R_string_467_5_100()
  {
     if (jj_scan_token(STRING)) return true;
     return false;
   }
 
-  private boolean jj_3R_125()
+  private boolean jj_3R_unary_expression_1031_9_125()
  {
     if (jj_scan_token(EXCLAMATION)) return true;
-    if (jj_3R_31()) return true;
+    if (jj_3R_w_517_5_31()) return true;
     return false;
   }
 
-  private boolean jj_3R_124()
+  private boolean jj_3R_unary_expression_1029_9_124()
  {
     if (jj_scan_token(MINUS)) return true;
-    if (jj_3R_31()) return true;
+    if (jj_3R_w_517_5_31()) return true;
     return false;
   }
 
-  private boolean jj_3R_120()
+  private boolean jj_3R_unary_expression_1029_9_120()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_124()) {
+    if (jj_3R_unary_expression_1029_9_124()) {
     jj_scanpos = xsp;
-    if (jj_3R_125()) return true;
+    if (jj_3R_unary_expression_1031_9_125()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_94()
+  private boolean jj_3R_float__459_5_94()
  {
     if (jj_scan_token(MINUS)) return true;
-    if (jj_3R_50()) return true;
+    if (jj_3R_ufloat_450_5_50()) return true;
     return false;
   }
 
-  private boolean jj_3R_75()
+  private boolean jj_3R_float__459_5_75()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_94()) {
+    if (jj_3R_float__459_5_94()) {
     jj_scanpos = xsp;
-    if (jj_3R_95()) return true;
+    if (jj_3R_float__459_41_95()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_116()
+  private boolean jj_3R_unary_expression_1028_5_116()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_120()) jj_scanpos = xsp;
-    if (jj_3R_121()) return true;
-    if (jj_3R_31()) return true;
+    if (jj_3R_unary_expression_1029_9_120()) jj_scanpos = xsp;
+    if (jj_3R_primary_1048_5_121()) return true;
+    if (jj_3R_w_517_5_31()) return true;
     return false;
   }
 
-  private boolean jj_3R_119()
+  private boolean jj_3R_additive_expression_992_37_119()
  {
     if (jj_scan_token(MINUS)) return true;
     return false;
   }
 
-  private boolean jj_3R_50()
+  private boolean jj_3R_ufloat_450_5_50()
  {
     Token xsp;
     xsp = jj_scanpos;
@@ -2897,142 +2897,142 @@ private boolean jj_3R_50()
     return false;
   }
 
-  private boolean jj_3R_122()
+  private boolean jj_3R_multiplicative_expression_1011_11_122()
  {
     if (jj_scan_token(STAR)) return true;
     return false;
   }
 
-  private boolean jj_3R_117()
+  private boolean jj_3R_multiplicative_expression_1011_9_117()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_122()) {
+    if (jj_3R_multiplicative_expression_1011_11_122()) {
     jj_scanpos = xsp;
-    if (jj_3R_123()) return true;
+    if (jj_3R_multiplicative_expression_1011_38_123()) return true;
     }
-    if (jj_3R_31()) return true;
-    if (jj_3R_116()) return true;
+    if (jj_3R_w_517_5_31()) return true;
+    if (jj_3R_unary_expression_1028_5_116()) return true;
     return false;
   }
 
-  private boolean jj_3R_25()
+  private boolean jj_3R_int__442_5_25()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_48()) {
+    if (jj_3R_int__442_5_48()) {
     jj_scanpos = xsp;
-    if (jj_3R_49()) return true;
+    if (jj_3R_int__442_39_49()) return true;
     }
     return false;
   }
 
-  private boolean jj_3R_48()
+  private boolean jj_3R_int__442_5_48()
  {
     if (jj_scan_token(MINUS)) return true;
-    if (jj_3R_21()) return true;
+    if (jj_3R_uint_434_5_21()) return true;
     return false;
   }
 
-  private boolean jj_3R_108()
+  private boolean jj_3R_multiplicative_expression_1009_5_108()
  {
-    if (jj_3R_116()) return true;
+    if (jj_3R_unary_expression_1028_5_116()) return true;
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_117()) { jj_scanpos = xsp; break; }
+      if (jj_3R_multiplicative_expression_1011_9_117()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_39()
+  private boolean jj_3R_pp_supports_declaration_condition_379_61_39()
  {
     if (jj_scan_token(COLON)) return true;
-    if (jj_3R_19()) return true;
-    if (jj_3R_60()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
+    if (jj_3R_literal_1085_9_60()) return true;
     return false;
   }
 
-  private boolean jj_3R_21()
+  private boolean jj_3R_uint_434_5_21()
  {
     if (jj_scan_token(UINT)) return true;
     return false;
   }
 
-  private boolean jj_3R_118()
+  private boolean jj_3R_additive_expression_992_11_118()
  {
     if (jj_scan_token(PLUS)) return true;
     return false;
   }
 
-  private boolean jj_3R_109()
+  private boolean jj_3R_additive_expression_992_9_109()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_118()) {
+    if (jj_3R_additive_expression_992_11_118()) {
     jj_scanpos = xsp;
-    if (jj_3R_119()) return true;
+    if (jj_3R_additive_expression_992_37_119()) return true;
     }
-    if (jj_3R_31()) return true;
-    if (jj_3R_108()) return true;
+    if (jj_3R_w_517_5_31()) return true;
+    if (jj_3R_multiplicative_expression_1009_5_108()) return true;
     return false;
   }
 
-  private boolean jj_3R_74()
+  private boolean jj_3R_simple_key_value_condition_786_21_74()
  {
     if (jj_scan_token(LESS)) return true;
     return false;
   }
 
-  private boolean jj_3R_73()
+  private boolean jj_3R_simple_key_value_condition_784_21_73()
  {
     if (jj_scan_token(LESS_EQUAL)) return true;
     return false;
   }
 
-  private boolean jj_3R_106()
+  private boolean jj_3R_additive_expression_990_5_106()
  {
-    if (jj_3R_108()) return true;
+    if (jj_3R_multiplicative_expression_1009_5_108()) return true;
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_109()) { jj_scanpos = xsp; break; }
+      if (jj_3R_additive_expression_992_9_109()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_72()
+  private boolean jj_3R_simple_key_value_condition_782_21_72()
  {
     if (jj_scan_token(GREATER)) return true;
     return false;
   }
 
-  private boolean jj_3R_70()
+  private boolean jj_3R_simple_key_value_condition_776_25_70()
  {
-    if (jj_3R_93()) return true;
+    if (jj_3R_string_or_ident_486_5_93()) return true;
     return false;
   }
 
-  private boolean jj_3R_71()
+  private boolean jj_3R_simple_key_value_condition_780_21_71()
  {
     if (jj_scan_token(GREATER_EQUAL)) return true;
     return false;
   }
 
-  private boolean jj_3R_69()
+  private boolean jj_3R_simple_key_value_condition_774_25_69()
  {
-    if (jj_3R_75()) return true;
+    if (jj_3R_float__459_5_75()) return true;
     return false;
   }
 
-  private boolean jj_3R_115()
+  private boolean jj_3R_relational_expression_972_13_115()
  {
     if (jj_scan_token(EXCLAMATION)) return true;
     if (jj_scan_token(EQUAL)) return true;
     return false;
   }
 
-  private boolean jj_3R_114()
+  private boolean jj_3R_relational_expression_970_13_114()
  {
     if (jj_scan_token(EQUAL)) return true;
     Token xsp;
@@ -3041,32 +3041,32 @@ private boolean jj_3R_114()
     return false;
   }
 
-  private boolean jj_3R_47()
+  private boolean jj_3R_simple_key_value_condition_779_13_47()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_71()) {
+    if (jj_3R_simple_key_value_condition_780_21_71()) {
     jj_scanpos = xsp;
-    if (jj_3R_72()) {
+    if (jj_3R_simple_key_value_condition_782_21_72()) {
     jj_scanpos = xsp;
-    if (jj_3R_73()) {
+    if (jj_3R_simple_key_value_condition_784_21_73()) {
     jj_scanpos = xsp;
-    if (jj_3R_74()) return true;
+    if (jj_3R_simple_key_value_condition_786_21_74()) return true;
     }
     }
     }
-    if (jj_3R_23()) return true;
-    if (jj_3R_75()) return true;
+    if (jj_3R_s_506_5_23()) return true;
+    if (jj_3R_float__459_5_75()) return true;
     return false;
   }
 
-  private boolean jj_3R_113()
+  private boolean jj_3R_relational_expression_968_13_113()
  {
     if (jj_scan_token(LESS)) return true;
     return false;
   }
 
-  private boolean jj_3R_112()
+  private boolean jj_3R_relational_expression_966_13_112()
  {
     if (jj_scan_token(GREATER)) return true;
     return false;
@@ -3074,227 +3074,227 @@ private boolean jj_3R_112()
 
   private boolean jj_3_8()
  {
-    if (jj_3R_25()) return true;
+    if (jj_3R_int__442_5_25()) return true;
     return false;
   }
 
-  private boolean jj_3R_57()
+  private boolean jj_3R_ufloat_unit_1119_51_57()
  {
     if (jj_scan_token(PERCENT)) return true;
     return false;
   }
 
-  private boolean jj_3R_67()
+  private boolean jj_3R_simple_key_value_condition_766_21_67()
  {
     if (jj_scan_token(STAR)) return true;
     if (jj_scan_token(EQUAL)) return true;
     return false;
   }
 
-  private boolean jj_3R_111()
+  private boolean jj_3R_relational_expression_964_13_111()
  {
     if (jj_scan_token(LESS_EQUAL)) return true;
     return false;
   }
 
-  private boolean jj_3R_38()
+  private boolean jj_3R_pp_w_399_4_38()
  {
-    if (jj_3R_59()) return true;
+    if (jj_3R_pp_w1_388_5_59()) return true;
     return false;
   }
 
-  private boolean jj_3R_66()
+  private boolean jj_3R_simple_key_value_condition_764_21_66()
  {
     if (jj_scan_token(DOLLAR)) return true;
     if (jj_scan_token(EQUAL)) return true;
     return false;
   }
 
-  private boolean jj_3R_110()
+  private boolean jj_3R_relational_expression_962_13_110()
  {
     if (jj_scan_token(GREATER_EQUAL)) return true;
     return false;
   }
 
-  private boolean jj_3R_68()
+  private boolean jj_3R_simple_key_value_condition_769_15_68()
  {
     if (jj_scan_token(STAR)) return true;
     return false;
   }
 
-  private boolean jj_3R_19()
+  private boolean jj_3R_pp_w_399_2_19()
  {
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-      if (jj_3R_38()) { jj_scanpos = xsp; break; }
+      if (jj_3R_pp_w_399_4_38()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  private boolean jj_3R_65()
+  private boolean jj_3R_simple_key_value_condition_762_21_65()
  {
     if (jj_scan_token(CARET)) return true;
     if (jj_scan_token(EQUAL)) return true;
     return false;
   }
 
-  private boolean jj_3R_64()
+  private boolean jj_3R_simple_key_value_condition_760_21_64()
  {
     if (jj_scan_token(TILDE)) return true;
     if (jj_scan_token(EQUAL)) return true;
     return false;
   }
 
-  private boolean jj_3R_107()
+  private boolean jj_3R_relational_expression_961_9_107()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_110()) {
+    if (jj_3R_relational_expression_962_13_110()) {
     jj_scanpos = xsp;
-    if (jj_3R_111()) {
+    if (jj_3R_relational_expression_964_13_111()) {
     jj_scanpos = xsp;
-    if (jj_3R_112()) {
+    if (jj_3R_relational_expression_966_13_112()) {
     jj_scanpos = xsp;
-    if (jj_3R_113()) {
+    if (jj_3R_relational_expression_968_13_113()) {
     jj_scanpos = xsp;
-    if (jj_3R_114()) {
+    if (jj_3R_relational_expression_970_13_114()) {
     jj_scanpos = xsp;
-    if (jj_3R_115()) return true;
+    if (jj_3R_relational_expression_972_13_115()) return true;
     }
     }
     }
     }
     }
-    if (jj_3R_31()) return true;
-    if (jj_3R_106()) return true;
+    if (jj_3R_w_517_5_31()) return true;
+    if (jj_3R_additive_expression_990_5_106()) return true;
     return false;
   }
 
-  private boolean jj_3R_85()
+  private boolean jj_3R_pp_w1_392_5_85()
  {
     if (jj_scan_token(PP_COMMENT_START)) return true;
     if (jj_scan_token(PP_COMMENT_END)) return true;
     return false;
   }
 
-  private boolean jj_3R_63()
+  private boolean jj_3R_simple_key_value_condition_758_21_63()
  {
     if (jj_scan_token(EQUAL)) return true;
     return false;
   }
 
-  private boolean jj_3R_84()
+  private boolean jj_3R_pp_w1_390_5_84()
  {
     if (jj_scan_token(PP_WHITESPACE)) return true;
     return false;
   }
 
-  private boolean jj_3R_62()
+  private boolean jj_3R_simple_key_value_condition_756_21_62()
  {
     if (jj_scan_token(EXCLAMATION)) return true;
     if (jj_scan_token(EQUAL)) return true;
     return false;
   }
 
-  private boolean jj_3R_83()
+  private boolean jj_3R_pp_w1_388_5_83()
  {
     if (jj_scan_token(PP_NEWLINECHAR)) return true;
     return false;
   }
 
-  private boolean jj_3R_59()
+  private boolean jj_3R_pp_w1_388_5_59()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_83()) {
+    if (jj_3R_pp_w1_388_5_83()) {
     jj_scanpos = xsp;
-    if (jj_3R_84()) {
+    if (jj_3R_pp_w1_390_5_84()) {
     jj_scanpos = xsp;
-    if (jj_3R_85()) return true;
+    if (jj_3R_pp_w1_392_5_85()) return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_104()
+  private boolean jj_3R_relational_expression_959_5_104()
  {
-    if (jj_3R_106()) return true;
+    if (jj_3R_additive_expression_990_5_106()) return true;
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_107()) jj_scanpos = xsp;
+    if (jj_3R_relational_expression_961_9_107()) jj_scanpos = xsp;
     return false;
   }
 
-  private boolean jj_3R_27()
+  private boolean jj_3R_simple_key_value_condition_749_21_27()
  {
     if (jj_scan_token(EXCLAMATION)) return true;
     if (jj_scan_token(TILDE)) return true;
     return false;
   }
 
-  private boolean jj_3R_26()
+  private boolean jj_3R_simple_key_value_condition_747_21_26()
  {
     if (jj_scan_token(EQUAL)) return true;
     if (jj_scan_token(TILDE)) return true;
     return false;
   }
 
-  private boolean jj_3R_46()
+  private boolean jj_3R_simple_key_value_condition_755_13_46()
  {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_62()) {
+    if (jj_3R_simple_key_value_condition_756_21_62()) {
     jj_scanpos = xsp;
-    if (jj_3R_63()) {
+    if (jj_3R_simple_key_value_condition_758_21_63()) {
     jj_scanpos = xsp;
-    if (jj_3R_64()) {
+    if (jj_3R_simple_key_value_condition_760_21_64()) {
     jj_scanpos = xsp;
-    if (jj_3R_65()) {
+    if (jj_3R_simple_key_value_condition_762_21_65()) {
     jj_scanpos = xsp;
-    if (jj_3R_66()) {
+    if (jj_3R_simple_key_value_condition_764_21_66()) {
     jj_scanpos = xsp;
-    if (jj_3R_67()) return true;
+    if (jj_3R_simple_key_value_condition_766_21_67()) return true;
     }
     }
     }
     }
     }
-    if (jj_3R_23()) return true;
+    if (jj_3R_s_506_5_23()) return true;
     xsp = jj_scanpos;
-    if (jj_3R_68()) jj_scanpos = xsp;
+    if (jj_3R_simple_key_value_condition_769_15_68()) jj_scanpos = xsp;
     xsp = jj_scanpos;
     if (jj_3_8()) {
     jj_scanpos = xsp;
-    if (jj_3R_69()) {
+    if (jj_3R_simple_key_value_condition_774_25_69()) {
     jj_scanpos = xsp;
-    if (jj_3R_70()) return true;
+    if (jj_3R_simple_key_value_condition_776_25_70()) return true;
     }
     }
     return false;
   }
 
-  private boolean jj_3R_28()
+  private boolean jj_3R_simple_key_value_condition_752_15_28()
  {
     if (jj_scan_token(STAR)) return true;
     return false;
   }
 
-  private boolean jj_3R_56()
+  private boolean jj_3R_ufloat_unit_1119_30_56()
  {
     if (jj_scan_token(DEG)) return true;
     return false;
   }
 
-  private boolean jj_3R_20()
+  private boolean jj_3R_pp_supports_declaration_condition_379_5_20()
  {
     if (jj_scan_token(LPAR)) return true;
-    if (jj_3R_19()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
     if (jj_scan_token(IDENT)) return true;
-    if (jj_3R_19()) return true;
+    if (jj_3R_pp_w_399_2_19()) return true;
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_39()) jj_scanpos = xsp;
+    if (jj_3R_pp_supports_declaration_condition_379_61_39()) jj_scanpos = xsp;
     if (jj_scan_token(RPAR)) return true;
     return false;
   }
@@ -3432,8 +3432,13 @@ private Token jj_consume_token(int kind) throws ParseException {
   }
 
   @SuppressWarnings("serial")
-  static private final class LookaheadSuccess extends java.lang.Error { }
-  final private LookaheadSuccess jj_ls = new LookaheadSuccess();
+  static private final class LookaheadSuccess extends java.lang.Error {
+    @Override
+    public Throwable fillInStackTrace() {
+      return this;
+    }
+  }
+  static private final LookaheadSuccess jj_ls = new LookaheadSuccess();
   private boolean jj_scan_token(int kind) {
 	 if (jj_scanpos == jj_lastpos) {
 	   jj_la--;
@@ -3563,7 +3568,6 @@ public ParseException generateParseException() {
 	 return new ParseException(token, exptokseq, tokenImage);
   }
 
-  private int trace_indent = 0;
   private boolean trace_enabled;
 
 /** Trace enabled. */
diff --git a/tmp/parsergen/MapCSSParserTokenManager.java b/src/org/openstreetmap/josm/gui/mappaint/mapcss/parsergen/MapCSSParserTokenManager.java
index 0896a1c65..5e1d5d105 100644
--- a/tmp/parsergen/MapCSSParserTokenManager.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/mapcss/parsergen/MapCSSParserTokenManager.java
@@ -35,6 +35,7 @@
 import org.openstreetmap.josm.tools.Utils;
 
 /** Token Manager. */
+@SuppressWarnings ("unused")
 public class MapCSSParserTokenManager implements MapCSSParserConstants {
 
   /** Debug output. */
@@ -1202,9 +1203,7 @@ protected Token jjFillToken()
    beginColumn = input_stream.getBeginColumn();
    endLine = input_stream.getEndLine();
    endColumn = input_stream.getEndColumn();
-   t = Token.newToken(jjmatchedKind);
-   t.kind = jjmatchedKind;
-   t.image = curTokenImage;
+   t = Token.newToken(jjmatchedKind, curTokenImage);
 
    t.beginLine = beginLine;
    t.endLine = endLine;
diff --git a/tmp/parsergen/ParseException.java b/src/org/openstreetmap/josm/gui/mappaint/mapcss/parsergen/ParseException.java
index 7e73273b1..ccea97410 100644
--- a/tmp/parsergen/ParseException.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/mapcss/parsergen/ParseException.java
@@ -94,7 +94,7 @@ private static String initialise(Token currentToken,
                            int[][] expectedTokenSequences,
                            String[] tokenImage) {
 
-    StringBuffer expected = new StringBuffer();
+    StringBuilder expected = new StringBuilder();
     int maxSize = 0;
     for (int i = 0; i < expectedTokenSequences.length; i++) {
       if (maxSize < expectedTokenSequences[i].length) {
@@ -149,7 +149,7 @@ private static String initialise(Token currentToken,
    * string literal.
    */
   static String add_escapes(String str) {
-      StringBuffer retval = new StringBuffer();
+      StringBuilder retval = new StringBuilder();
       char ch;
       for (int i = 0; i < str.length(); i++) {
         switch (str.charAt(i))
@@ -192,4 +192,4 @@ static String add_escapes(String str) {
    }
 
 }
-/* JavaCC - OriginalChecksum=76eb5ffb567cedf5664357e638dafed4 (do not edit this line) */
+/* JavaCC - OriginalChecksum=3b033bce1e4033cf6c9d66b4a3511a52 (do not edit this line) */
diff --git a/tmp/parsergen/TokenMgrError.java b/src/org/openstreetmap/josm/gui/mappaint/mapcss/parsergen/TokenMgrError.java
index abb86fcc7..20e27c6b2 100644
--- a/tmp/parsergen/TokenMgrError.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/mapcss/parsergen/TokenMgrError.java
@@ -48,7 +48,7 @@
    * equivalents in the given string
    */
   protected static final String addEscapes(String str) {
-    StringBuffer retval = new StringBuffer();
+    StringBuilder retval = new StringBuilder();
     char ch;
     for (int i = 0; i < str.length(); i++) {
       switch (str.charAt(i))
@@ -144,4 +144,4 @@ public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColu
     this(LexicalErr(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
   }
 }
-/* JavaCC - OriginalChecksum=bb13daceafd32cc27ed1f3b6c7c6b50a (do not edit this line) */
+/* JavaCC - OriginalChecksum=eec59335cd445810bc1f1d24774e5224 (do not edit this line) */
