Index: /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/AddrInterpolationAction.java
===================================================================
--- /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/AddrInterpolationAction.java	(revision 23190)
+++ /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/AddrInterpolationAction.java	(revision 23191)
@@ -22,31 +22,31 @@
 SelectionChangedListener {
 
-	public AddrInterpolationAction(){
-		super(tr("Address Interpolation"), "AddrInterpolation", tr("Handy Address Interpolation Functions"),
-				Shortcut.registerShortcut("tools:AddressInterpolation", tr("Tool: {0}", tr("Address Interpolation")),
-						KeyEvent.VK_A, Shortcut.GROUP_MENU,
-						InputEvent.ALT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK), false);
-		setEnabled(false);
-		DataSet.selListeners.add(this);
-	}
+    public AddrInterpolationAction(){
+        super(tr("Address Interpolation"), "AddrInterpolation", tr("Handy Address Interpolation Functions"),
+                Shortcut.registerShortcut("tools:AddressInterpolation", tr("Tool: {0}", tr("Address Interpolation")),
+                        KeyEvent.VK_A, Shortcut.GROUP_MENU,
+                        InputEvent.ALT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK), false);
+        setEnabled(false);
+        DataSet.selListeners.add(this);
+    }
 
-	public void actionPerformed(ActionEvent e) {
-		AddrInterpolationDialog addrDialog = new AddrInterpolationDialog(tr("Define Address Interpolation"));
+    public void actionPerformed(ActionEvent e) {
+        AddrInterpolationDialog addrDialog = new AddrInterpolationDialog(tr("Define Address Interpolation"));
 
 
-	}
+    }
 
-	public void selectionChanged(
-			Collection<? extends OsmPrimitive> newSelection) {
+    public void selectionChanged(
+            Collection<? extends OsmPrimitive> newSelection) {
 
-		for (OsmPrimitive osm : newSelection) {
-			if (osm instanceof Way) {
-				setEnabled(true);
-				return;
-			}
-		}
-		setEnabled(false);
+        for (OsmPrimitive osm : newSelection) {
+            if (osm instanceof Way) {
+                setEnabled(true);
+                return;
+            }
+        }
+        setEnabled(false);
 
-	}
+    }
 
 }
Index: /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/AddrInterpolationDialog.java
===================================================================
--- /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/AddrInterpolationDialog.java	(revision 23190)
+++ /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/AddrInterpolationDialog.java	(revision 23191)
@@ -69,1308 +69,1308 @@
 public class AddrInterpolationDialog extends JDialog implements ActionListener  {
 
-	private Way selectedStreet = null;
-	private Way addrInterpolationWay = null;
-	private Relation associatedStreetRelation = null;
-	private ArrayList<Node> houseNumberNodes = null;  // Additional nodes with addr:housenumber
-
-	private static String lastIncrement = "";
-	private static int lastAccuracyIndex = 0;
-	private static String lastCity = "";
-	private static String lastState = "";
-	private static String lastPostCode = "";
-	private static String lastCountry = "";
-	private static String lastFullAddress = "";
-	private static boolean lastConvertToHousenumber = false;
-
-	// Edit controls
-	private EscapeDialog dialog=null;
-	private JRadioButton streetNameButton = null;
-	private JRadioButton streetRelationButton  = null;
-	private JTextField startTextField = null;
-	private JTextField endTextField = null;
-	private JTextField incrementTextField = null;
-	private JTextField cityTextField = null;
-	private JTextField stateTextField = null;
-	private JTextField postCodeTextField = null;
-	private JTextField countryTextField = null;
-	private JTextField fullTextField = null;
-	private Checkbox cbConvertToHouseNumbers = null;
-
-	private boolean relationChanged = false; // Whether to re-trigger data changed for relation
-	// Track whether interpolation method is known so that auto detect doesn't override a previous choice.
-	private boolean interpolationMethodSet = false;
-
-
-	// NOTE: The following 2 arrays must match in number of elements and position
-	// Tag values for map (Except that 'Numeric' is replaced by actual # on map)
-	String[] addrInterpolationTags = { "odd", "even", "all", "alphabetic", "Numeric" };
-	String[] addrInterpolationStrings = { tr("Odd"), tr("Even"), tr("All"), tr("Alphabetic"), tr("Numeric") }; // Translatable names for display
-	private final int NumericIndex = 4;
-	private JComboBox addrInterpolationList = null;
-
-	// NOTE: The following 2 arrays must match in number of elements and position
-	String[] addrInclusionTags = { "actual", "estimate", "potential" }; // Tag values for map
-	String[] addrInclusionStrings = { tr("Actual"), tr("Estimate"), tr("Potential") }; // Translatable names for display
-	private JComboBox addrInclusionList = null;
-
-
-
-	// For tracking edit changes as group for undo
-	private Collection<Command> commandGroup = null;
-	private Relation editedRelation = null;
-
-	public AddrInterpolationDialog(String name) {
-
-		if (!FindAndSaveSelections()) {
-			return;
-		}
-
-		JPanel editControlsPane = CreateEditControls();
-
-		ShowDialog(editControlsPane, name);
-
-	}
-
-
-
-	private void ShowDialog(JPanel editControlsPane, String name) {
-		dialog = new EscapeDialog((Frame) Main.parent, name, true);
-
-		dialog.add(editControlsPane);
-		dialog.setSize(new Dimension(300,500));
-		dialog.setLocation(new Point(100,300));
-
-		// Listen for windowOpened event to set focus
-		dialog.addWindowListener( new WindowAdapter()
-		{
-			@Override
-			public void windowOpened( WindowEvent e )
-			{
-				if (addrInterpolationWay != null) {
-					startTextField.requestFocus();
-				}
-				else {
-					cityTextField.requestFocus();
-				}
-			}
-		});
-
-		dialog.setVisible(true);
-
-		lastIncrement = incrementTextField.getText();
-		lastCity = cityTextField.getText();
-		lastState = stateTextField.getText();
-		lastPostCode = postCodeTextField.getText();
-		lastCountry = countryTextField.getText();
-		lastFullAddress = fullTextField.getText();
-		lastConvertToHousenumber = cbConvertToHouseNumbers.getState();
-
-	}
-
-
-
-	// Create edit control items and return JPanel on which they reside
-	private JPanel CreateEditControls() {
-
-		JPanel editControlsPane = new JPanel();
-		GridBagLayout gridbag = new GridBagLayout();
-		GridBagConstraints c = new GridBagConstraints();
-
-		editControlsPane.setLayout(gridbag);
-
-		editControlsPane.setBorder(BorderFactory.createEmptyBorder(15,15,15,15));
-
-
-		String streetName = selectedStreet.get("name");
-		String streetRelation = FindRelation();
-		if (streetRelation.equals("")) {
-			streetRelation = " (Create new)";
-		}
-		streetNameButton = new JRadioButton(tr("Name: {0}", streetName));
-		streetRelationButton = new JRadioButton(tr("Relation: {0}", streetRelation));
-		if (associatedStreetRelation == null) {
-			streetNameButton.setSelected(true);
-		}else {
-			streetRelationButton.setSelected(true);
-		}
-
-		// Create edit controls for street / relation radio buttons
-		ButtonGroup group = new ButtonGroup();
-		group.add(streetNameButton);
-		group.add(streetRelationButton);
-		JPanel radioButtonPanel = new JPanel(new BorderLayout());
-		radioButtonPanel.setBorder(BorderFactory.createTitledBorder(tr("Associate with street using:")));
-		radioButtonPanel.add(streetNameButton, BorderLayout.NORTH);
-		radioButtonPanel.add(streetRelationButton, BorderLayout.SOUTH);
-
-		// Add to edit panel
-		c.gridx = 0;
-		c.gridwidth = 2; // # of columns to span
-		c.fill = GridBagConstraints.HORIZONTAL;      // Full width
-		c.gridwidth = GridBagConstraints.REMAINDER;     //end row
-		editControlsPane.add(radioButtonPanel, c);
-
-		JLabel numberingLabel = new JLabel(tr("Numbering Scheme:"));
-		addrInterpolationList = new JComboBox(addrInterpolationStrings);
-
-		JLabel incrementLabel = new JLabel(tr("Increment:"));
-		incrementTextField = new JTextField(lastIncrement, 100);
-		incrementTextField.setEnabled(false);
-
-		JLabel startLabel = new JLabel(tr("Starting #:"));
-		JLabel endLabel = new JLabel(tr("Ending #:"));
-
-		startTextField = new JTextField(10);
-		endTextField = new JTextField(10);
-
-		JLabel inclusionLabel = new JLabel(tr("Accuracy:"));
-		addrInclusionList = new JComboBox(addrInclusionStrings);
-		addrInclusionList.setSelectedIndex(lastAccuracyIndex);
-
-		// Preload any values already set in map
-		GetExistingMapKeys();
-
-
-		JLabel[] textLabels = {startLabel, endLabel, numberingLabel, incrementLabel, inclusionLabel};
-		Component[] editFields = {startTextField, endTextField, addrInterpolationList, incrementTextField, addrInclusionList};
-		AddEditControlRows(textLabels, editFields,	editControlsPane);
-
-		cbConvertToHouseNumbers = new Checkbox(tr("Convert way to individual house numbers."), null, lastConvertToHousenumber);
-		// cbConvertToHouseNumbers.setSelected(lastConvertToHousenumber);
-
-		// Address interpolation fields not valid if Way not selected
-		if (addrInterpolationWay == null) {
-			addrInterpolationList.setEnabled(false);
-			startTextField.setEnabled(false);
-			endTextField.setEnabled(false);
-			cbConvertToHouseNumbers.setEnabled(false);
-		}
-
-
-
-		JPanel optionPanel = CreateOptionalFields();
-		c.gridx = 0;
-		c.gridwidth = 2; // # of columns to span
-		c.fill = GridBagConstraints.BOTH;      // Full width
-		c.gridwidth = GridBagConstraints.REMAINDER;     //end row
-
-		editControlsPane.add(optionPanel, c);
-
-
-		KeyAdapter enterProcessor = new KeyAdapter() {
-			@Override
-			public void keyPressed(KeyEvent e) {
-				if (e.getKeyCode() == KeyEvent.VK_ENTER) {
-					if (ValidateAndSave()) {
-						dialog.dispose();
-					}
-
-				}
-			}
-		};
-
-		// Make Enter == OK click on fields using this adapter
-		endTextField.addKeyListener(enterProcessor);
-		cityTextField.addKeyListener(enterProcessor);
-		addrInterpolationList.addKeyListener(enterProcessor);
-		incrementTextField.addKeyListener(enterProcessor);
-
-
-		// Watch when Interpolation Method combo box is selected so that
-		// it can auto-detect method based on entered numbers.
-		addrInterpolationList.addFocusListener(new FocusAdapter() {
-			@Override
-			public void focusGained(FocusEvent fe){
-				if (!interpolationMethodSet) {
-					if (AutoDetectInterpolationMethod()) {
-						interpolationMethodSet = true;  // Don't auto detect over a previous choice
-					}
-				}
-			}
-		});
-
-
-		// Watch when Interpolation Method combo box is changed so that
-		// Numeric increment box can be enabled or disabled.
-		addrInterpolationList.addActionListener(new ActionListener() {
-			public void actionPerformed(ActionEvent e){
-				int selectedIndex = addrInterpolationList.getSelectedIndex();
-				incrementTextField.setEnabled(selectedIndex == NumericIndex); // Enable or disable numeric field
-			}
-		});
-
-
-		editControlsPane.add(cbConvertToHouseNumbers, c);
-
-
-
-		if (houseNumberNodes.size() > 0) {
-			JLabel houseNumberNodeNote = new JLabel(tr("Will associate {0} additional house number nodes",
-					houseNumberNodes.size() ));
-			editControlsPane.add(houseNumberNodeNote, c);
-		}
-
-		editControlsPane.add(new UrlLabel("http://wiki.openstreetmap.org/wiki/JOSM/Plugins/AddrInterpolation",
-				tr("More information about this feature")), c);
-
-
-		c.gridx = 0;
-		c.gridwidth = 1; //next-to-last
-		c.fill = GridBagConstraints.NONE;      //reset to default
-		c.weightx = 0.0;
-		c.insets = new Insets(15, 0, 0, 0);
-		c.anchor = GridBagConstraints.LINE_END;
-		JButton okButton = new JButton(tr("OK"), ImageProvider.get("ok"));
-		editControlsPane.add(okButton, c);
-
-		c.gridx = 1;
-		c.gridwidth = GridBagConstraints.REMAINDER;     //end row
-		c.weightx = 1.0;
-		c.anchor = GridBagConstraints.LINE_START;
-
-		JButton cancelButton = new JButton(tr("Cancel"), ImageProvider.get("cancel"));
-		editControlsPane.add(cancelButton, c);
-
-		okButton.setActionCommand("ok");
-		okButton.addActionListener(this);
-		cancelButton.setActionCommand("cancel");
-		cancelButton.addActionListener(this);
-
-		return editControlsPane;
-	}
-
-
-
-	// Call after both starting and ending housenumbers have been entered - usually when
-	// combo box gets focus.
-	// Return true if a method was detected
-	private boolean AutoDetectInterpolationMethod() {
-
-		String startValueString = ReadTextField(startTextField);
-		String endValueString = ReadTextField(endTextField);
-		if ( (startValueString == null) || (endValueString== null) ) {
-			// Not all values entered yet
-			return false;
-		}
-
-		// String[] addrInterpolationTags = { "odd", "even", "all", "alphabetic", ### };  // Tag values for map
-
-		if (isLong(startValueString) && isLong(endValueString)) {
-			// Have 2 numeric values
-			long startValue = Long.parseLong( startValueString );
-			long endValue = Long.parseLong( endValueString );
-
-			if (isEven(startValue)) {
-				if (isEven(endValue)) {
-					SelectInterpolationMethod("even");
-				}
-				else {
-					SelectInterpolationMethod("all");
-				}
-			} else {
-				if (!isEven(endValue)) {
-					SelectInterpolationMethod("odd");
-				}
-				else {
-					SelectInterpolationMethod("all");
-				}
-			}
-
-
-		} else {
-			// Test for possible alpha
-			char startingChar = startValueString.charAt(startValueString.length()-1);
-			char endingChar = endValueString.charAt(endValueString.length()-1);
-
-			if ( (!IsNumeric("" + startingChar)) &&  (!IsNumeric("" + endingChar)) ) {
-				// Both end with alpha
-				SelectInterpolationMethod("alphabetic");
-				return true;
-			}
-
-			if ( (IsNumeric("" + startingChar)) &&  (!IsNumeric("" + endingChar)) ) {
-				endingChar = Character.toUpperCase(endingChar);
-				if ( (endingChar >= 'A') && (endingChar <= 'Z') ) {
-					// First is a number, last is Latin alpha
-					SelectInterpolationMethod("alphabetic");
-					return true;
-				}
-			}
-			
-			// Did not detect alpha
-			return false;
-
-		}
-		
-		return true;
-
-	}
-
-
-
-	// Set Interpolation Method combo box to method specified by 'currentMethod' (an OSM key value)
-	private void SelectInterpolationMethod(String currentMethod) {
-		int currentIndex = 0;
-		if (isLong(currentMethod)) {
-			// Valid number: Numeric increment method
-			currentIndex = addrInterpolationTags.length-1;
-			incrementTextField.setText(currentMethod);
-			incrementTextField.setEnabled(true);
-		}
-		else {
-			// Must scan OSM key values because combo box is already loaded with translated strings
-			for (int i=0; i<addrInterpolationTags.length; i++) {
-				if (addrInterpolationTags[i].equals(currentMethod)) {
-					currentIndex = i;
-					break;
-				}
-			}
-		}
-		addrInterpolationList.setSelectedIndex(currentIndex);
-
-	}
-
-
-	// Set Inclusion Method combo box to method specified by 'currentMethod' (an OSM key value)
-	private void SelectInclusion(String currentMethod) {
-		int currentIndex = 0;
-		// Must scan OSM key values because combo box is already loaded with translated strings
-		for (int i=0; i<addrInclusionTags.length; i++) {
-			if (addrInclusionTags[i].equals(currentMethod)) {
-				currentIndex = i;
-				break;
-			}
-		}
-		addrInclusionList.setSelectedIndex(currentIndex);
-
-	}
-
-
-
-	// Create optional control fields in a group box
-	private JPanel CreateOptionalFields() {
-
-		JPanel editControlsPane = new JPanel();
-		GridBagLayout gridbag = new GridBagLayout();
-
-		editControlsPane.setLayout(gridbag);
-
-		editControlsPane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
-
-		JLabel[] optionalTextLabels = {new JLabel(tr("City:")),
-				new JLabel(tr("State:")),
-				new JLabel(tr("Post Code:")),
-				new JLabel(tr("Country:")),
-				new JLabel(tr("Full Address:"))};
-		cityTextField = new JTextField(lastCity, 100);
-		stateTextField = new JTextField(lastState, 100);
-		postCodeTextField = new JTextField(lastPostCode, 20);
-		countryTextField = new JTextField(lastCountry, 2);
-		fullTextField = new JTextField(lastFullAddress, 300);
-
-		// Special processing for addr:country code, max length and uppercase
-		countryTextField.addKeyListener(new KeyAdapter() {
-			@Override
-			public void keyTyped(KeyEvent e) {
-				JTextField jtextfield = (JTextField)e.getSource();
-				String text = jtextfield.getText();
-				int length = text.length();
-				if (length == jtextfield.getColumns()) {
-					e.consume();
-				} else if (length > jtextfield.getColumns()) {
-					// show error message ??
-					e.consume();
-				} else {
-					// Accept key; convert to upper case
-					if (!e.isActionKey()) {
-						e.setKeyChar(Character.toUpperCase(e.getKeyChar()) );
-					}
-				}
-			}
-		});
-
-		Component[] optionalEditFields = {cityTextField, stateTextField, postCodeTextField, countryTextField, fullTextField};
-		AddEditControlRows(optionalTextLabels, optionalEditFields,	editControlsPane);
-
-
-
-		JPanel optionPanel = new JPanel(new BorderLayout());
-		Border groupBox = BorderFactory.createEtchedBorder();
-		TitledBorder titleBorder = BorderFactory.createTitledBorder(groupBox, tr("Optional Information:"),
-				TitledBorder.LEFT, TitledBorder.TOP);
-
-		optionPanel.setBorder(titleBorder);
-		optionPanel.add(editControlsPane, BorderLayout.CENTER);
-
-		return optionPanel;
-	}
-
-
-
-	// Populate dialog for any possible existing settings if editing an existing Address interpolation way
-	private void GetExistingMapKeys() {
-
-
-		// Check all nodes for optional addressing data
-		//    Address interpolation nodes will overwrite these value if they contain optional data
-		for (Node node : houseNumberNodes) {
-			CheckNodeForAddressTags(node);
-		}
-
-		if (addrInterpolationWay != null) {
-			String currentMethod = addrInterpolationWay.get("addr:interpolation");
-			if (currentMethod != null) {
-
-				SelectInterpolationMethod(currentMethod);
-				interpolationMethodSet = true;  // Don't auto detect over a previous choice
-			}
-
-			String currentInclusion = addrInterpolationWay.get("addr:inclusion");
-			if (currentInclusion != null) {
-				SelectInclusion(currentInclusion);
-			}
-
-			Node firstNode = addrInterpolationWay.getNode(0);
-			Node lastNode = addrInterpolationWay.getNode(addrInterpolationWay.getNodesCount()-1);
-
-			// Get any existing start / end # values
-			String value = firstNode.get("addr:housenumber");
-			if (value != null) {
-				startTextField.setText(value);
-			}
-
-			value = lastNode.get("addr:housenumber");
-			if (value != null) {
-				endTextField.setText(value);
-			}
-			CheckNodeForAddressTags(firstNode);
-			CheckNodeForAddressTags(lastNode);
-
-		}
-
-
-
-	}
-
-
-	// Check for any existing address data.   If found,
-	// overwrite any previous data
-	private void CheckNodeForAddressTags(Node checkNode) {
-
-		// Interrogate possible existing optional values
-		String value = checkNode.get("addr:city");
-		if (value != null) {
-			lastCity = value;
-		}
-		value = checkNode.get("addr:state");
-		if (value != null) {
-			lastState = value;
-		}
-		value = checkNode.get("addr:postcode");
-		if (value != null) {
-			lastPostCode = value;
-		}
-		value = checkNode.get("addr:country");
-		if (value != null) {
-			lastCountry = value;
-		}
-		value = checkNode.get("addr:full");
-		if (value != null) {
-			lastFullAddress = value;
-		}
-
-	}
-
-
-
-	// Look for a possible 'associatedStreet' type of relation for selected street
-	// Returns relation description, or an empty string
-	private String FindRelation() {
-		String relationDescription = null;
-		DataSet currentDataSet = Main.main.getCurrentDataSet();
-		if (currentDataSet != null) {
-			for (Relation relation : currentDataSet.getRelations()) {
-
-				String relationType = relation.get("type");
-				if (relationType != null) {
-					if (relationType.equals("associatedStreet")) {
-						for (RelationMember relationMember : relation.getMembers()) {
-							if (relationMember.isWay()){
-								Way way = (Way) relationMember.getMember();
-								// System.out.println("Name: " + way.get("name") );
-								if (way == selectedStreet) {
-									associatedStreetRelation = relation;
-									relationDescription = Long.toString(way.getId());
-
-									String streetName = "";
-									if (relation.getKeys().containsKey("name")) {
-										streetName =  relation.get("name");
-									} else {
-										// Relation is unnamed - use street name
-										streetName =  selectedStreet.get("name");
-									}
-									relationDescription += " (" + streetName + ")";
-									return relationDescription;
-								}
-							}
-
-						}
-					}
-
-				}
-			}
-
-		}
-
-		return "";
-	}
-
-
-	// We can proceed only if there is both a named way (the 'street') and
-	// one un-named way (the address interpolation way ) selected.
-	//    The plugin menu item is enabled after a single way is selected to display a more meaningful
-	//    message (a new user may not realize that they need to select both the street and
-	//    address interpolation way first).
-	// Also, selected street and working address interpolation ways are saved.
-	private boolean FindAndSaveSelections() {
-
-		boolean isValid = false;
-
-		int namedWayCount = 0;
-		int unNamedWayCount = 0;
-		DataSet currentDataSet = Main.main.getCurrentDataSet();
-		if (currentDataSet != null) {
-			for (OsmPrimitive osm : currentDataSet.getSelectedWays()) {
-				Way way = (Way) osm;
-				if (way.getKeys().containsKey("name")) {
-					namedWayCount++;
-					this.selectedStreet = way;
-				}
-				else {
-					unNamedWayCount++;
-					this.addrInterpolationWay = way;
-				}
-			}
-
-			// Get additional nodes with addr:housenumber tags:
-			//   Either selected or in the middle of the Address Interpolation way
-			//     Do not include end points of Address Interpolation way in this set yet.
-			houseNumberNodes  = new ArrayList<Node>();
-			// Check selected nodes
-			for (OsmPrimitive osm : currentDataSet.getSelectedNodes()) {
-				Node node = (Node) osm;
-				if (node.getKeys().containsKey("addr:housenumber")) {
-					houseNumberNodes.add(node);
-				}
-			}
-
-			if (addrInterpolationWay != null) {
-				// Check nodes in middle of address interpolation way
-				if (addrInterpolationWay.getNodesCount() > 2) {
-					for (int i=1; i<(addrInterpolationWay.getNodesCount()-2); i++) {
-						Node testNode = addrInterpolationWay.getNode(i);
-						if (testNode.getKeys().containsKey("addr:housenumber")) {
-							houseNumberNodes.add(testNode);
-						}
-					}
-				}
-			}
-
-		}
-
-		if (namedWayCount != 1) {
-			JOptionPane.showMessageDialog(
-					Main.parent,
-					tr("Please select a street to associate with address interpolation way"),
-					tr("Error"),
-					JOptionPane.ERROR_MESSAGE
-			);
-		} else {
-			// Avoid 2 error dialogs if both conditions don't match
-			if (unNamedWayCount != 1) {
-				// Allow for street + house number nodes only to be selected (no address interpolation way).
-				if (houseNumberNodes.size() > 0) {
-					isValid = true;
-				} else {
-					JOptionPane.showMessageDialog(
-							Main.parent,
-							tr("Please select address interpolation way for this street"),
-							tr("Error"),
-							JOptionPane.ERROR_MESSAGE
-					);
-				}
-			} else {
-				isValid = true;
-			}
-		}
-
-
-		return isValid;
-	}
-
-
-	/**
-	 * Add rows of edit controls - with labels in the left column, and controls in the right
-	 * column on the gridbag of the specified container.
-	 */
-	private void AddEditControlRows(JLabel[] labels,
-			Component[] editFields,
-			Container container) {
-		GridBagConstraints c = new GridBagConstraints();
-		c.anchor = GridBagConstraints.EAST;
-		int numLabels = labels.length;
-
-		for (int i = 0; i < numLabels; i++) {
-			c.gridx = 0;
-			c.gridwidth = 1; //next-to-last
-			c.fill = GridBagConstraints.NONE;      //reset to default
-			c.weightx = 0.0;                       //reset to default
-			container.add(labels[i], c);
-
-			c.gridx = 1;
-			c.gridwidth = GridBagConstraints.REMAINDER;     //end row
-			c.fill = GridBagConstraints.HORIZONTAL;
-			c.weightx = 1.0;
-			container.add(editFields[i], c);
-		}
-	}
-
-
-
-	public void actionPerformed(ActionEvent e) {
-		if ("ok".equals(e.getActionCommand())) {
-			if (ValidateAndSave()) {
-				dialog.dispose();
-			}
-
-		} else  if ("cancel".equals(e.getActionCommand())) {
-			dialog.dispose();
-
-		}
-	}
-
-
-
-	// For Alpha interpolation, return base string
-	//   For example: "22A" -> "22"
-	//   For example: "A" -> ""
-	//    Input string must not be empty
-	private String BaseAlpha(String strValue) {
-		if (strValue.length() > 0) {
-			return strValue.substring(0, strValue.length()-1);
-		}
-		else {
-			return "";
-		}
-	}
-
-
-	private char LastChar(String strValue) {
-		if (strValue.length() > 0) {
-			return strValue.charAt(strValue.length()-1);
-		}
-		else {
-			return 0;
-		}
-	}
-
-
-	// Test for valid positive long int
-	private boolean isLong( String input )
-	{
-		try
-		{
-			Long val = Long.parseLong( input );
-			return (val > 0);
-		}
-		catch( Exception e)
-		{
-			return false;
-		}
-	}
-
-	private boolean isEven( Long input )
-	{
-		return ((input %2) == 0);
-	}
-
-	private static Pattern p = Pattern.compile("^[0-9]+$");
-	private static boolean IsNumeric(String s) {
-		return p.matcher(s).matches();
-	}
-
-
-	private void InterpolateAlphaSection(int startNodeIndex, int endNodeIndex, String endValueString,
-			char startingChar, char endingChar) {
-
-
-		String baseAlpha = BaseAlpha(endValueString);
-		int nSegments  =endNodeIndex - startNodeIndex;
-
-		double[] segmentLengths = new double[nSegments];
-		// Total length of address interpolation way section
-		double totalLength= CalculateSegmentLengths(startNodeIndex, endNodeIndex, segmentLengths);
-
-
-		int nHouses = endingChar - startingChar-1;  // # of house number nodes to create
-		if (nHouses > 0) {
-
-			double houseSpacing = totalLength / (nHouses+1);
-
-			Node lastHouseNode = addrInterpolationWay.getNode(startNodeIndex);
-			int currentSegment = 0; // Segment being used to place new house # node
-			char currentChar= startingChar;
-			while (nHouses > 0) {
-				double distanceNeeded = houseSpacing;
-
-				// Move along segments until we can place the new house number
-				while (distanceNeeded > segmentLengths[currentSegment]) {
-					distanceNeeded -= segmentLengths[currentSegment];
-					currentSegment++;
-					lastHouseNode = addrInterpolationWay.getNode(startNodeIndex + currentSegment);
-				}
-
-				// House number is to be positioned in current segment.
-				double proportion = distanceNeeded / segmentLengths[currentSegment];
-				Node toNode = addrInterpolationWay.getNode(startNodeIndex + 1 + currentSegment);
-				LatLon newHouseNumberPosition = lastHouseNode.getCoor().interpolate(toNode.getCoor(), proportion);
-
-
-
-				Node newHouseNumberNode = new Node(newHouseNumberPosition);
-				currentChar++;
-				if ( (currentChar >'Z') && (currentChar <'a')) {
-					// Wraparound past uppercase Z: go directly to lower case a
-					currentChar = 'a';
-
-				}
-				String newHouseNumber = baseAlpha + currentChar;
-				newHouseNumberNode.put("addr:housenumber", newHouseNumber);
-
-				commandGroup.add(new AddCommand(newHouseNumberNode));
-				houseNumberNodes.add(newHouseNumberNode);   // Street, etc information to be added later
-
-				lastHouseNode = newHouseNumberNode;
-
-
-				segmentLengths[currentSegment] -= distanceNeeded; // Track amount used
-				nHouses -- ;
-			}
-		}
-
-
-	}
-
-
-	private void CreateAlphaInterpolation(String startValueString, String endValueString) {
-		char startingChar = LastChar(startValueString);
-		char endingChar = LastChar(endValueString);
-
-		if (isLong(startValueString)) {
-			// Special case of numeric first value, followed by 'A'
-			startingChar = 'A'-1;
-		}
-
-		// Search for possible anchors from the 2nd node to 2nd from last, interpolating between each anchor
-		int startIndex = 0; // Index into first interpolation zone of address interpolation way
-		for (int i=1; i<addrInterpolationWay.getNodesCount()-1; i++) {
-			Node testNode = addrInterpolationWay.getNode(i);
-			String endNodeNumber = testNode.get("addr:housenumber");
-			if (endNodeNumber != null) {
-				// This is a potential anchor node
-				if (endNodeNumber != "") {
-					char anchorChar = LastChar(endNodeNumber);
-					if ( (anchorChar >startingChar) && (anchorChar < endingChar) ) {
-						// Lies within the expected range
-						InterpolateAlphaSection(startIndex, i, endNodeNumber, startingChar, anchorChar);
-
-						// For next interpolation section
-						startingChar = anchorChar;
-						startValueString = endNodeNumber;
-						startIndex = i;
-					}
-				}
-
-			}
-		}
-
-		// End nodes do not actually contain housenumber value yet (command has not executed), so use user-entered value
-		InterpolateAlphaSection(startIndex, addrInterpolationWay.getNodesCount()-1, endValueString, startingChar, endingChar);
-
-	}
-
-
-	private double CalculateSegmentLengths(int startNodeIndex, int endNodeIndex, double segmentLengths[]) {
-		Node fromNode = addrInterpolationWay.getNode(startNodeIndex);
-		double totalLength = 0.0;
-		int nSegments = segmentLengths.length;
-		for (int segment = 0; segment < nSegments; segment++) {
-			Node toNode = addrInterpolationWay.getNode(startNodeIndex + 1 + segment);
-			segmentLengths[segment]= fromNode.getCoor().greatCircleDistance(toNode.getCoor());
-			totalLength += segmentLengths[segment];
-
-			fromNode = toNode;
-		}
-		return totalLength;
-
-	}
-
-
-	private void InterpolateNumericSection(int startNodeIndex, int endNodeIndex,
-			long startingAddr, long endingAddr,
-			long increment) {
-
-
-		int nSegments  =endNodeIndex - startNodeIndex;
-
-		double[] segmentLengths = new double[nSegments];
-
-		// Total length of address interpolation way section
-		double totalLength= CalculateSegmentLengths(startNodeIndex, endNodeIndex, segmentLengths);
-
-
-		int nHouses = (int)((endingAddr - startingAddr) / increment) -1;
-		if (nHouses > 0) {
-
-			double houseSpacing = totalLength / (nHouses+1);
-
-			Node lastHouseNode = addrInterpolationWay.getNode(startNodeIndex);
-			int currentSegment = 0; // Segment being used to place new house # node
-			long currentHouseNumber = startingAddr;
-			while (nHouses > 0) {
-				double distanceNeeded = houseSpacing;
-
-				// Move along segments until we can place the new house number
-				while (distanceNeeded > segmentLengths[currentSegment]) {
-					distanceNeeded -= segmentLengths[currentSegment];
-					currentSegment++;
-					lastHouseNode = addrInterpolationWay.getNode(startNodeIndex + currentSegment);
-				}
-
-				// House number is to be positioned in current segment.
-				double proportion = distanceNeeded / segmentLengths[currentSegment];
-				Node toNode = addrInterpolationWay.getNode(startNodeIndex + 1 + currentSegment);
-				LatLon newHouseNumberPosition = lastHouseNode.getCoor().interpolate(toNode.getCoor(), proportion);
-
-
-				Node newHouseNumberNode = new Node(newHouseNumberPosition);
-				currentHouseNumber += increment;
-				String newHouseNumber = Long.toString(currentHouseNumber);
-				newHouseNumberNode.put("addr:housenumber", newHouseNumber);
-
-				commandGroup.add(new AddCommand(newHouseNumberNode));
-				houseNumberNodes.add(newHouseNumberNode);   // Street, etc information to be added later
-
-				lastHouseNode = newHouseNumberNode;
-
-
-				segmentLengths[currentSegment] -= distanceNeeded; // Track amount used
-				nHouses -- ;
-			}
-		}
-
-
-	}
-
-
-	private void CreateNumericInterpolation(String startValueString, String endValueString, long increment) {
-
-		long startingAddr = Long.parseLong( startValueString );
-		long endingAddr = Long.parseLong( endValueString );
-
-
-		// Search for possible anchors from the 2nd node to 2nd from last, interpolating between each anchor
-		int startIndex = 0; // Index into first interpolation zone of address interpolation way
-		for (int i=1; i<addrInterpolationWay.getNodesCount()-1; i++) {
-			Node testNode = addrInterpolationWay.getNode(i);
-			String strEndNodeNumber = testNode.get("addr:housenumber");
-			if (strEndNodeNumber != null) {
-				// This is a potential anchor node
-				if (isLong(strEndNodeNumber)) {
-
-					long anchorAddrNumber = Long.parseLong( strEndNodeNumber );
-					if ( (anchorAddrNumber >startingAddr) && (anchorAddrNumber < endingAddr) ) {
-						// Lies within the expected range
-						InterpolateNumericSection(startIndex, i, startingAddr, anchorAddrNumber, increment);
-
-						// For next interpolation section
-						startingAddr = anchorAddrNumber;
-						startValueString = strEndNodeNumber;
-						startIndex = i;
-					}
-				}
-
-			}
-		}
-
-		// End nodes do not actually contain housenumber value yet (command has not executed), so use user-entered value
-		InterpolateNumericSection(startIndex, addrInterpolationWay.getNodesCount()-1, startingAddr, endingAddr, increment);
-	}
-
-
-	// Called if user has checked "Convert to House Numbers" checkbox.
-	private void ConvertWayToHousenumbers(String selectedMethod, String startValueString, String endValueString,
-			String incrementString) {
-		// - Use nodes labeled with 'same type' as interim anchors in the middle of the way to identify unequal spacing.
-		// - Ignore nodes of different type; for example '25b' is ignored in sequence 5..15
-
-		// Calculate required number of house numbers to create
-		if (selectedMethod.equals("alphabetic")) {
-
-			CreateAlphaInterpolation(startValueString, endValueString);
-
-
-		} else {
-			long increment = 1;
-			if (selectedMethod.equals("odd") || selectedMethod.equals("even")) {
-				increment = 2;
-			} else if (selectedMethod.equals("Numeric")) {
-				increment = Long.parseLong(incrementString);
-			}
-			CreateNumericInterpolation(startValueString, endValueString, increment);
-
-		}
-
-
-		RemoveAddressInterpolationWay();
-
-	}
-
-
-	private void RemoveAddressInterpolationWay() {
-
-		// Remove untagged nodes
-		for (int i=1; i<addrInterpolationWay.getNodesCount()-1; i++) {
-			Node testNode = addrInterpolationWay.getNode(i);
-			if (!testNode.hasKeys()) {
-				commandGroup.add(new DeleteCommand(testNode));
-			}
-		}
-
-		// Remove way
-		commandGroup.add(new DeleteCommand(addrInterpolationWay));
-		addrInterpolationWay = null;
-
-	}
-
-
-
-	private boolean ValidateAndSave() {
-
-		String startValueString = ReadTextField(startTextField);
-		String endValueString = ReadTextField(endTextField);
-		String incrementString = ReadTextField(incrementTextField);
-		String city = ReadTextField(cityTextField);
-		String state = ReadTextField(stateTextField);
-		String postCode = ReadTextField(postCodeTextField);
-		String country = ReadTextField(countryTextField);
-		String fullAddress = ReadTextField(fullTextField);
-
-		String selectedMethod = GetInterpolationMethod();
-		if (addrInterpolationWay != null) {
-			Long startAddr=0L, endAddr=0L;
-			if (!selectedMethod.equals("alphabetic")) {
-				Long[] addrArray = {startAddr, endAddr};
-				if (!ValidAddressNumbers(startValueString, endValueString, addrArray )) {
-					return false;
-				}
-				startAddr = addrArray[0];
-				endAddr = addrArray[1];
-			}
-
-			String errorMessage = "";
-			if (selectedMethod.equals("odd")) {
-				if (isEven(startAddr) || isEven(endAddr)) {
-					errorMessage = tr("Expected odd numbers for addresses");
-				}
-
-			} else if (selectedMethod.equals("even")) {
-				if (!isEven(startAddr) || !isEven(endAddr)) {
-					errorMessage = tr("Expected even numbers for addresses");
-				}
-			} else if (selectedMethod.equals("all")) {
-
-			}else if (selectedMethod.equals("alphabetic")) {
-				errorMessage = ValidateAlphaAddress(startValueString, endValueString);
-
-			}else if (selectedMethod.equals("Numeric")) {
-
-				if (!ValidNumericIncrementString(incrementString, startAddr, endAddr)) {
-					errorMessage = tr("Expected valid number for address increment");
-				}
-
-			}
-			if (!errorMessage.equals("")) {
-				JOptionPane.showMessageDialog(Main.parent, errorMessage, tr("Error"), 	JOptionPane.ERROR_MESSAGE);
-				return false;
-			}
-		}
-
-		if (country != null) {
-			if (country.length() != 2) {
-				JOptionPane.showMessageDialog(Main.parent,
-						tr("Country code must be 2 letters"), tr("Error"), 	JOptionPane.ERROR_MESSAGE);
-				return false;
-			}
-		}
-
-		// Entries are valid ... save in map
-
-		commandGroup = new LinkedList<Command>();
-
-		String streetName = selectedStreet.get("name");
-
-		if (addrInterpolationWay != null) {
-
-			Node firstNode = addrInterpolationWay.getNode(0);
-			Node lastNode = addrInterpolationWay.getNode(addrInterpolationWay.getNodesCount()-1);
-
-			// De-select address interpolation way; leave street selected
-			DataSet currentDataSet = Main.main.getCurrentDataSet();
-			if (currentDataSet != null) {
-				currentDataSet.clearSelection(addrInterpolationWay);
-				currentDataSet.clearSelection(lastNode);  // Workaround for JOSM Bug #3838
-			}
-
-
-			String interpolationTagValue = selectedMethod;
-			if (selectedMethod.equals("Numeric")) {
-				// The interpolation method is the number for 'Numeric' case
-				interpolationTagValue = incrementString;
-			}
-
-			if (cbConvertToHouseNumbers.getState()) {
-				// Convert way to house numbers is checked.
-				//  Create individual nodes and delete interpolation way
-				ConvertWayToHousenumbers(selectedMethod, startValueString, endValueString, incrementString);
-			} else {
-				// Address interpolation way will remain
-				commandGroup.add(new ChangePropertyCommand(addrInterpolationWay, "addr:interpolation", interpolationTagValue));
-				commandGroup.add(new ChangePropertyCommand(addrInterpolationWay, "addr:inclusion", GetInclusionMethod()));
-			}
-
-			commandGroup.add(new ChangePropertyCommand(firstNode, "addr:housenumber", startValueString));
-			commandGroup.add(new ChangePropertyCommand(lastNode, "addr:housenumber", endValueString));
-			// Add address interpolation house number nodes to main house number node list for common processing
-			houseNumberNodes.add(firstNode);
-			houseNumberNodes.add(lastNode);
-
-		}
-
-
-
-		if (streetRelationButton.isSelected()) {
-
-			// Relation button was selected
-			if (associatedStreetRelation == null) {
-				CreateRelation(streetName);
-				// relationChanged = true;   (not changed since it was created)
-			}
-			// Make any additional changes only to the copy
-			editedRelation = new Relation(associatedStreetRelation);
-
-			if (addrInterpolationWay != null) {
-				AddToRelation(associatedStreetRelation, addrInterpolationWay, "house");
-			}
-		}
-
-
-		// For all nodes, add to relation and
-		//   Add optional text fields to all nodes if specified
-		for (Node node : houseNumberNodes) {
-
-			if (streetRelationButton.isSelected()) {
-				AddToRelation(associatedStreetRelation, node, "house");
-			}
-			if ((city != null) || (streetNameButton.isSelected()) ) {
-				// Include street unconditionally if adding nodes only or city name specified
-				commandGroup.add(new ChangePropertyCommand(node, "addr:street", streetName));
-			}
-			// Set or remove remaining optional fields
-			commandGroup.add(new ChangePropertyCommand(node, "addr:city", city));
-			commandGroup.add(new ChangePropertyCommand(node, "addr:state", state));
-			commandGroup.add(new ChangePropertyCommand(node, "addr:postcode", postCode));
-			commandGroup.add(new ChangePropertyCommand(node, "addr:country", country));
-			commandGroup.add(new ChangePropertyCommand(node, "addr:full", fullAddress));
-		}
-
-		if (relationChanged) {
-			commandGroup.add(new ChangeCommand(associatedStreetRelation, editedRelation));
-		}
-
-
-		Main.main.undoRedo.add(new SequenceCommand(tr("Address Interpolation"), commandGroup));
-		Main.map.repaint();
-
-		return true;
-	}
-
-
-	private boolean ValidNumericIncrementString(String incrementString, long startingAddr, long endingAddr) {
-
-		if (!isLong(incrementString)) {
-			return false;
-		}
-		long testIncrement = Long.parseLong(incrementString);
-		if ( (testIncrement <=0) || (testIncrement > endingAddr ) ) {
-			return false;
-		}
-
-		if ( ((endingAddr - startingAddr) % testIncrement) != 0) {
-			return false;
-		}
-		return true;
-	}
-
-
-
-	// Create Associated Street relation, add street, and add to list of commands to perform
-	private void CreateRelation(String streetName) {
-		associatedStreetRelation = new Relation();
-		associatedStreetRelation.put("name", streetName);
-		associatedStreetRelation.put("type", "associatedStreet");
-		RelationMember newStreetMember = new RelationMember("street", selectedStreet);
-		associatedStreetRelation.addMember(newStreetMember);
-		commandGroup.add(new AddCommand(associatedStreetRelation));
-	}
-
-
-
-	// Read from dialog text box, removing leading and trailing spaces
-	// Return the string, or null for a zero length string
-	private String ReadTextField(JTextField field) {
-		String value = field.getText();
-		if (value != null) {
-			value = value.trim();
-			if (value.equals("")) {
-				value = null;
-			}
-		}
-		return value;
-	}
-
-
-	// Test if relation contains specified member
-	//   If not already present, it is added
-	private void AddToRelation(Relation relation, 	OsmPrimitive testMember, String role) {
-		boolean isFound = false;
-		for (RelationMember relationMember : relation.getMembers()) {
-
-			if (testMember == relationMember.getMember()) {
-				isFound = true;
-				break;
-			}
-		}
-
-		if (!isFound) {
-			RelationMember newMember = new RelationMember(role, testMember);
-			editedRelation.addMember(newMember);
-
-			relationChanged = true;
-		}
-	}
-
-
-
-	// Check alphabetic style address
-	//   Last character of both must be alpha
-	//   Last character of ending must be greater than starting
-	//   Return empty error message if OK
-	private String ValidateAlphaAddress(String startValueString,
-			String endValueString) {
-		String errorMessage="";
-
-		if (startValueString.equals("") || endValueString.equals("")) {
-			errorMessage = tr("Please enter valid number for starting and ending address");
-		} else {
-			char startingChar = LastChar(startValueString);
-			char endingChar = LastChar(endValueString);
-
-
-			boolean isOk = false;
-			if ( (IsNumeric("" + startingChar)) &&  (!IsNumeric("" + endingChar)) ) {
-				endingChar = Character.toUpperCase(endingChar);
-				if ( (endingChar >= 'A') && (endingChar <= 'Z') ) {
-					// First is a number, last is Latin alpha
-					isOk = true;
-				}
-			} else if ( (!IsNumeric("" + startingChar)) && (!IsNumeric("" + endingChar)) ) {
-				// Both are alpha
-				isOk = true;
-			}
-			if (!isOk) {
-				errorMessage = tr("Alphabetic address must end with a letter");
-			}
-
-
-			// if a number is included, validate that it is the same number
-			if (endValueString.length() > 1) {
-
-				// Get number portion of first item: may or may not have letter suffix
-				String numStart = BaseAlpha(startValueString);
-				if (IsNumeric(startValueString)) {
-					numStart = startValueString;
-				}
-
-				String numEnd = BaseAlpha(endValueString);
-				if (!numStart.equals(numEnd)) {
-					errorMessage = tr("Starting and ending numbers must be the same for alphabetic addresses");
-				}
-			}
-
-			// ?? Character collation in all languages ??
-			if (startingChar >= endingChar) {
-				errorMessage = tr("Starting address letter must be less than ending address letter");
-			}
-
-		}
-
-		return errorMessage;
-	}
-
-
-
-	// Convert string addresses to numeric, with error check
-	private boolean ValidAddressNumbers(String startValueString,
-			String endValueString, Long[] addrArray) {
-		String errorMessage = "";
-
-		if (!isLong(startValueString)) {
-			errorMessage = tr("Please enter valid number for starting address");
-		}
-		if (!isLong(endValueString)) {
-			errorMessage = tr("Please enter valid number for ending address");
-		}
-		if (errorMessage.equals("")) {
-			addrArray[0] = Long.parseLong( startValueString );
-			addrArray[1] = Long.parseLong( endValueString );
-
-			if (addrArray[1] <= addrArray[0]) {
-				errorMessage = tr("Starting address number must be less than ending address number");
-			}
-		}
-
-		if (errorMessage.equals("")) {
-			return true;
-
-		} else {
-			JOptionPane.showMessageDialog(Main.parent, errorMessage, tr("Error"), 	JOptionPane.ERROR_MESSAGE);
-			return false;
-		}
-	}
-
-
-
-	private String GetInterpolationMethod() {
-		int selectedIndex = addrInterpolationList.getSelectedIndex();
-		return addrInterpolationTags[selectedIndex];
-	}
-
-
-	private String GetInclusionMethod() {
-		int selectedIndex = addrInclusionList.getSelectedIndex();
-		lastAccuracyIndex = selectedIndex;
-		return addrInclusionTags[selectedIndex];
-	}
+    private Way selectedStreet = null;
+    private Way addrInterpolationWay = null;
+    private Relation associatedStreetRelation = null;
+    private ArrayList<Node> houseNumberNodes = null;  // Additional nodes with addr:housenumber
+
+    private static String lastIncrement = "";
+    private static int lastAccuracyIndex = 0;
+    private static String lastCity = "";
+    private static String lastState = "";
+    private static String lastPostCode = "";
+    private static String lastCountry = "";
+    private static String lastFullAddress = "";
+    private static boolean lastConvertToHousenumber = false;
+
+    // Edit controls
+    private EscapeDialog dialog=null;
+    private JRadioButton streetNameButton = null;
+    private JRadioButton streetRelationButton  = null;
+    private JTextField startTextField = null;
+    private JTextField endTextField = null;
+    private JTextField incrementTextField = null;
+    private JTextField cityTextField = null;
+    private JTextField stateTextField = null;
+    private JTextField postCodeTextField = null;
+    private JTextField countryTextField = null;
+    private JTextField fullTextField = null;
+    private Checkbox cbConvertToHouseNumbers = null;
+
+    private boolean relationChanged = false; // Whether to re-trigger data changed for relation
+    // Track whether interpolation method is known so that auto detect doesn't override a previous choice.
+    private boolean interpolationMethodSet = false;
+
+
+    // NOTE: The following 2 arrays must match in number of elements and position
+    // Tag values for map (Except that 'Numeric' is replaced by actual # on map)
+    String[] addrInterpolationTags = { "odd", "even", "all", "alphabetic", "Numeric" };
+    String[] addrInterpolationStrings = { tr("Odd"), tr("Even"), tr("All"), tr("Alphabetic"), tr("Numeric") }; // Translatable names for display
+    private final int NumericIndex = 4;
+    private JComboBox addrInterpolationList = null;
+
+    // NOTE: The following 2 arrays must match in number of elements and position
+    String[] addrInclusionTags = { "actual", "estimate", "potential" }; // Tag values for map
+    String[] addrInclusionStrings = { tr("Actual"), tr("Estimate"), tr("Potential") }; // Translatable names for display
+    private JComboBox addrInclusionList = null;
+
+
+
+    // For tracking edit changes as group for undo
+    private Collection<Command> commandGroup = null;
+    private Relation editedRelation = null;
+
+    public AddrInterpolationDialog(String name) {
+
+        if (!FindAndSaveSelections()) {
+            return;
+        }
+
+        JPanel editControlsPane = CreateEditControls();
+
+        ShowDialog(editControlsPane, name);
+
+    }
+
+
+
+    private void ShowDialog(JPanel editControlsPane, String name) {
+        dialog = new EscapeDialog((Frame) Main.parent, name, true);
+
+        dialog.add(editControlsPane);
+        dialog.setSize(new Dimension(300,500));
+        dialog.setLocation(new Point(100,300));
+
+        // Listen for windowOpened event to set focus
+        dialog.addWindowListener( new WindowAdapter()
+        {
+            @Override
+            public void windowOpened( WindowEvent e )
+            {
+                if (addrInterpolationWay != null) {
+                    startTextField.requestFocus();
+                }
+                else {
+                    cityTextField.requestFocus();
+                }
+            }
+        });
+
+        dialog.setVisible(true);
+
+        lastIncrement = incrementTextField.getText();
+        lastCity = cityTextField.getText();
+        lastState = stateTextField.getText();
+        lastPostCode = postCodeTextField.getText();
+        lastCountry = countryTextField.getText();
+        lastFullAddress = fullTextField.getText();
+        lastConvertToHousenumber = cbConvertToHouseNumbers.getState();
+
+    }
+
+
+
+    // Create edit control items and return JPanel on which they reside
+    private JPanel CreateEditControls() {
+
+        JPanel editControlsPane = new JPanel();
+        GridBagLayout gridbag = new GridBagLayout();
+        GridBagConstraints c = new GridBagConstraints();
+
+        editControlsPane.setLayout(gridbag);
+
+        editControlsPane.setBorder(BorderFactory.createEmptyBorder(15,15,15,15));
+
+
+        String streetName = selectedStreet.get("name");
+        String streetRelation = FindRelation();
+        if (streetRelation.equals("")) {
+            streetRelation = " (Create new)";
+        }
+        streetNameButton = new JRadioButton(tr("Name: {0}", streetName));
+        streetRelationButton = new JRadioButton(tr("Relation: {0}", streetRelation));
+        if (associatedStreetRelation == null) {
+            streetNameButton.setSelected(true);
+        }else {
+            streetRelationButton.setSelected(true);
+        }
+
+        // Create edit controls for street / relation radio buttons
+        ButtonGroup group = new ButtonGroup();
+        group.add(streetNameButton);
+        group.add(streetRelationButton);
+        JPanel radioButtonPanel = new JPanel(new BorderLayout());
+        radioButtonPanel.setBorder(BorderFactory.createTitledBorder(tr("Associate with street using:")));
+        radioButtonPanel.add(streetNameButton, BorderLayout.NORTH);
+        radioButtonPanel.add(streetRelationButton, BorderLayout.SOUTH);
+
+        // Add to edit panel
+        c.gridx = 0;
+        c.gridwidth = 2; // # of columns to span
+        c.fill = GridBagConstraints.HORIZONTAL;      // Full width
+        c.gridwidth = GridBagConstraints.REMAINDER;     //end row
+        editControlsPane.add(radioButtonPanel, c);
+
+        JLabel numberingLabel = new JLabel(tr("Numbering Scheme:"));
+        addrInterpolationList = new JComboBox(addrInterpolationStrings);
+
+        JLabel incrementLabel = new JLabel(tr("Increment:"));
+        incrementTextField = new JTextField(lastIncrement, 100);
+        incrementTextField.setEnabled(false);
+
+        JLabel startLabel = new JLabel(tr("Starting #:"));
+        JLabel endLabel = new JLabel(tr("Ending #:"));
+
+        startTextField = new JTextField(10);
+        endTextField = new JTextField(10);
+
+        JLabel inclusionLabel = new JLabel(tr("Accuracy:"));
+        addrInclusionList = new JComboBox(addrInclusionStrings);
+        addrInclusionList.setSelectedIndex(lastAccuracyIndex);
+
+        // Preload any values already set in map
+        GetExistingMapKeys();
+
+
+        JLabel[] textLabels = {startLabel, endLabel, numberingLabel, incrementLabel, inclusionLabel};
+        Component[] editFields = {startTextField, endTextField, addrInterpolationList, incrementTextField, addrInclusionList};
+        AddEditControlRows(textLabels, editFields,  editControlsPane);
+
+        cbConvertToHouseNumbers = new Checkbox(tr("Convert way to individual house numbers."), null, lastConvertToHousenumber);
+        // cbConvertToHouseNumbers.setSelected(lastConvertToHousenumber);
+
+        // Address interpolation fields not valid if Way not selected
+        if (addrInterpolationWay == null) {
+            addrInterpolationList.setEnabled(false);
+            startTextField.setEnabled(false);
+            endTextField.setEnabled(false);
+            cbConvertToHouseNumbers.setEnabled(false);
+        }
+
+
+
+        JPanel optionPanel = CreateOptionalFields();
+        c.gridx = 0;
+        c.gridwidth = 2; // # of columns to span
+        c.fill = GridBagConstraints.BOTH;      // Full width
+        c.gridwidth = GridBagConstraints.REMAINDER;     //end row
+
+        editControlsPane.add(optionPanel, c);
+
+
+        KeyAdapter enterProcessor = new KeyAdapter() {
+            @Override
+            public void keyPressed(KeyEvent e) {
+                if (e.getKeyCode() == KeyEvent.VK_ENTER) {
+                    if (ValidateAndSave()) {
+                        dialog.dispose();
+                    }
+
+                }
+            }
+        };
+
+        // Make Enter == OK click on fields using this adapter
+        endTextField.addKeyListener(enterProcessor);
+        cityTextField.addKeyListener(enterProcessor);
+        addrInterpolationList.addKeyListener(enterProcessor);
+        incrementTextField.addKeyListener(enterProcessor);
+
+
+        // Watch when Interpolation Method combo box is selected so that
+        // it can auto-detect method based on entered numbers.
+        addrInterpolationList.addFocusListener(new FocusAdapter() {
+            @Override
+            public void focusGained(FocusEvent fe){
+                if (!interpolationMethodSet) {
+                    if (AutoDetectInterpolationMethod()) {
+                        interpolationMethodSet = true;  // Don't auto detect over a previous choice
+                    }
+                }
+            }
+        });
+
+
+        // Watch when Interpolation Method combo box is changed so that
+        // Numeric increment box can be enabled or disabled.
+        addrInterpolationList.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e){
+                int selectedIndex = addrInterpolationList.getSelectedIndex();
+                incrementTextField.setEnabled(selectedIndex == NumericIndex); // Enable or disable numeric field
+            }
+        });
+
+
+        editControlsPane.add(cbConvertToHouseNumbers, c);
+
+
+
+        if (houseNumberNodes.size() > 0) {
+            JLabel houseNumberNodeNote = new JLabel(tr("Will associate {0} additional house number nodes",
+                    houseNumberNodes.size() ));
+            editControlsPane.add(houseNumberNodeNote, c);
+        }
+
+        editControlsPane.add(new UrlLabel("http://wiki.openstreetmap.org/wiki/JOSM/Plugins/AddrInterpolation",
+                tr("More information about this feature")), c);
+
+
+        c.gridx = 0;
+        c.gridwidth = 1; //next-to-last
+        c.fill = GridBagConstraints.NONE;      //reset to default
+        c.weightx = 0.0;
+        c.insets = new Insets(15, 0, 0, 0);
+        c.anchor = GridBagConstraints.LINE_END;
+        JButton okButton = new JButton(tr("OK"), ImageProvider.get("ok"));
+        editControlsPane.add(okButton, c);
+
+        c.gridx = 1;
+        c.gridwidth = GridBagConstraints.REMAINDER;     //end row
+        c.weightx = 1.0;
+        c.anchor = GridBagConstraints.LINE_START;
+
+        JButton cancelButton = new JButton(tr("Cancel"), ImageProvider.get("cancel"));
+        editControlsPane.add(cancelButton, c);
+
+        okButton.setActionCommand("ok");
+        okButton.addActionListener(this);
+        cancelButton.setActionCommand("cancel");
+        cancelButton.addActionListener(this);
+
+        return editControlsPane;
+    }
+
+
+
+    // Call after both starting and ending housenumbers have been entered - usually when
+    // combo box gets focus.
+    // Return true if a method was detected
+    private boolean AutoDetectInterpolationMethod() {
+
+        String startValueString = ReadTextField(startTextField);
+        String endValueString = ReadTextField(endTextField);
+        if ( (startValueString == null) || (endValueString== null) ) {
+            // Not all values entered yet
+            return false;
+        }
+
+        // String[] addrInterpolationTags = { "odd", "even", "all", "alphabetic", ### };  // Tag values for map
+
+        if (isLong(startValueString) && isLong(endValueString)) {
+            // Have 2 numeric values
+            long startValue = Long.parseLong( startValueString );
+            long endValue = Long.parseLong( endValueString );
+
+            if (isEven(startValue)) {
+                if (isEven(endValue)) {
+                    SelectInterpolationMethod("even");
+                }
+                else {
+                    SelectInterpolationMethod("all");
+                }
+            } else {
+                if (!isEven(endValue)) {
+                    SelectInterpolationMethod("odd");
+                }
+                else {
+                    SelectInterpolationMethod("all");
+                }
+            }
+
+
+        } else {
+            // Test for possible alpha
+            char startingChar = startValueString.charAt(startValueString.length()-1);
+            char endingChar = endValueString.charAt(endValueString.length()-1);
+
+            if ( (!IsNumeric("" + startingChar)) &&  (!IsNumeric("" + endingChar)) ) {
+                // Both end with alpha
+                SelectInterpolationMethod("alphabetic");
+                return true;
+            }
+
+            if ( (IsNumeric("" + startingChar)) &&  (!IsNumeric("" + endingChar)) ) {
+                endingChar = Character.toUpperCase(endingChar);
+                if ( (endingChar >= 'A') && (endingChar <= 'Z') ) {
+                    // First is a number, last is Latin alpha
+                    SelectInterpolationMethod("alphabetic");
+                    return true;
+                }
+            }
+            
+            // Did not detect alpha
+            return false;
+
+        }
+        
+        return true;
+
+    }
+
+
+
+    // Set Interpolation Method combo box to method specified by 'currentMethod' (an OSM key value)
+    private void SelectInterpolationMethod(String currentMethod) {
+        int currentIndex = 0;
+        if (isLong(currentMethod)) {
+            // Valid number: Numeric increment method
+            currentIndex = addrInterpolationTags.length-1;
+            incrementTextField.setText(currentMethod);
+            incrementTextField.setEnabled(true);
+        }
+        else {
+            // Must scan OSM key values because combo box is already loaded with translated strings
+            for (int i=0; i<addrInterpolationTags.length; i++) {
+                if (addrInterpolationTags[i].equals(currentMethod)) {
+                    currentIndex = i;
+                    break;
+                }
+            }
+        }
+        addrInterpolationList.setSelectedIndex(currentIndex);
+
+    }
+
+
+    // Set Inclusion Method combo box to method specified by 'currentMethod' (an OSM key value)
+    private void SelectInclusion(String currentMethod) {
+        int currentIndex = 0;
+        // Must scan OSM key values because combo box is already loaded with translated strings
+        for (int i=0; i<addrInclusionTags.length; i++) {
+            if (addrInclusionTags[i].equals(currentMethod)) {
+                currentIndex = i;
+                break;
+            }
+        }
+        addrInclusionList.setSelectedIndex(currentIndex);
+
+    }
+
+
+
+    // Create optional control fields in a group box
+    private JPanel CreateOptionalFields() {
+
+        JPanel editControlsPane = new JPanel();
+        GridBagLayout gridbag = new GridBagLayout();
+
+        editControlsPane.setLayout(gridbag);
+
+        editControlsPane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+
+        JLabel[] optionalTextLabels = {new JLabel(tr("City:")),
+                new JLabel(tr("State:")),
+                new JLabel(tr("Post Code:")),
+                new JLabel(tr("Country:")),
+                new JLabel(tr("Full Address:"))};
+        cityTextField = new JTextField(lastCity, 100);
+        stateTextField = new JTextField(lastState, 100);
+        postCodeTextField = new JTextField(lastPostCode, 20);
+        countryTextField = new JTextField(lastCountry, 2);
+        fullTextField = new JTextField(lastFullAddress, 300);
+
+        // Special processing for addr:country code, max length and uppercase
+        countryTextField.addKeyListener(new KeyAdapter() {
+            @Override
+            public void keyTyped(KeyEvent e) {
+                JTextField jtextfield = (JTextField)e.getSource();
+                String text = jtextfield.getText();
+                int length = text.length();
+                if (length == jtextfield.getColumns()) {
+                    e.consume();
+                } else if (length > jtextfield.getColumns()) {
+                    // show error message ??
+                    e.consume();
+                } else {
+                    // Accept key; convert to upper case
+                    if (!e.isActionKey()) {
+                        e.setKeyChar(Character.toUpperCase(e.getKeyChar()) );
+                    }
+                }
+            }
+        });
+
+        Component[] optionalEditFields = {cityTextField, stateTextField, postCodeTextField, countryTextField, fullTextField};
+        AddEditControlRows(optionalTextLabels, optionalEditFields,  editControlsPane);
+
+
+
+        JPanel optionPanel = new JPanel(new BorderLayout());
+        Border groupBox = BorderFactory.createEtchedBorder();
+        TitledBorder titleBorder = BorderFactory.createTitledBorder(groupBox, tr("Optional Information:"),
+                TitledBorder.LEFT, TitledBorder.TOP);
+
+        optionPanel.setBorder(titleBorder);
+        optionPanel.add(editControlsPane, BorderLayout.CENTER);
+
+        return optionPanel;
+    }
+
+
+
+    // Populate dialog for any possible existing settings if editing an existing Address interpolation way
+    private void GetExistingMapKeys() {
+
+
+        // Check all nodes for optional addressing data
+        //    Address interpolation nodes will overwrite these value if they contain optional data
+        for (Node node : houseNumberNodes) {
+            CheckNodeForAddressTags(node);
+        }
+
+        if (addrInterpolationWay != null) {
+            String currentMethod = addrInterpolationWay.get("addr:interpolation");
+            if (currentMethod != null) {
+
+                SelectInterpolationMethod(currentMethod);
+                interpolationMethodSet = true;  // Don't auto detect over a previous choice
+            }
+
+            String currentInclusion = addrInterpolationWay.get("addr:inclusion");
+            if (currentInclusion != null) {
+                SelectInclusion(currentInclusion);
+            }
+
+            Node firstNode = addrInterpolationWay.getNode(0);
+            Node lastNode = addrInterpolationWay.getNode(addrInterpolationWay.getNodesCount()-1);
+
+            // Get any existing start / end # values
+            String value = firstNode.get("addr:housenumber");
+            if (value != null) {
+                startTextField.setText(value);
+            }
+
+            value = lastNode.get("addr:housenumber");
+            if (value != null) {
+                endTextField.setText(value);
+            }
+            CheckNodeForAddressTags(firstNode);
+            CheckNodeForAddressTags(lastNode);
+
+        }
+
+
+
+    }
+
+
+    // Check for any existing address data.   If found,
+    // overwrite any previous data
+    private void CheckNodeForAddressTags(Node checkNode) {
+
+        // Interrogate possible existing optional values
+        String value = checkNode.get("addr:city");
+        if (value != null) {
+            lastCity = value;
+        }
+        value = checkNode.get("addr:state");
+        if (value != null) {
+            lastState = value;
+        }
+        value = checkNode.get("addr:postcode");
+        if (value != null) {
+            lastPostCode = value;
+        }
+        value = checkNode.get("addr:country");
+        if (value != null) {
+            lastCountry = value;
+        }
+        value = checkNode.get("addr:full");
+        if (value != null) {
+            lastFullAddress = value;
+        }
+
+    }
+
+
+
+    // Look for a possible 'associatedStreet' type of relation for selected street
+    // Returns relation description, or an empty string
+    private String FindRelation() {
+        String relationDescription = null;
+        DataSet currentDataSet = Main.main.getCurrentDataSet();
+        if (currentDataSet != null) {
+            for (Relation relation : currentDataSet.getRelations()) {
+
+                String relationType = relation.get("type");
+                if (relationType != null) {
+                    if (relationType.equals("associatedStreet")) {
+                        for (RelationMember relationMember : relation.getMembers()) {
+                            if (relationMember.isWay()){
+                                Way way = (Way) relationMember.getMember();
+                                // System.out.println("Name: " + way.get("name") );
+                                if (way == selectedStreet) {
+                                    associatedStreetRelation = relation;
+                                    relationDescription = Long.toString(way.getId());
+
+                                    String streetName = "";
+                                    if (relation.getKeys().containsKey("name")) {
+                                        streetName =  relation.get("name");
+                                    } else {
+                                        // Relation is unnamed - use street name
+                                        streetName =  selectedStreet.get("name");
+                                    }
+                                    relationDescription += " (" + streetName + ")";
+                                    return relationDescription;
+                                }
+                            }
+
+                        }
+                    }
+
+                }
+            }
+
+        }
+
+        return "";
+    }
+
+
+    // We can proceed only if there is both a named way (the 'street') and
+    // one un-named way (the address interpolation way ) selected.
+    //    The plugin menu item is enabled after a single way is selected to display a more meaningful
+    //    message (a new user may not realize that they need to select both the street and
+    //    address interpolation way first).
+    // Also, selected street and working address interpolation ways are saved.
+    private boolean FindAndSaveSelections() {
+
+        boolean isValid = false;
+
+        int namedWayCount = 0;
+        int unNamedWayCount = 0;
+        DataSet currentDataSet = Main.main.getCurrentDataSet();
+        if (currentDataSet != null) {
+            for (OsmPrimitive osm : currentDataSet.getSelectedWays()) {
+                Way way = (Way) osm;
+                if (way.getKeys().containsKey("name")) {
+                    namedWayCount++;
+                    this.selectedStreet = way;
+                }
+                else {
+                    unNamedWayCount++;
+                    this.addrInterpolationWay = way;
+                }
+            }
+
+            // Get additional nodes with addr:housenumber tags:
+            //   Either selected or in the middle of the Address Interpolation way
+            //     Do not include end points of Address Interpolation way in this set yet.
+            houseNumberNodes  = new ArrayList<Node>();
+            // Check selected nodes
+            for (OsmPrimitive osm : currentDataSet.getSelectedNodes()) {
+                Node node = (Node) osm;
+                if (node.getKeys().containsKey("addr:housenumber")) {
+                    houseNumberNodes.add(node);
+                }
+            }
+
+            if (addrInterpolationWay != null) {
+                // Check nodes in middle of address interpolation way
+                if (addrInterpolationWay.getNodesCount() > 2) {
+                    for (int i=1; i<(addrInterpolationWay.getNodesCount()-2); i++) {
+                        Node testNode = addrInterpolationWay.getNode(i);
+                        if (testNode.getKeys().containsKey("addr:housenumber")) {
+                            houseNumberNodes.add(testNode);
+                        }
+                    }
+                }
+            }
+
+        }
+
+        if (namedWayCount != 1) {
+            JOptionPane.showMessageDialog(
+                    Main.parent,
+                    tr("Please select a street to associate with address interpolation way"),
+                    tr("Error"),
+                    JOptionPane.ERROR_MESSAGE
+            );
+        } else {
+            // Avoid 2 error dialogs if both conditions don't match
+            if (unNamedWayCount != 1) {
+                // Allow for street + house number nodes only to be selected (no address interpolation way).
+                if (houseNumberNodes.size() > 0) {
+                    isValid = true;
+                } else {
+                    JOptionPane.showMessageDialog(
+                            Main.parent,
+                            tr("Please select address interpolation way for this street"),
+                            tr("Error"),
+                            JOptionPane.ERROR_MESSAGE
+                    );
+                }
+            } else {
+                isValid = true;
+            }
+        }
+
+
+        return isValid;
+    }
+
+
+    /**
+     * Add rows of edit controls - with labels in the left column, and controls in the right
+     * column on the gridbag of the specified container.
+     */
+    private void AddEditControlRows(JLabel[] labels,
+            Component[] editFields,
+            Container container) {
+        GridBagConstraints c = new GridBagConstraints();
+        c.anchor = GridBagConstraints.EAST;
+        int numLabels = labels.length;
+
+        for (int i = 0; i < numLabels; i++) {
+            c.gridx = 0;
+            c.gridwidth = 1; //next-to-last
+            c.fill = GridBagConstraints.NONE;      //reset to default
+            c.weightx = 0.0;                       //reset to default
+            container.add(labels[i], c);
+
+            c.gridx = 1;
+            c.gridwidth = GridBagConstraints.REMAINDER;     //end row
+            c.fill = GridBagConstraints.HORIZONTAL;
+            c.weightx = 1.0;
+            container.add(editFields[i], c);
+        }
+    }
+
+
+
+    public void actionPerformed(ActionEvent e) {
+        if ("ok".equals(e.getActionCommand())) {
+            if (ValidateAndSave()) {
+                dialog.dispose();
+            }
+
+        } else  if ("cancel".equals(e.getActionCommand())) {
+            dialog.dispose();
+
+        }
+    }
+
+
+
+    // For Alpha interpolation, return base string
+    //   For example: "22A" -> "22"
+    //   For example: "A" -> ""
+    //    Input string must not be empty
+    private String BaseAlpha(String strValue) {
+        if (strValue.length() > 0) {
+            return strValue.substring(0, strValue.length()-1);
+        }
+        else {
+            return "";
+        }
+    }
+
+
+    private char LastChar(String strValue) {
+        if (strValue.length() > 0) {
+            return strValue.charAt(strValue.length()-1);
+        }
+        else {
+            return 0;
+        }
+    }
+
+
+    // Test for valid positive long int
+    private boolean isLong( String input )
+    {
+        try
+        {
+            Long val = Long.parseLong( input );
+            return (val > 0);
+        }
+        catch( Exception e)
+        {
+            return false;
+        }
+    }
+
+    private boolean isEven( Long input )
+    {
+        return ((input %2) == 0);
+    }
+
+    private static Pattern p = Pattern.compile("^[0-9]+$");
+    private static boolean IsNumeric(String s) {
+        return p.matcher(s).matches();
+    }
+
+
+    private void InterpolateAlphaSection(int startNodeIndex, int endNodeIndex, String endValueString,
+            char startingChar, char endingChar) {
+
+
+        String baseAlpha = BaseAlpha(endValueString);
+        int nSegments  =endNodeIndex - startNodeIndex;
+
+        double[] segmentLengths = new double[nSegments];
+        // Total length of address interpolation way section
+        double totalLength= CalculateSegmentLengths(startNodeIndex, endNodeIndex, segmentLengths);
+
+
+        int nHouses = endingChar - startingChar-1;  // # of house number nodes to create
+        if (nHouses > 0) {
+
+            double houseSpacing = totalLength / (nHouses+1);
+
+            Node lastHouseNode = addrInterpolationWay.getNode(startNodeIndex);
+            int currentSegment = 0; // Segment being used to place new house # node
+            char currentChar= startingChar;
+            while (nHouses > 0) {
+                double distanceNeeded = houseSpacing;
+
+                // Move along segments until we can place the new house number
+                while (distanceNeeded > segmentLengths[currentSegment]) {
+                    distanceNeeded -= segmentLengths[currentSegment];
+                    currentSegment++;
+                    lastHouseNode = addrInterpolationWay.getNode(startNodeIndex + currentSegment);
+                }
+
+                // House number is to be positioned in current segment.
+                double proportion = distanceNeeded / segmentLengths[currentSegment];
+                Node toNode = addrInterpolationWay.getNode(startNodeIndex + 1 + currentSegment);
+                LatLon newHouseNumberPosition = lastHouseNode.getCoor().interpolate(toNode.getCoor(), proportion);
+
+
+
+                Node newHouseNumberNode = new Node(newHouseNumberPosition);
+                currentChar++;
+                if ( (currentChar >'Z') && (currentChar <'a')) {
+                    // Wraparound past uppercase Z: go directly to lower case a
+                    currentChar = 'a';
+
+                }
+                String newHouseNumber = baseAlpha + currentChar;
+                newHouseNumberNode.put("addr:housenumber", newHouseNumber);
+
+                commandGroup.add(new AddCommand(newHouseNumberNode));
+                houseNumberNodes.add(newHouseNumberNode);   // Street, etc information to be added later
+
+                lastHouseNode = newHouseNumberNode;
+
+
+                segmentLengths[currentSegment] -= distanceNeeded; // Track amount used
+                nHouses -- ;
+            }
+        }
+
+
+    }
+
+
+    private void CreateAlphaInterpolation(String startValueString, String endValueString) {
+        char startingChar = LastChar(startValueString);
+        char endingChar = LastChar(endValueString);
+
+        if (isLong(startValueString)) {
+            // Special case of numeric first value, followed by 'A'
+            startingChar = 'A'-1;
+        }
+
+        // Search for possible anchors from the 2nd node to 2nd from last, interpolating between each anchor
+        int startIndex = 0; // Index into first interpolation zone of address interpolation way
+        for (int i=1; i<addrInterpolationWay.getNodesCount()-1; i++) {
+            Node testNode = addrInterpolationWay.getNode(i);
+            String endNodeNumber = testNode.get("addr:housenumber");
+            if (endNodeNumber != null) {
+                // This is a potential anchor node
+                if (endNodeNumber != "") {
+                    char anchorChar = LastChar(endNodeNumber);
+                    if ( (anchorChar >startingChar) && (anchorChar < endingChar) ) {
+                        // Lies within the expected range
+                        InterpolateAlphaSection(startIndex, i, endNodeNumber, startingChar, anchorChar);
+
+                        // For next interpolation section
+                        startingChar = anchorChar;
+                        startValueString = endNodeNumber;
+                        startIndex = i;
+                    }
+                }
+
+            }
+        }
+
+        // End nodes do not actually contain housenumber value yet (command has not executed), so use user-entered value
+        InterpolateAlphaSection(startIndex, addrInterpolationWay.getNodesCount()-1, endValueString, startingChar, endingChar);
+
+    }
+
+
+    private double CalculateSegmentLengths(int startNodeIndex, int endNodeIndex, double segmentLengths[]) {
+        Node fromNode = addrInterpolationWay.getNode(startNodeIndex);
+        double totalLength = 0.0;
+        int nSegments = segmentLengths.length;
+        for (int segment = 0; segment < nSegments; segment++) {
+            Node toNode = addrInterpolationWay.getNode(startNodeIndex + 1 + segment);
+            segmentLengths[segment]= fromNode.getCoor().greatCircleDistance(toNode.getCoor());
+            totalLength += segmentLengths[segment];
+
+            fromNode = toNode;
+        }
+        return totalLength;
+
+    }
+
+
+    private void InterpolateNumericSection(int startNodeIndex, int endNodeIndex,
+            long startingAddr, long endingAddr,
+            long increment) {
+
+
+        int nSegments  =endNodeIndex - startNodeIndex;
+
+        double[] segmentLengths = new double[nSegments];
+
+        // Total length of address interpolation way section
+        double totalLength= CalculateSegmentLengths(startNodeIndex, endNodeIndex, segmentLengths);
+
+
+        int nHouses = (int)((endingAddr - startingAddr) / increment) -1;
+        if (nHouses > 0) {
+
+            double houseSpacing = totalLength / (nHouses+1);
+
+            Node lastHouseNode = addrInterpolationWay.getNode(startNodeIndex);
+            int currentSegment = 0; // Segment being used to place new house # node
+            long currentHouseNumber = startingAddr;
+            while (nHouses > 0) {
+                double distanceNeeded = houseSpacing;
+
+                // Move along segments until we can place the new house number
+                while (distanceNeeded > segmentLengths[currentSegment]) {
+                    distanceNeeded -= segmentLengths[currentSegment];
+                    currentSegment++;
+                    lastHouseNode = addrInterpolationWay.getNode(startNodeIndex + currentSegment);
+                }
+
+                // House number is to be positioned in current segment.
+                double proportion = distanceNeeded / segmentLengths[currentSegment];
+                Node toNode = addrInterpolationWay.getNode(startNodeIndex + 1 + currentSegment);
+                LatLon newHouseNumberPosition = lastHouseNode.getCoor().interpolate(toNode.getCoor(), proportion);
+
+
+                Node newHouseNumberNode = new Node(newHouseNumberPosition);
+                currentHouseNumber += increment;
+                String newHouseNumber = Long.toString(currentHouseNumber);
+                newHouseNumberNode.put("addr:housenumber", newHouseNumber);
+
+                commandGroup.add(new AddCommand(newHouseNumberNode));
+                houseNumberNodes.add(newHouseNumberNode);   // Street, etc information to be added later
+
+                lastHouseNode = newHouseNumberNode;
+
+
+                segmentLengths[currentSegment] -= distanceNeeded; // Track amount used
+                nHouses -- ;
+            }
+        }
+
+
+    }
+
+
+    private void CreateNumericInterpolation(String startValueString, String endValueString, long increment) {
+
+        long startingAddr = Long.parseLong( startValueString );
+        long endingAddr = Long.parseLong( endValueString );
+
+
+        // Search for possible anchors from the 2nd node to 2nd from last, interpolating between each anchor
+        int startIndex = 0; // Index into first interpolation zone of address interpolation way
+        for (int i=1; i<addrInterpolationWay.getNodesCount()-1; i++) {
+            Node testNode = addrInterpolationWay.getNode(i);
+            String strEndNodeNumber = testNode.get("addr:housenumber");
+            if (strEndNodeNumber != null) {
+                // This is a potential anchor node
+                if (isLong(strEndNodeNumber)) {
+
+                    long anchorAddrNumber = Long.parseLong( strEndNodeNumber );
+                    if ( (anchorAddrNumber >startingAddr) && (anchorAddrNumber < endingAddr) ) {
+                        // Lies within the expected range
+                        InterpolateNumericSection(startIndex, i, startingAddr, anchorAddrNumber, increment);
+
+                        // For next interpolation section
+                        startingAddr = anchorAddrNumber;
+                        startValueString = strEndNodeNumber;
+                        startIndex = i;
+                    }
+                }
+
+            }
+        }
+
+        // End nodes do not actually contain housenumber value yet (command has not executed), so use user-entered value
+        InterpolateNumericSection(startIndex, addrInterpolationWay.getNodesCount()-1, startingAddr, endingAddr, increment);
+    }
+
+
+    // Called if user has checked "Convert to House Numbers" checkbox.
+    private void ConvertWayToHousenumbers(String selectedMethod, String startValueString, String endValueString,
+            String incrementString) {
+        // - Use nodes labeled with 'same type' as interim anchors in the middle of the way to identify unequal spacing.
+        // - Ignore nodes of different type; for example '25b' is ignored in sequence 5..15
+
+        // Calculate required number of house numbers to create
+        if (selectedMethod.equals("alphabetic")) {
+
+            CreateAlphaInterpolation(startValueString, endValueString);
+
+
+        } else {
+            long increment = 1;
+            if (selectedMethod.equals("odd") || selectedMethod.equals("even")) {
+                increment = 2;
+            } else if (selectedMethod.equals("Numeric")) {
+                increment = Long.parseLong(incrementString);
+            }
+            CreateNumericInterpolation(startValueString, endValueString, increment);
+
+        }
+
+
+        RemoveAddressInterpolationWay();
+
+    }
+
+
+    private void RemoveAddressInterpolationWay() {
+
+        // Remove untagged nodes
+        for (int i=1; i<addrInterpolationWay.getNodesCount()-1; i++) {
+            Node testNode = addrInterpolationWay.getNode(i);
+            if (!testNode.hasKeys()) {
+                commandGroup.add(new DeleteCommand(testNode));
+            }
+        }
+
+        // Remove way
+        commandGroup.add(new DeleteCommand(addrInterpolationWay));
+        addrInterpolationWay = null;
+
+    }
+
+
+
+    private boolean ValidateAndSave() {
+
+        String startValueString = ReadTextField(startTextField);
+        String endValueString = ReadTextField(endTextField);
+        String incrementString = ReadTextField(incrementTextField);
+        String city = ReadTextField(cityTextField);
+        String state = ReadTextField(stateTextField);
+        String postCode = ReadTextField(postCodeTextField);
+        String country = ReadTextField(countryTextField);
+        String fullAddress = ReadTextField(fullTextField);
+
+        String selectedMethod = GetInterpolationMethod();
+        if (addrInterpolationWay != null) {
+            Long startAddr=0L, endAddr=0L;
+            if (!selectedMethod.equals("alphabetic")) {
+                Long[] addrArray = {startAddr, endAddr};
+                if (!ValidAddressNumbers(startValueString, endValueString, addrArray )) {
+                    return false;
+                }
+                startAddr = addrArray[0];
+                endAddr = addrArray[1];
+            }
+
+            String errorMessage = "";
+            if (selectedMethod.equals("odd")) {
+                if (isEven(startAddr) || isEven(endAddr)) {
+                    errorMessage = tr("Expected odd numbers for addresses");
+                }
+
+            } else if (selectedMethod.equals("even")) {
+                if (!isEven(startAddr) || !isEven(endAddr)) {
+                    errorMessage = tr("Expected even numbers for addresses");
+                }
+            } else if (selectedMethod.equals("all")) {
+
+            }else if (selectedMethod.equals("alphabetic")) {
+                errorMessage = ValidateAlphaAddress(startValueString, endValueString);
+
+            }else if (selectedMethod.equals("Numeric")) {
+
+                if (!ValidNumericIncrementString(incrementString, startAddr, endAddr)) {
+                    errorMessage = tr("Expected valid number for address increment");
+                }
+
+            }
+            if (!errorMessage.equals("")) {
+                JOptionPane.showMessageDialog(Main.parent, errorMessage, tr("Error"),   JOptionPane.ERROR_MESSAGE);
+                return false;
+            }
+        }
+
+        if (country != null) {
+            if (country.length() != 2) {
+                JOptionPane.showMessageDialog(Main.parent,
+                        tr("Country code must be 2 letters"), tr("Error"),  JOptionPane.ERROR_MESSAGE);
+                return false;
+            }
+        }
+
+        // Entries are valid ... save in map
+
+        commandGroup = new LinkedList<Command>();
+
+        String streetName = selectedStreet.get("name");
+
+        if (addrInterpolationWay != null) {
+
+            Node firstNode = addrInterpolationWay.getNode(0);
+            Node lastNode = addrInterpolationWay.getNode(addrInterpolationWay.getNodesCount()-1);
+
+            // De-select address interpolation way; leave street selected
+            DataSet currentDataSet = Main.main.getCurrentDataSet();
+            if (currentDataSet != null) {
+                currentDataSet.clearSelection(addrInterpolationWay);
+                currentDataSet.clearSelection(lastNode);  // Workaround for JOSM Bug #3838
+            }
+
+
+            String interpolationTagValue = selectedMethod;
+            if (selectedMethod.equals("Numeric")) {
+                // The interpolation method is the number for 'Numeric' case
+                interpolationTagValue = incrementString;
+            }
+
+            if (cbConvertToHouseNumbers.getState()) {
+                // Convert way to house numbers is checked.
+                //  Create individual nodes and delete interpolation way
+                ConvertWayToHousenumbers(selectedMethod, startValueString, endValueString, incrementString);
+            } else {
+                // Address interpolation way will remain
+                commandGroup.add(new ChangePropertyCommand(addrInterpolationWay, "addr:interpolation", interpolationTagValue));
+                commandGroup.add(new ChangePropertyCommand(addrInterpolationWay, "addr:inclusion", GetInclusionMethod()));
+            }
+
+            commandGroup.add(new ChangePropertyCommand(firstNode, "addr:housenumber", startValueString));
+            commandGroup.add(new ChangePropertyCommand(lastNode, "addr:housenumber", endValueString));
+            // Add address interpolation house number nodes to main house number node list for common processing
+            houseNumberNodes.add(firstNode);
+            houseNumberNodes.add(lastNode);
+
+        }
+
+
+
+        if (streetRelationButton.isSelected()) {
+
+            // Relation button was selected
+            if (associatedStreetRelation == null) {
+                CreateRelation(streetName);
+                // relationChanged = true;   (not changed since it was created)
+            }
+            // Make any additional changes only to the copy
+            editedRelation = new Relation(associatedStreetRelation);
+
+            if (addrInterpolationWay != null) {
+                AddToRelation(associatedStreetRelation, addrInterpolationWay, "house");
+            }
+        }
+
+
+        // For all nodes, add to relation and
+        //   Add optional text fields to all nodes if specified
+        for (Node node : houseNumberNodes) {
+
+            if (streetRelationButton.isSelected()) {
+                AddToRelation(associatedStreetRelation, node, "house");
+            }
+            if ((city != null) || (streetNameButton.isSelected()) ) {
+                // Include street unconditionally if adding nodes only or city name specified
+                commandGroup.add(new ChangePropertyCommand(node, "addr:street", streetName));
+            }
+            // Set or remove remaining optional fields
+            commandGroup.add(new ChangePropertyCommand(node, "addr:city", city));
+            commandGroup.add(new ChangePropertyCommand(node, "addr:state", state));
+            commandGroup.add(new ChangePropertyCommand(node, "addr:postcode", postCode));
+            commandGroup.add(new ChangePropertyCommand(node, "addr:country", country));
+            commandGroup.add(new ChangePropertyCommand(node, "addr:full", fullAddress));
+        }
+
+        if (relationChanged) {
+            commandGroup.add(new ChangeCommand(associatedStreetRelation, editedRelation));
+        }
+
+
+        Main.main.undoRedo.add(new SequenceCommand(tr("Address Interpolation"), commandGroup));
+        Main.map.repaint();
+
+        return true;
+    }
+
+
+    private boolean ValidNumericIncrementString(String incrementString, long startingAddr, long endingAddr) {
+
+        if (!isLong(incrementString)) {
+            return false;
+        }
+        long testIncrement = Long.parseLong(incrementString);
+        if ( (testIncrement <=0) || (testIncrement > endingAddr ) ) {
+            return false;
+        }
+
+        if ( ((endingAddr - startingAddr) % testIncrement) != 0) {
+            return false;
+        }
+        return true;
+    }
+
+
+
+    // Create Associated Street relation, add street, and add to list of commands to perform
+    private void CreateRelation(String streetName) {
+        associatedStreetRelation = new Relation();
+        associatedStreetRelation.put("name", streetName);
+        associatedStreetRelation.put("type", "associatedStreet");
+        RelationMember newStreetMember = new RelationMember("street", selectedStreet);
+        associatedStreetRelation.addMember(newStreetMember);
+        commandGroup.add(new AddCommand(associatedStreetRelation));
+    }
+
+
+
+    // Read from dialog text box, removing leading and trailing spaces
+    // Return the string, or null for a zero length string
+    private String ReadTextField(JTextField field) {
+        String value = field.getText();
+        if (value != null) {
+            value = value.trim();
+            if (value.equals("")) {
+                value = null;
+            }
+        }
+        return value;
+    }
+
+
+    // Test if relation contains specified member
+    //   If not already present, it is added
+    private void AddToRelation(Relation relation,   OsmPrimitive testMember, String role) {
+        boolean isFound = false;
+        for (RelationMember relationMember : relation.getMembers()) {
+
+            if (testMember == relationMember.getMember()) {
+                isFound = true;
+                break;
+            }
+        }
+
+        if (!isFound) {
+            RelationMember newMember = new RelationMember(role, testMember);
+            editedRelation.addMember(newMember);
+
+            relationChanged = true;
+        }
+    }
+
+
+
+    // Check alphabetic style address
+    //   Last character of both must be alpha
+    //   Last character of ending must be greater than starting
+    //   Return empty error message if OK
+    private String ValidateAlphaAddress(String startValueString,
+            String endValueString) {
+        String errorMessage="";
+
+        if (startValueString.equals("") || endValueString.equals("")) {
+            errorMessage = tr("Please enter valid number for starting and ending address");
+        } else {
+            char startingChar = LastChar(startValueString);
+            char endingChar = LastChar(endValueString);
+
+
+            boolean isOk = false;
+            if ( (IsNumeric("" + startingChar)) &&  (!IsNumeric("" + endingChar)) ) {
+                endingChar = Character.toUpperCase(endingChar);
+                if ( (endingChar >= 'A') && (endingChar <= 'Z') ) {
+                    // First is a number, last is Latin alpha
+                    isOk = true;
+                }
+            } else if ( (!IsNumeric("" + startingChar)) && (!IsNumeric("" + endingChar)) ) {
+                // Both are alpha
+                isOk = true;
+            }
+            if (!isOk) {
+                errorMessage = tr("Alphabetic address must end with a letter");
+            }
+
+
+            // if a number is included, validate that it is the same number
+            if (endValueString.length() > 1) {
+
+                // Get number portion of first item: may or may not have letter suffix
+                String numStart = BaseAlpha(startValueString);
+                if (IsNumeric(startValueString)) {
+                    numStart = startValueString;
+                }
+
+                String numEnd = BaseAlpha(endValueString);
+                if (!numStart.equals(numEnd)) {
+                    errorMessage = tr("Starting and ending numbers must be the same for alphabetic addresses");
+                }
+            }
+
+            // ?? Character collation in all languages ??
+            if (startingChar >= endingChar) {
+                errorMessage = tr("Starting address letter must be less than ending address letter");
+            }
+
+        }
+
+        return errorMessage;
+    }
+
+
+
+    // Convert string addresses to numeric, with error check
+    private boolean ValidAddressNumbers(String startValueString,
+            String endValueString, Long[] addrArray) {
+        String errorMessage = "";
+
+        if (!isLong(startValueString)) {
+            errorMessage = tr("Please enter valid number for starting address");
+        }
+        if (!isLong(endValueString)) {
+            errorMessage = tr("Please enter valid number for ending address");
+        }
+        if (errorMessage.equals("")) {
+            addrArray[0] = Long.parseLong( startValueString );
+            addrArray[1] = Long.parseLong( endValueString );
+
+            if (addrArray[1] <= addrArray[0]) {
+                errorMessage = tr("Starting address number must be less than ending address number");
+            }
+        }
+
+        if (errorMessage.equals("")) {
+            return true;
+
+        } else {
+            JOptionPane.showMessageDialog(Main.parent, errorMessage, tr("Error"),   JOptionPane.ERROR_MESSAGE);
+            return false;
+        }
+    }
+
+
+
+    private String GetInterpolationMethod() {
+        int selectedIndex = addrInterpolationList.getSelectedIndex();
+        return addrInterpolationTags[selectedIndex];
+    }
+
+
+    private String GetInclusionMethod() {
+        int selectedIndex = addrInclusionList.getSelectedIndex();
+        lastAccuracyIndex = selectedIndex;
+        return addrInclusionTags[selectedIndex];
+    }
 
 
Index: /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/AddrInterpolationPlugin.java
===================================================================
--- /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/AddrInterpolationPlugin.java	(revision 23190)
+++ /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/AddrInterpolationPlugin.java	(revision 23191)
@@ -9,13 +9,13 @@
 public class AddrInterpolationPlugin extends Plugin {
 
-	AddrInterpolationAction action = null;
+    AddrInterpolationAction action = null;
 
-	/**
-	 * constructor
-	 */
-	public AddrInterpolationPlugin(PluginInformation info) {
-		super(info);
-		action = new AddrInterpolationAction();
-		Main.main.menu.toolsMenu.add(action);
-	}
+    /**
+     * constructor
+     */
+    public AddrInterpolationPlugin(PluginInformation info) {
+        super(info);
+        action = new AddrInterpolationAction();
+        Main.main.menu.toolsMenu.add(action);
+    }
 }
Index: /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/EscapeDialog.java
===================================================================
--- /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/EscapeDialog.java	(revision 23190)
+++ /applications/editors/josm/plugins/addrinterpolation/src/org/openstreetmap/josm/plugins/AddrInterpolation/EscapeDialog.java	(revision 23191)
@@ -15,47 +15,47 @@
 
 public class EscapeDialog extends JDialog {
-	public EscapeDialog() {
-		this((Frame)null, false);
-	}
-	public EscapeDialog(Frame owner) {
-		this(owner, false);
-	}
-	public EscapeDialog(Frame owner, boolean modal) {
-		this(owner, null, modal);
-	}
-	public EscapeDialog(Frame owner, String title) {
-		this(owner, title, false);
-	}
-	public EscapeDialog(Frame owner, String title, boolean modal) {
-		super(owner, title, modal);
-	}
-	public EscapeDialog(Dialog owner) {
-		this(owner, false);
-	}
-	public EscapeDialog(Dialog owner, boolean modal) {
-		this(owner, null, modal);
-	}
-	public EscapeDialog(Dialog owner, String title) {
-		this(owner, title, false);
-	}
-	public EscapeDialog(Dialog owner, String title, boolean modal) {
-		super(owner, title, modal);
-	}
+    public EscapeDialog() {
+        this((Frame)null, false);
+    }
+    public EscapeDialog(Frame owner) {
+        this(owner, false);
+    }
+    public EscapeDialog(Frame owner, boolean modal) {
+        this(owner, null, modal);
+    }
+    public EscapeDialog(Frame owner, String title) {
+        this(owner, title, false);
+    }
+    public EscapeDialog(Frame owner, String title, boolean modal) {
+        super(owner, title, modal);
+    }
+    public EscapeDialog(Dialog owner) {
+        this(owner, false);
+    }
+    public EscapeDialog(Dialog owner, boolean modal) {
+        this(owner, null, modal);
+    }
+    public EscapeDialog(Dialog owner, String title) {
+        this(owner, title, false);
+    }
+    public EscapeDialog(Dialog owner, String title, boolean modal) {
+        super(owner, title, modal);
+    }
 
 
-	@Override
-	protected JRootPane createRootPane() {
-		ActionListener escapeActionListener = new ActionListener() {
-			public void actionPerformed(ActionEvent actionEvent) {
-				dispose();
-				// setVisible(false);
-			}
-		};
-		JRootPane rootPane = new JRootPane();
-		KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
-		rootPane.registerKeyboardAction(escapeActionListener, stroke, JComponent.WHEN_IN_FOCUSED_WINDOW);
+    @Override
+    protected JRootPane createRootPane() {
+        ActionListener escapeActionListener = new ActionListener() {
+            public void actionPerformed(ActionEvent actionEvent) {
+                dispose();
+                // setVisible(false);
+            }
+        };
+        JRootPane rootPane = new JRootPane();
+        KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
+        rootPane.registerKeyboardAction(escapeActionListener, stroke, JComponent.WHEN_IN_FOCUSED_WINDOW);
 
-		return rootPane;
-	}
+        return rootPane;
+    }
 }
 
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/SingleSegmentGpxTrack.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/SingleSegmentGpxTrack.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/SingleSegmentGpxTrack.java	(revision 23191)
@@ -11,33 +11,33 @@
 public class SingleSegmentGpxTrack implements GpxTrack {
 
-	private final Map<String, Object> attributes;
-	private final GpxTrackSegment trackSegment;
+    private final Map<String, Object> attributes;
+    private final GpxTrackSegment trackSegment;
 
-	public SingleSegmentGpxTrack(GpxTrackSegment trackSegment, Map<String, Object> attributes) {
-		this.attributes = Collections.unmodifiableMap(attributes);
-		this.trackSegment = trackSegment;
-	}
+    public SingleSegmentGpxTrack(GpxTrackSegment trackSegment, Map<String, Object> attributes) {
+        this.attributes = Collections.unmodifiableMap(attributes);
+        this.trackSegment = trackSegment;
+    }
 
 
-	public Map<String, Object> getAttributes() {
-		return attributes;
-	}
+    public Map<String, Object> getAttributes() {
+        return attributes;
+    }
 
-	public Bounds getBounds() {
-		return trackSegment.getBounds();
-	}
+    public Bounds getBounds() {
+        return trackSegment.getBounds();
+    }
 
-	public Collection<GpxTrackSegment> getSegments() {
-		return Collections.singleton(trackSegment);
-	}
+    public Collection<GpxTrackSegment> getSegments() {
+        return Collections.singleton(trackSegment);
+    }
 
-	public double length() {
-		return trackSegment.length();
-	}
+    public double length() {
+        return trackSegment.length();
+    }
 
-	@Override
-	public int getUpdateCount() {
-		return trackSegment.getUpdateCount();
-	}
+    @Override
+    public int getUpdateCount() {
+        return trackSegment.getUpdateCount();
+    }
 
 }
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/TangoGPS.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/TangoGPS.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/TangoGPS.java	(revision 23191)
@@ -34,79 +34,79 @@
 public class TangoGPS extends FileImporter {
 
-	public TangoGPS() {
-		super(new ExtensionFileFilter("log", "log",tr("TangoGPS Files (*.log)")));
-	}
+    public TangoGPS() {
+        super(new ExtensionFileFilter("log", "log",tr("TangoGPS Files (*.log)")));
+    }
 
-	/**
-	 * @author cbrill
-	 * This function imports data from file and adds trackpoints
-	 *         to a layer.
-	 * Read a log file from TangoGPS. These are simple text files in the
-	 * form: <lat>,<lon>,<elevation>,<speed>,<course>,<hdop>,<datetime>
-	 */
-	@Override
-	public void importData(File file, ProgressMonitor progressMonitor) throws IOException {
-		// create the data tree
-		List<WayPoint> currentTrackSeg = new ArrayList<WayPoint>();
+    /**
+     * @author cbrill
+     * This function imports data from file and adds trackpoints
+     *         to a layer.
+     * Read a log file from TangoGPS. These are simple text files in the
+     * form: <lat>,<lon>,<elevation>,<speed>,<course>,<hdop>,<datetime>
+     */
+    @Override
+    public void importData(File file, ProgressMonitor progressMonitor) throws IOException {
+        // create the data tree
+        List<WayPoint> currentTrackSeg = new ArrayList<WayPoint>();
 
-		int imported = 0;
-		int failure = 0;
+        int imported = 0;
+        int failure = 0;
 
-		BufferedReader rd = null;
-		try {
-			InputStream source = new FileInputStream(file);
-			rd = new BufferedReader(new InputStreamReader(source));
+        BufferedReader rd = null;
+        try {
+            InputStream source = new FileInputStream(file);
+            rd = new BufferedReader(new InputStreamReader(source));
 
-			String line;
-			while ((line = rd.readLine()) != null) {
-				failure++;
-				String[] lineElements = line.split(",");
-				if (lineElements.length >= 7) {
-					try {
-						WayPoint currentWayPoint = new WayPoint(
-								parseLatLon(lineElements));
-						currentWayPoint.attr.put("ele", lineElements[2]);
-						currentWayPoint.attr.put("time", lineElements[6]);
-						currentWayPoint.setTime();
-						currentTrackSeg.add(currentWayPoint);
-						imported++;
-					} catch (NumberFormatException e) {
-						e.printStackTrace();
-					}
-				}
-			}
-			failure = failure - imported;
-			if(imported > 0) {
-				GpxData data = new GpxData();
-				data.tracks.add(new SingleSegmentGpxTrack(new ImmutableGpxTrackSegment(currentTrackSeg), Collections.<String, Object>emptyMap()));
-				data.recalculateBounds();
-				data.storageFile = file;
-				GpxLayer gpxLayer = new GpxLayer(data, file.getName());
-				Main.main.addLayer(gpxLayer);
-				if (Main.pref.getBoolean("marker.makeautomarkers", true)) {
-					MarkerLayer ml = new MarkerLayer(data, tr("Markers from {0}", file.getName()), file, gpxLayer);
-					if (ml.data.size() > 0) {
-						Main.main.addLayer(ml);
-					}
-				}
-			}
-			showInfobox(imported,failure);
-		} finally {
-			if (rd != null) {
-				rd.close();
-			}
-		}
-	}
+            String line;
+            while ((line = rd.readLine()) != null) {
+                failure++;
+                String[] lineElements = line.split(",");
+                if (lineElements.length >= 7) {
+                    try {
+                        WayPoint currentWayPoint = new WayPoint(
+                                parseLatLon(lineElements));
+                        currentWayPoint.attr.put("ele", lineElements[2]);
+                        currentWayPoint.attr.put("time", lineElements[6]);
+                        currentWayPoint.setTime();
+                        currentTrackSeg.add(currentWayPoint);
+                        imported++;
+                    } catch (NumberFormatException e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+            failure = failure - imported;
+            if(imported > 0) {
+                GpxData data = new GpxData();
+                data.tracks.add(new SingleSegmentGpxTrack(new ImmutableGpxTrackSegment(currentTrackSeg), Collections.<String, Object>emptyMap()));
+                data.recalculateBounds();
+                data.storageFile = file;
+                GpxLayer gpxLayer = new GpxLayer(data, file.getName());
+                Main.main.addLayer(gpxLayer);
+                if (Main.pref.getBoolean("marker.makeautomarkers", true)) {
+                    MarkerLayer ml = new MarkerLayer(data, tr("Markers from {0}", file.getName()), file, gpxLayer);
+                    if (ml.data.size() > 0) {
+                        Main.main.addLayer(ml);
+                    }
+                }
+            }
+            showInfobox(imported,failure);
+        } finally {
+            if (rd != null) {
+                rd.close();
+            }
+        }
+    }
 
-	private double parseCoord(String s) {
-		return Double.parseDouble(s);
-	}
+    private double parseCoord(String s) {
+        return Double.parseDouble(s);
+    }
 
-	private LatLon parseLatLon(String[] lineElements) {
-		if (lineElements.length < 2)
-			return null;
-		return new LatLon(parseCoord(lineElements[0]),
-				parseCoord(lineElements[1]));
-	}
+    private LatLon parseLatLon(String[] lineElements) {
+        if (lineElements.length < 2)
+            return null;
+        return new LatLon(parseCoord(lineElements[0]),
+                parseCoord(lineElements[1]));
+    }
 
     private void showInfobox(int success,int failure) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/Tcx.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/Tcx.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/Tcx.java	(revision 23191)
@@ -119,6 +119,6 @@
 
     /** Convert a TrackpointT to a WayPoint.
-     * @param tp	TrackpointT to convert
-     * @return		tp converted to WayPoint, or null
+     * @param tp    TrackpointT to convert
+     * @return      tp converted to WayPoint, or null
      */
     private static WayPoint convertPoint(TrackpointT tp) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/AbstractSourceT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/AbstractSourceT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/AbstractSourceT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -20,7 +20,7 @@
 /**
  * <p>Java class for AbstractSource_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="AbstractSource_t">
@@ -34,6 +34,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -53,9 +53,9 @@
     /**
      * Gets the value of the name property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getName() {
@@ -65,9 +65,9 @@
     /**
      * Sets the value of the name property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setName(String value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/AbstractStepT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/AbstractStepT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/AbstractStepT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -18,7 +18,7 @@
 /**
  * <p>Java class for AbstractStep_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="AbstractStep_t">
@@ -32,6 +32,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -50,5 +50,5 @@
     /**
      * Gets the value of the stepId property.
-     * 
+     *
      */
     public int getStepId() {
@@ -58,5 +58,5 @@
     /**
      * Sets the value of the stepId property.
-     * 
+     *
      */
     public void setStepId(int value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ActivityLapT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ActivityLapT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ActivityLapT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -22,7 +22,7 @@
 /**
  * <p>Java class for ActivityLap_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="ActivityLap_t">
@@ -48,6 +48,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -99,5 +99,5 @@
     /**
      * Gets the value of the totalTimeSeconds property.
-     * 
+     *
      */
     public double getTotalTimeSeconds() {
@@ -107,5 +107,5 @@
     /**
      * Sets the value of the totalTimeSeconds property.
-     * 
+     *
      */
     public void setTotalTimeSeconds(double value) {
@@ -115,5 +115,5 @@
     /**
      * Gets the value of the distanceMeters property.
-     * 
+     *
      */
     public double getDistanceMeters() {
@@ -123,5 +123,5 @@
     /**
      * Sets the value of the distanceMeters property.
-     * 
+     *
      */
     public void setDistanceMeters(double value) {
@@ -131,9 +131,9 @@
     /**
      * Gets the value of the maximumSpeed property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link Double }
-     *     
+     *
      */
     public Double getMaximumSpeed() {
@@ -143,9 +143,9 @@
     /**
      * Sets the value of the maximumSpeed property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link Double }
-     *     
+     *
      */
     public void setMaximumSpeed(Double value) {
@@ -155,5 +155,5 @@
     /**
      * Gets the value of the calories property.
-     * 
+     *
      */
     public int getCalories() {
@@ -163,5 +163,5 @@
     /**
      * Sets the value of the calories property.
-     * 
+     *
      */
     public void setCalories(int value) {
@@ -171,9 +171,9 @@
     /**
      * Gets the value of the averageHeartRateBpm property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HeartRateInBeatsPerMinuteT }
-     *     
+     *
      */
     public HeartRateInBeatsPerMinuteT getAverageHeartRateBpm() {
@@ -183,9 +183,9 @@
     /**
      * Sets the value of the averageHeartRateBpm property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HeartRateInBeatsPerMinuteT }
-     *     
+     *
      */
     public void setAverageHeartRateBpm(HeartRateInBeatsPerMinuteT value) {
@@ -195,9 +195,9 @@
     /**
      * Gets the value of the maximumHeartRateBpm property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HeartRateInBeatsPerMinuteT }
-     *     
+     *
      */
     public HeartRateInBeatsPerMinuteT getMaximumHeartRateBpm() {
@@ -207,9 +207,9 @@
     /**
      * Sets the value of the maximumHeartRateBpm property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HeartRateInBeatsPerMinuteT }
-     *     
+     *
      */
     public void setMaximumHeartRateBpm(HeartRateInBeatsPerMinuteT value) {
@@ -219,9 +219,9 @@
     /**
      * Gets the value of the intensity property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link IntensityT }
-     *     
+     *
      */
     public IntensityT getIntensity() {
@@ -231,9 +231,9 @@
     /**
      * Sets the value of the intensity property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link IntensityT }
-     *     
+     *
      */
     public void setIntensity(IntensityT value) {
@@ -243,9 +243,9 @@
     /**
      * Gets the value of the cadence property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link Short }
-     *     
+     *
      */
     public Short getCadence() {
@@ -255,9 +255,9 @@
     /**
      * Sets the value of the cadence property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link Short }
-     *     
+     *
      */
     public void setCadence(Short value) {
@@ -267,9 +267,9 @@
     /**
      * Gets the value of the triggerMethod property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link TriggerMethodT }
-     *     
+     *
      */
     public TriggerMethodT getTriggerMethod() {
@@ -279,9 +279,9 @@
     /**
      * Sets the value of the triggerMethod property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link TriggerMethodT }
-     *     
+     *
      */
     public void setTriggerMethod(TriggerMethodT value) {
@@ -291,5 +291,5 @@
     /**
      * Gets the value of the track property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -297,5 +297,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the track property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -303,11 +303,11 @@
      *    getTrack().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link TrackT }
-     * 
-     * 
+     *
+     *
      */
     public List<TrackT> getTrack() {
@@ -320,9 +320,9 @@
     /**
      * Gets the value of the notes property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getNotes() {
@@ -332,9 +332,9 @@
     /**
      * Sets the value of the notes property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setNotes(String value) {
@@ -344,9 +344,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -356,9 +356,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
@@ -368,9 +368,9 @@
     /**
      * Gets the value of the startTime property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public XMLGregorianCalendar getStartTime() {
@@ -380,9 +380,9 @@
     /**
      * Sets the value of the startTime property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public void setStartTime(XMLGregorianCalendar value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ActivityListT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ActivityListT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ActivityListT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -19,7 +19,7 @@
 /**
  * <p>Java class for ActivityList_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="ActivityList_t">
@@ -34,6 +34,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -51,5 +51,5 @@
     /**
      * Gets the value of the activity property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -57,5 +57,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the activity property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -63,11 +63,11 @@
      *    getActivity().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link ActivityT }
-     * 
-     * 
+     *
+     *
      */
     public List<ActivityT> getActivity() {
@@ -80,5 +80,5 @@
     /**
      * Gets the value of the multiSportSession property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -86,5 +86,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the multiSportSession property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -92,11 +92,11 @@
      *    getMultiSportSession().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link MultiSportSessionT }
-     * 
-     * 
+     *
+     *
      */
     public List<MultiSportSessionT> getMultiSportSession() {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ActivityReferenceT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ActivityReferenceT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ActivityReferenceT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -19,7 +19,7 @@
 /**
  * <p>Java class for ActivityReference_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="ActivityReference_t">
@@ -33,6 +33,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -48,9 +48,9 @@
     /**
      * Gets the value of the id property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public XMLGregorianCalendar getId() {
@@ -60,9 +60,9 @@
     /**
      * Sets the value of the id property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public void setId(XMLGregorianCalendar value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ActivityT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ActivityT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ActivityT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -22,7 +22,7 @@
 /**
  * <p>Java class for Activity_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Activity_t">
@@ -42,6 +42,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -74,9 +74,9 @@
     /**
      * Gets the value of the id property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public XMLGregorianCalendar getId() {
@@ -86,9 +86,9 @@
     /**
      * Sets the value of the id property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public void setId(XMLGregorianCalendar value) {
@@ -98,5 +98,5 @@
     /**
      * Gets the value of the lap property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -104,5 +104,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the lap property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -110,11 +110,11 @@
      *    getLap().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link ActivityLapT }
-     * 
-     * 
+     *
+     *
      */
     public List<ActivityLapT> getLap() {
@@ -127,9 +127,9 @@
     /**
      * Gets the value of the notes property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getNotes() {
@@ -139,9 +139,9 @@
     /**
      * Sets the value of the notes property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setNotes(String value) {
@@ -151,9 +151,9 @@
     /**
      * Gets the value of the training property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link TrainingT }
-     *     
+     *
      */
     public TrainingT getTraining() {
@@ -163,9 +163,9 @@
     /**
      * Sets the value of the training property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link TrainingT }
-     *     
+     *
      */
     public void setTraining(TrainingT value) {
@@ -175,9 +175,9 @@
     /**
      * Gets the value of the creator property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link AbstractSourceT }
-     *     
+     *
      */
     public AbstractSourceT getCreator() {
@@ -187,9 +187,9 @@
     /**
      * Sets the value of the creator property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link AbstractSourceT }
-     *     
+     *
      */
     public void setCreator(AbstractSourceT value) {
@@ -199,9 +199,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -211,9 +211,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
@@ -223,9 +223,9 @@
     /**
      * Gets the value of the sport property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link SportT }
-     *     
+     *
      */
     public SportT getSport() {
@@ -235,9 +235,9 @@
     /**
      * Sets the value of the sport property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link SportT }
-     *     
+     *
      */
     public void setSport(SportT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ApplicationT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ApplicationT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ApplicationT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -19,9 +19,9 @@
 /**
  * Identifies a PC software application.
- * 
+ *
  * <p>Java class for Application_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Application_t">
@@ -37,6 +37,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -61,9 +61,9 @@
     /**
      * Gets the value of the build property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link BuildT }
-     *     
+     *
      */
     public BuildT getBuild() {
@@ -73,9 +73,9 @@
     /**
      * Sets the value of the build property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link BuildT }
-     *     
+     *
      */
     public void setBuild(BuildT value) {
@@ -85,9 +85,9 @@
     /**
      * Gets the value of the langID property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getLangID() {
@@ -97,9 +97,9 @@
     /**
      * Sets the value of the langID property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setLangID(String value) {
@@ -109,9 +109,9 @@
     /**
      * Gets the value of the partNumber property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getPartNumber() {
@@ -121,9 +121,9 @@
     /**
      * Sets the value of the partNumber property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setPartNumber(String value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/BuildT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/BuildT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/BuildT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -19,7 +19,7 @@
 /**
  * <p>Java class for Build_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Build_t">
@@ -36,6 +36,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -61,9 +61,9 @@
     /**
      * Gets the value of the version property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link VersionT }
-     *     
+     *
      */
     public VersionT getVersion() {
@@ -73,9 +73,9 @@
     /**
      * Sets the value of the version property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link VersionT }
-     *     
+     *
      */
     public void setVersion(VersionT value) {
@@ -85,9 +85,9 @@
     /**
      * Gets the value of the type property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link BuildTypeT }
-     *     
+     *
      */
     public BuildTypeT getType() {
@@ -97,9 +97,9 @@
     /**
      * Sets the value of the type property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link BuildTypeT }
-     *     
+     *
      */
     public void setType(BuildTypeT value) {
@@ -109,9 +109,9 @@
     /**
      * Gets the value of the time property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getTime() {
@@ -121,9 +121,9 @@
     /**
      * Sets the value of the time property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setTime(String value) {
@@ -133,9 +133,9 @@
     /**
      * Gets the value of the builder property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getBuilder() {
@@ -145,9 +145,9 @@
     /**
      * Sets the value of the builder property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setBuilder(String value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/BuildTypeT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/BuildTypeT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/BuildTypeT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -16,5 +16,5 @@
 /**
  * <p>Java class for BuildType_t.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
  * <p>
@@ -29,5 +29,5 @@
  * &lt;/simpleType>
  * </pre>
- * 
+ *
  */
 @XmlType(name = "BuildType_t")
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CadenceT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CadenceT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CadenceT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for Cadence_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Cadence_t">
@@ -32,6 +32,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -51,5 +51,5 @@
     /**
      * Gets the value of the low property.
-     * 
+     *
      */
     public double getLow() {
@@ -59,5 +59,5 @@
     /**
      * Sets the value of the low property.
-     * 
+     *
      */
     public void setLow(double value) {
@@ -67,5 +67,5 @@
     /**
      * Gets the value of the high property.
-     * 
+     *
      */
     public double getHigh() {
@@ -75,5 +75,5 @@
     /**
      * Sets the value of the high property.
-     * 
+     *
      */
     public void setHigh(double value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CaloriesBurnedT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CaloriesBurnedT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CaloriesBurnedT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -18,7 +18,7 @@
 /**
  * <p>Java class for CaloriesBurned_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="CaloriesBurned_t">
@@ -32,6 +32,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -49,5 +49,5 @@
     /**
      * Gets the value of the calories property.
-     * 
+     *
      */
     public int getCalories() {
@@ -57,5 +57,5 @@
     /**
      * Sets the value of the calories property.
-     * 
+     *
      */
     public void setCalories(int value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CourseFolderT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CourseFolderT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CourseFolderT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -20,7 +20,7 @@
 /**
  * <p>Java class for CourseFolder_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="CourseFolder_t">
@@ -38,6 +38,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -63,5 +63,5 @@
     /**
      * Gets the value of the folder property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -69,5 +69,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the folder property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -75,11 +75,11 @@
      *    getFolder().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link CourseFolderT }
-     * 
-     * 
+     *
+     *
      */
     public List<CourseFolderT> getFolder() {
@@ -92,5 +92,5 @@
     /**
      * Gets the value of the courseNameRef property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -98,5 +98,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the courseNameRef property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -104,11 +104,11 @@
      *    getCourseNameRef().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link NameKeyReferenceT }
-     * 
-     * 
+     *
+     *
      */
     public List<NameKeyReferenceT> getCourseNameRef() {
@@ -121,9 +121,9 @@
     /**
      * Gets the value of the notes property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getNotes() {
@@ -133,9 +133,9 @@
     /**
      * Sets the value of the notes property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setNotes(String value) {
@@ -145,9 +145,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -157,9 +157,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
@@ -169,9 +169,9 @@
     /**
      * Gets the value of the name property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getName() {
@@ -181,9 +181,9 @@
     /**
      * Sets the value of the name property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setName(String value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CourseLapT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CourseLapT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CourseLapT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for CourseLap_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="CourseLap_t">
@@ -41,6 +41,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -85,5 +85,5 @@
     /**
      * Gets the value of the totalTimeSeconds property.
-     * 
+     *
      */
     public double getTotalTimeSeconds() {
@@ -93,5 +93,5 @@
     /**
      * Sets the value of the totalTimeSeconds property.
-     * 
+     *
      */
     public void setTotalTimeSeconds(double value) {
@@ -101,5 +101,5 @@
     /**
      * Gets the value of the distanceMeters property.
-     * 
+     *
      */
     public double getDistanceMeters() {
@@ -109,5 +109,5 @@
     /**
      * Sets the value of the distanceMeters property.
-     * 
+     *
      */
     public void setDistanceMeters(double value) {
@@ -117,9 +117,9 @@
     /**
      * Gets the value of the beginPosition property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link PositionT }
-     *     
+     *
      */
     public PositionT getBeginPosition() {
@@ -129,9 +129,9 @@
     /**
      * Sets the value of the beginPosition property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link PositionT }
-     *     
+     *
      */
     public void setBeginPosition(PositionT value) {
@@ -141,9 +141,9 @@
     /**
      * Gets the value of the beginAltitudeMeters property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link Double }
-     *     
+     *
      */
     public Double getBeginAltitudeMeters() {
@@ -153,9 +153,9 @@
     /**
      * Sets the value of the beginAltitudeMeters property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link Double }
-     *     
+     *
      */
     public void setBeginAltitudeMeters(Double value) {
@@ -165,9 +165,9 @@
     /**
      * Gets the value of the endPosition property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link PositionT }
-     *     
+     *
      */
     public PositionT getEndPosition() {
@@ -177,9 +177,9 @@
     /**
      * Sets the value of the endPosition property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link PositionT }
-     *     
+     *
      */
     public void setEndPosition(PositionT value) {
@@ -189,9 +189,9 @@
     /**
      * Gets the value of the endAltitudeMeters property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link Double }
-     *     
+     *
      */
     public Double getEndAltitudeMeters() {
@@ -201,9 +201,9 @@
     /**
      * Sets the value of the endAltitudeMeters property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link Double }
-     *     
+     *
      */
     public void setEndAltitudeMeters(Double value) {
@@ -213,9 +213,9 @@
     /**
      * Gets the value of the averageHeartRateBpm property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HeartRateInBeatsPerMinuteT }
-     *     
+     *
      */
     public HeartRateInBeatsPerMinuteT getAverageHeartRateBpm() {
@@ -225,9 +225,9 @@
     /**
      * Sets the value of the averageHeartRateBpm property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HeartRateInBeatsPerMinuteT }
-     *     
+     *
      */
     public void setAverageHeartRateBpm(HeartRateInBeatsPerMinuteT value) {
@@ -237,9 +237,9 @@
     /**
      * Gets the value of the maximumHeartRateBpm property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HeartRateInBeatsPerMinuteT }
-     *     
+     *
      */
     public HeartRateInBeatsPerMinuteT getMaximumHeartRateBpm() {
@@ -249,9 +249,9 @@
     /**
      * Sets the value of the maximumHeartRateBpm property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HeartRateInBeatsPerMinuteT }
-     *     
+     *
      */
     public void setMaximumHeartRateBpm(HeartRateInBeatsPerMinuteT value) {
@@ -261,9 +261,9 @@
     /**
      * Gets the value of the intensity property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link IntensityT }
-     *     
+     *
      */
     public IntensityT getIntensity() {
@@ -273,9 +273,9 @@
     /**
      * Sets the value of the intensity property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link IntensityT }
-     *     
+     *
      */
     public void setIntensity(IntensityT value) {
@@ -285,9 +285,9 @@
     /**
      * Gets the value of the cadence property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link Short }
-     *     
+     *
      */
     public Short getCadence() {
@@ -297,9 +297,9 @@
     /**
      * Sets the value of the cadence property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link Short }
-     *     
+     *
      */
     public void setCadence(Short value) {
@@ -309,9 +309,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -321,9 +321,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CourseListT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CourseListT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CourseListT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -19,7 +19,7 @@
 /**
  * <p>Java class for CourseList_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="CourseList_t">
@@ -33,6 +33,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -47,5 +47,5 @@
     /**
      * Gets the value of the course property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -53,5 +53,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the course property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -59,11 +59,11 @@
      *    getCourse().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link CourseT }
-     * 
-     * 
+     *
+     *
      */
     public List<CourseT> getCourse() {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CoursePointT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CoursePointT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CoursePointT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -21,7 +21,7 @@
 /**
  * <p>Java class for CoursePoint_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="CoursePoint_t">
@@ -41,6 +41,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -76,9 +76,9 @@
     /**
      * Gets the value of the name property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
      */
     public String getName() {
@@ -88,9 +88,9 @@
     /**
      * Sets the value of the name property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
      */
     public void setName(String value) {
@@ -100,9 +100,9 @@
     /**
      * Gets the value of the time property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public XMLGregorianCalendar getTime() {
@@ -112,9 +112,9 @@
     /**
      * Sets the value of the time property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public void setTime(XMLGregorianCalendar value) {
@@ -124,9 +124,9 @@
     /**
      * Gets the value of the position property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link PositionT }
-     *     
+     *
      */
     public PositionT getPosition() {
@@ -136,9 +136,9 @@
     /**
      * Sets the value of the position property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link PositionT }
-     *     
+     *
      */
     public void setPosition(PositionT value) {
@@ -148,9 +148,9 @@
     /**
      * Gets the value of the altitudeMeters property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link Double }
-     *     
+     *
      */
     public Double getAltitudeMeters() {
@@ -160,9 +160,9 @@
     /**
      * Sets the value of the altitudeMeters property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link Double }
-     *     
+     *
      */
     public void setAltitudeMeters(Double value) {
@@ -172,9 +172,9 @@
     /**
      * Gets the value of the pointType property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
      */
     public String getPointType() {
@@ -184,9 +184,9 @@
     /**
      * Sets the value of the pointType property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
      */
     public void setPointType(String value) {
@@ -196,9 +196,9 @@
     /**
      * Gets the value of the notes property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
      */
     public String getNotes() {
@@ -208,9 +208,9 @@
     /**
      * Sets the value of the notes property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
      */
     public void setNotes(String value) {
@@ -220,9 +220,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -232,9 +232,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CourseT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CourseT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CourseT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -21,7 +21,7 @@
 /**
  * <p>Java class for Course_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Course_t">
@@ -41,6 +41,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -74,9 +74,9 @@
     /**
      * Gets the value of the name property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
      */
     public String getName() {
@@ -86,9 +86,9 @@
     /**
      * Sets the value of the name property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
      */
     public void setName(String value) {
@@ -98,5 +98,5 @@
     /**
      * Gets the value of the lap property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -104,5 +104,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the lap property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -110,11 +110,11 @@
      *    getLap().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link CourseLapT }
-     * 
-     * 
+     *
+     *
      */
     public List<CourseLapT> getLap() {
@@ -127,5 +127,5 @@
     /**
      * Gets the value of the track property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -133,5 +133,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the track property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -139,11 +139,11 @@
      *    getTrack().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link TrackT }
-     * 
-     * 
+     *
+     *
      */
     public List<TrackT> getTrack() {
@@ -156,9 +156,9 @@
     /**
      * Gets the value of the notes property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
      */
     public String getNotes() {
@@ -168,9 +168,9 @@
     /**
      * Sets the value of the notes property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
      */
     public void setNotes(String value) {
@@ -180,5 +180,5 @@
     /**
      * Gets the value of the coursePoint property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -186,5 +186,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the coursePoint property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -192,11 +192,11 @@
      *    getCoursePoint().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link CoursePointT }
-     * 
-     * 
+     *
+     *
      */
     public List<CoursePointT> getCoursePoint() {
@@ -209,9 +209,9 @@
     /**
      * Gets the value of the creator property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link AbstractSourceT }
-     *     
+     *
      */
     public AbstractSourceT getCreator() {
@@ -221,9 +221,9 @@
     /**
      * Sets the value of the creator property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link AbstractSourceT }
-     *     
+     *
      */
     public void setCreator(AbstractSourceT value) {
@@ -233,9 +233,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -245,9 +245,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CoursesT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CoursesT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CoursesT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for Courses_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Courses_t">
@@ -32,6 +32,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -49,9 +49,9 @@
     /**
      * Gets the value of the courseFolder property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link CourseFolderT }
-     *     
+     *
      */
     public CourseFolderT getCourseFolder() {
@@ -61,9 +61,9 @@
     /**
      * Sets the value of the courseFolder property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link CourseFolderT }
-     *     
+     *
      */
     public void setCourseFolder(CourseFolderT value) {
@@ -73,9 +73,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -85,9 +85,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CustomHeartRateZoneT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CustomHeartRateZoneT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CustomHeartRateZoneT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for CustomHeartRateZone_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="CustomHeartRateZone_t">
@@ -32,6 +32,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -51,9 +51,9 @@
     /**
      * Gets the value of the low property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HeartRateValueT }
-     *     
+     *
      */
     public HeartRateValueT getLow() {
@@ -63,9 +63,9 @@
     /**
      * Sets the value of the low property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HeartRateValueT }
-     *     
+     *
      */
     public void setLow(HeartRateValueT value) {
@@ -75,9 +75,9 @@
     /**
      * Gets the value of the high property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HeartRateValueT }
-     *     
+     *
      */
     public HeartRateValueT getHigh() {
@@ -87,9 +87,9 @@
     /**
      * Sets the value of the high property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HeartRateValueT }
-     *     
+     *
      */
     public void setHigh(HeartRateValueT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CustomSpeedZoneT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CustomSpeedZoneT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/CustomSpeedZoneT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for CustomSpeedZone_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="CustomSpeedZone_t">
@@ -33,6 +33,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -55,9 +55,9 @@
     /**
      * Gets the value of the viewAs property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link SpeedTypeT }
-     *     
+     *
      */
     public SpeedTypeT getViewAs() {
@@ -67,9 +67,9 @@
     /**
      * Sets the value of the viewAs property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link SpeedTypeT }
-     *     
+     *
      */
     public void setViewAs(SpeedTypeT value) {
@@ -79,5 +79,5 @@
     /**
      * Gets the value of the lowInMetersPerSecond property.
-     * 
+     *
      */
     public double getLowInMetersPerSecond() {
@@ -87,5 +87,5 @@
     /**
      * Sets the value of the lowInMetersPerSecond property.
-     * 
+     *
      */
     public void setLowInMetersPerSecond(double value) {
@@ -95,5 +95,5 @@
     /**
      * Gets the value of the highInMetersPerSecond property.
-     * 
+     *
      */
     public double getHighInMetersPerSecond() {
@@ -103,5 +103,5 @@
     /**
      * Sets the value of the highInMetersPerSecond property.
-     * 
+     *
      */
     public void setHighInMetersPerSecond(double value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/DeviceT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/DeviceT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/DeviceT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -20,9 +20,9 @@
  *                                used to identify the type of device capable of handling
  *                                the data for loading.
- * 
+ *
  * <p>Java class for Device_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Device_t">
@@ -38,6 +38,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -62,5 +62,5 @@
     /**
      * Gets the value of the unitId property.
-     * 
+     *
      */
     public long getUnitId() {
@@ -70,5 +70,5 @@
     /**
      * Sets the value of the unitId property.
-     * 
+     *
      */
     public void setUnitId(long value) {
@@ -78,5 +78,5 @@
     /**
      * Gets the value of the productID property.
-     * 
+     *
      */
     public int getProductID() {
@@ -86,5 +86,5 @@
     /**
      * Sets the value of the productID property.
-     * 
+     *
      */
     public void setProductID(int value) {
@@ -94,9 +94,9 @@
     /**
      * Gets the value of the version property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link VersionT }
-     *     
+     *
      */
     public VersionT getVersion() {
@@ -106,9 +106,9 @@
     /**
      * Sets the value of the version property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link VersionT }
-     *     
+     *
      */
     public void setVersion(VersionT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/DistanceT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/DistanceT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/DistanceT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -18,7 +18,7 @@
 /**
  * <p>Java class for Distance_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Distance_t">
@@ -32,6 +32,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -49,5 +49,5 @@
     /**
      * Gets the value of the meters property.
-     * 
+     *
      */
     public int getMeters() {
@@ -57,5 +57,5 @@
     /**
      * Sets the value of the meters property.
-     * 
+     *
      */
     public void setMeters(int value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/DurationT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/DurationT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/DurationT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for Duration_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Duration_t">
@@ -28,6 +28,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ExtensionsT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ExtensionsT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ExtensionsT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -20,7 +20,7 @@
 /**
  * <p>Java class for Extensions_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Extensions_t">
@@ -34,6 +34,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -48,5 +48,5 @@
     /**
      * Gets the value of the any property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -54,5 +54,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the any property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -60,12 +60,12 @@
      *    getAny().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link Object }
      * {@link Element }
-     * 
-     * 
+     *
+     *
      */
     public List<Object> getAny() {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/FirstSportT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/FirstSportT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/FirstSportT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for FirstSport_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="FirstSport_t">
@@ -31,6 +31,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -45,9 +45,9 @@
     /**
      * Gets the value of the activity property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ActivityT }
-     *     
+     *
      */
     public ActivityT getActivity() {
@@ -57,9 +57,9 @@
     /**
      * Sets the value of the activity property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ActivityT }
-     *     
+     *
      */
     public void setActivity(ActivityT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/FoldersT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/FoldersT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/FoldersT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for Folders_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Folders_t">
@@ -33,6 +33,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -53,9 +53,9 @@
     /**
      * Gets the value of the history property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HistoryT }
-     *     
+     *
      */
     public HistoryT getHistory() {
@@ -65,9 +65,9 @@
     /**
      * Sets the value of the history property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HistoryT }
-     *     
+     *
      */
     public void setHistory(HistoryT value) {
@@ -77,9 +77,9 @@
     /**
      * Gets the value of the workouts property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link WorkoutsT }
-     *     
+     *
      */
     public WorkoutsT getWorkouts() {
@@ -89,9 +89,9 @@
     /**
      * Sets the value of the workouts property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link WorkoutsT }
-     *     
+     *
      */
     public void setWorkouts(WorkoutsT value) {
@@ -101,9 +101,9 @@
     /**
      * Gets the value of the courses property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link CoursesT }
-     *     
+     *
      */
     public CoursesT getCourses() {
@@ -113,9 +113,9 @@
     /**
      * Sets the value of the courses property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link CoursesT }
-     *     
+     *
      */
     public void setCourses(CoursesT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/GenderT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/GenderT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/GenderT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -16,5 +16,5 @@
 /**
  * <p>Java class for Gender_t.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
  * <p>
@@ -27,5 +27,5 @@
  * &lt;/simpleType>
  * </pre>
- * 
+ *
  */
 @XmlType(name = "Gender_t")
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateAboveT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateAboveT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateAboveT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for HeartRateAbove_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="HeartRateAbove_t">
@@ -31,6 +31,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -47,9 +47,9 @@
     /**
      * Gets the value of the heartRate property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HeartRateValueT }
-     *     
+     *
      */
     public HeartRateValueT getHeartRate() {
@@ -59,9 +59,9 @@
     /**
      * Sets the value of the heartRate property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HeartRateValueT }
-     *     
+     *
      */
     public void setHeartRate(HeartRateValueT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateAsPercentOfMaxT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateAsPercentOfMaxT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateAsPercentOfMaxT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for HeartRateAsPercentOfMax_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="HeartRateAsPercentOfMax_t">
@@ -31,6 +31,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -47,5 +47,5 @@
     /**
      * Gets the value of the value property.
-     * 
+     *
      */
     public short getValue() {
@@ -55,5 +55,5 @@
     /**
      * Sets the value of the value property.
-     * 
+     *
      */
     public void setValue(short value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateBelowT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateBelowT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateBelowT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for HeartRateBelow_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="HeartRateBelow_t">
@@ -31,6 +31,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -47,9 +47,9 @@
     /**
      * Gets the value of the heartRate property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HeartRateValueT }
-     *     
+     *
      */
     public HeartRateValueT getHeartRate() {
@@ -59,9 +59,9 @@
     /**
      * Sets the value of the heartRate property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HeartRateValueT }
-     *     
+     *
      */
     public void setHeartRate(HeartRateValueT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateInBeatsPerMinuteT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateInBeatsPerMinuteT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateInBeatsPerMinuteT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for HeartRateInBeatsPerMinute_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="HeartRateInBeatsPerMinute_t">
@@ -31,6 +31,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -47,5 +47,5 @@
     /**
      * Gets the value of the value property.
-     * 
+     *
      */
     public short getValue() {
@@ -55,5 +55,5 @@
     /**
      * Sets the value of the value property.
-     * 
+     *
      */
     public void setValue(short value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for HeartRate_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="HeartRate_t">
@@ -31,6 +31,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -47,9 +47,9 @@
     /**
      * Gets the value of the heartRateZone property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ZoneT }
-     *     
+     *
      */
     public ZoneT getHeartRateZone() {
@@ -59,9 +59,9 @@
     /**
      * Sets the value of the heartRateZone property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ZoneT }
-     *     
+     *
      */
     public void setHeartRateZone(ZoneT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateValueT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateValueT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HeartRateValueT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for HeartRateValue_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="HeartRateValue_t">
@@ -28,6 +28,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HistoryFolderT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HistoryFolderT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HistoryFolderT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -20,7 +20,7 @@
 /**
  * <p>Java class for HistoryFolder_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="HistoryFolder_t">
@@ -39,6 +39,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -67,5 +67,5 @@
     /**
      * Gets the value of the folder property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -73,5 +73,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the folder property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -79,11 +79,11 @@
      *    getFolder().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link HistoryFolderT }
-     * 
-     * 
+     *
+     *
      */
     public List<HistoryFolderT> getFolder() {
@@ -96,5 +96,5 @@
     /**
      * Gets the value of the activityRef property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -102,5 +102,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the activityRef property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -108,11 +108,11 @@
      *    getActivityRef().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link ActivityReferenceT }
-     * 
-     * 
+     *
+     *
      */
     public List<ActivityReferenceT> getActivityRef() {
@@ -125,5 +125,5 @@
     /**
      * Gets the value of the week property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -131,5 +131,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the week property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -137,11 +137,11 @@
      *    getWeek().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link WeekT }
-     * 
-     * 
+     *
+     *
      */
     public List<WeekT> getWeek() {
@@ -154,9 +154,9 @@
     /**
      * Gets the value of the notes property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getNotes() {
@@ -166,9 +166,9 @@
     /**
      * Sets the value of the notes property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setNotes(String value) {
@@ -178,9 +178,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -190,9 +190,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
@@ -202,9 +202,9 @@
     /**
      * Gets the value of the name property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getName() {
@@ -214,9 +214,9 @@
     /**
      * Sets the value of the name property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setName(String value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HistoryT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HistoryT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/HistoryT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for History_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="History_t">
@@ -35,6 +35,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -61,9 +61,9 @@
     /**
      * Gets the value of the running property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HistoryFolderT }
-     *     
+     *
      */
     public HistoryFolderT getRunning() {
@@ -73,9 +73,9 @@
     /**
      * Sets the value of the running property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HistoryFolderT }
-     *     
+     *
      */
     public void setRunning(HistoryFolderT value) {
@@ -85,9 +85,9 @@
     /**
      * Gets the value of the biking property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HistoryFolderT }
-     *     
+     *
      */
     public HistoryFolderT getBiking() {
@@ -97,9 +97,9 @@
     /**
      * Sets the value of the biking property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HistoryFolderT }
-     *     
+     *
      */
     public void setBiking(HistoryFolderT value) {
@@ -109,9 +109,9 @@
     /**
      * Gets the value of the other property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HistoryFolderT }
-     *     
+     *
      */
     public HistoryFolderT getOther() {
@@ -121,9 +121,9 @@
     /**
      * Sets the value of the other property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HistoryFolderT }
-     *     
+     *
      */
     public void setOther(HistoryFolderT value) {
@@ -133,9 +133,9 @@
     /**
      * Gets the value of the multiSport property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link MultiSportFolderT }
-     *     
+     *
      */
     public MultiSportFolderT getMultiSport() {
@@ -145,9 +145,9 @@
     /**
      * Sets the value of the multiSport property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link MultiSportFolderT }
-     *     
+     *
      */
     public void setMultiSport(MultiSportFolderT value) {
@@ -157,9 +157,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -169,9 +169,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/IntensityT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/IntensityT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/IntensityT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -16,5 +16,5 @@
 /**
  * <p>Java class for Intensity_t.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
  * <p>
@@ -27,5 +27,5 @@
  * &lt;/simpleType>
  * </pre>
- * 
+ *
  */
 @XmlType(name = "Intensity_t")
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/MultiSportFolderT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/MultiSportFolderT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/MultiSportFolderT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -20,7 +20,7 @@
 /**
  * <p>Java class for MultiSportFolder_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="MultiSportFolder_t">
@@ -39,6 +39,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -67,5 +67,5 @@
     /**
      * Gets the value of the folder property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -73,5 +73,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the folder property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -79,11 +79,11 @@
      *    getFolder().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link MultiSportFolderT }
-     * 
-     * 
+     *
+     *
      */
     public List<MultiSportFolderT> getFolder() {
@@ -96,5 +96,5 @@
     /**
      * Gets the value of the multisportActivityRef property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -102,5 +102,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the multisportActivityRef property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -108,11 +108,11 @@
      *    getMultisportActivityRef().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link ActivityReferenceT }
-     * 
-     * 
+     *
+     *
      */
     public List<ActivityReferenceT> getMultisportActivityRef() {
@@ -125,5 +125,5 @@
     /**
      * Gets the value of the week property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -131,5 +131,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the week property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -137,11 +137,11 @@
      *    getWeek().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link WeekT }
-     * 
-     * 
+     *
+     *
      */
     public List<WeekT> getWeek() {
@@ -154,9 +154,9 @@
     /**
      * Gets the value of the notes property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getNotes() {
@@ -166,9 +166,9 @@
     /**
      * Sets the value of the notes property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setNotes(String value) {
@@ -178,9 +178,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -190,9 +190,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
@@ -202,9 +202,9 @@
     /**
      * Gets the value of the name property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getName() {
@@ -214,9 +214,9 @@
     /**
      * Sets the value of the name property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setName(String value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/MultiSportSessionT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/MultiSportSessionT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/MultiSportSessionT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -21,7 +21,7 @@
 /**
  * <p>Java class for MultiSportSession_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="MultiSportSession_t">
@@ -38,6 +38,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -62,9 +62,9 @@
     /**
      * Gets the value of the id property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public XMLGregorianCalendar getId() {
@@ -74,9 +74,9 @@
     /**
      * Sets the value of the id property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public void setId(XMLGregorianCalendar value) {
@@ -86,9 +86,9 @@
     /**
      * Gets the value of the firstSport property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link FirstSportT }
-     *     
+     *
      */
     public FirstSportT getFirstSport() {
@@ -98,9 +98,9 @@
     /**
      * Sets the value of the firstSport property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link FirstSportT }
-     *     
+     *
      */
     public void setFirstSport(FirstSportT value) {
@@ -110,5 +110,5 @@
     /**
      * Gets the value of the nextSport property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -116,5 +116,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the nextSport property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -122,11 +122,11 @@
      *    getNextSport().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link NextSportT }
-     * 
-     * 
+     *
+     *
      */
     public List<NextSportT> getNextSport() {
@@ -139,9 +139,9 @@
     /**
      * Gets the value of the notes property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getNotes() {
@@ -151,9 +151,9 @@
     /**
      * Sets the value of the notes property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setNotes(String value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/NameKeyReferenceT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/NameKeyReferenceT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/NameKeyReferenceT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -19,7 +19,7 @@
 /**
  * <p>Java class for NameKeyReference_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="NameKeyReference_t">
@@ -33,6 +33,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -48,9 +48,9 @@
     /**
      * Gets the value of the id property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getId() {
@@ -60,9 +60,9 @@
     /**
      * Sets the value of the id property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setId(String value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/NextSportT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/NextSportT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/NextSportT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for NextSport_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="NextSport_t">
@@ -32,6 +32,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -49,9 +49,9 @@
     /**
      * Gets the value of the transition property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ActivityLapT }
-     *     
+     *
      */
     public ActivityLapT getTransition() {
@@ -61,9 +61,9 @@
     /**
      * Sets the value of the transition property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ActivityLapT }
-     *     
+     *
      */
     public void setTransition(ActivityLapT value) {
@@ -73,9 +73,9 @@
     /**
      * Gets the value of the activity property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ActivityT }
-     *     
+     *
      */
     public ActivityT getActivity() {
@@ -85,9 +85,9 @@
     /**
      * Sets the value of the activity property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ActivityT }
-     *     
+     *
      */
     public void setActivity(ActivityT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/NoneT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/NoneT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/NoneT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -16,7 +16,7 @@
 /**
  * <p>Java class for None_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="None_t">
@@ -27,6 +27,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ObjectFactory.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ObjectFactory.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ObjectFactory.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -16,16 +16,16 @@
 
 /**
- * This object contains factory methods for each 
- * Java content interface and Java element interface 
- * generated in the org.openstreetmap.josm.plugins.dataimport.io.tcx package. 
- * <p>An ObjectFactory allows you to programatically 
- * construct new instances of the Java representation 
- * for XML content. The Java representation of XML 
- * content can consist of schema derived interfaces 
- * and classes representing the binding of schema 
- * type definitions, element declarations and model 
- * groups.  Factory methods for each of these are 
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the org.openstreetmap.josm.plugins.dataimport.io.tcx package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups.  Factory methods for each of these are
  * provided in this class.
- * 
+ *
  */
 @XmlRegistry
@@ -36,5 +36,5 @@
     /**
      * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.openstreetmap.josm.plugins.dataimport.io.tcx
-     * 
+     *
      */
     public ObjectFactory() {
@@ -43,5 +43,5 @@
     /**
      * Create an instance of {@link NameKeyReferenceT }
-     * 
+     *
      */
     public NameKeyReferenceT createNameKeyReferenceT() {
@@ -51,5 +51,5 @@
     /**
      * Create an instance of {@link CourseListT }
-     * 
+     *
      */
     public CourseListT createCourseListT() {
@@ -59,5 +59,5 @@
     /**
      * Create an instance of {@link RepeatT }
-     * 
+     *
      */
     public RepeatT createRepeatT() {
@@ -67,5 +67,5 @@
     /**
      * Create an instance of {@link SpeedT }
-     * 
+     *
      */
     public SpeedT createSpeedT() {
@@ -75,5 +75,5 @@
     /**
      * Create an instance of {@link HeartRateAsPercentOfMaxT }
-     * 
+     *
      */
     public HeartRateAsPercentOfMaxT createHeartRateAsPercentOfMaxT() {
@@ -83,5 +83,5 @@
     /**
      * Create an instance of {@link NoneT }
-     * 
+     *
      */
     public NoneT createNoneT() {
@@ -91,5 +91,5 @@
     /**
      * Create an instance of {@link CourseFolderT }
-     * 
+     *
      */
     public CourseFolderT createCourseFolderT() {
@@ -99,5 +99,5 @@
     /**
      * Create an instance of {@link TrackT }
-     * 
+     *
      */
     public TrackT createTrackT() {
@@ -107,5 +107,5 @@
     /**
      * Create an instance of {@link PredefinedSpeedZoneT }
-     * 
+     *
      */
     public PredefinedSpeedZoneT createPredefinedSpeedZoneT() {
@@ -115,5 +115,5 @@
     /**
      * Create an instance of {@link CadenceT }
-     * 
+     *
      */
     public CadenceT createCadenceT() {
@@ -123,5 +123,5 @@
     /**
      * Create an instance of {@link WorkoutFolderT }
-     * 
+     *
      */
     public WorkoutFolderT createWorkoutFolderT() {
@@ -131,5 +131,5 @@
     /**
      * Create an instance of {@link QuickWorkoutT }
-     * 
+     *
      */
     public QuickWorkoutT createQuickWorkoutT() {
@@ -139,5 +139,5 @@
     /**
      * Create an instance of {@link ActivityReferenceT }
-     * 
+     *
      */
     public ActivityReferenceT createActivityReferenceT() {
@@ -147,5 +147,5 @@
     /**
      * Create an instance of {@link VersionT }
-     * 
+     *
      */
     public VersionT createVersionT() {
@@ -155,5 +155,5 @@
     /**
      * Create an instance of {@link WorkoutListT }
-     * 
+     *
      */
     public WorkoutListT createWorkoutListT() {
@@ -163,5 +163,5 @@
     /**
      * Create an instance of {@link HeartRateInBeatsPerMinuteT }
-     * 
+     *
      */
     public HeartRateInBeatsPerMinuteT createHeartRateInBeatsPerMinuteT() {
@@ -171,5 +171,5 @@
     /**
      * Create an instance of {@link PositionT }
-     * 
+     *
      */
     public PositionT createPositionT() {
@@ -179,5 +179,5 @@
     /**
      * Create an instance of {@link HistoryT }
-     * 
+     *
      */
     public HistoryT createHistoryT() {
@@ -187,5 +187,5 @@
     /**
      * Create an instance of {@link ApplicationT }
-     * 
+     *
      */
     public ApplicationT createApplicationT() {
@@ -195,5 +195,5 @@
     /**
      * Create an instance of {@link DeviceT }
-     * 
+     *
      */
     public DeviceT createDeviceT() {
@@ -203,5 +203,5 @@
     /**
      * Create an instance of {@link ExtensionsT }
-     * 
+     *
      */
     public ExtensionsT createExtensionsT() {
@@ -211,5 +211,5 @@
     /**
      * Create an instance of {@link TimeT }
-     * 
+     *
      */
     public TimeT createTimeT() {
@@ -219,5 +219,5 @@
     /**
      * Create an instance of {@link WorkoutsT }
-     * 
+     *
      */
     public WorkoutsT createWorkoutsT() {
@@ -227,5 +227,5 @@
     /**
      * Create an instance of {@link ActivityLapT }
-     * 
+     *
      */
     public ActivityLapT createActivityLapT() {
@@ -235,5 +235,5 @@
     /**
      * Create an instance of {@link MultiSportSessionT }
-     * 
+     *
      */
     public MultiSportSessionT createMultiSportSessionT() {
@@ -243,5 +243,5 @@
     /**
      * Create an instance of {@link BuildT }
-     * 
+     *
      */
     public BuildT createBuildT() {
@@ -251,5 +251,5 @@
     /**
      * Create an instance of {@link ActivityT }
-     * 
+     *
      */
     public ActivityT createActivityT() {
@@ -259,5 +259,5 @@
     /**
      * Create an instance of {@link TrainingT }
-     * 
+     *
      */
     public TrainingT createTrainingT() {
@@ -267,5 +267,5 @@
     /**
      * Create an instance of {@link PlanT }
-     * 
+     *
      */
     public PlanT createPlanT() {
@@ -275,5 +275,5 @@
     /**
      * Create an instance of {@link TrainingCenterDatabaseT }
-     * 
+     *
      */
     public TrainingCenterDatabaseT createTrainingCenterDatabaseT() {
@@ -283,5 +283,5 @@
     /**
      * Create an instance of {@link FoldersT }
-     * 
+     *
      */
     public FoldersT createFoldersT() {
@@ -291,5 +291,5 @@
     /**
      * Create an instance of {@link UserInitiatedT }
-     * 
+     *
      */
     public UserInitiatedT createUserInitiatedT() {
@@ -299,5 +299,5 @@
     /**
      * Create an instance of {@link MultiSportFolderT }
-     * 
+     *
      */
     public MultiSportFolderT createMultiSportFolderT() {
@@ -307,5 +307,5 @@
     /**
      * Create an instance of {@link ActivityListT }
-     * 
+     *
      */
     public ActivityListT createActivityListT() {
@@ -315,5 +315,5 @@
     /**
      * Create an instance of {@link CustomHeartRateZoneT }
-     * 
+     *
      */
     public CustomHeartRateZoneT createCustomHeartRateZoneT() {
@@ -323,5 +323,5 @@
     /**
      * Create an instance of {@link TrackpointT }
-     * 
+     *
      */
     public TrackpointT createTrackpointT() {
@@ -331,5 +331,5 @@
     /**
      * Create an instance of {@link CourseT }
-     * 
+     *
      */
     public CourseT createCourseT() {
@@ -339,5 +339,5 @@
     /**
      * Create an instance of {@link CourseLapT }
-     * 
+     *
      */
     public CourseLapT createCourseLapT() {
@@ -347,5 +347,5 @@
     /**
      * Create an instance of {@link NextSportT }
-     * 
+     *
      */
     public NextSportT createNextSportT() {
@@ -355,5 +355,5 @@
     /**
      * Create an instance of {@link DistanceT }
-     * 
+     *
      */
     public DistanceT createDistanceT() {
@@ -363,5 +363,5 @@
     /**
      * Create an instance of {@link FirstSportT }
-     * 
+     *
      */
     public FirstSportT createFirstSportT() {
@@ -371,5 +371,5 @@
     /**
      * Create an instance of {@link HeartRateT }
-     * 
+     *
      */
     public HeartRateT createHeartRateT() {
@@ -379,5 +379,5 @@
     /**
      * Create an instance of {@link CaloriesBurnedT }
-     * 
+     *
      */
     public CaloriesBurnedT createCaloriesBurnedT() {
@@ -387,5 +387,5 @@
     /**
      * Create an instance of {@link StepT }
-     * 
+     *
      */
     public StepT createStepT() {
@@ -395,5 +395,5 @@
     /**
      * Create an instance of {@link HeartRateBelowT }
-     * 
+     *
      */
     public HeartRateBelowT createHeartRateBelowT() {
@@ -403,5 +403,5 @@
     /**
      * Create an instance of {@link HeartRateAboveT }
-     * 
+     *
      */
     public HeartRateAboveT createHeartRateAboveT() {
@@ -411,5 +411,5 @@
     /**
      * Create an instance of {@link CoursesT }
-     * 
+     *
      */
     public CoursesT createCoursesT() {
@@ -419,5 +419,5 @@
     /**
      * Create an instance of {@link WorkoutT }
-     * 
+     *
      */
     public WorkoutT createWorkoutT() {
@@ -427,5 +427,5 @@
     /**
      * Create an instance of {@link WeekT }
-     * 
+     *
      */
     public WeekT createWeekT() {
@@ -435,5 +435,5 @@
     /**
      * Create an instance of {@link CustomSpeedZoneT }
-     * 
+     *
      */
     public CustomSpeedZoneT createCustomSpeedZoneT() {
@@ -443,5 +443,5 @@
     /**
      * Create an instance of {@link HistoryFolderT }
-     * 
+     *
      */
     public HistoryFolderT createHistoryFolderT() {
@@ -451,5 +451,5 @@
     /**
      * Create an instance of {@link PredefinedHeartRateZoneT }
-     * 
+     *
      */
     public PredefinedHeartRateZoneT createPredefinedHeartRateZoneT() {
@@ -459,5 +459,5 @@
     /**
      * Create an instance of {@link CoursePointT }
-     * 
+     *
      */
     public CoursePointT createCoursePointT() {
@@ -467,5 +467,5 @@
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link TrainingCenterDatabaseT }{@code >}}
-     * 
+     *
      */
     @XmlElementDecl(namespace = "http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2", name = "TrainingCenterDatabase")
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/PlanT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/PlanT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/PlanT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -20,7 +20,7 @@
 /**
  * <p>Java class for Plan_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Plan_t">
@@ -37,6 +37,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -59,9 +59,9 @@
     /**
      * Gets the value of the name property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getName() {
@@ -71,9 +71,9 @@
     /**
      * Sets the value of the name property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setName(String value) {
@@ -83,9 +83,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -95,9 +95,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
@@ -107,9 +107,9 @@
     /**
      * Gets the value of the type property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link TrainingTypeT }
-     *     
+     *
      */
     public TrainingTypeT getType() {
@@ -119,9 +119,9 @@
     /**
      * Sets the value of the type property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link TrainingTypeT }
-     *     
+     *
      */
     public void setType(TrainingTypeT value) {
@@ -131,5 +131,5 @@
     /**
      * Gets the value of the intervalWorkout property.
-     * 
+     *
      */
     public boolean isIntervalWorkout() {
@@ -139,5 +139,5 @@
     /**
      * Sets the value of the intervalWorkout property.
-     * 
+     *
      */
     public void setIntervalWorkout(boolean value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/PositionT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/PositionT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/PositionT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for Position_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Position_t">
@@ -32,6 +32,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -49,5 +49,5 @@
     /**
      * Gets the value of the latitudeDegrees property.
-     * 
+     *
      */
     public double getLatitudeDegrees() {
@@ -57,5 +57,5 @@
     /**
      * Sets the value of the latitudeDegrees property.
-     * 
+     *
      */
     public void setLatitudeDegrees(double value) {
@@ -65,5 +65,5 @@
     /**
      * Gets the value of the longitudeDegrees property.
-     * 
+     *
      */
     public double getLongitudeDegrees() {
@@ -73,5 +73,5 @@
     /**
      * Sets the value of the longitudeDegrees property.
-     * 
+     *
      */
     public void setLongitudeDegrees(double value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/PredefinedHeartRateZoneT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/PredefinedHeartRateZoneT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/PredefinedHeartRateZoneT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for PredefinedHeartRateZone_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="PredefinedHeartRateZone_t">
@@ -31,6 +31,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -47,5 +47,5 @@
     /**
      * Gets the value of the number property.
-     * 
+     *
      */
     public int getNumber() {
@@ -55,5 +55,5 @@
     /**
      * Sets the value of the number property.
-     * 
+     *
      */
     public void setNumber(int value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/PredefinedSpeedZoneT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/PredefinedSpeedZoneT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/PredefinedSpeedZoneT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for PredefinedSpeedZone_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="PredefinedSpeedZone_t">
@@ -31,6 +31,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -47,5 +47,5 @@
     /**
      * Gets the value of the number property.
-     * 
+     *
      */
     public int getNumber() {
@@ -55,5 +55,5 @@
     /**
      * Sets the value of the number property.
-     * 
+     *
      */
     public void setNumber(int value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/QuickWorkoutT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/QuickWorkoutT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/QuickWorkoutT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for QuickWorkout_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="QuickWorkout_t">
@@ -32,6 +32,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -49,5 +49,5 @@
     /**
      * Gets the value of the totalTimeSeconds property.
-     * 
+     *
      */
     public double getTotalTimeSeconds() {
@@ -57,5 +57,5 @@
     /**
      * Sets the value of the totalTimeSeconds property.
-     * 
+     *
      */
     public void setTotalTimeSeconds(double value) {
@@ -65,5 +65,5 @@
     /**
      * Gets the value of the distanceMeters property.
-     * 
+     *
      */
     public double getDistanceMeters() {
@@ -73,5 +73,5 @@
     /**
      * Sets the value of the distanceMeters property.
-     * 
+     *
      */
     public void setDistanceMeters(double value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/RepeatT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/RepeatT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/RepeatT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -19,7 +19,7 @@
 /**
  * <p>Java class for Repeat_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Repeat_t">
@@ -34,6 +34,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -53,5 +53,5 @@
     /**
      * Gets the value of the repetitions property.
-     * 
+     *
      */
     public int getRepetitions() {
@@ -61,5 +61,5 @@
     /**
      * Sets the value of the repetitions property.
-     * 
+     *
      */
     public void setRepetitions(int value) {
@@ -69,5 +69,5 @@
     /**
      * Gets the value of the child property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -75,5 +75,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the child property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -81,11 +81,11 @@
      *    getChild().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link AbstractStepT }
-     * 
-     * 
+     *
+     *
      */
     public List<AbstractStepT> getChild() {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/SensorStateT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/SensorStateT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/SensorStateT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -16,5 +16,5 @@
 /**
  * <p>Java class for SensorState_t.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
  * <p>
@@ -27,5 +27,5 @@
  * &lt;/simpleType>
  * </pre>
- * 
+ *
  */
 @XmlType(name = "SensorState_t")
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/SpeedT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/SpeedT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/SpeedT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for Speed_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Speed_t">
@@ -31,6 +31,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -47,9 +47,9 @@
     /**
      * Gets the value of the speedZone property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ZoneT }
-     *     
+     *
      */
     public ZoneT getSpeedZone() {
@@ -59,9 +59,9 @@
     /**
      * Sets the value of the speedZone property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ZoneT }
-     *     
+     *
      */
     public void setSpeedZone(ZoneT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/SpeedTypeT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/SpeedTypeT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/SpeedTypeT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -16,5 +16,5 @@
 /**
  * <p>Java class for SpeedType_t.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
  * <p>
@@ -27,5 +27,5 @@
  * &lt;/simpleType>
  * </pre>
- * 
+ *
  */
 @XmlType(name = "SpeedType_t")
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/SportT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/SportT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/SportT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -16,5 +16,5 @@
 /**
  * <p>Java class for Sport_t.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
  * <p>
@@ -28,5 +28,5 @@
  * &lt;/simpleType>
  * </pre>
- * 
+ *
  */
 @XmlType(name = "Sport_t")
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/StepT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/StepT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/StepT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -19,7 +19,7 @@
 /**
  * <p>Java class for Step_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Step_t">
@@ -36,6 +36,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -62,9 +62,9 @@
     /**
      * Gets the value of the name property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getName() {
@@ -74,9 +74,9 @@
     /**
      * Sets the value of the name property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setName(String value) {
@@ -86,9 +86,9 @@
     /**
      * Gets the value of the duration property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link DurationT }
-     *     
+     *
      */
     public DurationT getDuration() {
@@ -98,9 +98,9 @@
     /**
      * Sets the value of the duration property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link DurationT }
-     *     
+     *
      */
     public void setDuration(DurationT value) {
@@ -110,9 +110,9 @@
     /**
      * Gets the value of the intensity property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link IntensityT }
-     *     
+     *
      */
     public IntensityT getIntensity() {
@@ -122,9 +122,9 @@
     /**
      * Sets the value of the intensity property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link IntensityT }
-     *     
+     *
      */
     public void setIntensity(IntensityT value) {
@@ -134,9 +134,9 @@
     /**
      * Gets the value of the target property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link TargetT }
-     *     
+     *
      */
     public TargetT getTarget() {
@@ -146,9 +146,9 @@
     /**
      * Sets the value of the target property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link TargetT }
-     *     
+     *
      */
     public void setTarget(TargetT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TargetT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TargetT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TargetT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for Target_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Target_t">
@@ -28,6 +28,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TimeT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TimeT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TimeT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -18,7 +18,7 @@
 /**
  * <p>Java class for Time_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Time_t">
@@ -32,6 +32,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -49,5 +49,5 @@
     /**
      * Gets the value of the seconds property.
-     * 
+     *
      */
     public int getSeconds() {
@@ -57,5 +57,5 @@
     /**
      * Sets the value of the seconds property.
-     * 
+     *
      */
     public void setSeconds(int value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrackT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrackT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrackT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -19,7 +19,7 @@
 /**
  * <p>Java class for Track_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Track_t">
@@ -33,6 +33,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -47,5 +47,5 @@
     /**
      * Gets the value of the trackpoint property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -53,5 +53,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the trackpoint property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -59,11 +59,11 @@
      *    getTrackpoint().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link TrackpointT }
-     * 
-     * 
+     *
+     *
      */
     public List<TrackpointT> getTrackpoint() {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrackpointT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrackpointT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrackpointT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -19,7 +19,7 @@
 /**
  * <p>Java class for Trackpoint_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Trackpoint_t">
@@ -40,6 +40,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -76,9 +76,9 @@
     /**
      * Gets the value of the time property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public XMLGregorianCalendar getTime() {
@@ -88,9 +88,9 @@
     /**
      * Sets the value of the time property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public void setTime(XMLGregorianCalendar value) {
@@ -100,9 +100,9 @@
     /**
      * Gets the value of the position property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link PositionT }
-     *     
+     *
      */
     public PositionT getPosition() {
@@ -112,9 +112,9 @@
     /**
      * Sets the value of the position property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link PositionT }
-     *     
+     *
      */
     public void setPosition(PositionT value) {
@@ -124,9 +124,9 @@
     /**
      * Gets the value of the altitudeMeters property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link Double }
-     *     
+     *
+     * @return
+     *     possible object is
+     *     {@link Double }
+     *
      */
     public Double getAltitudeMeters() {
@@ -136,9 +136,9 @@
     /**
      * Sets the value of the altitudeMeters property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link Double }
-     *     
+     *
+     * @param value
+     *     allowed object is
+     *     {@link Double }
+     *
      */
     public void setAltitudeMeters(Double value) {
@@ -148,9 +148,9 @@
     /**
      * Gets the value of the distanceMeters property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link Double }
-     *     
+     *
+     * @return
+     *     possible object is
+     *     {@link Double }
+     *
      */
     public Double getDistanceMeters() {
@@ -160,9 +160,9 @@
     /**
      * Sets the value of the distanceMeters property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link Double }
-     *     
+     *
+     * @param value
+     *     allowed object is
+     *     {@link Double }
+     *
      */
     public void setDistanceMeters(Double value) {
@@ -172,9 +172,9 @@
     /**
      * Gets the value of the heartRateBpm property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link HeartRateInBeatsPerMinuteT }
-     *     
+     *
      */
     public HeartRateInBeatsPerMinuteT getHeartRateBpm() {
@@ -184,9 +184,9 @@
     /**
      * Sets the value of the heartRateBpm property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link HeartRateInBeatsPerMinuteT }
-     *     
+     *
      */
     public void setHeartRateBpm(HeartRateInBeatsPerMinuteT value) {
@@ -196,9 +196,9 @@
     /**
      * Gets the value of the cadence property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link Short }
-     *     
+     *
      */
     public Short getCadence() {
@@ -208,9 +208,9 @@
     /**
      * Sets the value of the cadence property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link Short }
-     *     
+     *
      */
     public void setCadence(Short value) {
@@ -220,9 +220,9 @@
     /**
      * Gets the value of the sensorState property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link SensorStateT }
-     *     
+     *
      */
     public SensorStateT getSensorState() {
@@ -232,9 +232,9 @@
     /**
      * Sets the value of the sensorState property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link SensorStateT }
-     *     
+     *
      */
     public void setSensorState(SensorStateT value) {
@@ -244,9 +244,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -256,9 +256,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrainingCenterDatabaseT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrainingCenterDatabaseT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrainingCenterDatabaseT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for TrainingCenterDatabase_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="TrainingCenterDatabase_t">
@@ -36,6 +36,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -65,9 +65,9 @@
     /**
      * Gets the value of the folders property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link FoldersT }
-     *     
+     *
      */
     public FoldersT getFolders() {
@@ -77,9 +77,9 @@
     /**
      * Sets the value of the folders property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link FoldersT }
-     *     
+     *
      */
     public void setFolders(FoldersT value) {
@@ -89,9 +89,9 @@
     /**
      * Gets the value of the activities property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ActivityListT }
-     *     
+     *
      */
     public ActivityListT getActivities() {
@@ -101,9 +101,9 @@
     /**
      * Sets the value of the activities property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ActivityListT }
-     *     
+     *
      */
     public void setActivities(ActivityListT value) {
@@ -113,9 +113,9 @@
     /**
      * Gets the value of the workouts property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link WorkoutListT }
-     *     
+     *
      */
     public WorkoutListT getWorkouts() {
@@ -125,9 +125,9 @@
     /**
      * Sets the value of the workouts property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link WorkoutListT }
-     *     
+     *
      */
     public void setWorkouts(WorkoutListT value) {
@@ -137,9 +137,9 @@
     /**
      * Gets the value of the courses property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link CourseListT }
-     *     
+     *
      */
     public CourseListT getCourses() {
@@ -149,9 +149,9 @@
     /**
      * Sets the value of the courses property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link CourseListT }
-     *     
+     *
      */
     public void setCourses(CourseListT value) {
@@ -161,9 +161,9 @@
     /**
      * Gets the value of the author property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link AbstractSourceT }
-     *     
+     *
      */
     public AbstractSourceT getAuthor() {
@@ -173,9 +173,9 @@
     /**
      * Sets the value of the author property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link AbstractSourceT }
-     *     
+     *
      */
     public void setAuthor(AbstractSourceT value) {
@@ -185,9 +185,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -197,9 +197,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrainingT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrainingT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrainingT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -18,7 +18,7 @@
 /**
  * <p>Java class for Training_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Training_t">
@@ -34,6 +34,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -53,9 +53,9 @@
     /**
      * Gets the value of the quickWorkoutResults property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link QuickWorkoutT }
-     *     
+     *
      */
     public QuickWorkoutT getQuickWorkoutResults() {
@@ -65,9 +65,9 @@
     /**
      * Sets the value of the quickWorkoutResults property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link QuickWorkoutT }
-     *     
+     *
      */
     public void setQuickWorkoutResults(QuickWorkoutT value) {
@@ -77,9 +77,9 @@
     /**
      * Gets the value of the plan property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link PlanT }
-     *     
+     *
      */
     public PlanT getPlan() {
@@ -89,9 +89,9 @@
     /**
      * Sets the value of the plan property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link PlanT }
-     *     
+     *
      */
     public void setPlan(PlanT value) {
@@ -101,5 +101,5 @@
     /**
      * Gets the value of the virtualPartner property.
-     * 
+     *
      */
     public boolean isVirtualPartner() {
@@ -109,5 +109,5 @@
     /**
      * Sets the value of the virtualPartner property.
-     * 
+     *
      */
     public void setVirtualPartner(boolean value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrainingTypeT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrainingTypeT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TrainingTypeT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -16,5 +16,5 @@
 /**
  * <p>Java class for TrainingType_t.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
  * <p>
@@ -27,5 +27,5 @@
  * &lt;/simpleType>
  * </pre>
- * 
+ *
  */
 @XmlType(name = "TrainingType_t")
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TriggerMethodT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TriggerMethodT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/TriggerMethodT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -16,5 +16,5 @@
 /**
  * <p>Java class for TriggerMethod_t.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
  * <p>
@@ -30,5 +30,5 @@
  * &lt;/simpleType>
  * </pre>
- * 
+ *
  */
 @XmlType(name = "TriggerMethod_t")
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/UserInitiatedT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/UserInitiatedT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/UserInitiatedT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -16,7 +16,7 @@
 /**
  * <p>Java class for UserInitiated_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="UserInitiated_t">
@@ -27,6 +27,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/VersionT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/VersionT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/VersionT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -18,7 +18,7 @@
 /**
  * <p>Java class for Version_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Version_t">
@@ -35,6 +35,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -62,5 +62,5 @@
     /**
      * Gets the value of the versionMajor property.
-     * 
+     *
      */
     public int getVersionMajor() {
@@ -70,5 +70,5 @@
     /**
      * Sets the value of the versionMajor property.
-     * 
+     *
      */
     public void setVersionMajor(int value) {
@@ -78,5 +78,5 @@
     /**
      * Gets the value of the versionMinor property.
-     * 
+     *
      */
     public int getVersionMinor() {
@@ -86,5 +86,5 @@
     /**
      * Sets the value of the versionMinor property.
-     * 
+     *
      */
     public void setVersionMinor(int value) {
@@ -94,9 +94,9 @@
     /**
      * Gets the value of the buildMajor property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link Integer }
-     *     
+     *
      */
     public Integer getBuildMajor() {
@@ -106,9 +106,9 @@
     /**
      * Sets the value of the buildMajor property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link Integer }
-     *     
+     *
      */
     public void setBuildMajor(Integer value) {
@@ -118,9 +118,9 @@
     /**
      * Gets the value of the buildMinor property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link Integer }
-     *     
+     *
      */
     public Integer getBuildMinor() {
@@ -130,9 +130,9 @@
     /**
      * Sets the value of the buildMinor property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link Integer }
-     *     
+     *
      */
     public void setBuildMinor(Integer value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WeekT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WeekT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WeekT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -20,7 +20,7 @@
 /**
  * <p>Java class for Week_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Week_t">
@@ -35,6 +35,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -52,9 +52,9 @@
     /**
      * Gets the value of the notes property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getNotes() {
@@ -64,9 +64,9 @@
     /**
      * Sets the value of the notes property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setNotes(String value) {
@@ -76,9 +76,9 @@
     /**
      * Gets the value of the startDay property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public XMLGregorianCalendar getStartDay() {
@@ -88,9 +88,9 @@
     /**
      * Sets the value of the startDay property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link XMLGregorianCalendar }
-     *     
+     *
      */
     public void setStartDay(XMLGregorianCalendar value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WorkoutFolderT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WorkoutFolderT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WorkoutFolderT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -20,7 +20,7 @@
 /**
  * <p>Java class for WorkoutFolder_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="WorkoutFolder_t">
@@ -37,6 +37,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -59,5 +59,5 @@
     /**
      * Gets the value of the folder property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -65,5 +65,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the folder property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -71,11 +71,11 @@
      *    getFolder().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link WorkoutFolderT }
-     * 
-     * 
+     *
+     *
      */
     public List<WorkoutFolderT> getFolder() {
@@ -88,5 +88,5 @@
     /**
      * Gets the value of the workoutNameRef property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -94,5 +94,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the workoutNameRef property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -100,11 +100,11 @@
      *    getWorkoutNameRef().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link NameKeyReferenceT }
-     * 
-     * 
+     *
+     *
      */
     public List<NameKeyReferenceT> getWorkoutNameRef() {
@@ -117,9 +117,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -129,9 +129,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
@@ -141,9 +141,9 @@
     /**
      * Gets the value of the name property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link String }
-     *     
+     *
      */
     public String getName() {
@@ -153,9 +153,9 @@
     /**
      * Sets the value of the name property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link String }
-     *     
+     *
      */
     public void setName(String value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WorkoutListT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WorkoutListT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WorkoutListT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -19,7 +19,7 @@
 /**
  * <p>Java class for WorkoutList_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="WorkoutList_t">
@@ -33,6 +33,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -47,5 +47,5 @@
     /**
      * Gets the value of the workout property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -53,5 +53,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the workout property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -59,11 +59,11 @@
      *    getWorkout().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link WorkoutT }
-     * 
-     * 
+     *
+     *
      */
     public List<WorkoutT> getWorkout() {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WorkoutT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WorkoutT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WorkoutT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -24,7 +24,7 @@
 /**
  * <p>Java class for Workout_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Workout_t">
@@ -44,6 +44,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -77,9 +77,9 @@
     /**
      * Gets the value of the name property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
      */
     public String getName() {
@@ -89,9 +89,9 @@
     /**
      * Sets the value of the name property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
      */
     public void setName(String value) {
@@ -101,5 +101,5 @@
     /**
      * Gets the value of the step property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -107,5 +107,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the step property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -113,11 +113,11 @@
      *    getStep().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link AbstractStepT }
-     * 
-     * 
+     *
+     *
      */
     public List<AbstractStepT> getStep() {
@@ -130,5 +130,5 @@
     /**
      * Gets the value of the scheduledOn property.
-     * 
+     *
      * <p>
      * This accessor method returns a reference to the live list,
@@ -136,5 +136,5 @@
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the scheduledOn property.
-     * 
+     *
      * <p>
      * For example, to add a new item, do as follows:
@@ -142,11 +142,11 @@
      *    getScheduledOn().add(newItem);
      * </pre>
-     * 
-     * 
+     *
+     *
      * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link XMLGregorianCalendar }
-     * 
-     * 
+     *
+     *
      */
     public List<XMLGregorianCalendar> getScheduledOn() {
@@ -159,9 +159,9 @@
     /**
      * Gets the value of the notes property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
      */
     public String getNotes() {
@@ -171,9 +171,9 @@
     /**
      * Sets the value of the notes property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
      */
     public void setNotes(String value) {
@@ -183,9 +183,9 @@
     /**
      * Gets the value of the creator property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link AbstractSourceT }
-     *     
+     *
      */
     public AbstractSourceT getCreator() {
@@ -195,9 +195,9 @@
     /**
      * Sets the value of the creator property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link AbstractSourceT }
-     *     
+     *
      */
     public void setCreator(AbstractSourceT value) {
@@ -207,9 +207,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -219,9 +219,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
@@ -231,9 +231,9 @@
     /**
      * Gets the value of the sport property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link SportT }
-     *     
+     *
      */
     public SportT getSport() {
@@ -243,9 +243,9 @@
     /**
      * Sets the value of the sport property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link SportT }
-     *     
+     *
      */
     public void setSport(SportT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WorkoutsT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WorkoutsT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/WorkoutsT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for Workouts_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Workouts_t">
@@ -34,6 +34,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -57,9 +57,9 @@
     /**
      * Gets the value of the running property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link WorkoutFolderT }
-     *     
+     *
      */
     public WorkoutFolderT getRunning() {
@@ -69,9 +69,9 @@
     /**
      * Sets the value of the running property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link WorkoutFolderT }
-     *     
+     *
      */
     public void setRunning(WorkoutFolderT value) {
@@ -81,9 +81,9 @@
     /**
      * Gets the value of the biking property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link WorkoutFolderT }
-     *     
+     *
      */
     public WorkoutFolderT getBiking() {
@@ -93,9 +93,9 @@
     /**
      * Sets the value of the biking property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link WorkoutFolderT }
-     *     
+     *
      */
     public void setBiking(WorkoutFolderT value) {
@@ -105,9 +105,9 @@
     /**
      * Gets the value of the other property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link WorkoutFolderT }
-     *     
+     *
      */
     public WorkoutFolderT getOther() {
@@ -117,9 +117,9 @@
     /**
      * Sets the value of the other property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link WorkoutFolderT }
-     *     
+     *
      */
     public void setOther(WorkoutFolderT value) {
@@ -129,9 +129,9 @@
     /**
      * Gets the value of the extensions property.
-     * 
+     *
      * @return
      *     possible object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public ExtensionsT getExtensions() {
@@ -141,9 +141,9 @@
     /**
      * Sets the value of the extensions property.
-     * 
+     *
      * @param value
      *     allowed object is
      *     {@link ExtensionsT }
-     *     
+     *
      */
     public void setExtensions(ExtensionsT value) {
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ZoneT.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ZoneT.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/ZoneT.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
@@ -17,7 +17,7 @@
 /**
  * <p>Java class for Zone_t complex type.
- * 
+ *
  * <p>The following schema fragment specifies the expected content contained within this class.
- * 
+ *
  * <pre>
  * &lt;complexType name="Zone_t">
@@ -28,6 +28,6 @@
  * &lt;/complexType>
  * </pre>
- * 
- * 
+ *
+ *
  */
 @XmlAccessorType(XmlAccessType.FIELD)
Index: /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/package-info.java
===================================================================
--- /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/package-info.java	(revision 23190)
+++ /applications/editors/josm/plugins/dataimport/src/org/openstreetmap/josm/plugins/dataimport/io/tcx/package-info.java	(revision 23191)
@@ -1,7 +1,7 @@
 //
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2008.08.10 at 10:24:05 AM CEST 
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2008.08.10 at 10:24:05 AM CEST
 //
 
Index: /applications/editors/josm/plugins/ext_tools/src/ext_tools/DataSetToCmd.java
===================================================================
--- /applications/editors/josm/plugins/ext_tools/src/ext_tools/DataSetToCmd.java	(revision 23190)
+++ /applications/editors/josm/plugins/ext_tools/src/ext_tools/DataSetToCmd.java	(revision 23191)
@@ -41,5 +41,5 @@
      * <P>
      * onto my primitives.
-     * 
+     *
      * @param <P>
      *            the type of the other primitive
@@ -91,5 +91,5 @@
     /**
      * Merges the node list of a source way onto its target way.
-     * 
+     *
      * @param source
      *            the source way
@@ -99,5 +99,5 @@
      *             thrown if there isn't a target node for one of the nodes in
      *             the source way
-     * 
+     *
      */
     private void mergeNodeList(Way source) throws IllegalStateException {
@@ -129,5 +129,5 @@
      * Merges the relation members of a source relation onto the corresponding
      * target relation.
-     * 
+     *
      * @param source
      *            the source relation
Index: /applications/editors/josm/plugins/globalsat/src/org/openstreetmap/josm/plugins/globalsat/GlobalsatDg100.java
===================================================================
--- /applications/editors/josm/plugins/globalsat/src/org/openstreetmap/josm/plugins/globalsat/GlobalsatDg100.java	(revision 23190)
+++ /applications/editors/josm/plugins/globalsat/src/org/openstreetmap/josm/plugins/globalsat/GlobalsatDg100.java	(revision 23191)
@@ -135,39 +135,39 @@
      */
     public GpxData readData(ProgressMonitor progressMonitor) throws ConnectionException {
-    	progressMonitor.beginTask(null);
-    	try {
-    		GpxData result = null;
-    		cancelled = false;
-    		if(port == null){
-    			connect();
-    		}
-
-    		List<FileInfoRec> fileInfoList = readFileInfoList();
-    		List<GpsRec> gpsRecList = readGpsRecList(fileInfoList);
-
-    		progressMonitor.setTicksCount(gpsRecList.size());
-    		if(gpsRecList.size() > 0){
-    			GpsRec last = null;
-    			result = new GpxData();
-    			Collection<WayPoint> seg = new ArrayList<WayPoint>(100);
-    			for(GpsRec r:gpsRecList){
-    				if(cancelled){
-    					return result;
-    				}
-    				WayPoint p = wayPointFrom(r);
-    				if(r.equals(last)){
-    					result.waypoints.add(p);
-    				}else{
-    					seg.add(p);
-    				}
-    				last = r;
-    				progressMonitor.worked(1);
-    			}
-    			result.tracks.add(new SingleSegmentGpxTrack(new ImmutableGpxTrackSegment(seg), Collections.<String, Object>emptyMap()));
-    		}
-    		return result;
-    	} finally {
-    		progressMonitor.finishTask();
-    	}
+        progressMonitor.beginTask(null);
+        try {
+            GpxData result = null;
+            cancelled = false;
+            if(port == null){
+                connect();
+            }
+
+            List<FileInfoRec> fileInfoList = readFileInfoList();
+            List<GpsRec> gpsRecList = readGpsRecList(fileInfoList);
+
+            progressMonitor.setTicksCount(gpsRecList.size());
+            if(gpsRecList.size() > 0){
+                GpsRec last = null;
+                result = new GpxData();
+                Collection<WayPoint> seg = new ArrayList<WayPoint>(100);
+                for(GpsRec r:gpsRecList){
+                    if(cancelled){
+                        return result;
+                    }
+                    WayPoint p = wayPointFrom(r);
+                    if(r.equals(last)){
+                        result.waypoints.add(p);
+                    }else{
+                        seg.add(p);
+                    }
+                    last = r;
+                    progressMonitor.worked(1);
+                }
+                result.tracks.add(new SingleSegmentGpxTrack(new ImmutableGpxTrackSegment(seg), Collections.<String, Object>emptyMap()));
+            }
+            return result;
+        } finally {
+            progressMonitor.finishTask();
+        }
     }
 
Index: /applications/editors/josm/plugins/globalsat/src/org/openstreetmap/josm/plugins/globalsat/GlobalsatPlugin.java
===================================================================
--- /applications/editors/josm/plugins/globalsat/src/org/openstreetmap/josm/plugins/globalsat/GlobalsatPlugin.java	(revision 23190)
+++ /applications/editors/josm/plugins/globalsat/src/org/openstreetmap/josm/plugins/globalsat/GlobalsatPlugin.java	(revision 23191)
@@ -47,5 +47,5 @@
 
         @Override public void realRun() throws IOException, SAXException {
-        	progressMonitor.subTask(tr("Importing data from DG100..."));
+            progressMonitor.subTask(tr("Importing data from DG100..."));
             try{
                 data = GlobalsatPlugin.dg100().readData(progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, true));
@@ -89,5 +89,5 @@
     GlobalsatImportAction importAction;
     public GlobalsatPlugin(PluginInformation info) {
-    	super(info);
+        super(info);
         boolean error = false;
         try{
Index: /applications/editors/josm/plugins/globalsat/src/org/openstreetmap/josm/plugins/globalsat/SingleSegmentGpxTrack.java
===================================================================
--- /applications/editors/josm/plugins/globalsat/src/org/openstreetmap/josm/plugins/globalsat/SingleSegmentGpxTrack.java	(revision 23190)
+++ /applications/editors/josm/plugins/globalsat/src/org/openstreetmap/josm/plugins/globalsat/SingleSegmentGpxTrack.java	(revision 23191)
@@ -11,33 +11,33 @@
 public class SingleSegmentGpxTrack implements GpxTrack {
 
-	private final Map<String, Object> attributes;
-	private final GpxTrackSegment trackSegment;
+    private final Map<String, Object> attributes;
+    private final GpxTrackSegment trackSegment;
 
-	public SingleSegmentGpxTrack(GpxTrackSegment trackSegment, Map<String, Object> attributes) {
-		this.attributes = Collections.unmodifiableMap(attributes);
-		this.trackSegment = trackSegment;
-	}
+    public SingleSegmentGpxTrack(GpxTrackSegment trackSegment, Map<String, Object> attributes) {
+        this.attributes = Collections.unmodifiableMap(attributes);
+        this.trackSegment = trackSegment;
+    }
 
 
-	public Map<String, Object> getAttributes() {
-		return attributes;
-	}
+    public Map<String, Object> getAttributes() {
+        return attributes;
+    }
 
-	public Bounds getBounds() {
-		return trackSegment.getBounds();
-	}
+    public Bounds getBounds() {
+        return trackSegment.getBounds();
+    }
 
-	public Collection<GpxTrackSegment> getSegments() {
-		return Collections.singleton(trackSegment);
-	}
+    public Collection<GpxTrackSegment> getSegments() {
+        return Collections.singleton(trackSegment);
+    }
 
-	public double length() {
-		return trackSegment.length();
-	}
+    public double length() {
+        return trackSegment.length();
+    }
 
-	@Override
-	public int getUpdateCount() {
-		return trackSegment.getUpdateCount();
-	}
+    @Override
+    public int getUpdateCount() {
+        return trackSegment.getUpdateCount();
+    }
 
 }
Index: /applications/editors/josm/plugins/imagewaypoint/src/org/insignificant/josm/plugins/imagewaypoint/ImageWayPointPlugin.java
===================================================================
--- /applications/editors/josm/plugins/imagewaypoint/src/org/insignificant/josm/plugins/imagewaypoint/ImageWayPointPlugin.java	(revision 23190)
+++ /applications/editors/josm/plugins/imagewaypoint/src/org/insignificant/josm/plugins/imagewaypoint/ImageWayPointPlugin.java	(revision 23191)
@@ -96,6 +96,6 @@
      */
     public ImageWayPointPlugin(PluginInformation info) {
-    	super(info);
-    	
+        super(info);
+
         MainMenu menu = Main.main.menu;
         menu.add(menu.fileMenu, new LoadImagesAction(this));
Index: /applications/editors/josm/plugins/livegps/src/livegps/AppendableGpxTrackSegment.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/livegps/AppendableGpxTrackSegment.java	(revision 23190)
+++ /applications/editors/josm/plugins/livegps/src/livegps/AppendableGpxTrackSegment.java	(revision 23191)
@@ -14,49 +14,49 @@
 public class AppendableGpxTrackSegment implements GpxTrackSegment {
 
-	private WayPoint[] wayPoints = new WayPoint[16];
-	private int size;
-	private Bounds bounds;
-	private double length;
+    private WayPoint[] wayPoints = new WayPoint[16];
+    private int size;
+    private Bounds bounds;
+    private double length;
 
-	public Bounds getBounds() {
-		return bounds;
-	}
+    public Bounds getBounds() {
+        return bounds;
+    }
 
-	public Collection<WayPoint> getWayPoints() {
-		return new CopyList<WayPoint>(wayPoints, size);
-	}
+    public Collection<WayPoint> getWayPoints() {
+        return new CopyList<WayPoint>(wayPoints, size);
+    }
 
-	public void addWaypoint(WayPoint p) {
-		if (wayPoints.length == size) {
-			WayPoint[] newWaypoints = new WayPoint[wayPoints.length * 2];
-			System.arraycopy(wayPoints, 0, newWaypoints, 0, wayPoints.length);
-			wayPoints = newWaypoints;
-		}
+    public void addWaypoint(WayPoint p) {
+        if (wayPoints.length == size) {
+            WayPoint[] newWaypoints = new WayPoint[wayPoints.length * 2];
+            System.arraycopy(wayPoints, 0, newWaypoints, 0, wayPoints.length);
+            wayPoints = newWaypoints;
+        }
 
-		if (size > 0) {
-			Double distance = wayPoints[size - 1].getCoor().greatCircleDistance(p.getCoor());
-			if (!distance.isNaN() && !distance.isInfinite()) {
-				length += distance;
-			}
-		}
+        if (size > 0) {
+            Double distance = wayPoints[size - 1].getCoor().greatCircleDistance(p.getCoor());
+            if (!distance.isNaN() && !distance.isInfinite()) {
+                length += distance;
+            }
+        }
 
-		if (bounds == null) {
-			bounds = new Bounds(p.getCoor());
-		} else {
-			bounds.extend(p.getCoor());
-		}
+        if (bounds == null) {
+            bounds = new Bounds(p.getCoor());
+        } else {
+            bounds.extend(p.getCoor());
+        }
 
-		wayPoints[size] = p;
-		size++;
-	}
+        wayPoints[size] = p;
+        size++;
+    }
 
-	public double length() {
-		return length;
-	}
+    public double length() {
+        return length;
+    }
 
-	@Override
-	public int getUpdateCount() {
-		return size;
-	}
+    @Override
+    public int getUpdateCount() {
+        return size;
+    }
 
 }
Index: /applications/editors/josm/plugins/livegps/src/livegps/ILiveGpsSuppressor.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/livegps/ILiveGpsSuppressor.java	(revision 23190)
+++ /applications/editors/josm/plugins/livegps/src/livegps/ILiveGpsSuppressor.java	(revision 23191)
@@ -3,18 +3,18 @@
 /**
  * Interface for class LiveGpsSuppressor, only has a query if currently an update is allowed.
- * 
- * @author casualwalker 
+ *
+ * @author casualwalker
  *
  */
 public interface ILiveGpsSuppressor {
 
-	/**
-	 * Query, if an update is currently allowed.
-	 * When it is allowed, it will disable the allowUpdate flag as a side effect.
-	 * (this means, one thread got to issue an update event)
-	 *
-	 * @return true, if an update is currently allowed; false, if the update shall be suppressed.
-	 */
-	boolean isAllowUpdate();
+    /**
+     * Query, if an update is currently allowed.
+     * When it is allowed, it will disable the allowUpdate flag as a side effect.
+     * (this means, one thread got to issue an update event)
+     *
+     * @return true, if an update is currently allowed; false, if the update shall be suppressed.
+     */
+    boolean isAllowUpdate();
 
 }
Index: /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsAcquirer.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsAcquirer.java	(revision 23190)
+++ /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsAcquirer.java	(revision 23191)
@@ -22,312 +22,312 @@
 
 public class LiveGpsAcquirer implements Runnable {
-	private String gpsdHost;
-	private int gpsdPort;
-
-	private Socket gpsdSocket;
-	private BufferedReader gpsdReader;
-	private boolean connected = false;
-	private boolean shutdownFlag = false;
-	private boolean JSONProtocol = true;
-
-	private final List<PropertyChangeListener> propertyChangeListener = new ArrayList<PropertyChangeListener>();
-	private PropertyChangeEvent lastStatusEvent;
-	private PropertyChangeEvent lastDataEvent;
-
-	/**
-	 * Constructor, initializes the configurable settings.
-	 */
-	public LiveGpsAcquirer() {
-		super();
-
-		gpsdHost = Main.pref.get("livegps.gpsd.host", "localhost");
-		gpsdPort = Main.pref.getInteger("livegps.gpsd.port", 2947);
-		// put the settings back in to the preferences, makes keys appear.
-		Main.pref.put("livegps.gpsd.host", gpsdHost);
-		Main.pref.putInteger("livegps.gpsd.port", gpsdPort);
-	}
-
-	/**
-	 * Adds a property change listener to the acquirer.
-	 * @param listener the new listener
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		if (!propertyChangeListener.contains(listener)) {
-			propertyChangeListener.add(listener);
-		}
-	}
-
-	/**
-	 * Remove a property change listener from the acquirer.
-	 * @param listener the new listener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		if (propertyChangeListener.contains(listener)) {
-			propertyChangeListener.remove(listener);
-		}
-	}
-
-	/**
-	 * Fire a gps status change event. Fires events with key "gpsstatus" and a {@link LiveGpsStatus}
-	 * object as value.
-	 * The status event may be sent any time.
-	 * @param status the status.
-	 * @param statusMessage the status message.
-	 */
-	public void fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus status,
-			String statusMessage) {
-		PropertyChangeEvent event = new PropertyChangeEvent(this, "gpsstatus",
-				null, new LiveGpsStatus(status, statusMessage));
-
-		if (!event.equals(lastStatusEvent)) {
-			firePropertyChangeEvent(event);
-			lastStatusEvent = event;
-		}
-	}
-
-	/**
-	 * Fire a gps data change event to all listeners. Fires events with key "gpsdata" and a
-	 * {@link LiveGpsData} object as values.
-	 * This event is only sent, when the suppressor permits it. This
-	 * event will cause the UI to re-draw itself, which has some performance penalty,
-	 * @param oldData the old gps data.
-	 * @param newData the new gps data.
-	 */
-	public void fireGpsDataChangeEvent(LiveGpsData oldData, LiveGpsData newData) {
-		PropertyChangeEvent event = new PropertyChangeEvent(this, "gpsdata",
-				oldData, newData);
-
-		if (!event.equals(lastDataEvent)) {
-			firePropertyChangeEvent(event);
-			lastDataEvent = event;
-		}
-	}
-
-	/**
-	 * Fires the given event to all listeners.
-	 * @param event the event to fire.
-	 */
-	protected void firePropertyChangeEvent(PropertyChangeEvent event) {
-		for (PropertyChangeListener listener : propertyChangeListener) {
-			listener.propertyChange(event);
-		}
-	}
-
-	public void run() {
-		LiveGpsData oldGpsData = null;
-		LiveGpsData gpsData = null;
-
-		shutdownFlag = false;
-		while (!shutdownFlag) {
-
-			try {
-				if (!connected)
-					connect();
-
-				if (connected) {
-					String line;
-
-					// <FIXXME date="23.06.2007" author="cdaller">
-					// TODO this read is blocking if gps is connected but has no
-					// fix, so gpsd does not send positions
-					line = gpsdReader.readLine();
-					// </FIXXME>
-					if (line == null)
-						break;
-
-					if (JSONProtocol == true)
-						gpsData = ParseJSON(line);
-					else
-						gpsData = ParseOld(line);
-
-					if (gpsData == null)
-						continue;
-
-					fireGpsDataChangeEvent(oldGpsData, gpsData);
-					oldGpsData = gpsData;
-				} else {
-					fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.DISCONNECTED, tr("Not connected"));
-					try {
-						Thread.sleep(1000);
-					} catch (InterruptedException ignore) {}
-				}
-			} catch (IOException iox) {
-				connected = false;
-				if (gpsData != null) {
-					gpsData.setFix(false);
-					fireGpsDataChangeEvent(oldGpsData, gpsData);
-				}
-				fireGpsStatusChangeEvent(
-						LiveGpsStatus.GpsStatus.CONNECTION_FAILED,
-						tr("Connection Failed"));
-				try {
-					Thread.sleep(1000);
-				} catch (InterruptedException ignore) {} ;
-				// send warning to layer
-			}
-		}
-
-		fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.DISCONNECTED,
-				tr("Not connected"));
-		if (gpsdSocket != null) {
-			try {
-				gpsdSocket.close();
-				gpsdSocket = null;
-				System.out.println("LiveGps: Disconnected from gpsd");
-			} catch (Exception e) {
-				System.out.println("LiveGps: Unable to close socket; reconnection may not be possible");
-			}
-		}
-	}
-
-	public void shutdown() {
-		shutdownFlag = true;
-	}
-
-	private void connect() throws IOException {
-		JSONObject greeting;
-		String line, type, release;
-
-		System.out.println("LiveGps: trying to connect to gpsd at " + gpsdHost + ":" + gpsdPort);
-		fireGpsStatusChangeEvent( LiveGpsStatus.GpsStatus.CONNECTING, tr("Connecting"));
-
-		InetAddress[] addrs = InetAddress.getAllByName(gpsdHost);
-		for (int i = 0; i < addrs.length && gpsdSocket == null; i++) {
-			try {
-				gpsdSocket = new Socket(addrs[i], gpsdPort);
-				break;
-			} catch (Exception e) {
-				System.out.println("LiveGps: Could not open connection to gpsd: " + e);
-				gpsdSocket = null;
-			}
-		}
-
-		if (gpsdSocket == null)
-			return;
-
-		fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.CONNECTING, tr("Connecting"));
-
-		/*
-		 * First emit the "w" symbol. The older version will activate, the newer one will ignore it.
-		 */
-		gpsdSocket.getOutputStream().write(new byte[] { 'w', 13, 10 });
-
-		gpsdReader = new BufferedReader(new InputStreamReader(gpsdSocket.getInputStream()));
-		line = gpsdReader.readLine();
-		if (line == null)
-			return;
-
-		try {
-			greeting = new JSONObject(line);
-			type = greeting.getString("class");
-			if (type.equals("VERSION")) {
-				release = greeting.getString("release");
-				System.out.println("LiveGps: Connected to gpsd " + release);
-			} else
-				System.out.println("LiveGps: Unexpected JSON in gpsd greeting: " + line);
-		} catch (JSONException jex) {
-			if (line.startsWith("GPSD,")) {
-				connected = true;
-				JSONProtocol = false;
-				System.out.println("LiveGps: Connected to old gpsd protocol version.");
-				fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.CONNECTED, tr("Connected"));
-			}
-		}
-
-		if (JSONProtocol == true) {
-			JSONObject Watch = new JSONObject();
-			try { 
-				Watch.put("enable", true);
-				Watch.put("json", true);
-			} catch (JSONException je) {};
-
-			String Request = "?WATCH=" + Watch.toString() + ";\n";
-			gpsdSocket.getOutputStream().write(Request.getBytes());
-
-			connected = true;
-			fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.CONNECTED, tr("Connected"));
-		}
-	}
-
-	private LiveGpsData ParseJSON(String line) {
-		JSONObject report;
-		String type;
-		double lat = 0;
-		double lon = 0;
-		float speed = 0;
-		float course = 0;
-
-		try {
-			report = new JSONObject(line);
-			type = report.getString("class");
-		} catch (JSONException jex) {
-			System.out.println("LiveGps: line read from gpsd is not a JSON object:" + line);
-			return null;
-		}
-		if (!type.equals("TPV"))
-			return null;
-
-		try {
-			lat = report.getDouble("lat");
-			lon = report.getDouble("lon");
-			speed = (new Float(report.getDouble("speed"))).floatValue();
-			course = (new Float(report.getDouble("track"))).floatValue();
-
-			return new LiveGpsData(lat, lon, course, speed, true);
-		} catch (JSONException je) {}
-
-		return null;
-	}
-
-	private LiveGpsData ParseOld(String line) {
-		String words[];
-		double lat = 0;
-		double lon = 0;
-		float speed = 0;
-		float course = 0;
-
-		words = line.split(",");
-		if ((words.length == 0) || (!words[0].equals("GPSD")))
-			return null;
-
-		for (int i = 1; i < words.length; i++) {
-			if ((words[i].length() < 2) || (words[i].charAt(1) != '=')) {
-				// unexpected response.
-				continue;
-			}
-
-			char what = words[i].charAt(0);
-			String value = words[i].substring(2);
-			switch (what) {
-			case 'O':
-				// full report, tab delimited.
-				String[] status = value.split("\\s+");
-				if (status.length >= 5) {
-					lat = Double.parseDouble(status[3]);
-					lon = Double.parseDouble(status[4]);
-					try {
-						speed = Float.parseFloat(status[9]);
-						course = Float.parseFloat(status[8]);
-					} catch (NumberFormatException nex) {}
-					return new LiveGpsData(lat, lon, course, speed, true);
-				}
-				break;
-			case 'P':
-				// position report, tab delimited.
-				String[] pos = value.split("\\s+");
-				if (pos.length >= 2) {
-					lat = Double.parseDouble(pos[0]);
-					lon = Double.parseDouble(pos[1]);
-					speed = Float.NaN;
-					course = Float.NaN;
-					return new LiveGpsData(lat, lon, course, speed, true);
-				}
-				break;
-			default:
-				// not interested
-			}
-		}
-
-		return null;
-	}
+    private String gpsdHost;
+    private int gpsdPort;
+
+    private Socket gpsdSocket;
+    private BufferedReader gpsdReader;
+    private boolean connected = false;
+    private boolean shutdownFlag = false;
+    private boolean JSONProtocol = true;
+
+    private final List<PropertyChangeListener> propertyChangeListener = new ArrayList<PropertyChangeListener>();
+    private PropertyChangeEvent lastStatusEvent;
+    private PropertyChangeEvent lastDataEvent;
+
+    /**
+     * Constructor, initializes the configurable settings.
+     */
+    public LiveGpsAcquirer() {
+        super();
+
+        gpsdHost = Main.pref.get("livegps.gpsd.host", "localhost");
+        gpsdPort = Main.pref.getInteger("livegps.gpsd.port", 2947);
+        // put the settings back in to the preferences, makes keys appear.
+        Main.pref.put("livegps.gpsd.host", gpsdHost);
+        Main.pref.putInteger("livegps.gpsd.port", gpsdPort);
+    }
+
+    /**
+     * Adds a property change listener to the acquirer.
+     * @param listener the new listener
+     */
+    public void addPropertyChangeListener(PropertyChangeListener listener) {
+        if (!propertyChangeListener.contains(listener)) {
+            propertyChangeListener.add(listener);
+        }
+    }
+
+    /**
+     * Remove a property change listener from the acquirer.
+     * @param listener the new listener
+     */
+    public void removePropertyChangeListener(PropertyChangeListener listener) {
+        if (propertyChangeListener.contains(listener)) {
+            propertyChangeListener.remove(listener);
+        }
+    }
+
+    /**
+     * Fire a gps status change event. Fires events with key "gpsstatus" and a {@link LiveGpsStatus}
+     * object as value.
+     * The status event may be sent any time.
+     * @param status the status.
+     * @param statusMessage the status message.
+     */
+    public void fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus status,
+            String statusMessage) {
+        PropertyChangeEvent event = new PropertyChangeEvent(this, "gpsstatus",
+                null, new LiveGpsStatus(status, statusMessage));
+
+        if (!event.equals(lastStatusEvent)) {
+            firePropertyChangeEvent(event);
+            lastStatusEvent = event;
+        }
+    }
+
+    /**
+     * Fire a gps data change event to all listeners. Fires events with key "gpsdata" and a
+     * {@link LiveGpsData} object as values.
+     * This event is only sent, when the suppressor permits it. This
+     * event will cause the UI to re-draw itself, which has some performance penalty,
+     * @param oldData the old gps data.
+     * @param newData the new gps data.
+     */
+    public void fireGpsDataChangeEvent(LiveGpsData oldData, LiveGpsData newData) {
+        PropertyChangeEvent event = new PropertyChangeEvent(this, "gpsdata",
+                oldData, newData);
+
+        if (!event.equals(lastDataEvent)) {
+            firePropertyChangeEvent(event);
+            lastDataEvent = event;
+        }
+    }
+
+    /**
+     * Fires the given event to all listeners.
+     * @param event the event to fire.
+     */
+    protected void firePropertyChangeEvent(PropertyChangeEvent event) {
+        for (PropertyChangeListener listener : propertyChangeListener) {
+            listener.propertyChange(event);
+        }
+    }
+
+    public void run() {
+        LiveGpsData oldGpsData = null;
+        LiveGpsData gpsData = null;
+
+        shutdownFlag = false;
+        while (!shutdownFlag) {
+
+            try {
+                if (!connected)
+                    connect();
+
+                if (connected) {
+                    String line;
+
+                    // <FIXXME date="23.06.2007" author="cdaller">
+                    // TODO this read is blocking if gps is connected but has no
+                    // fix, so gpsd does not send positions
+                    line = gpsdReader.readLine();
+                    // </FIXXME>
+                    if (line == null)
+                        break;
+
+                    if (JSONProtocol == true)
+                        gpsData = ParseJSON(line);
+                    else
+                        gpsData = ParseOld(line);
+
+                    if (gpsData == null)
+                        continue;
+
+                    fireGpsDataChangeEvent(oldGpsData, gpsData);
+                    oldGpsData = gpsData;
+                } else {
+                    fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.DISCONNECTED, tr("Not connected"));
+                    try {
+                        Thread.sleep(1000);
+                    } catch (InterruptedException ignore) {}
+                }
+            } catch (IOException iox) {
+                connected = false;
+                if (gpsData != null) {
+                    gpsData.setFix(false);
+                    fireGpsDataChangeEvent(oldGpsData, gpsData);
+                }
+                fireGpsStatusChangeEvent(
+                        LiveGpsStatus.GpsStatus.CONNECTION_FAILED,
+                        tr("Connection Failed"));
+                try {
+                    Thread.sleep(1000);
+                } catch (InterruptedException ignore) {} ;
+                // send warning to layer
+            }
+        }
+
+        fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.DISCONNECTED,
+                tr("Not connected"));
+        if (gpsdSocket != null) {
+            try {
+                gpsdSocket.close();
+                gpsdSocket = null;
+                System.out.println("LiveGps: Disconnected from gpsd");
+            } catch (Exception e) {
+                System.out.println("LiveGps: Unable to close socket; reconnection may not be possible");
+            }
+        }
+    }
+
+    public void shutdown() {
+        shutdownFlag = true;
+    }
+
+    private void connect() throws IOException {
+        JSONObject greeting;
+        String line, type, release;
+
+        System.out.println("LiveGps: trying to connect to gpsd at " + gpsdHost + ":" + gpsdPort);
+        fireGpsStatusChangeEvent( LiveGpsStatus.GpsStatus.CONNECTING, tr("Connecting"));
+
+        InetAddress[] addrs = InetAddress.getAllByName(gpsdHost);
+        for (int i = 0; i < addrs.length && gpsdSocket == null; i++) {
+            try {
+                gpsdSocket = new Socket(addrs[i], gpsdPort);
+                break;
+            } catch (Exception e) {
+                System.out.println("LiveGps: Could not open connection to gpsd: " + e);
+                gpsdSocket = null;
+            }
+        }
+
+        if (gpsdSocket == null)
+            return;
+
+        fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.CONNECTING, tr("Connecting"));
+
+        /*
+         * First emit the "w" symbol. The older version will activate, the newer one will ignore it.
+         */
+        gpsdSocket.getOutputStream().write(new byte[] { 'w', 13, 10 });
+
+        gpsdReader = new BufferedReader(new InputStreamReader(gpsdSocket.getInputStream()));
+        line = gpsdReader.readLine();
+        if (line == null)
+            return;
+
+        try {
+            greeting = new JSONObject(line);
+            type = greeting.getString("class");
+            if (type.equals("VERSION")) {
+                release = greeting.getString("release");
+                System.out.println("LiveGps: Connected to gpsd " + release);
+            } else
+                System.out.println("LiveGps: Unexpected JSON in gpsd greeting: " + line);
+        } catch (JSONException jex) {
+            if (line.startsWith("GPSD,")) {
+                connected = true;
+                JSONProtocol = false;
+                System.out.println("LiveGps: Connected to old gpsd protocol version.");
+                fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.CONNECTED, tr("Connected"));
+            }
+        }
+
+        if (JSONProtocol == true) {
+            JSONObject Watch = new JSONObject();
+            try {
+                Watch.put("enable", true);
+                Watch.put("json", true);
+            } catch (JSONException je) {};
+
+            String Request = "?WATCH=" + Watch.toString() + ";\n";
+            gpsdSocket.getOutputStream().write(Request.getBytes());
+
+            connected = true;
+            fireGpsStatusChangeEvent(LiveGpsStatus.GpsStatus.CONNECTED, tr("Connected"));
+        }
+    }
+
+    private LiveGpsData ParseJSON(String line) {
+        JSONObject report;
+        String type;
+        double lat = 0;
+        double lon = 0;
+        float speed = 0;
+        float course = 0;
+
+        try {
+            report = new JSONObject(line);
+            type = report.getString("class");
+        } catch (JSONException jex) {
+            System.out.println("LiveGps: line read from gpsd is not a JSON object:" + line);
+            return null;
+        }
+        if (!type.equals("TPV"))
+            return null;
+
+        try {
+            lat = report.getDouble("lat");
+            lon = report.getDouble("lon");
+            speed = (new Float(report.getDouble("speed"))).floatValue();
+            course = (new Float(report.getDouble("track"))).floatValue();
+
+            return new LiveGpsData(lat, lon, course, speed, true);
+        } catch (JSONException je) {}
+
+        return null;
+    }
+
+    private LiveGpsData ParseOld(String line) {
+        String words[];
+        double lat = 0;
+        double lon = 0;
+        float speed = 0;
+        float course = 0;
+
+        words = line.split(",");
+        if ((words.length == 0) || (!words[0].equals("GPSD")))
+            return null;
+
+        for (int i = 1; i < words.length; i++) {
+            if ((words[i].length() < 2) || (words[i].charAt(1) != '=')) {
+                // unexpected response.
+                continue;
+            }
+
+            char what = words[i].charAt(0);
+            String value = words[i].substring(2);
+            switch (what) {
+            case 'O':
+                // full report, tab delimited.
+                String[] status = value.split("\\s+");
+                if (status.length >= 5) {
+                    lat = Double.parseDouble(status[3]);
+                    lon = Double.parseDouble(status[4]);
+                    try {
+                        speed = Float.parseFloat(status[9]);
+                        course = Float.parseFloat(status[8]);
+                    } catch (NumberFormatException nex) {}
+                    return new LiveGpsData(lat, lon, course, speed, true);
+                }
+                break;
+            case 'P':
+                // position report, tab delimited.
+                String[] pos = value.split("\\s+");
+                if (pos.length >= 2) {
+                    lat = Double.parseDouble(pos[0]);
+                    lon = Double.parseDouble(pos[1]);
+                    speed = Float.NaN;
+                    course = Float.NaN;
+                    return new LiveGpsData(lat, lon, course, speed, true);
+                }
+                break;
+            default:
+                // not interested
+            }
+        }
+
+        return null;
+    }
 }
Index: /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsLayer.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsLayer.java	(revision 23190)
+++ /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsLayer.java	(revision 23191)
@@ -23,161 +23,161 @@
 
 public class LiveGpsLayer extends GpxLayer implements PropertyChangeListener {
-	public static final String LAYER_NAME = tr("LiveGPS layer");
-	public static final String KEY_LIVEGPS_COLOR = "color.livegps.position";
-	LatLon lastPos;
-	WayPoint lastPoint;
-	private final AppendableGpxTrackSegment trackSegment;
-	float speed;
-	float course;
-	// JLabel lbl;
-	boolean autocenter;
-	private SimpleDateFormat dateFormat = new SimpleDateFormat(
-	"yyyy-MM-dd'T'HH:mm:ss.SSS");
+    public static final String LAYER_NAME = tr("LiveGPS layer");
+    public static final String KEY_LIVEGPS_COLOR = "color.livegps.position";
+    LatLon lastPos;
+    WayPoint lastPoint;
+    private final AppendableGpxTrackSegment trackSegment;
+    float speed;
+    float course;
+    // JLabel lbl;
+    boolean autocenter;
+    private SimpleDateFormat dateFormat = new SimpleDateFormat(
+    "yyyy-MM-dd'T'HH:mm:ss.SSS");
 
-	/**
-	 * The suppressor is queried, if the GUI shall be re-drawn.
-	 */
-	private ILiveGpsSuppressor suppressor;
+    /**
+     * The suppressor is queried, if the GUI shall be re-drawn.
+     */
+    private ILiveGpsSuppressor suppressor;
 
-	public LiveGpsLayer(GpxData data) {
-		super(data, LAYER_NAME);
-		trackSegment = new AppendableGpxTrackSegment();
+    public LiveGpsLayer(GpxData data) {
+        super(data, LAYER_NAME);
+        trackSegment = new AppendableGpxTrackSegment();
 
-		Map<String, Object> attr = new HashMap<String, Object>();
-		attr.put("desc", "josm live gps");
+        Map<String, Object> attr = new HashMap<String, Object>();
+        attr.put("desc", "josm live gps");
 
-		GpxTrack trackBeingWritten = new SingleSegmentGpxTrack(trackSegment, attr);
-		data.tracks.add(trackBeingWritten);
-	}
+        GpxTrack trackBeingWritten = new SingleSegmentGpxTrack(trackSegment, attr);
+        data.tracks.add(trackBeingWritten);
+    }
 
-	void setCurrentPosition(double lat, double lon) {
-		// System.out.println("adding pos " + lat + "," + lon);
-		LatLon thisPos = new LatLon(lat, lon);
-		if ((lastPos != null) && (thisPos.equalsEpsilon(lastPos))) {
-			// no change in position
-			// maybe show a "paused" cursor or some such
-			return;
-		}
+    void setCurrentPosition(double lat, double lon) {
+        // System.out.println("adding pos " + lat + "," + lon);
+        LatLon thisPos = new LatLon(lat, lon);
+        if ((lastPos != null) && (thisPos.equalsEpsilon(lastPos))) {
+            // no change in position
+            // maybe show a "paused" cursor or some such
+            return;
+        }
 
-		lastPos = thisPos;
-		lastPoint = new WayPoint(thisPos);
-		lastPoint.attr.put("time", dateFormat.format(new Date()));
-		trackSegment.addWaypoint(lastPoint);
-		if (autocenter && allowRedraw()) {
-			center();
-		}
+        lastPos = thisPos;
+        lastPoint = new WayPoint(thisPos);
+        lastPoint.attr.put("time", dateFormat.format(new Date()));
+        trackSegment.addWaypoint(lastPoint);
+        if (autocenter && allowRedraw()) {
+            center();
+        }
 
-		// Main.map.repaint();
-	}
+        // Main.map.repaint();
+    }
 
-	public void center() {
-		if (lastPoint != null)
-			Main.map.mapView.zoomTo(lastPoint.getCoor());
-	}
+    public void center() {
+        if (lastPoint != null)
+            Main.map.mapView.zoomTo(lastPoint.getCoor());
+    }
 
-	// void setStatus(String status)
-	// {
-	// this.status = status;
-	// Main.map.repaint();
-	// System.out.println("LiveGps status: " + status);
-	// }
+    // void setStatus(String status)
+    // {
+    // this.status = status;
+    // Main.map.repaint();
+    // System.out.println("LiveGps status: " + status);
+    // }
 
-	void setSpeed(float metresPerSecond) {
-		speed = metresPerSecond;
-		// Main.map.repaint();
-	}
+    void setSpeed(float metresPerSecond) {
+        speed = metresPerSecond;
+        // Main.map.repaint();
+    }
 
-	void setCourse(float degrees) {
-		course = degrees;
-		// Main.map.repaint();
-	}
+    void setCourse(float degrees) {
+        course = degrees;
+        // Main.map.repaint();
+    }
 
-	public void setAutoCenter(boolean ac) {
-		autocenter = ac;
-	}
+    public void setAutoCenter(boolean ac) {
+        autocenter = ac;
+    }
 
-	@Override
-	public void paint(Graphics2D g, MapView mv, Bounds bounds) {
-		// System.out.println("in paint");
-		// System.out.println("in synced paint");
-		super.paint(g, mv, bounds);
-		// int statusHeight = 50;
-		// Rectangle mvs = mv.getBounds();
-		// mvs.y = mvs.y + mvs.height - statusHeight;
-		// mvs.height = statusHeight;
-		// g.setColor(new Color(1.0f, 1.0f, 1.0f, 0.8f));
-		// g.fillRect(mvs.x, mvs.y, mvs.width, mvs.height);
+    @Override
+    public void paint(Graphics2D g, MapView mv, Bounds bounds) {
+        // System.out.println("in paint");
+        // System.out.println("in synced paint");
+        super.paint(g, mv, bounds);
+        // int statusHeight = 50;
+        // Rectangle mvs = mv.getBounds();
+        // mvs.y = mvs.y + mvs.height - statusHeight;
+        // mvs.height = statusHeight;
+        // g.setColor(new Color(1.0f, 1.0f, 1.0f, 0.8f));
+        // g.fillRect(mvs.x, mvs.y, mvs.width, mvs.height);
 
-		if (lastPoint != null) {
-			Point screen = mv.getPoint(lastPoint.getCoor());
-			g.setColor(Main.pref.getColor(KEY_LIVEGPS_COLOR, Color.RED));
-			g.drawOval(screen.x - 10, screen.y - 10, 20, 20);
-			g.drawOval(screen.x - 9, screen.y - 9, 18, 18);
-		}
+        if (lastPoint != null) {
+            Point screen = mv.getPoint(lastPoint.getCoor());
+            g.setColor(Main.pref.getColor(KEY_LIVEGPS_COLOR, Color.RED));
+            g.drawOval(screen.x - 10, screen.y - 10, 20, 20);
+            g.drawOval(screen.x - 9, screen.y - 9, 18, 18);
+        }
 
-		// lbl.setText("gpsd: "+status+" Speed: " + speed +
-		// " Course: "+course);
-		// lbl.setBounds(0, 0, mvs.width-10, mvs.height-10);
-		// Graphics sub = g.create(mvs.x+5, mvs.y+5, mvs.width-10,
-		// mvs.height-10);
-		// lbl.paint(sub);
+        // lbl.setText("gpsd: "+status+" Speed: " + speed +
+        // " Course: "+course);
+        // lbl.setBounds(0, 0, mvs.width-10, mvs.height-10);
+        // Graphics sub = g.create(mvs.x+5, mvs.y+5, mvs.width-10,
+        // mvs.height-10);
+        // lbl.paint(sub);
 
-		// if(status != null) {
-		// g.setColor(Color.WHITE);
-		// g.drawString("gpsd: " + status, 5, mv.getBounds().height - 15);
-		// // lower left corner
-		// }
-	}
+        // if(status != null) {
+        // g.setColor(Color.WHITE);
+        // g.drawString("gpsd: " + status, 5, mv.getBounds().height - 15);
+        // // lower left corner
+        // }
+    }
 
-	/* (non-Javadoc)
-	 * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent evt) {
-		if (!isVisible()) {
-			return;
-		}
-		if ("gpsdata".equals(evt.getPropertyName())) {
-			LiveGpsData data = (LiveGpsData) evt.getNewValue();
-			if (data.isFix()) {
-				setCurrentPosition(data.getLatitude(), data.getLongitude());
-				if (!Float.isNaN(data.getSpeed())) {
-					setSpeed(data.getSpeed());
-				}
-				if (!Float.isNaN(data.getCourse())) {
-					setCourse(data.getCourse());
-				}
-				if (!autocenter && allowRedraw()) {
-					Main.map.repaint();
-				}
-			}
-		}
-	}
+    /* (non-Javadoc)
+     * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
+     */
+    public void propertyChange(PropertyChangeEvent evt) {
+        if (!isVisible()) {
+            return;
+        }
+        if ("gpsdata".equals(evt.getPropertyName())) {
+            LiveGpsData data = (LiveGpsData) evt.getNewValue();
+            if (data.isFix()) {
+                setCurrentPosition(data.getLatitude(), data.getLongitude());
+                if (!Float.isNaN(data.getSpeed())) {
+                    setSpeed(data.getSpeed());
+                }
+                if (!Float.isNaN(data.getCourse())) {
+                    setCourse(data.getCourse());
+                }
+                if (!autocenter && allowRedraw()) {
+                    Main.map.repaint();
+                }
+            }
+        }
+    }
 
-	/**
-	 * @param suppressor the suppressor to set
-	 */
-	public void setSuppressor(ILiveGpsSuppressor suppressor) {
-		this.suppressor = suppressor;
-	}
+    /**
+     * @param suppressor the suppressor to set
+     */
+    public void setSuppressor(ILiveGpsSuppressor suppressor) {
+        this.suppressor = suppressor;
+    }
 
-	/**
-	 * @return the suppressor
-	 */
-	public ILiveGpsSuppressor getSuppressor() {
-		return suppressor;
-	}
+    /**
+     * @return the suppressor
+     */
+    public ILiveGpsSuppressor getSuppressor() {
+        return suppressor;
+    }
 
-	/**
-	 * Check, if a redraw is currently allowed.
-	 *
-	 * @return true, if a redraw is permitted, false, if a re-draw
-	 * should be suppressed.
-	 */
-	private boolean allowRedraw() {
-		if (this.suppressor != null) {
-			return this.suppressor.isAllowUpdate();
-		} else {
-			return true;
-		}
-	}
+    /**
+     * Check, if a redraw is currently allowed.
+     *
+     * @return true, if a redraw is permitted, false, if a re-draw
+     * should be suppressed.
+     */
+    private boolean allowRedraw() {
+        if (this.suppressor != null) {
+            return this.suppressor.isAllowUpdate();
+        } else {
+            return true;
+        }
+    }
 }
Index: /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsPlugin.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsPlugin.java	(revision 23190)
+++ /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsPlugin.java	(revision 23191)
@@ -28,238 +28,238 @@
 
 public class LiveGpsPlugin extends Plugin implements LayerChangeListener {
-	private LiveGpsAcquirer acquirer = null;
-	private Thread acquirerThread = null;
-	private JMenu lgpsmenu;
-	private JCheckBoxMenuItem lgpscapture;
-	private JCheckBoxMenuItem lgpsautocenter;
-	private LiveGpsDialog lgpsdialog;
-	List<PropertyChangeListener> listenerQueue;
-
-	private GpxData data = new GpxData();
-	private LiveGpsLayer lgpslayer = null;
-
-	/**
-	 * The LiveGpsSuppressor is queried, if an event shall be suppressed.
-	 */
-	private LiveGpsSuppressor suppressor;
-
-	/**
-	 * separate thread, where the LiveGpsSuppressor executes.
-	 */
-	private Thread suppressorThread;
-
-	public class CaptureAction extends JosmAction {
-		public CaptureAction() {
-			super(
-					tr("Capture GPS Track"),
-					"capturemenu",
-					tr("Connect to gpsd server and show current position in LiveGPS layer."),
-					Shortcut.registerShortcut("menu:livegps:capture", tr(
-							"Menu: {0}", tr("Capture GPS Track")),
-							KeyEvent.VK_R, Shortcut.GROUP_MENU), true);
-		}
-
-		public void actionPerformed(ActionEvent e) {
-			enableTracking(lgpscapture.isSelected());
-		}
-	}
-
-	public class CenterAction extends JosmAction {
-		public CenterAction() {
-			super(tr("Center Once"), "centermenu",
-					tr("Center the LiveGPS layer to current position."),
-					Shortcut.registerShortcut("edit:centergps", tr("Edit: {0}",
-							tr("Center Once")), KeyEvent.VK_HOME,
-							Shortcut.GROUP_EDIT), true);
-		}
-
-		public void actionPerformed(ActionEvent e) {
-			if (lgpslayer != null) {
-				lgpslayer.center();
-			}
-		}
-	}
-
-	public class AutoCenterAction extends JosmAction {
-		public AutoCenterAction() {
-			super(
-					tr("Auto-Center"),
-					"autocentermenu",
-					tr("Continuously center the LiveGPS layer to current position."),
-					Shortcut.registerShortcut("menu:livegps:autocenter", tr(
-							"Menu: {0}", tr("Capture GPS Track")),
-							KeyEvent.VK_HOME, Shortcut.GROUP_MENU), true);
-		}
-
-		public void actionPerformed(ActionEvent e) {
-			if (lgpslayer != null) {
-				setAutoCenter(lgpsautocenter.isSelected());
-			}
-		}
-	}
-
-	public void activeLayerChange(Layer oldLayer, Layer newLayer) {
-	}
-
-	public void layerAdded(Layer newLayer) {
-	}
-
-	public void layerRemoved(Layer oldLayer) {
-		if (oldLayer == lgpslayer) {
-			enableTracking(false);
-			lgpscapture.setSelected(false);
-			removePropertyChangeListener(lgpslayer);
-			MapView.removeLayerChangeListener(this);
-			lgpslayer = null;
-		}
-	}
-
-	public LiveGpsPlugin(PluginInformation info) {
-		super(info);
-		MainMenu menu = Main.main.menu;
-		lgpsmenu = menu.addMenu(marktr("LiveGPS"), KeyEvent.VK_G,
-				menu.defaultMenuPos, ht("/Plugin/LiveGPS"));
-
-		JosmAction captureAction = new CaptureAction();
-		lgpscapture = new JCheckBoxMenuItem(captureAction);
-		lgpsmenu.add(lgpscapture);
-		lgpscapture.setAccelerator(captureAction.getShortcut().getKeyStroke());
-
-		JosmAction centerAction = new CenterAction();
-		JMenuItem centerMenu = new JMenuItem(centerAction);
-		lgpsmenu.add(centerMenu);
-		centerMenu.setAccelerator(centerAction.getShortcut().getKeyStroke());
-
-		JosmAction autoCenterAction = new AutoCenterAction();
-		lgpsautocenter = new JCheckBoxMenuItem(autoCenterAction);
-		lgpsmenu.add(lgpsautocenter);
-		lgpsautocenter.setAccelerator(autoCenterAction.getShortcut()
-				.getKeyStroke());
-	}
-
-	/**
-	 * Set to <code>true</code> if the current position should always be in the center of the map.
-	 * @param autoCenter if <code>true</code> the map is always centered.
-	 */
-	public void setAutoCenter(boolean autoCenter) {
-		lgpsautocenter.setSelected(autoCenter); // just in case this method was
-		// not called from the menu
-		if (lgpslayer != null) {
-			lgpslayer.setAutoCenter(autoCenter);
-			if (autoCenter)
-				lgpslayer.center();
-		}
-	}
-
-	/**
-	 * Returns <code>true</code> if autocenter is selected.
-	 * @return <code>true</code> if autocenter is selected.
-	 */
-	public boolean isAutoCenter() {
-		return lgpsautocenter.isSelected();
-	}
-
-	/**
-	 * Enable or disable gps tracking
-	 * @param enable if <code>true</code> tracking is started.
-	 */
-	public void enableTracking(boolean enable) {
-		if ((acquirer != null) && (!enable)) {
-			acquirer.shutdown();
-			acquirerThread = null;
-
-			// also stop the suppressor
-			if (suppressor != null) {
-				suppressor.shutdown();
-				suppressorThread = null;
-				if (lgpslayer != null) {
-					lgpslayer.setSuppressor(null);
-				}
-			}
-		} else if (enable) {
-			// also start the suppressor
-			if (suppressor == null) {
-				suppressor = new LiveGpsSuppressor();
-			}
-			if (suppressorThread == null) {
-				suppressorThread = new Thread(suppressor);
-				suppressorThread.start();
-			}
-
-			if (acquirer == null) {
-				acquirer = new LiveGpsAcquirer();
-				if (lgpslayer == null) {
-					lgpslayer = new LiveGpsLayer(data);
-					Main.main.addLayer(lgpslayer);
-					MapView.addLayerChangeListener(this);
-					lgpslayer.setAutoCenter(isAutoCenter());
-				}
-				// connect layer with acquirer:
-				addPropertyChangeListener(lgpslayer);
-
-				// connect layer with suppressor:
-				lgpslayer.setSuppressor(suppressor);
-				// add all listeners that were added before the acquirer
-				// existed:
-				if (listenerQueue != null) {
-					for (PropertyChangeListener listener : listenerQueue) {
-						addPropertyChangeListener(listener);
-					}
-					listenerQueue.clear();
-				}
-			}
-			if (acquirerThread == null) {
-				acquirerThread = new Thread(acquirer);
-				acquirerThread.start();
-			}
-
-		}
-	}
-
-	/**
-	 * Add a listener for gps events.
-	 * @param listener the listener.
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		if (acquirer != null) {
-			acquirer.addPropertyChangeListener(listener);
-		} else {
-			if (listenerQueue == null) {
-				listenerQueue = new ArrayList<PropertyChangeListener>();
-			}
-			listenerQueue.add(listener);
-		}
-	}
-
-	/**
-	 * Remove a listener for gps events.
-	 * @param listener the listener.
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		if (acquirer != null)
-			acquirer.removePropertyChangeListener(listener);
-		else if (listenerQueue != null && listenerQueue.contains(listener))
-			listenerQueue.remove(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.Plugin#mapFrameInitialized(org.openstreetmap.josm.gui.MapFrame, org.openstreetmap.josm.gui.MapFrame)
-	 */
-	@Override
-	public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
-		if (newFrame != null) {
-			// add dialog
-			newFrame.addToggleDialog(lgpsdialog = new LiveGpsDialog(newFrame));
-			// connect listeners with acquirer:
-			addPropertyChangeListener(lgpsdialog);
-		}
-	}
-
-	/**
-	 * @return the lgpsmenu
-	 */
-	public JMenu getLgpsMenu() {
-		return this.lgpsmenu;
-	}
+    private LiveGpsAcquirer acquirer = null;
+    private Thread acquirerThread = null;
+    private JMenu lgpsmenu;
+    private JCheckBoxMenuItem lgpscapture;
+    private JCheckBoxMenuItem lgpsautocenter;
+    private LiveGpsDialog lgpsdialog;
+    List<PropertyChangeListener> listenerQueue;
+
+    private GpxData data = new GpxData();
+    private LiveGpsLayer lgpslayer = null;
+
+    /**
+     * The LiveGpsSuppressor is queried, if an event shall be suppressed.
+     */
+    private LiveGpsSuppressor suppressor;
+
+    /**
+     * separate thread, where the LiveGpsSuppressor executes.
+     */
+    private Thread suppressorThread;
+
+    public class CaptureAction extends JosmAction {
+        public CaptureAction() {
+            super(
+                    tr("Capture GPS Track"),
+                    "capturemenu",
+                    tr("Connect to gpsd server and show current position in LiveGPS layer."),
+                    Shortcut.registerShortcut("menu:livegps:capture", tr(
+                            "Menu: {0}", tr("Capture GPS Track")),
+                            KeyEvent.VK_R, Shortcut.GROUP_MENU), true);
+        }
+
+        public void actionPerformed(ActionEvent e) {
+            enableTracking(lgpscapture.isSelected());
+        }
+    }
+
+    public class CenterAction extends JosmAction {
+        public CenterAction() {
+            super(tr("Center Once"), "centermenu",
+                    tr("Center the LiveGPS layer to current position."),
+                    Shortcut.registerShortcut("edit:centergps", tr("Edit: {0}",
+                            tr("Center Once")), KeyEvent.VK_HOME,
+                            Shortcut.GROUP_EDIT), true);
+        }
+
+        public void actionPerformed(ActionEvent e) {
+            if (lgpslayer != null) {
+                lgpslayer.center();
+            }
+        }
+    }
+
+    public class AutoCenterAction extends JosmAction {
+        public AutoCenterAction() {
+            super(
+                    tr("Auto-Center"),
+                    "autocentermenu",
+                    tr("Continuously center the LiveGPS layer to current position."),
+                    Shortcut.registerShortcut("menu:livegps:autocenter", tr(
+                            "Menu: {0}", tr("Capture GPS Track")),
+                            KeyEvent.VK_HOME, Shortcut.GROUP_MENU), true);
+        }
+
+        public void actionPerformed(ActionEvent e) {
+            if (lgpslayer != null) {
+                setAutoCenter(lgpsautocenter.isSelected());
+            }
+        }
+    }
+
+    public void activeLayerChange(Layer oldLayer, Layer newLayer) {
+    }
+
+    public void layerAdded(Layer newLayer) {
+    }
+
+    public void layerRemoved(Layer oldLayer) {
+        if (oldLayer == lgpslayer) {
+            enableTracking(false);
+            lgpscapture.setSelected(false);
+            removePropertyChangeListener(lgpslayer);
+            MapView.removeLayerChangeListener(this);
+            lgpslayer = null;
+        }
+    }
+
+    public LiveGpsPlugin(PluginInformation info) {
+        super(info);
+        MainMenu menu = Main.main.menu;
+        lgpsmenu = menu.addMenu(marktr("LiveGPS"), KeyEvent.VK_G,
+                menu.defaultMenuPos, ht("/Plugin/LiveGPS"));
+
+        JosmAction captureAction = new CaptureAction();
+        lgpscapture = new JCheckBoxMenuItem(captureAction);
+        lgpsmenu.add(lgpscapture);
+        lgpscapture.setAccelerator(captureAction.getShortcut().getKeyStroke());
+
+        JosmAction centerAction = new CenterAction();
+        JMenuItem centerMenu = new JMenuItem(centerAction);
+        lgpsmenu.add(centerMenu);
+        centerMenu.setAccelerator(centerAction.getShortcut().getKeyStroke());
+
+        JosmAction autoCenterAction = new AutoCenterAction();
+        lgpsautocenter = new JCheckBoxMenuItem(autoCenterAction);
+        lgpsmenu.add(lgpsautocenter);
+        lgpsautocenter.setAccelerator(autoCenterAction.getShortcut()
+                .getKeyStroke());
+    }
+
+    /**
+     * Set to <code>true</code> if the current position should always be in the center of the map.
+     * @param autoCenter if <code>true</code> the map is always centered.
+     */
+    public void setAutoCenter(boolean autoCenter) {
+        lgpsautocenter.setSelected(autoCenter); // just in case this method was
+        // not called from the menu
+        if (lgpslayer != null) {
+            lgpslayer.setAutoCenter(autoCenter);
+            if (autoCenter)
+                lgpslayer.center();
+        }
+    }
+
+    /**
+     * Returns <code>true</code> if autocenter is selected.
+     * @return <code>true</code> if autocenter is selected.
+     */
+    public boolean isAutoCenter() {
+        return lgpsautocenter.isSelected();
+    }
+
+    /**
+     * Enable or disable gps tracking
+     * @param enable if <code>true</code> tracking is started.
+     */
+    public void enableTracking(boolean enable) {
+        if ((acquirer != null) && (!enable)) {
+            acquirer.shutdown();
+            acquirerThread = null;
+
+            // also stop the suppressor
+            if (suppressor != null) {
+                suppressor.shutdown();
+                suppressorThread = null;
+                if (lgpslayer != null) {
+                    lgpslayer.setSuppressor(null);
+                }
+            }
+        } else if (enable) {
+            // also start the suppressor
+            if (suppressor == null) {
+                suppressor = new LiveGpsSuppressor();
+            }
+            if (suppressorThread == null) {
+                suppressorThread = new Thread(suppressor);
+                suppressorThread.start();
+            }
+
+            if (acquirer == null) {
+                acquirer = new LiveGpsAcquirer();
+                if (lgpslayer == null) {
+                    lgpslayer = new LiveGpsLayer(data);
+                    Main.main.addLayer(lgpslayer);
+                    MapView.addLayerChangeListener(this);
+                    lgpslayer.setAutoCenter(isAutoCenter());
+                }
+                // connect layer with acquirer:
+                addPropertyChangeListener(lgpslayer);
+
+                // connect layer with suppressor:
+                lgpslayer.setSuppressor(suppressor);
+                // add all listeners that were added before the acquirer
+                // existed:
+                if (listenerQueue != null) {
+                    for (PropertyChangeListener listener : listenerQueue) {
+                        addPropertyChangeListener(listener);
+                    }
+                    listenerQueue.clear();
+                }
+            }
+            if (acquirerThread == null) {
+                acquirerThread = new Thread(acquirer);
+                acquirerThread.start();
+            }
+
+        }
+    }
+
+    /**
+     * Add a listener for gps events.
+     * @param listener the listener.
+     */
+    public void addPropertyChangeListener(PropertyChangeListener listener) {
+        if (acquirer != null) {
+            acquirer.addPropertyChangeListener(listener);
+        } else {
+            if (listenerQueue == null) {
+                listenerQueue = new ArrayList<PropertyChangeListener>();
+            }
+            listenerQueue.add(listener);
+        }
+    }
+
+    /**
+     * Remove a listener for gps events.
+     * @param listener the listener.
+     */
+    public void removePropertyChangeListener(PropertyChangeListener listener) {
+        if (acquirer != null)
+            acquirer.removePropertyChangeListener(listener);
+        else if (listenerQueue != null && listenerQueue.contains(listener))
+            listenerQueue.remove(listener);
+    }
+
+    /* (non-Javadoc)
+     * @see org.openstreetmap.josm.plugins.Plugin#mapFrameInitialized(org.openstreetmap.josm.gui.MapFrame, org.openstreetmap.josm.gui.MapFrame)
+     */
+    @Override
+    public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
+        if (newFrame != null) {
+            // add dialog
+            newFrame.addToggleDialog(lgpsdialog = new LiveGpsDialog(newFrame));
+            // connect listeners with acquirer:
+            addPropertyChangeListener(lgpsdialog);
+        }
+    }
+
+    /**
+     * @return the lgpsmenu
+     */
+    public JMenu getLgpsMenu() {
+        return this.lgpsmenu;
+    }
 
 }
Index: /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsSuppressor.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsSuppressor.java	(revision 23190)
+++ /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsSuppressor.java	(revision 23191)
@@ -18,119 +18,119 @@
 public class LiveGpsSuppressor implements Runnable, ILiveGpsSuppressor {
 
-	/**
-	 * Default sleep time is 5 seconds.
-	 */
-	private static final int DEFAULT_SLEEP_TIME = 5;
+    /**
+     * Default sleep time is 5 seconds.
+     */
+    private static final int DEFAULT_SLEEP_TIME = 5;
 
-	/**
-	 * The currently used sleepTime.
-	 */
-	private int sleepTime = DEFAULT_SLEEP_TIME;
+    /**
+     * The currently used sleepTime.
+     */
+    private int sleepTime = DEFAULT_SLEEP_TIME;
 
-	/**
-	 * The flag allowUpdate is enabled once during the sleepTime.
-	 */
-	private boolean allowUpdate = false;
+    /**
+     * The flag allowUpdate is enabled once during the sleepTime.
+     */
+    private boolean allowUpdate = false;
 
-	/**
-	 * Controls if this thread is still in used.
-	 */
-	private boolean shutdownFlag = false;
+    /**
+     * Controls if this thread is still in used.
+     */
+    private boolean shutdownFlag = false;
 
-	/**
-	 * Run thread enables the allowUpdate flag once during its cycle.
-	 * @see java.lang.Runnable#run()
-	 */
-	public void run() {
-		initSleepTime();
+    /**
+     * Run thread enables the allowUpdate flag once during its cycle.
+     * @see java.lang.Runnable#run()
+     */
+    public void run() {
+        initSleepTime();
 
-		shutdownFlag = false;
-		// stop the thread, when explicitely shut down or when disabled by
-		// config setting
-		while (!shutdownFlag && isEnabled()) {
-			setAllowUpdate(true);
+        shutdownFlag = false;
+        // stop the thread, when explicitely shut down or when disabled by
+        // config setting
+        while (!shutdownFlag && isEnabled()) {
+            setAllowUpdate(true);
 
-			try {
-				Thread.sleep(getSleepTime());
-			} catch (InterruptedException e) {
-				// TODO I never knew, how to handle this??? Probably just carry
-				// on
-			}
-		}
+            try {
+                Thread.sleep(getSleepTime());
+            } catch (InterruptedException e) {
+                // TODO I never knew, how to handle this??? Probably just carry
+                // on
+            }
+        }
 
-	}
+    }
 
-	/**
-	 * Retrieve the sleepTime from the configuration.
-	 * If no such configuration key exists, it will be initialized here.
-	 */
-	private void initSleepTime() {
-		// fetch it from the user setting, or use the default value.
-		int sleepSeconds = 0;
-		sleepSeconds = Main.pref.getInteger("livegps.refreshinterval",
-				DEFAULT_SLEEP_TIME);
-		// creates the setting, if none present.
-		Main.pref.putInteger("livegps.refreshinterval", sleepSeconds);
+    /**
+     * Retrieve the sleepTime from the configuration.
+     * If no such configuration key exists, it will be initialized here.
+     */
+    private void initSleepTime() {
+        // fetch it from the user setting, or use the default value.
+        int sleepSeconds = 0;
+        sleepSeconds = Main.pref.getInteger("livegps.refreshinterval",
+                DEFAULT_SLEEP_TIME);
+        // creates the setting, if none present.
+        Main.pref.putInteger("livegps.refreshinterval", sleepSeconds);
 
-		// convert seconds into milliseconds internally.
-		this.sleepTime = sleepSeconds * 1000;
-	}
+        // convert seconds into milliseconds internally.
+        this.sleepTime = sleepSeconds * 1000;
+    }
 
-	/**
-	 * Set the allowUpdate flag. May only privately accessible!
-	 * @param allowUpdate the allowUpdate to set
-	 */
-	private synchronized void setAllowUpdate(boolean allowUpdate) {
-		this.allowUpdate = allowUpdate;
-	}
+    /**
+     * Set the allowUpdate flag. May only privately accessible!
+     * @param allowUpdate the allowUpdate to set
+     */
+    private synchronized void setAllowUpdate(boolean allowUpdate) {
+        this.allowUpdate = allowUpdate;
+    }
 
-	/**
-	 * Query, if an update is currently allowed.
-	 * When it is allowed, it will disable the allowUpdate flag as a side effect.
-	 * (this means, one thread got to issue an update event)
-	 *
-	 * @return true, if an update is currently allowed; false, if the update shall be suppressed.
-	 * @see livegps.ILiveGpsSuppressor#isAllowUpdate()
-	 */
-	public synchronized boolean isAllowUpdate() {
+    /**
+     * Query, if an update is currently allowed.
+     * When it is allowed, it will disable the allowUpdate flag as a side effect.
+     * (this means, one thread got to issue an update event)
+     *
+     * @return true, if an update is currently allowed; false, if the update shall be suppressed.
+     * @see livegps.ILiveGpsSuppressor#isAllowUpdate()
+     */
+    public synchronized boolean isAllowUpdate() {
 
-		// if disabled, always permit a re-draw.
-		if (!isEnabled()) {
-			return true;
-		} else {
+        // if disabled, always permit a re-draw.
+        if (!isEnabled()) {
+            return true;
+        } else {
 
-			if (allowUpdate) {
-				allowUpdate = false;
-				return true;
-			} else {
-				return false;
-			}
-		}
-	}
+            if (allowUpdate) {
+                allowUpdate = false;
+                return true;
+            } else {
+                return false;
+            }
+        }
+    }
 
-	/**
-	 * A value below 1 disables this feature.
-	 * This ensures that a small value does not run this thread
-	 * in a tight loop.
-	 * 
-	 * @return true, if suppressing is enabled
-	 */
-	private boolean isEnabled() {
-		return this.sleepTime > 0;
-	}
+    /**
+     * A value below 1 disables this feature.
+     * This ensures that a small value does not run this thread
+     * in a tight loop.
+     *
+     * @return true, if suppressing is enabled
+     */
+    private boolean isEnabled() {
+        return this.sleepTime > 0;
+    }
 
-	/**
-	 * Shut this thread down.
-	 */
-	public void shutdown() {
-		shutdownFlag = true;
-	}
+    /**
+     * Shut this thread down.
+     */
+    public void shutdown() {
+        shutdownFlag = true;
+    }
 
-	/**
-	 * @return the defaultSleepTime
-	 */
-	private int getSleepTime() {
-		return this.sleepTime;
-	}
+    /**
+     * @return the defaultSleepTime
+     */
+    private int getSleepTime() {
+        return this.sleepTime;
+    }
 
 }
Index: /applications/editors/josm/plugins/livegps/src/livegps/SingleSegmentGpxTrack.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/livegps/SingleSegmentGpxTrack.java	(revision 23190)
+++ /applications/editors/josm/plugins/livegps/src/livegps/SingleSegmentGpxTrack.java	(revision 23191)
@@ -11,33 +11,33 @@
 public class SingleSegmentGpxTrack implements GpxTrack {
 
-	private final Map<String, Object> attributes;
-	private final GpxTrackSegment trackSegment;
+    private final Map<String, Object> attributes;
+    private final GpxTrackSegment trackSegment;
 
-	public SingleSegmentGpxTrack(GpxTrackSegment trackSegment, Map<String, Object> attributes) {
-		this.attributes = Collections.unmodifiableMap(attributes);
-		this.trackSegment = trackSegment;
-	}
+    public SingleSegmentGpxTrack(GpxTrackSegment trackSegment, Map<String, Object> attributes) {
+        this.attributes = Collections.unmodifiableMap(attributes);
+        this.trackSegment = trackSegment;
+    }
 
 
-	public Map<String, Object> getAttributes() {
-		return attributes;
-	}
+    public Map<String, Object> getAttributes() {
+        return attributes;
+    }
 
-	public Bounds getBounds() {
-		return trackSegment.getBounds();
-	}
+    public Bounds getBounds() {
+        return trackSegment.getBounds();
+    }
 
-	public Collection<GpxTrackSegment> getSegments() {
-		return Collections.singleton(trackSegment);
-	}
+    public Collection<GpxTrackSegment> getSegments() {
+        return Collections.singleton(trackSegment);
+    }
 
-	public double length() {
-		return trackSegment.length();
-	}
+    public double length() {
+        return trackSegment.length();
+    }
 
-	@Override
-	public int getUpdateCount() {
-		return trackSegment.getUpdateCount();
-	}
+    @Override
+    public int getUpdateCount() {
+        return trackSegment.getUpdateCount();
+    }
 
 }
Index: /applications/editors/josm/plugins/livegps/src/org/json/JSONArray.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/org/json/JSONArray.java	(revision 23190)
+++ /applications/editors/josm/plugins/livegps/src/org/json/JSONArray.java	(revision 23191)
@@ -74,5 +74,5 @@
  * <li>Values can be separated by <code>;</code> <small>(semicolon)</small> as
  *     well as by <code>,</code> <small>(comma)</small>.</li>
- * <li>Numbers may have the 
+ * <li>Numbers may have the
  *     <code>0x-</code> <small>(hex)</small> prefix.</li>
  * </ul>
@@ -164,15 +164,15 @@
      */
     public JSONArray(Collection collection) {
-		this.myArrayList = new ArrayList();
-		if (collection != null) {
-			Iterator iter = collection.iterator();
-			while (iter.hasNext()) {
-			    Object o = iter.next();
-                this.myArrayList.add(JSONObject.wrap(o));  
-			}
-		}
-    }
-
-    
+        this.myArrayList = new ArrayList();
+        if (collection != null) {
+            Iterator iter = collection.iterator();
+            while (iter.hasNext()) {
+                Object o = iter.next();
+                this.myArrayList.add(JSONObject.wrap(o));
+            }
+        }
+    }
+
+
     /**
      * Construct a JSONArray from an array
@@ -192,5 +192,5 @@
     }
 
-     
+
     /**
      * Get the object value associated with an index.
@@ -765,6 +765,6 @@
         return this;
     }
-    
-    
+
+
     /**
      * Remove an index and close the hole.
@@ -774,5 +774,5 @@
      */
     public Object remove(int index) {
-    	Object o = opt(index);
+        Object o = opt(index);
         this.myArrayList.remove(index);
         return o;
Index: /applications/editors/josm/plugins/livegps/src/org/json/JSONException.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/org/json/JSONException.java	(revision 23190)
+++ /applications/editors/josm/plugins/livegps/src/org/json/JSONException.java	(revision 23191)
@@ -8,8 +8,8 @@
 public class JSONException extends Exception {
     /**
-	 * 
-	 */
-	private static final long serialVersionUID = 0;
-	private Throwable cause;
+     * 
+     */
+    private static final long serialVersionUID = 0;
+    private Throwable cause;
 
     /**
Index: /applications/editors/josm/plugins/livegps/src/org/json/JSONObject.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/org/json/JSONObject.java	(revision 23190)
+++ /applications/editors/josm/plugins/livegps/src/org/json/JSONObject.java	(revision 23191)
@@ -155,5 +155,5 @@
      * @param jo A JSONObject.
      * @param names An array of strings.
-     * @throws JSONException 
+     * @throws JSONException
      * @exception JSONException If a value is a non-finite number or if a name is duplicated.
      */
@@ -161,8 +161,8 @@
         this();
         for (int i = 0; i < names.length; i += 1) {
-        	try {
-        		putOnce(names[i], jo.opt(names[i]));
-        	} catch (Exception ignore) {
-        	}
+            try {
+                putOnce(names[i], jo.opt(names[i]));
+            } catch (Exception ignore) {
+            }
         }
     }
@@ -235,5 +235,5 @@
      * @param map A map object that can be used to initialize the contents of
      *  the JSONObject.
-     * @throws JSONException 
+     * @throws JSONException
      */
     public JSONObject(Map map) {
@@ -455,5 +455,5 @@
 
     /**
-     * Get the int value associated with a key. 
+     * Get the int value associated with a key.
      *
      * @param key   A key string.
@@ -512,5 +512,5 @@
 
     /**
-     * Get the long value associated with a key. 
+     * Get the long value associated with a key.
      *
      * @param key   A key string.
@@ -596,6 +596,6 @@
         return this.map.containsKey(key);
     }
-    
-    
+
+
     /**
      * Increment a property of a JSONObject. If there is no such property,
@@ -608,21 +608,21 @@
      */
     public JSONObject increment(String key) throws JSONException {
-    	Object value = opt(key);
-    	if (value == null) {
-    		put(key, 1);
-    	} else {
-    		if (value instanceof Integer) {
-    			put(key, ((Integer)value).intValue() + 1);
-    		} else if (value instanceof Long) {
-    			put(key, ((Long)value).longValue() + 1);    			
-    		} else if (value instanceof Double) {
-	    		put(key, ((Double)value).doubleValue() + 1);    			
-    		} else if (value instanceof Float) {
-	    		put(key, ((Float)value).floatValue() + 1);    			
-		    } else {
-		    	throw new JSONException("Unable to increment [" + key + "].");
-		    }
-	    }
-    	return this;
+        Object value = opt(key);
+        if (value == null) {
+            put(key, 1);
+        } else {
+            if (value instanceof Integer) {
+                put(key, ((Integer)value).intValue() + 1);
+            } else if (value instanceof Long) {
+                put(key, ((Long)value).longValue() + 1);
+            } else if (value instanceof Double) {
+                put(key, ((Double)value).doubleValue() + 1);
+            } else if (value instanceof Float) {
+                put(key, ((Float)value).floatValue() + 1);
+            } else {
+                throw new JSONException("Unable to increment [" + key + "].");
+            }
+        }
+        return this;
     }
 
@@ -903,5 +903,5 @@
         Class klass = bean.getClass();
 
-// If klass is a System class then set includeSuperClass to false. 
+// If klass is a System class then set includeSuperClass to false.
 
         boolean includeSuperClass = klass.getClassLoader() != null;
@@ -916,10 +916,10 @@
                     String key = "";
                     if (name.startsWith("get")) {
-                    	if (name.equals("getClass") || 
-                    			name.equals("getDeclaringClass")) {
-                    		key = "";
-                    	} else {
-                    		key = name.substring(3);
-                    	}
+                        if (name.equals("getClass") ||
+                                name.equals("getDeclaringClass")) {
+                            key = "";
+                        } else {
+                            key = name.substring(3);
+                        }
                     } else if (name.startsWith("is")) {
                         key = name.substring(2);
@@ -1199,6 +1199,6 @@
 
         /*
-         * If it might be a number, try converting it. 
-         * We support the non-standard 0x- convention. 
+         * If it might be a number, try converting it.
+         * We support the non-standard 0x- convention.
          * If a number cannot be produced, then the value will just
          * be a string. Note that the 0x-, plus, and implied string
@@ -1217,6 +1217,6 @@
             }
             try {
-                if (s.indexOf('.') > -1 || 
-                		s.indexOf('e') > -1 || s.indexOf('E') > -1) {
+                if (s.indexOf('.') > -1 ||
+                        s.indexOf('e') > -1 || s.indexOf('E') > -1) {
                     return Double.valueOf(s);
                 } else {
@@ -1495,9 +1495,9 @@
 
      /**
-      * Wrap an object, if necessary. If the object is null, return the NULL 
-      * object. If it is an array or collection, wrap it in a JSONArray. If 
-      * it is a map, wrap it in a JSONObject. If it is a standard property 
-      * (Double, String, et al) then it is already wrapped. Otherwise, if it 
-      * comes from one of the java packages, turn it into a string. And if 
+      * Wrap an object, if necessary. If the object is null, return the NULL
+      * object. If it is an array or collection, wrap it in a JSONArray. If
+      * it is a map, wrap it in a JSONObject. If it is a standard property
+      * (Double, String, et al) then it is already wrapped. Otherwise, if it
+      * comes from one of the java packages, turn it into a string. And if
       * it doesn't, try to wrap it in a JSONObject. If the wrapping fails,
       * then null is returned.
@@ -1511,14 +1511,14 @@
                  return NULL;
              }
-             if (object instanceof JSONObject || object instanceof JSONArray || 
-            		 NULL.equals(object)      || object instanceof JSONString || 
-            		 object instanceof Byte   || object instanceof Character ||
+             if (object instanceof JSONObject || object instanceof JSONArray ||
+                     NULL.equals(object)      || object instanceof JSONString ||
+                     object instanceof Byte   || object instanceof Character ||
                      object instanceof Short  || object instanceof Integer   ||
-                     object instanceof Long   || object instanceof Boolean   || 
+                     object instanceof Long   || object instanceof Boolean   ||
                      object instanceof Float  || object instanceof Double    ||
                      object instanceof String) {
                  return object;
              }
-             
+
              if (object instanceof Collection) {
                  return new JSONArray((Collection)object);
@@ -1533,6 +1533,6 @@
              String objectPackageName = ( objectPackage != null ? objectPackage.getName() : "" );
              if (objectPackageName.startsWith("java.") ||
-            		 objectPackageName.startsWith("javax.") ||
-            		 object.getClass().getClassLoader() == null) {
+                     objectPackageName.startsWith("javax.") ||
+                     object.getClass().getClassLoader() == null) {
                  return object.toString();
              }
@@ -1543,5 +1543,5 @@
      }
 
-     
+
      /**
       * Write the contents of the JSONObject as JSON text to a writer.
Index: /applications/editors/josm/plugins/livegps/src/org/json/JSONString.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/org/json/JSONString.java	(revision 23190)
+++ /applications/editors/josm/plugins/livegps/src/org/json/JSONString.java	(revision 23191)
@@ -9,10 +9,10 @@
  */
 public interface JSONString {
-	/**
-	 * The <code>toJSONString</code> method allows a class to produce its own JSON 
-	 * serialization. 
-	 * 
-	 * @return A strictly syntactically correct JSON text.
-	 */
-	public String toJSONString();
+    /**
+     * The <code>toJSONString</code> method allows a class to produce its own JSON 
+     * serialization. 
+     * 
+     * @return A strictly syntactically correct JSON text.
+     */
+    public String toJSONString();
 }
Index: /applications/editors/josm/plugins/livegps/src/org/json/JSONTokener.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/org/json/JSONTokener.java	(revision 23190)
+++ /applications/editors/josm/plugins/livegps/src/org/json/JSONTokener.java	(revision 23191)
@@ -39,10 +39,10 @@
 public class JSONTokener {
 
-    private int 	character;
-	private boolean eof;
-    private int 	index;
-    private int 	line;
-    private char 	previous;
-    private Reader 	reader;
+    private int     character;
+    private boolean eof;
+    private int     index;
+    private int     line;
+    private char    previous;
+    private Reader  reader;
     private boolean usePrevious;
 
@@ -54,6 +54,6 @@
      */
     public JSONTokener(Reader reader) {
-        this.reader = reader.markSupported() ? 
-        		reader : new BufferedReader(reader);
+        this.reader = reader.markSupported() ?
+                reader : new BufferedReader(reader);
         this.eof = false;
         this.usePrevious = false;
@@ -109,7 +109,7 @@
         return -1;
     }
-    
+
     public boolean end() {
-    	return eof && !usePrevious;    	
+        return eof && !usePrevious;
     }
 
@@ -124,5 +124,5 @@
         if (end()) {
             return false;
-        } 
+        }
         back();
         return true;
@@ -138,29 +138,29 @@
         int c;
         if (this.usePrevious) {
-        	this.usePrevious = false;
+            this.usePrevious = false;
             c = this.previous;
         } else {
-	        try {
-	            c = this.reader.read();
-	        } catch (IOException exception) {
-	            throw new JSONException(exception);
-	        }
-	
-	        if (c <= 0) { // End of stream
-	        	this.eof = true;
-	        	c = 0;
-	        } 
-        }
-    	this.index += 1;
-    	if (this.previous == '\r') {
-    		this.line += 1;
-    		this.character = c == '\n' ? 0 : 1;
-    	} else if (c == '\n') {
-    		this.line += 1;
-    		this.character = 0;
-    	} else {
-    		this.character += 1;
-    	}
-    	this.previous = (char) c;
+            try {
+                c = this.reader.read();
+            } catch (IOException exception) {
+                throw new JSONException(exception);
+            }
+
+            if (c <= 0) { // End of stream
+                this.eof = true;
+                c = 0;
+            }
+        }
+        this.index += 1;
+        if (this.previous == '\r') {
+            this.line += 1;
+            this.character = c == '\n' ? 0 : 1;
+        } else if (c == '\n') {
+            this.line += 1;
+            this.character = 0;
+        } else {
+            this.character += 1;
+        }
+        this.previous = (char) c;
         return this.previous;
     }
@@ -204,5 +204,5 @@
              buffer[pos] = next();
              if (end()) {
-                 throw syntaxError("Substring bounds error");                 
+                 throw syntaxError("Substring bounds error");
              }
              pos += 1;
@@ -273,6 +273,6 @@
                 case '\\':
                 case '/':
-                	sb.append(c);
-                	break;
+                    sb.append(c);
+                    break;
                 default:
                     throw syntaxError("Illegal escape.");
@@ -412,5 +412,5 @@
         return c;
     }
-    
+
 
     /**
Index: /applications/editors/josm/plugins/openlayers/src/org/openstreetmap/josm/plugins/openLayers/OpenLayersPlugin.java
===================================================================
--- /applications/editors/josm/plugins/openlayers/src/org/openstreetmap/josm/plugins/openLayers/OpenLayersPlugin.java	(revision 23190)
+++ /applications/editors/josm/plugins/openlayers/src/org/openstreetmap/josm/plugins/openLayers/OpenLayersPlugin.java	(revision 23191)
@@ -6,5 +6,7 @@
 import java.io.IOException;
 
-import javax.swing.*;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
 
 import org.openstreetmap.josm.Main;
@@ -26,5 +28,5 @@
 
     public OpenLayersPlugin(PluginInformation info) {
-    	super(info);
+        super(info);
         pluginDir = getPluginDir();
         try {
Index: /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/ConfigKeys.java
===================================================================
--- /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/ConfigKeys.java	(revision 23190)
+++ /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/ConfigKeys.java	(revision 23191)
@@ -1,17 +1,17 @@
 /* Copyright (c) 2008, Henrik Niehaus
  * All rights reserved.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
- * 
+ *
  * 1. Redistributions of source code must retain the above copyright notice,
  *    this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice, 
- *    this list of conditions and the following disclaimer in the documentation 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
  *    and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its 
- *    contributors may be used to endorse or promote products derived from this 
+ * 3. Neither the name of the project nor the names of its
+ *    contributors may be used to endorse or promote products derived from this
  *    software without specific prior written permission.
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Index: /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbDownloadLoop.java
===================================================================
--- /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbDownloadLoop.java	(revision 23190)
+++ /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbDownloadLoop.java	(revision 23191)
@@ -78,5 +78,5 @@
 
                 // auto download if configured
-                if( Main.pref.getBoolean(ConfigKeys.OSB_AUTO_DOWNLOAD) && !Main.pref.getBoolean(ConfigKeys.OSB_API_OFFLINE) && 
+                if( Main.pref.getBoolean(ConfigKeys.OSB_AUTO_DOWNLOAD) && !Main.pref.getBoolean(ConfigKeys.OSB_API_OFFLINE) &&
                         plugin != null && plugin.getDialog() != null && plugin.getDialog().isDialogShowing() ) {
                     if(countdown < 0) {
Index: /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbPlugin.java
===================================================================
--- /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbPlugin.java	(revision 23190)
+++ /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/OsbPlugin.java	(revision 23191)
@@ -84,7 +84,7 @@
             UploadAction.registerUploadHook(uploadHook);
         } else {
-        	MapView.removeLayerChangeListener(this);
-        	UploadAction.unregisterUploadHook(uploadHook);
-        	uploadHook = null;
+            MapView.removeLayerChangeListener(this);
+            UploadAction.unregisterUploadHook(uploadHook);
+            uploadHook = null;
         }
     }
@@ -231,6 +231,6 @@
     public void layerRemoved(Layer oldLayer) {
         if(oldLayer == layer) {
-        	MapView.removeLayerChangeListener(this);
-        	MapView.removeLayerChangeListener(dialog);
+            MapView.removeLayerChangeListener(this);
+            MapView.removeLayerChangeListener(dialog);
             layer = null;
         }
Index: /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/AddCommentAction.java
===================================================================
--- /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/AddCommentAction.java	(revision 23190)
+++ /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/AddCommentAction.java	(revision 23191)
@@ -49,7 +49,7 @@
 
     private EditAction editAction = new EditAction();
-    
+
     private String comment;
-    
+
     private Node node;
 
@@ -73,5 +73,5 @@
                 OsbPlugin.loadIcon("add_comment22.png"),
                 history, l);
-        
+
         if(comment == null) {
             cancelled = true;
@@ -84,10 +84,10 @@
         editAction.execute(node, comment);
     }
-    
+
     @Override
     public String toString() {
         return tr("Comment: " + node.get("note") + " - " + comment);
     }
-    
+
     @Override
     public AddCommentAction clone() {
Index: /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/CloseIssueAction.java
===================================================================
--- /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/CloseIssueAction.java	(revision 23190)
+++ /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/CloseIssueAction.java	(revision 23191)
@@ -51,7 +51,7 @@
     private CloseAction closeAction = new CloseAction();
     private EditAction commentAction = new EditAction();
-    
+
     private String comment;
-    
+
     private Node node;
 
@@ -74,5 +74,5 @@
                 OsbPlugin.loadIcon("icon_valid22.png"),
                 history, l);
-        
+
         if(comment == null) {
             cancelled = true;
@@ -89,10 +89,10 @@
         closeAction.execute(node);
     }
-    
+
     @Override
     public String toString() {
         return tr("Close: " + node.get("note") + " - Comment: " + comment);
     }
-    
+
     @Override
     public CloseIssueAction clone() {
Index: /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/NewIssueAction.java
===================================================================
--- /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/NewIssueAction.java	(revision 23190)
+++ /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/NewIssueAction.java	(revision 23191)
@@ -51,9 +51,9 @@
 
     private String result;
-    
+
     private Point p;
-    
+
     private NewAction newAction = new NewAction();
-    
+
     public NewIssueAction(OsbPlugin plugin, Point p) {
         super(tr("New issue"), plugin.getDialog());
@@ -77,5 +77,5 @@
                 OsbPlugin.loadIcon("icon_error_add22.png"),
                 history, l);
-        
+
         if(result == null) {
             cancelled = true;
@@ -96,10 +96,10 @@
         }
     }
-    
+
     @Override
     public String toString() {
         return tr("Create: " + result);
     }
-    
+
     @Override
     public OsbAction clone() {
Index: /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/PointToNewIssueAction.java
===================================================================
--- /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/PointToNewIssueAction.java	(revision 23190)
+++ /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/action/PointToNewIssueAction.java	(revision 23191)
@@ -46,9 +46,9 @@
 
     private JToggleButton button;
-    
+
     private OsbPlugin plugin;
 
     private Cursor previousCursor;
-    
+
     public PointToNewIssueAction(JToggleButton button, OsbPlugin plugin) {
         super(tr("New issue"));
Index: /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/dialogs/TextInputDialog.java
===================================================================
--- /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/dialogs/TextInputDialog.java	(revision 23190)
+++ /applications/editors/josm/plugins/openstreetbugs/src/org/openstreetmap/josm/plugins/osb/gui/dialogs/TextInputDialog.java	(revision 23191)
@@ -1,17 +1,17 @@
 /* Copyright (c) 2008, Henrik Niehaus
  * All rights reserved.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
- * 
+ *
  * 1. Redistributions of source code must retain the above copyright notice,
  *    this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice, 
- *    this list of conditions and the following disclaimer in the documentation 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
  *    and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its 
- *    contributors may be used to endorse or promote products derived from this 
+ * 3. Neither the name of the project nor the names of its
+ *    contributors may be used to endorse or promote products derived from this
  *    software without specific prior written permission.
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
@@ -74,7 +74,7 @@
     private JLabel lblText;
     private JPanel pnlMain;
-    
+
     private String value = null;
-    
+
     private TextInputDialog() {
         initGUI();
@@ -88,5 +88,5 @@
             }
         });
-        
+
         btnOk.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
@@ -94,5 +94,5 @@
             }
         });
-        
+
         btnCancel.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
@@ -101,5 +101,5 @@
         });
     }
-    
+
     private void okPressed() {
         value = input.getText();
@@ -155,9 +155,9 @@
         setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
     }
-    
+
     public static String showDialog(JComponent parent, String title, String text, List<String> history, HistoryChangedListener l) {
         return showDialog(parent, title, text, null, history, l);
     }
-    
+
     /**
      * Opens a text input dialog and returns the entered text
@@ -180,5 +180,5 @@
         int y = (int) (p.getY() +  (double)(parent.getHeight() - tid.getHeight()) / 2);
         tid.setLocation(x, y);
-        
+
         //tid.pack();
         tid.setVisible(true);
@@ -189,9 +189,9 @@
         return this.value;
     }
-    
+
     public void setDescription(String text) {
         lblText.setText(text);
     }
-    
+
     public void setHistory(List<String> history) {
         input.setHistory(history);
@@ -199,9 +199,9 @@
         value = null;
     }
-    
+
     public void addHistoryChangedListener(HistoryChangedListener l) {
         ((ComboBoxHistory)input.getModel()).addHistoryChangedListener(l);
     }
-    
+
     public void setIcon(Icon icon) {
         lblIcon.setIcon(icon);
Index: /applications/editors/josm/plugins/openvisible/src/at/dallermassl/josm/plugin/openvisible/OpenVisibleAction.java
===================================================================
--- /applications/editors/josm/plugins/openvisible/src/at/dallermassl/josm/plugin/openvisible/OpenVisibleAction.java	(revision 23190)
+++ /applications/editors/josm/plugins/openvisible/src/at/dallermassl/josm/plugin/openvisible/OpenVisibleAction.java	(revision 23191)
@@ -98,5 +98,5 @@
                 e1.printStackTrace();
             } catch(IllegalDataException e1) {
-            	e1.printStackTrace();
+                e1.printStackTrace();
             }
         }
@@ -128,5 +128,5 @@
                 JOptionPane.showMessageDialog(Main.parent, tr("Parsing file \"{0}\" failed", file));
                 throw new IllegalStateException();
-            }				
+            }
             r.data.storageFile = file;
             GpxLayer gpxLayer = new GpxLayer(r.data, fn);
Index: /applications/editors/josm/plugins/terracer/src/terracer/HouseNumberInputDialog.java
===================================================================
--- /applications/editors/josm/plugins/terracer/src/terracer/HouseNumberInputDialog.java	(revision 23190)
+++ /applications/editors/josm/plugins/terracer/src/terracer/HouseNumberInputDialog.java	(revision 23191)
@@ -75,5 +75,5 @@
     JCheckBox deleteOutlineCheckBox;
 
-	HouseNumberInputHandler inputHandler;
+    HouseNumberInputHandler inputHandler;
 
     /**
@@ -102,5 +102,5 @@
     }
 
-	/**
+    /**
      * This method initializes this
      *
@@ -111,5 +111,5 @@
         this.hi.addFocusListener(this.inputHandler);
         this.segments.addFocusListener(this.inputHandler);
-		this.interpolation.addItemListener(this.inputHandler);
+        this.interpolation.addItemListener(this.inputHandler);
     }
 
@@ -136,7 +136,7 @@
         if (inputPanel == null) {
 
-        	GridBagConstraints c = new GridBagConstraints();
-
-        	messageLabel = new JTextArea();
+            GridBagConstraints c = new GridBagConstraints();
+
+            messageLabel = new JTextArea();
             messageLabel.setText(DEFAULT_MESSAGE);
             messageLabel.setAutoscrolls(true);
@@ -168,5 +168,5 @@
             inputPanel.setLayout(new GridBagLayout());
             c.fill = GridBagConstraints.HORIZONTAL;
-			c.gridwidth = GridBagConstraints.REMAINDER;
+            c.gridwidth = GridBagConstraints.REMAINDER;
             inputPanel.add(messageLabel, c);
 
@@ -191,5 +191,5 @@
     }
 
-	/**
+    /**
      * Overrides the default actions. Will not close the window when upload trace is clicked
      */
@@ -268,7 +268,7 @@
             interpolation.add(tr("Even/Odd"));
             if (Main.pref.getInteger(INTERPOLATION, 2) == 1) {
-            	interpolation.select(tr("All"));
+                interpolation.select(tr("All"));
             } else {
-            	interpolation.select(tr("Even/Odd"));
+                interpolation.select(tr("Even/Odd"));
             }
             //return (dialog.interpolation.getSelectedItem().equals(tr("All"))) ? 1 : 2;
Index: /applications/editors/josm/plugins/terracer/src/terracer/HouseNumberInputHandler.java
===================================================================
--- /applications/editors/josm/plugins/terracer/src/terracer/HouseNumberInputHandler.java	(revision 23190)
+++ /applications/editors/josm/plugins/terracer/src/terracer/HouseNumberInputHandler.java	(revision 23191)
@@ -61,36 +61,36 @@
         this.street = street;
         this.associatedStreet = associatedStreet;
-        
+
         // This dialog is started modal
         this.dialog = new HouseNumberInputDialog(this, street, associatedStreet != null);
-        
+
         // We're done
     }
 
-	/**
-	 * Find a button with a certain caption.
-	 * Loops recursively through all objects to find all buttons.
-	 * Function returns on the first match.
-	 *
-	 * @param root A container object that is recursively searched for other containers or buttons
-	 * @param caption The caption of the button that is being searched
-	 *
-	 * @return The first button that matches the caption or null if not found
-	 */
-	private static JButton getButton(Container root, String caption) {
-		Component children[] = root.getComponents();
+    /**
+     * Find a button with a certain caption.
+     * Loops recursively through all objects to find all buttons.
+     * Function returns on the first match.
+     *
+     * @param root A container object that is recursively searched for other containers or buttons
+     * @param caption The caption of the button that is being searched
+     *
+     * @return The first button that matches the caption or null if not found
+     */
+    private static JButton getButton(Container root, String caption) {
+        Component children[] = root.getComponents();
          for (Component child : children) {
-         	JButton b;
-         	if (child instanceof JButton) {
-				b = (JButton) child;
-				if (caption.equals(b.getText())) return b;
-			} else if (child instanceof Container) {
+            JButton b;
+            if (child instanceof JButton) {
+                b = (JButton) child;
+                if (caption.equals(b.getText())) return b;
+            } else if (child instanceof Container) {
                   b = getButton((Container)child, caption);
                   if (b != null) return b;
              }
          }
-		return null;
-	}
-	
+        return null;
+    }
+
     /**
      * Validate the current input fields.
@@ -110,8 +110,8 @@
         // Allow non numeric characters for the low number as long as there is no high number of the segmentcount is 1
         if (dialog.hi.getText().length() > 0 | segments() > 1) {
-		    isOk = isOk
-		            && checkNumberStringField(dialog.lo, tr("Lowest number"),
-		                    message);
-		}
+            isOk = isOk
+                    && checkNumberStringField(dialog.lo, tr("Lowest number"),
+                            message);
+        }
         isOk = isOk
                 && checkNumberStringField(dialog.hi, tr("Highest number"),
@@ -124,6 +124,6 @@
             JButton okButton = getButton(dialog, "OK");
             if (okButton != null)
-            	okButton.setEnabled(true);
-            
+                okButton.setEnabled(true);
+
             // For some reason the messageLabel doesn't want to show up
             dialog.messageLabel.setForeground(Color.black);
@@ -133,10 +133,10 @@
             JButton okButton = getButton(dialog, "OK");
             if (okButton != null)
-		       	okButton.setEnabled(false);
-		        	
-	        // For some reason the messageLabel doesn't want to show up, so a MessageDialog is shown instead. Someone more knowledgeable might fix this.
-	        dialog.messageLabel.setForeground(Color.red);
-	        dialog.messageLabel.setText(message.toString());
-	        //JOptionPane.showMessageDialog(null, message.toString(), tr("Error"), JOptionPane.ERROR_MESSAGE);
+                okButton.setEnabled(false);
+
+            // For some reason the messageLabel doesn't want to show up, so a MessageDialog is shown instead. Someone more knowledgeable might fix this.
+            dialog.messageLabel.setForeground(Color.red);
+            dialog.messageLabel.setText(message.toString());
+            //JOptionPane.showMessageDialog(null, message.toString(), tr("Error"), JOptionPane.ERROR_MESSAGE);
 
             return false;
@@ -273,21 +273,21 @@
             JButton button = (JButton) e.getSource();
             if ("OK".equals(button.getActionCommand()) & button.isEnabled()) {
-            	if (validateInput()) {
-		            saveValues();
-		            
-			        terracerAction.terraceBuilding(
-			            outline,
-			            street,
-			            associatedStreet,
-			            segments(),
-			            dialog.lo.getText(),
-			            dialog.hi.getText(),
-			            stepSize(),
-			            streetName(),
-			            doHandleRelation(),
-			            doDeleteOutline());
-				
-		            this.dialog.dispose();
-		        }
+                if (validateInput()) {
+                    saveValues();
+
+                    terracerAction.terraceBuilding(
+                        outline,
+                        street,
+                        associatedStreet,
+                        segments(),
+                        dialog.lo.getText(),
+                        dialog.hi.getText(),
+                        stepSize(),
+                        streetName(),
+                        doHandleRelation(),
+                        doDeleteOutline());
+
+                    this.dialog.dispose();
+                }
             } else if ("Cancel".equals(button.getActionCommand())) {
                 this.dialog.dispose();
@@ -357,5 +357,5 @@
         if (street != null)
             return null;
-            
+
         Object selected = dialog.streetComboBox.getSelectedItem();
         if (selected == null) {
@@ -376,16 +376,16 @@
      */
     public boolean doHandleRelation() {
-    	if (this.dialog == null) {
-    		JOptionPane.showMessageDialog(null, "dialog", "alert", JOptionPane.ERROR_MESSAGE); 
-    	}
-    	if (this.dialog.handleRelationCheckBox == null) {
-    		JOptionPane.showMessageDialog(null, "checkbox", "alert", JOptionPane.ERROR_MESSAGE); 
-    		return true;
-    	}  else {
-        	return this.dialog.handleRelationCheckBox.isSelected();
-        }
-    }
-
-   
+        if (this.dialog == null) {
+            JOptionPane.showMessageDialog(null, "dialog", "alert", JOptionPane.ERROR_MESSAGE);
+        }
+        if (this.dialog.handleRelationCheckBox == null) {
+            JOptionPane.showMessageDialog(null, "checkbox", "alert", JOptionPane.ERROR_MESSAGE);
+            return true;
+        }  else {
+            return this.dialog.handleRelationCheckBox.isSelected();
+        }
+    }
+
+
     /**
      * Whether the user likes to delete the outline way.
@@ -394,10 +394,10 @@
         return dialog.deleteOutlineCheckBox.isSelected();
     }
-    
+
     /* (non-Javadoc)
      * @see java.awt.event.FocusListener#focusGained(java.awt.event.FocusEvent)
      */
     public void focusGained(FocusEvent e) {
-		// Empty, but placeholder is required
+        // Empty, but placeholder is required
     }
 
@@ -406,6 +406,6 @@
      */
     public void focusLost(FocusEvent e) {
-    	if (e.getOppositeComponent() == null)
-    		return;
+        if (e.getOppositeComponent() == null)
+            return;
 
         validateInput();
Index: /applications/editors/josm/plugins/terracer/src/terracer/ReverseTerraceAction.java
===================================================================
--- /applications/editors/josm/plugins/terracer/src/terracer/ReverseTerraceAction.java	(revision 23190)
+++ /applications/editors/josm/plugins/terracer/src/terracer/ReverseTerraceAction.java	(revision 23191)
@@ -78,10 +78,10 @@
             }
         }
-        
+
         if (front.isEmpty()) {
             JOptionPane.showMessageDialog(Main.parent,
                     tr("Cannot reverse!"));
             return;
-        }                
+        }
 
         // This is like a visitedWays set, but in a linear order.
@@ -130,4 +130,4 @@
     protected void updateEnabledState() {
         setEnabled(getCurrentDataSet() != null);
-    }    
+    }
 }
Index: /applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java
===================================================================
--- /applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java	(revision 23190)
+++ /applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java	(revision 23191)
@@ -58,7 +58,7 @@
     // repeated terraces. this is the easiest, but not necessarily nicest, way.
     // private static String lastSelectedValue = "";
-	
-	Collection<Command> commands;
-	
+
+    Collection<Command> commands;
+
     public TerracerAction() {
         super(tr("Terrace a building"), "terrace",
@@ -152,12 +152,12 @@
     }
 
-	public Integer getNumber(String number) {
-		try {
+    public Integer getNumber(String number) {
+        try {
             return Integer.parseInt(number);
         } catch (NumberFormatException ex) {
             return null;
         }
-	}
-	
+    }
+
     /**
      * Terraces a single, closed, quadrilateral way.
@@ -178,15 +178,15 @@
      */
     public void terraceBuilding(Way outline,
-				Way street,
-				Relation associatedStreet,
-				Integer segments,
-				String From,
-				String To,
-				int step,
-				String streetName,
-				boolean handleRelations,
-				boolean deleteOutline) {
+                Way street,
+                Relation associatedStreet,
+                Integer segments,
+                String From,
+                String To,
+                int step,
+                String streetName,
+                boolean handleRelations,
+                boolean deleteOutline) {
         final int nb;
-        
+
         Integer to, from;
         to = getNumber(To);
@@ -210,88 +210,88 @@
         Collection<Way> ways = new LinkedList<Way>();
 
-		// Should this building be terraced (i.e. is there more then one section?)
-		if (nb > 1) {
-		    // create intermediate nodes by interpolating.
-		    
-		    // now find which is the longest side connecting the first node
-			Pair<Way, Way> interp = findFrontAndBack(outline);
-
-			final double frontLength = wayLength(interp.a);
-			final double backLength = wayLength(interp.b);
-			
-		    for (int i = 0; i <= nb; ++i) {
-		        new_nodes[0][i] = interpolateAlong(interp.a, frontLength * i / nb);
-		        new_nodes[1][i] = interpolateAlong(interp.b, backLength * i / nb);
-		        this.commands.add(new AddCommand(new_nodes[0][i]));
-		        this.commands.add(new AddCommand(new_nodes[1][i]));
-		    }
-
-		    // assemble new quadrilateral, closed ways
-		    for (int i = 0; i < nb; ++i) {
-		        Way terr = new Way();
-		        // Using Way.nodes.add rather than Way.addNode because the latter
-		        // doesn't
-		        // exist in older versions of JOSM.
-		        terr.addNode(new_nodes[0][i]);
-		        terr.addNode(new_nodes[0][i + 1]);
-		        terr.addNode(new_nodes[1][i + 1]);
-		        terr.addNode(new_nodes[1][i]);
-		        terr.addNode(new_nodes[0][i]);
-		        
-		        // add the tags of the outline to each building (e.g. source=*)
-		        TagCollection.from(outline).applyTo(terr);
-
-				String number = null;
-				if (from != null) {
-					number = Integer.toString(from + i * step);
-				}
-		       	terr = addressBuilding(terr, street, streetName, number);
-
-		        ways.add(terr);
-		        this.commands.add(new AddCommand(terr));
-		    }
-
-		    if (deleteOutline) {
-		        this.commands.add(DeleteCommand.delete(Main.main.getEditLayer(), Collections.singleton(outline), true, true));
-		    }
-		} else {
-			// Single section, just add the address details
-			Way newOutline;
-			newOutline = addressBuilding(outline, street, streetName, From);
-			ways.add(newOutline);
-			this.commands.add(new ChangeCommand(outline, newOutline));
-		}
-		
-		if (handleRelations) { // create a new relation or merge with existing
-		    if (associatedStreet == null) {  // create a new relation
-		        associatedStreet = new Relation();
-		        associatedStreet.put("type", "associatedStreet");
-		        if (street != null) { // a street was part of the selection
-		            associatedStreet.put("name", street.get("name"));
-		            associatedStreet.addMember(new RelationMember("street", street));
-		        } else {
-		            associatedStreet.put("name", streetName);
-		        }
-		        for (Way w : ways) {
-		            associatedStreet.addMember(new RelationMember("house", w));
-		        }
-		        this.commands.add(new AddCommand(associatedStreet));
-		    }
-		    else { // relation exists already - add new members
-		        Relation newAssociatedStreet = new Relation(associatedStreet);
-		        for (Way w : ways) {
-		            newAssociatedStreet.addMember(new RelationMember("house", w));
-		        }
-		        this.commands.add(new ChangeCommand(associatedStreet, newAssociatedStreet));
-		    }
-		}
-		Main.main.undoRedo.add(new SequenceCommand(tr("Terrace"), commands));
-		if (nb > 1) {
-			// Select the new building outlines (for quick reversing)
-		    Main.main.getCurrentDataSet().setSelected(ways);
-		} else if (street != null) {
-			// Select the way (for quick selection of a new house (with the same way))
-		    Main.main.getCurrentDataSet().setSelected(street);
-		}
+        // Should this building be terraced (i.e. is there more then one section?)
+        if (nb > 1) {
+            // create intermediate nodes by interpolating.
+
+            // now find which is the longest side connecting the first node
+            Pair<Way, Way> interp = findFrontAndBack(outline);
+
+            final double frontLength = wayLength(interp.a);
+            final double backLength = wayLength(interp.b);
+
+            for (int i = 0; i <= nb; ++i) {
+                new_nodes[0][i] = interpolateAlong(interp.a, frontLength * i / nb);
+                new_nodes[1][i] = interpolateAlong(interp.b, backLength * i / nb);
+                this.commands.add(new AddCommand(new_nodes[0][i]));
+                this.commands.add(new AddCommand(new_nodes[1][i]));
+            }
+
+            // assemble new quadrilateral, closed ways
+            for (int i = 0; i < nb; ++i) {
+                Way terr = new Way();
+                // Using Way.nodes.add rather than Way.addNode because the latter
+                // doesn't
+                // exist in older versions of JOSM.
+                terr.addNode(new_nodes[0][i]);
+                terr.addNode(new_nodes[0][i + 1]);
+                terr.addNode(new_nodes[1][i + 1]);
+                terr.addNode(new_nodes[1][i]);
+                terr.addNode(new_nodes[0][i]);
+
+                // add the tags of the outline to each building (e.g. source=*)
+                TagCollection.from(outline).applyTo(terr);
+
+                String number = null;
+                if (from != null) {
+                    number = Integer.toString(from + i * step);
+                }
+                terr = addressBuilding(terr, street, streetName, number);
+
+                ways.add(terr);
+                this.commands.add(new AddCommand(terr));
+            }
+
+            if (deleteOutline) {
+                this.commands.add(DeleteCommand.delete(Main.main.getEditLayer(), Collections.singleton(outline), true, true));
+            }
+        } else {
+            // Single section, just add the address details
+            Way newOutline;
+            newOutline = addressBuilding(outline, street, streetName, From);
+            ways.add(newOutline);
+            this.commands.add(new ChangeCommand(outline, newOutline));
+        }
+
+        if (handleRelations) { // create a new relation or merge with existing
+            if (associatedStreet == null) {  // create a new relation
+                associatedStreet = new Relation();
+                associatedStreet.put("type", "associatedStreet");
+                if (street != null) { // a street was part of the selection
+                    associatedStreet.put("name", street.get("name"));
+                    associatedStreet.addMember(new RelationMember("street", street));
+                } else {
+                    associatedStreet.put("name", streetName);
+                }
+                for (Way w : ways) {
+                    associatedStreet.addMember(new RelationMember("house", w));
+                }
+                this.commands.add(new AddCommand(associatedStreet));
+            }
+            else { // relation exists already - add new members
+                Relation newAssociatedStreet = new Relation(associatedStreet);
+                for (Way w : ways) {
+                    newAssociatedStreet.addMember(new RelationMember("house", w));
+                }
+                this.commands.add(new ChangeCommand(associatedStreet, newAssociatedStreet));
+            }
+        }
+        Main.main.undoRedo.add(new SequenceCommand(tr("Terrace"), commands));
+        if (nb > 1) {
+            // Select the new building outlines (for quick reversing)
+            Main.main.getCurrentDataSet().setSelected(ways);
+        } else if (street != null) {
+            // Select the way (for quick selection of a new house (with the same way))
+            Main.main.getCurrentDataSet().setSelected(street);
+        }
     }
 
@@ -306,5 +306,5 @@
      */
     private Way addressBuilding(Way outline, Way street, String streetName, String number) {
-    	Way changedOutline = outline;
+        Way changedOutline = outline;
         if (number != null) {
             // only, if the user has specified house numbers
@@ -431,10 +431,10 @@
         return Math.min(positiveModulus(i1 - i2, n), positiveModulus(i2 - i1, n));
     }
-    
+
     /**
      * return the modulus in the range [0, n)
      */
     private int positiveModulus(int a, int n) {
-        if (n <=0) 
+        if (n <=0)
             throw new IllegalArgumentException();
         int res = a % n;
@@ -444,5 +444,5 @@
         return res;
     }
-    
+
     /**
      * Calculate the length of a side (from node i to i+1) in a way. This assumes that
@@ -548,4 +548,4 @@
     protected void updateEnabledState() {
         setEnabled(getCurrentDataSet() != null);
-    }    
+    }
 }
Index: /applications/editors/josm/plugins/terracer/src/terracer/TerracerPlugin.java
===================================================================
--- /applications/editors/josm/plugins/terracer/src/terracer/TerracerPlugin.java	(revision 23190)
+++ /applications/editors/josm/plugins/terracer/src/terracer/TerracerPlugin.java	(revision 23191)
@@ -1,7 +1,7 @@
 /**
  * Terracer: A JOSM Plugin for terraced houses.
- * 
+ *
  * Copyright 2009 CloudMade Ltd.
- * 
+ *
  * Released under the GPLv2, see LICENSE file for details.
  */
@@ -15,5 +15,5 @@
 /**
  * Plugin interface implementation for Terracer.
- * 
+ *
  * @author zere
  */
@@ -21,5 +21,5 @@
     public TerracerPlugin(PluginInformation info) {
         super(info);
-        
+
         MainMenu.add(Main.main.menu.toolsMenu, new TerracerAction());
         MainMenu.add(Main.main.menu.toolsMenu, new ReverseTerraceAction());
Index: /applications/editors/josm/plugins/terracer/src/terracer/TerracerRuntimeException.java
===================================================================
--- /applications/editors/josm/plugins/terracer/src/terracer/TerracerRuntimeException.java	(revision 23190)
+++ /applications/editors/josm/plugins/terracer/src/terracer/TerracerRuntimeException.java	(revision 23191)
@@ -10,40 +10,40 @@
 /**
  * The Class TerracerRuntimeException indicates errors from the Terracer Plugin.
- * 
+ *
  * @author casualwalker
  */
 public class TerracerRuntimeException extends RuntimeException {
 
-	/** The Constant serialVersionUID. */
-	private static final long serialVersionUID = 857926026580277816L;
+    /** The Constant serialVersionUID. */
+    private static final long serialVersionUID = 857926026580277816L;
 
-	/**
-	 * Default constructor.
-	 */
-	public TerracerRuntimeException() {
-		super();
-	}
+    /**
+     * Default constructor.
+     */
+    public TerracerRuntimeException() {
+        super();
+    }
 
-	/**
-	 * @param message
-	 * @param cause
-	 */
-	public TerracerRuntimeException(String message, Throwable cause) {
-		super(message, cause);
-	}
+    /**
+     * @param message
+     * @param cause
+     */
+    public TerracerRuntimeException(String message, Throwable cause) {
+        super(message, cause);
+    }
 
-	/**
-	 * @param message
-	 */
-	public TerracerRuntimeException(String message) {
-		super(message);
-	}
+    /**
+     * @param message
+     */
+    public TerracerRuntimeException(String message) {
+        super(message);
+    }
 
-	/**
-	 * @param cause
-	 */
-	public TerracerRuntimeException(Throwable cause) {
-		super(cause);
-	}
+    /**
+     * @param cause
+     */
+    public TerracerRuntimeException(Throwable cause) {
+        super(cause);
+    }
 
 }
Index: /applications/editors/josm/plugins/tracer/src/org/openstreetmap/josm/plugins/tracer/ConnectWays.java
===================================================================
--- /applications/editors/josm/plugins/tracer/src/org/openstreetmap/josm/plugins/tracer/ConnectWays.java	(revision 23190)
+++ /applications/editors/josm/plugins/tracer/src/org/openstreetmap/josm/plugins/tracer/ConnectWays.java	(revision 23191)
@@ -40,6 +40,6 @@
         LinkedList<Command> cmds = new LinkedList<Command>();
         Way newWay = new Way(way);
-        for (int i = 0; i < way.getNodesCount() - 1; i++) { 
-            Node n = way.getNode(i); 
+        for (int i = 0; i < way.getNodesCount() - 1; i++) {
+            Node n = way.getNode(i);
             System.out.println("-------");
             System.out.println("Node: " + n);
@@ -93,6 +93,6 @@
     private static List<Command> mergeNodes(Node n1, Node n2, Way way){
         List<Command> cmds = new LinkedList<Command>();
-        cmds.add(new MoveCommand(n2, 
-                 (n1.getEastNorth().getX() - n2.getEastNorth().getX())/2, 
+        cmds.add(new MoveCommand(n2,
+                 (n1.getEastNorth().getX() - n2.getEastNorth().getX())/2,
                  (n1.getEastNorth().getY() - n2.getEastNorth().getY())/2
                  ));
@@ -123,5 +123,5 @@
     private static void tryConnectNodeToAnyWay(Node node, Map<Way, Way> m)
             throws IllegalStateException, IndexOutOfBoundsException {
-        
+
         List<Command> cmds = new LinkedList<Command>();
 
Index: /applications/editors/josm/plugins/tracer/src/org/openstreetmap/josm/plugins/tracer/TracerServer.java
===================================================================
--- /applications/editors/josm/plugins/tracer/src/org/openstreetmap/josm/plugins/tracer/TracerServer.java	(revision 23190)
+++ /applications/editors/josm/plugins/tracer/src/org/openstreetmap/josm/plugins/tracer/TracerServer.java	(revision 23191)
@@ -16,9 +16,9 @@
 
     static final String URL = "http://localhost:5050/";
-    
+
     public TracerServer() {
 
     }
-   
+
     /**
      * Call Trace server.
Index: /applications/editors/josm/plugins/waydownloader/src/org/openstreetmap/josm/plugins/waydownloader/WayDownloaderPlugin.java
===================================================================
--- /applications/editors/josm/plugins/waydownloader/src/org/openstreetmap/josm/plugins/waydownloader/WayDownloaderPlugin.java	(revision 23190)
+++ /applications/editors/josm/plugins/waydownloader/src/org/openstreetmap/josm/plugins/waydownloader/WayDownloaderPlugin.java	(revision 23191)
@@ -45,5 +45,5 @@
     /** Plugin constructor called at JOSM startup */
     public WayDownloaderPlugin(PluginInformation info) {
-    	super(info);
+        super(info);
         //add WayDownloadAction to tools menu
         MainMenu.add(Main.main.menu.toolsMenu, new WayDownloadAction());
