Index: /applications/editors/josm/plugins/surveyor/src/at/dallermassl/josm/plugin/surveyor/action/AnnotationPresetAction.java
===================================================================
--- /applications/editors/josm/plugins/surveyor/src/at/dallermassl/josm/plugin/surveyor/action/AnnotationPresetAction.java	(revision 3638)
+++ /applications/editors/josm/plugins/surveyor/src/at/dallermassl/josm/plugin/surveyor/action/AnnotationPresetAction.java	(revision 3639)
@@ -9,6 +9,6 @@
 
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.gui.annotation.AnnotationPreset;
-import org.openstreetmap.josm.gui.preferences.AnnotationPresetPreference;
+import org.openstreetmap.josm.gui.tagging.TaggingPreset;
+import org.openstreetmap.josm.gui.preferences.TaggingPresetPreference;
 
 import at.dallermassl.josm.plugin.surveyor.GpsActionEvent;
@@ -21,5 +21,5 @@
 public class AnnotationPresetAction implements SurveyorAction {
     private String presetName;
-    private AnnotationPreset preset;
+    private TaggingPreset preset;
     
 
@@ -58,5 +58,5 @@
         }
         presetName = parameters.get(0);
-        preset = getAnnotationPreset(presetName);
+        preset = getTaggingPreset(presetName);
         if(preset == null) {
             System.err.println("No valid preset '" + parameters.get(0) + "' found - disable action!");
@@ -70,6 +70,6 @@
      * @return  the preset with the given name.
      */
-    protected AnnotationPreset getAnnotationPreset(String name) {
-        for(AnnotationPreset preset : AnnotationPresetPreference.annotationPresets) {
+    protected TaggingPreset getTaggingPreset(String name) {
+        for(TaggingPreset preset : TaggingPresetPreference.taggingPresets) {
             if(name.equals(preset.getValue(Action.NAME))) {
                 return preset;
Index: /applications/editors/josm/plugins/tagging-preset-tester/.classpath
===================================================================
--- /applications/editors/josm/plugins/tagging-preset-tester/.classpath	(revision 3639)
+++ /applications/editors/josm/plugins/tagging-preset-tester/.classpath	(revision 3639)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry including="images/" kind="src" path=""/>
+	<classpathentry combineaccessrules="false" exported="true" kind="src" path="/josm"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
Index: /applications/editors/josm/plugins/tagging-preset-tester/.project
===================================================================
--- /applications/editors/josm/plugins/tagging-preset-tester/.project	(revision 3639)
+++ /applications/editors/josm/plugins/tagging-preset-tester/.project	(revision 3639)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>tagging-preset-tester</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
Index: /applications/editors/josm/plugins/tagging-preset-tester/build.xml
===================================================================
--- /applications/editors/josm/plugins/tagging-preset-tester/build.xml	(revision 3639)
+++ /applications/editors/josm/plugins/tagging-preset-tester/build.xml	(revision 3639)
@@ -0,0 +1,11 @@
+<project name="annotation-tester" default="build" basedir=".">
+
+	<target name="build">
+		<jar destfile="${user.home}/.josm/plugins/annotation-tester.jar" 
+			 basedir="bin"
+			 manifest="src/org/openstreetmap/josm/plugins/annotationtester/MANIFEST.MF">
+			<fileset dir="."><include name="images/*"/></fileset>
+		</jar>
+	</target>
+
+</project>
Index: /applications/editors/josm/plugins/tagging-preset-tester/src/org/openstreetmap/josm/plugins/taggingpresettester/MANIFEST.MF
===================================================================
--- /applications/editors/josm/plugins/tagging-preset-tester/src/org/openstreetmap/josm/plugins/taggingpresettester/MANIFEST.MF	(revision 3639)
+++ /applications/editors/josm/plugins/tagging-preset-tester/src/org/openstreetmap/josm/plugins/taggingpresettester/MANIFEST.MF	(revision 3639)
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Main-Class: org.openstreetmap.josm.plugins.taggingpresettester.TaggingPresetTester
+Plugin-Class: org.openstreetmap.josm.plugins.taggingpresettester.TaggingPresetTesterAction
+Plugin-Description: Make the Tagging Preset Tester tool available in
+  the help menu.
Index: /applications/editors/josm/plugins/tagging-preset-tester/src/org/openstreetmap/josm/plugins/taggingpresettester/TaggingPresetTester.java
===================================================================
--- /applications/editors/josm/plugins/tagging-preset-tester/src/org/openstreetmap/josm/plugins/taggingpresettester/TaggingPresetTester.java	(revision 3639)
+++ /applications/editors/josm/plugins/tagging-preset-tester/src/org/openstreetmap/josm/plugins/taggingpresettester/TaggingPresetTester.java	(revision 3639)
@@ -0,0 +1,115 @@
+package org.openstreetmap.josm.plugins.taggingpresettester;
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Vector;
+
+import javax.swing.BorderFactory;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JFileChooser;
+import javax.swing.JFrame;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+
+import org.openstreetmap.josm.gui.tagging.TaggingCellRenderer;
+import org.openstreetmap.josm.gui.tagging.TaggingPreset;
+import org.xml.sax.SAXException;
+
+public class TaggingPresetTester extends JFrame {
+
+	private JComboBox taggingPresets;
+	private final String[] args;
+	private JPanel taggingPresetPanel = new JPanel(new BorderLayout());
+	private JPanel panel = new JPanel(new BorderLayout());
+
+	public void reload() {
+		Vector<TaggingPreset> allPresets = new Vector<TaggingPreset>();
+		for (String source : args) {
+			InputStream in = null;
+			try {
+				if (source.startsWith("http") || source.startsWith("ftp") || source.startsWith("file"))
+					in = new URL(source).openStream();
+				else if (source.startsWith("resource://"))
+					in = TaggingPresetTester.class.getResourceAsStream(source.substring("resource:/".length()));
+				else
+					in = new FileInputStream(source);
+				allPresets.addAll(TaggingPreset.readAll(in));
+			} catch (IOException e) {
+				e.printStackTrace();
+				JOptionPane.showMessageDialog(null, "Could not read tagging preset source: "+source);
+			} catch (SAXException e) {
+				e.printStackTrace();
+				JOptionPane.showMessageDialog(null, "Error parsing "+source+": "+e.getMessage());
+			}
+
+			try {
+				if (in != null)
+					in.close();
+			} catch (IOException e) {
+			}
+		}
+		taggingPresets.setModel(new DefaultComboBoxModel(allPresets));
+	}
+
+	public void reselect() {
+		taggingPresetPanel.removeAll();
+		TaggingPreset preset = (TaggingPreset)taggingPresets.getSelectedItem();
+		if (preset == null)
+			return;
+		JPanel p = preset.createPanel();
+		p.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+		if (p != null)
+			taggingPresetPanel.add(p, BorderLayout.NORTH);
+		panel.validate();
+		panel.repaint();
+	}
+
+	public TaggingPresetTester(String[] args) {
+		super("Tagging Preset Tester");
+		this.args = args;
+		taggingPresets = new JComboBox();
+		taggingPresets.setRenderer(new TaggingCellRenderer());
+		reload();
+
+		panel.add(taggingPresets, BorderLayout.NORTH);
+		panel.add(taggingPresetPanel, BorderLayout.CENTER);
+		taggingPresets.addActionListener(new ActionListener(){
+			public void actionPerformed(ActionEvent e) {
+				reselect();
+			}
+		});
+		reselect();
+
+		JButton b = new JButton("Reload");
+		b.addActionListener(new ActionListener(){
+			public void actionPerformed(ActionEvent e) {
+				int i = taggingPresets.getSelectedIndex();
+				reload();
+				taggingPresets.setSelectedIndex(i);
+			}
+		});
+		panel.add(b, BorderLayout.SOUTH);
+
+		setContentPane(panel);
+		setSize(300,500);
+		setVisible(true);
+	}
+
+	public static void main(String[] args) {
+		if (args.length == 0) {
+			JFileChooser c = new JFileChooser();
+			if (c.showOpenDialog(null) != JFileChooser.APPROVE_OPTION)
+				return;
+			args = new String[]{c.getSelectedFile().getPath()};
+		}
+		JFrame f = new TaggingPresetTester(args);
+		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+	}
+}
Index: /applications/editors/josm/plugins/tagging-preset-tester/src/org/openstreetmap/josm/plugins/taggingpresettester/TaggingPresetTesterAction.java
===================================================================
--- /applications/editors/josm/plugins/tagging-preset-tester/src/org/openstreetmap/josm/plugins/taggingpresettester/TaggingPresetTesterAction.java	(revision 3639)
+++ /applications/editors/josm/plugins/tagging-preset-tester/src/org/openstreetmap/josm/plugins/taggingpresettester/TaggingPresetTesterAction.java	(revision 3639)
@@ -0,0 +1,34 @@
+package org.openstreetmap.josm.plugins.taggingpresettester;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+
+import javax.swing.JOptionPane;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.JosmAction;
+
+/**
+ * Fires up the tagging preset tester
+ * @author Immanuel.Scholz
+ */
+public class TaggingPresetTesterAction extends JosmAction {
+
+	public TaggingPresetTesterAction() {
+		super(tr("Tagging Preset Tester"), "tagging-preset-tester", tr("Open the tagging preset test tool for previewing tagging preset dialogs."), KeyEvent.VK_A, KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK, true);
+		Main.main.menu.helpMenu.addSeparator();
+		Main.main.menu.helpMenu.add(this);
+	}
+
+	public void actionPerformed(ActionEvent e) {
+		String taggingPresetSources = Main.pref.get("taggingpreset.sources");
+		if (taggingPresetSources.equals("")) {
+			JOptionPane.showMessageDialog(Main.parent, tr("You have to specify tagging preset sources in the preferences first."));
+			return;
+		}
+		String[] args = taggingPresetSources.split(";");
+		new TaggingPresetTester(args);
+	}
+}
Index: /applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/SpellCheck.java
===================================================================
--- /applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/SpellCheck.java	(revision 3638)
+++ /applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/SpellCheck.java	(revision 3639)
@@ -16,7 +16,7 @@
 import org.openstreetmap.josm.command.*;
 import org.openstreetmap.josm.data.osm.*;
-import org.openstreetmap.josm.gui.annotation.AnnotationPreset;
-import org.openstreetmap.josm.gui.annotation.AnnotationPreset.*;
-import org.openstreetmap.josm.gui.preferences.AnnotationPresetPreference;
+import org.openstreetmap.josm.gui.tagging.TaggingPreset;
+import org.openstreetmap.josm.gui.tagging.TaggingPreset.*;
+import org.openstreetmap.josm.gui.preferences.TaggingPresetPreference;
 import org.openstreetmap.josm.plugins.validator.*;
 import org.openstreetmap.josm.plugins.validator.util.Bag;
@@ -191,5 +191,5 @@
 			return;
 		
-		Collection<AnnotationPreset> presets = AnnotationPresetPreference.annotationPresets;
+		Collection<TaggingPreset> presets = TaggingPresetPreference.taggingPresets;
 		if( presets == null || presets.isEmpty() )
 		{
@@ -287,5 +287,5 @@
 		
 		XmlObjectParser parser = new XmlObjectParser();
-		parser.mapOnStart("item", AnnotationPreset.class);
+		parser.mapOnStart("item", TaggingPreset.class);
 		parser.map("text", Text.class);
 		parser.map("check", Check.class);
@@ -307,9 +307,9 @@
 
 	/**
-	 * Reads the annotations presets
+	 * Reads the tagging presets
 	 */
 	public static void readPresetFromPreferences() 
 	{
-		String allAnnotations = Main.pref.get("annotation.sources");
+		String allAnnotations = Main.pref.get("taggingpreset.sources");
 		StringTokenizer st = new StringTokenizer(allAnnotations, ";");
 		while (st.hasMoreTokens()) 
