Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java	(revision 9492)
@@ -21,13 +21,13 @@
 
     /** The localized version of {@link #text}. */
-    public String locale_text;
+    public String locale_text; // NOSONAR
     /** the value to set when checked (default is "yes") */
-    public String value_on = OsmUtils.trueval;
+    public String value_on = OsmUtils.trueval; // NOSONAR
     /** the value to set when unchecked (default is "no") */
-    public String value_off = OsmUtils.falseval;
+    public String value_off = OsmUtils.falseval; // NOSONAR
     /** whether the off value is disabled in the dialog, i.e., only unset or yes are provided */
-    public boolean disable_off;
+    public boolean disable_off; // NOSONAR
     /** "on" or "off" or unset (default is unset) */
-    public String default_; // only used for tagless objects
+    public String default_; // only used for tagless objects // NOSONAR
 
     private QuadStateCheckBox check;
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/CheckGroup.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/CheckGroup.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/CheckGroup.java	(revision 9492)
@@ -24,5 +24,5 @@
      * Number of columns (positive integer)
      */
-    public String columns;
+    public String columns; // NOSONAR
 
     /**
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Combo.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Combo.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Combo.java	(revision 9492)
@@ -16,7 +16,13 @@
 public class Combo extends ComboMultiSelect {
 
-    public boolean editable = true;
-    protected JosmComboBox<PresetListEntry> combo;
-    public String length;
+    /**
+     * Whether the combo box is editable, which means that the user can add other values as text.
+     * Default is {@code true}. If {@code false} it is readonly, which means that the user can only select an item in the list.
+     */
+    public boolean editable = true; // NOSONAR
+    /** The length of the combo box (number of characters allowed). */
+    public String length; // NOSONAR
+
+    protected JosmComboBox<PresetListEntry> combobox;
 
     /**
@@ -43,9 +49,9 @@
         }
 
-        combo = new JosmComboBox<>(lhm.values().toArray(new PresetListEntry[0]));
-        component = combo;
-        combo.setRenderer(getListCellRenderer());
-        combo.setEditable(editable);
-        combo.reinitialize(lhm.values());
+        combobox = new JosmComboBox<>(lhm.values().toArray(new PresetListEntry[0]));
+        component = combobox;
+        combobox.setRenderer(getListCellRenderer());
+        combobox.setEditable(editable);
+        combobox.reinitialize(lhm.values());
         AutoCompletingTextField tf = new AutoCompletingTextField();
         initAutoCompletionField(tf, key);
@@ -60,18 +66,18 @@
             acList.add(getDisplayValues(), AutoCompletionItemPriority.IS_IN_STANDARD);
         }
-        combo.setEditor(tf);
+        combobox.setEditor(tf);
 
         if (usage.hasUniqueValue()) {
             // all items have the same value (and there were no unset items)
             originalValue = lhm.get(usage.getFirst());
-            combo.setSelectedItem(originalValue);
+            combobox.setSelectedItem(originalValue);
         } else if (def != null && usage.unused()) {
             // default is set and all items were unset
             if (!usage.hadKeys() || PROP_FILL_DEFAULT.get() || "force".equals(use_last_as_default)) {
                 // selected osm primitives are untagged or filling default feature is enabled
-                combo.setSelectedItem(lhm.get(def).getDisplayValue(true));
+                combobox.setSelectedItem(lhm.get(def).getDisplayValue(true));
             } else {
                 // selected osm primitives are tagged and filling default feature is disabled
-                combo.setSelectedItem("");
+                combobox.setSelectedItem("");
             }
             originalValue = lhm.get(DIFFERENT);
@@ -80,25 +86,24 @@
             originalValue = lhm.get("");
             if ("force".equals(use_last_as_default) && LAST_VALUES.containsKey(key) && !presetInitiallyMatches) {
-                combo.setSelectedItem(lhm.get(LAST_VALUES.get(key)));
+                combobox.setSelectedItem(lhm.get(LAST_VALUES.get(key)));
             } else {
-                combo.setSelectedItem(originalValue);
+                combobox.setSelectedItem(originalValue);
             }
         } else {
             originalValue = lhm.get(DIFFERENT);
-            combo.setSelectedItem(originalValue);
+            combobox.setSelectedItem(originalValue);
         }
-        p.add(combo, GBC.eol().fill(GBC.HORIZONTAL));
+        p.add(combobox, GBC.eol().fill(GBC.HORIZONTAL));
     }
 
     @Override
     protected Object getSelectedItem() {
-        return combo.getSelectedItem();
-
+        return combobox.getSelectedItem();
     }
 
     @Override
     protected String getDisplayIfNull() {
-        if (combo.isEditable())
-            return combo.getEditor().getItem().toString();
+        if (combobox.isEditable())
+            return combobox.getEditor().getItem().toString();
         else
             return null;
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java	(revision 9492)
@@ -44,5 +44,64 @@
 public abstract class ComboMultiSelect extends KeyedItem {
 
-    private static final ListCellRenderer<PresetListEntry> RENDERER = new ListCellRenderer<PresetListEntry>() {
+    private static final Renderer RENDERER = new Renderer();
+
+    /** The localized version of {@link #text}. */
+    public String locale_text; // NOSONAR
+    /**
+     * A list of entries.
+     * The list has to be separated by commas (for the {@link Combo} box) or by the specified delimiter (for the {@link MultiSelect}).
+     * If a value contains the delimiter, the delimiter may be escaped with a backslash.
+     * If a value contains a backslash, it must also be escaped with a backslash. */
+    public String values; // NOSONAR
+    /**
+     * To use instead of {@link #values} if the list of values has to be obtained with a Java method of this form:
+     * <p>{@code public static String[] getValues();}<p>
+     * The value must be: {@code full.package.name.ClassName#methodName}.
+     */
+    public String values_from; // NOSONAR
+    /** The context used for translating {@link #values} */
+    public String values_context; // NOSONAR
+    /** Disabled internationalisation for value to avoid mistakes, see #11696 */
+    public boolean values_no_i18n; // NOSONAR
+    /** Whether to sort the values, defaults to true. */
+    public boolean values_sort = true; // NOSONAR
+    /**
+     * A list of entries that is displayed to the user.
+     * Must be the same number and order of entries as {@link #values} and editable must be false or not specified.
+     * For the delimiter character and escaping, see the remarks at {@link #values}.
+     */
+    public String display_values; // NOSONAR
+    /** The localized version of {@link #display_values}. */
+    public String locale_display_values; // NOSONAR
+    /**
+     * A delimiter-separated list of texts to be displayed below each {@code display_value}.
+     * (Only if it is not possible to describe the entry in 2-3 words.)
+     * Instead of comma separated list instead using {@link #values}, {@link #display_values} and {@link #short_descriptions},
+     * the following form is also supported:<p>
+     * {@code <list_entry value="" display_value="" short_description="" icon="" icon_size="" />}
+     */
+    public String short_descriptions; // NOSONAR
+    /** The localized version of {@link #short_descriptions}. */
+    public String locale_short_descriptions; // NOSONAR
+    /** The default value for the item. If not specified, the current value of the key is chosen as default (if applicable).*/
+    public String default_; // NOSONAR
+    /**
+     * The character that separates values.
+     * In case of {@link Combo} the default is comma.
+     * In case of {@link MultiSelect} the default is semicolon and this will also be used to separate selected values in the tag.
+     */
+    public String delimiter = ";"; // NOSONAR
+    /** whether the last value is used as default. Using "force" enforces this behaviour also for already tagged objects. Default is "false".*/
+    public String use_last_as_default = "false"; // NOSONAR
+    /** whether to use values for search via {@link TaggingPresetSelector} */
+    public String values_searchable = "false"; // NOSONAR
+
+    protected JComponent component;
+    protected final Map<String, PresetListEntry> lhm = new LinkedHashMap<>();
+    private boolean initialized;
+    protected Usage usage;
+    protected Object originalValue;
+
+    private static final class Renderer implements ListCellRenderer<PresetListEntry> {
 
         private final JLabel lbl = new JLabel();
@@ -89,33 +148,5 @@
             return lbl;
         }
-    };
-
-    /** The localized version of {@link #text}. */
-    public String locale_text;
-    public String values;
-    public String values_from;
-    /** The context used for translating {@link #values} */
-    public String values_context;
-    /** Disabled internationalisation for value to avoid mistakes, see #11696 */
-    public boolean values_no_i18n;
-    /** Whether to sort the values, defaults to true. */
-    public boolean values_sort = true;
-    public String display_values;
-    /** The localized version of {@link #display_values}. */
-    public String locale_display_values;
-    public String short_descriptions;
-    /** The localized version of {@link #short_descriptions}. */
-    public String locale_short_descriptions;
-    public String default_;
-    public String delimiter = ";";
-    public String use_last_as_default = "false";
-    /** whether to use values for search via {@link TaggingPresetSelector} */
-    public String values_searchable = "false";
-
-    protected JComponent component;
-    protected final Map<String, PresetListEntry> lhm = new LinkedHashMap<>();
-    private boolean initialized;
-    protected Usage usage;
-    protected Object originalValue;
+    }
 
     /**
@@ -169,23 +200,30 @@
     }
 
+    /**
+     * Preset list entry.
+     */
     public static class PresetListEntry implements Comparable<PresetListEntry> {
-        public String value;
+        /** Entry value */
+        public String value; // NOSONAR
         /** The context used for translating {@link #value} */
-        public String value_context;
-        public String display_value;
-        public String short_description;
+        public String value_context; // NOSONAR
+        /** Value displayed to the user */
+        public String display_value; // NOSONAR
+        /** Text to be displayed below {@code display_value}. */
+        public String short_description; // NOSONAR
         /** The location of icon file to display */
-        public String icon;
+        public String icon; // NOSONAR
         /** The size of displayed icon. If not set, default is size from icon file */
-        public String icon_size;
+        public String icon_size; // NOSONAR
         /** The localized version of {@link #display_value}. */
-        public String locale_display_value;
+        public String locale_display_value; // NOSONAR
         /** The localized version of {@link #short_description}. */
-        public String locale_short_description;
+        public String locale_short_description; // NOSONAR
         private final File zipIcons = TaggingPresetReader.getZipIcons();
 
-        // Cached size (currently only for Combo) to speed up preset dialog initialization
-        public int prefferedWidth = -1;
-        public int prefferedHeight = -1;
+        /** Cached width (currently only for Combo) to speed up preset dialog initialization */
+        public int prefferedWidth = -1; // NOSONAR
+        /** Cached height (currently only for Combo) to speed up preset dialog initialization */
+        public int prefferedHeight = -1; // NOSONAR
 
         /**
@@ -193,10 +231,19 @@
          */
         public PresetListEntry() {
-        }
-
+            // Public default constructor is needed
+        }
+
+        /**
+         * Constructs a new {@code PresetListEntry}, initialized with a value.
+         * @param value value
+         */
         public PresetListEntry(String value) {
             this.value = value;
         }
 
+        /**
+         * Returns HTML formatted contents.
+         * @return HTML formatted contents
+         */
         public String getListDisplay() {
             if (value.equals(DIFFERENT))
@@ -223,4 +270,9 @@
         }
 
+        /**
+         * Returns the value to display.
+         * @param translated whether the text must be translated
+         * @return the value to display
+         */
         public String getDisplayValue(boolean translated) {
             return translated
@@ -229,4 +281,9 @@
         }
 
+        /**
+         * Returns the short description to display.
+         * @param translated whether the text must be translated
+         * @return the short description to display
+         */
         public String getShortDescription(boolean translated) {
             return translated
@@ -297,4 +354,8 @@
     }
 
+    /**
+     * Returns the values to display.
+     * @return the values to display
+     */
     public Collection<String> getDisplayValues() {
         initListEntries();
@@ -365,16 +426,16 @@
         char delChar = getDelChar();
 
-        String[] value_array = null;
+        String[] valueArray = null;
 
         if (values_from != null) {
-            String[] class_method = values_from.split("#");
-            if (class_method != null && class_method.length == 2) {
+            String[] classMethod = values_from.split("#");
+            if (classMethod != null && classMethod.length == 2) {
                 try {
-                    Method method = Class.forName(class_method[0]).getMethod(class_method[1]);
+                    Method method = Class.forName(classMethod[0]).getMethod(classMethod[1]);
                     // Check method is public static String[] methodName()
                     int mod = method.getModifiers();
                     if (Modifier.isPublic(mod) && Modifier.isStatic(mod)
                             && method.getReturnType().equals(String[].class) && method.getParameterTypes().length == 0) {
-                        value_array = (String[]) method.invoke(null);
+                        valueArray = (String[]) method.invoke(null);
                     } else {
                         Main.error(tr("Broken tagging preset \"{0}-{1}\" - Java method given in ''values_from'' is not \"{2}\"", key, text,
@@ -388,41 +449,41 @@
         }
 
-        if (value_array == null) {
-            value_array = splitEscaped(delChar, values);
-        }
-
-        String[] display_array = value_array;
+        if (valueArray == null) {
+            valueArray = splitEscaped(delChar, values);
+        }
+
+        String[] displayArray = valueArray;
         if (!values_no_i18n) {
             final String displ = Utils.firstNonNull(locale_display_values, display_values);
-            display_array = displ == null ? value_array : splitEscaped(delChar, displ);
+            displayArray = displ == null ? valueArray : splitEscaped(delChar, displ);
         }
 
         final String descr = Utils.firstNonNull(locale_short_descriptions, short_descriptions);
-        String[] short_descriptions_array = descr == null ? null : splitEscaped(delChar, descr);
-
-        if (display_array.length != value_array.length) {
+        String[] shortDescriptionsArray = descr == null ? null : splitEscaped(delChar, descr);
+
+        if (displayArray.length != valueArray.length) {
             Main.error(tr("Broken tagging preset \"{0}-{1}\" - number of items in ''display_values'' must be the same as in ''values''",
                             key, text));
-            Main.error(tr("Detailed information: {0} <> {1}", Arrays.toString(display_array), Arrays.toString(value_array)));
-            display_array = value_array;
-        }
-
-        if (short_descriptions_array != null && short_descriptions_array.length != value_array.length) {
+            Main.error(tr("Detailed information: {0} <> {1}", Arrays.toString(displayArray), Arrays.toString(valueArray)));
+            displayArray = valueArray;
+        }
+
+        if (shortDescriptionsArray != null && shortDescriptionsArray.length != valueArray.length) {
             Main.error(tr("Broken tagging preset \"{0}-{1}\" - number of items in ''short_descriptions'' must be the same as in ''values''",
                             key, text));
-            Main.error(tr("Detailed information: {0} <> {1}", Arrays.toString(short_descriptions_array), Arrays.toString(value_array)));
-            short_descriptions_array = null;
-        }
-
-        final List<PresetListEntry> entries = new ArrayList<>(value_array.length);
-        for (int i = 0; i < value_array.length; i++) {
-            final PresetListEntry e = new PresetListEntry(value_array[i]);
+            Main.error(tr("Detailed information: {0} <> {1}", Arrays.toString(shortDescriptionsArray), Arrays.toString(valueArray)));
+            shortDescriptionsArray = null;
+        }
+
+        final List<PresetListEntry> entries = new ArrayList<>(valueArray.length);
+        for (int i = 0; i < valueArray.length; i++) {
+            final PresetListEntry e = new PresetListEntry(valueArray[i]);
             e.locale_display_value = locale_display_values != null || values_no_i18n
-                    ? display_array[i]
-                    : trc(values_context, fixPresetString(display_array[i]));
-            if (short_descriptions_array != null) {
+                    ? displayArray[i]
+                    : trc(values_context, fixPresetString(displayArray[i]));
+            if (shortDescriptionsArray != null) {
                 e.locale_short_description = locale_short_descriptions != null
-                        ? short_descriptions_array[i]
-                        : tr(fixPresetString(short_descriptions_array[i]));
+                        ? shortDescriptionsArray[i]
+                        : tr(fixPresetString(shortDescriptionsArray[i]));
             }
 
@@ -481,8 +542,16 @@
     }
 
+    /**
+     * Adds a preset list entry.
+     * @param e list entry to add
+     */
     public void addListEntry(PresetListEntry e) {
         lhm.put(e.value, e);
     }
 
+    /**
+     * Adds a collection of preset list entries.
+     * @param e list entries to add
+     */
     public void addListEntries(Collection<PresetListEntry> e) {
         for (PresetListEntry i : e) {
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ItemSeparator.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ItemSeparator.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ItemSeparator.java	(revision 9492)
@@ -27,4 +27,5 @@
     @Override
     public void addCommands(List<Tag> changedTags) {
+        // Do nothing
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Key.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Key.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Key.java	(revision 9492)
@@ -17,5 +17,5 @@
 
     /** The hardcoded value for key */
-    public String value;
+    public String value; // NOSONAR
 
     @Override
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/KeyedItem.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/KeyedItem.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/KeyedItem.java	(revision 9492)
@@ -29,10 +29,22 @@
     protected static final Map<String, String> LAST_VALUES = new HashMap<>();
 
-    public String key;
+    /** This specifies the property key that will be modified by the item. */
+    public String key; // NOSONAR
     /** The text to display */
-    public String text;
+    public String text; // NOSONAR
     /** The context used for translating {@link #text} */
-    public String text_context;
-    public String match = getDefaultMatch().getValue();
+    public String text_context; // NOSONAR
+    /**
+     * Allows to change the matching process, i.e., determining whether the tags of an OSM object fit into this preset.
+     * If a preset fits then it is linked in the Tags/Membership dialog.<ul>
+     * <li>none: neutral, i.e., do not consider this item for matching</li>
+     * <li>key: positive if key matches, neutral otherwise</li>
+     * <li>key!: positive if key matches, negative otherwise</li>
+     * <li>keyvalue: positive if key and value matches, neutral otherwise</li>
+     * <li>keyvalue!: positive if key and value matches, negative otherwise</li></ul>
+     * Note that for a match, at least one positive and no negative is required.
+     * Default is "keyvalue!" for {@link Key} and "none" for {@link Text}, {@link Combo}, {@link MultiSelect} and {@link Check}.
+     */
+    public String match = getDefaultMatch().getValue(); // NOSONAR
 
     /**
@@ -81,5 +93,5 @@
 
     protected static class Usage {
-        public SortedSet<String> values;
+        public SortedSet<String> values; // NOSONAR
         private boolean hadKeys;
         private boolean hadEmpty;
@@ -132,6 +144,14 @@
     }
 
+    /**
+     * Returns the default match.
+     * @return the default match
+     */
     public abstract MatchType getDefaultMatch();
 
+    /**
+     * Returns the list of values.
+     * @return the list of values
+     */
     public abstract Collection<String> getValues();
 
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Label.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Label.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Label.java	(revision 9492)
@@ -19,7 +19,7 @@
 
     /** The location of icon file to display (optional) */
-    public String icon;
+    public String icon; // NOSONAR
     /** The size of displayed icon. If not set, default is 16px */
-    public String icon_size;
+    public String icon_size; // NOSONAR
 
     @Override
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Link.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Link.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Link.java	(revision 9492)
@@ -18,8 +18,8 @@
 
     /** The link to display. */
-    public String href;
+    public String href; // NOSONAR
 
     /** The localized version of {@link #href}. */
-    public String locale_href;
+    public String locale_href; // NOSONAR
 
     @Override
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/MultiSelect.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/MultiSelect.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/MultiSelect.java	(revision 9492)
@@ -20,5 +20,6 @@
      * Number of rows to display (positive integer, optional).
      */
-    public String rows;
+    public String rows; // NOSONAR
+
     protected ConcatenatingJList list;
 
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Optional.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Optional.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Optional.java	(revision 9492)
@@ -12,4 +12,8 @@
 import org.openstreetmap.josm.tools.GBC;
 
+/**
+ * Used to group optional attributes.
+ * @since 8863
+ */
 public class Optional extends TextItem {
 
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/PresetLink.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/PresetLink.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/PresetLink.java	(revision 9492)
@@ -20,7 +20,12 @@
 import org.openstreetmap.josm.tools.Utils;
 
+/**
+ * Adds a link to an other preset.
+ * @since 8863
+ */
 public class PresetLink extends TaggingPresetItem {
 
-    public String preset_name = "";
+    /** The exact name of the preset to link to. Required. */
+    public String preset_name = ""; // NOSONAR
 
     @Override
@@ -33,5 +38,6 @@
             }
         }).iterator().next();
-        if (t == null) return false;
+        if (t == null)
+            return false;
         JLabel lbl = new TaggingPresetLabel(t);
         lbl.addMouseListener(new MouseAdapter() {
@@ -47,4 +53,5 @@
     @Override
     public void addCommands(List<Tag> changedTags) {
+        // Do nothing
     }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Roles.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Roles.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Roles.java	(revision 9492)
@@ -26,15 +26,17 @@
 
     public static class Role {
-        public Set<TaggingPresetType> types;
-        public String key;
+        public Set<TaggingPresetType> types; // NOSONAR
+        /** Role name used in a relation */
+        public String key; // NOSONAR
         /** The text to display */
-        public String text;
+        public String text; // NOSONAR
         /** The context used for translating {@link #text} */
-        public String text_context;
+        public String text_context; // NOSONAR
         /** The localized version of {@link #text}. */
-        public String locale_text;
-        public SearchCompiler.Match memberExpression;
+        public String locale_text; // NOSONAR
+        /** An expression (cf. search dialog) for objects of this role */
+        public SearchCompiler.Match memberExpression; // NOSONAR
 
-        public boolean required;
+        public boolean required; // NOSONAR
         private long count;
 
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Space.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Space.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Space.java	(revision 9492)
@@ -26,4 +26,5 @@
     @Override
     public void addCommands(List<Tag> changedTags) {
+        // Do nothing
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Text.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Text.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Text.java	(revision 9492)
@@ -38,14 +38,24 @@
 public class Text extends KeyedItem {
 
-    private static int auto_increment_selected;
+    private static int auto_increment_selected; // NOSONAR
 
     /** The localized version of {@link #text}. */
-    public String locale_text;
-    public String default_;
-    public String originalValue;
-    public String use_last_as_default = "false";
-    public String auto_increment;
-    public String length;
-    public String alternative_autocomplete_keys;
+    public String locale_text; // NOSONAR
+    /** The default value for the item. If not specified, the current value of the key is chosen as default (if applicable). Defaults to "". */
+    public String default_; // NOSONAR
+    public String originalValue; // NOSONAR
+    /** whether the last value is used as default. Using "force" enforces this behaviour also for already tagged objects. Default is "false".*/
+    public String use_last_as_default = "false"; // NOSONAR
+    /**
+     * May contain a comma separated list of integer increments or decrements, e.g. "-2,-1,+1,+2".
+     * A button will be shown next to the text field for each value, allowing the user to select auto-increment with the given stepping.
+     * Auto-increment only happens if the user selects it. There is also a button to deselect auto-increment.
+     * Default is no auto-increment. Mutually exclusive with {@link use_last_as_default}.
+     */
+    public String auto_increment; // NOSONAR
+    /** The length of the text box (number of characters allowed). */
+    public String length; // NOSONAR
+    /** A comma separated list of alternative keys to use for autocompletion. */
+    public String alternative_autocomplete_keys; // NOSONAR
 
     private JComponent value;
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/TextItem.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/TextItem.java	(revision 9491)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/TextItem.java	(revision 9492)
@@ -14,11 +14,11 @@
 
     /** The text to display */
-    public String text;
+    public String text; // NOSONAR
 
     /** The context used for translating {@link #text} */
-    public String text_context;
+    public String text_context; // NOSONAR
 
     /** The localized version of {@link #text} */
-    public String locale_text;
+    public String locale_text; // NOSONAR
 
     protected final void initializeLocaleText(String defaultText) {
@@ -30,4 +30,5 @@
     @Override
     public void addCommands(List<Tag> changedTags) {
+        // Do nothing
     }
 
