Index: /applications/editors/josm/plugins/reltoolbox/.settings/org.eclipse.core.resources.prefs
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/.settings/org.eclipse.core.resources.prefs	(revision 29535)
+++ /applications/editors/josm/plugins/reltoolbox/.settings/org.eclipse.core.resources.prefs	(revision 29535)
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+encoding//src/relcontext/actions=UTF-8
+encoding//src/relcontext/actions/TheRing.java=UTF-8
Index: /applications/editors/josm/plugins/reltoolbox/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/.settings/org.eclipse.jdt.core.prefs	(revision 29535)
+++ /applications/editors/josm/plugins/reltoolbox/.settings/org.eclipse.jdt.core.prefs	(revision 29535)
@@ -0,0 +1,85 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/ChosenRelationComponent.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/ChosenRelationComponent.java	(revision 29534)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/ChosenRelationComponent.java	(revision 29535)
@@ -1,8 +1,6 @@
 package relcontext;
 
-import java.awt.Color;
 import javax.swing.JLabel;
-import javax.swing.border.BevelBorder;
-import javax.swing.border.LineBorder;
+
 import org.openstreetmap.josm.data.osm.Relation;
 
@@ -16,5 +14,5 @@
 public class ChosenRelationComponent extends JLabel implements ChosenRelationListener {
 
-    private ChosenRelation chRel;
+    //private ChosenRelation chRel;
 
     public ChosenRelationComponent(ChosenRelation rel) {
@@ -23,5 +21,5 @@
         setOpaque(true);
         setBorder(new LineBorder(Color.black, 1, true));*/
-        this.chRel = rel;
+        //this.chRel = rel;
         rel.addChosenRelationListener(this);
     }
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextDialog.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextDialog.java	(revision 29534)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextDialog.java	(revision 29535)
@@ -1,50 +1,97 @@
 package relcontext;
 
-import org.openstreetmap.josm.actions.JosmAction;
-import org.openstreetmap.josm.command.SequenceCommand;
-import org.openstreetmap.josm.command.Command;
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dialog.ModalityType;
+import java.awt.Dimension;
+import java.awt.GridBagLayout;
+import java.awt.Point;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
 import java.io.BufferedReader;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.awt.Point;
-import java.awt.Component;
-import java.awt.Dimension;
-import org.openstreetmap.josm.tools.ImageProvider;
-import org.openstreetmap.josm.gui.DefaultNameFormatter;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.StringTokenizer;
+import java.util.TreeSet;
+
+import javax.swing.AbstractListModel;
+import javax.swing.Action;
+import javax.swing.Box;
+import javax.swing.ComboBoxModel;
+import javax.swing.JButton;
+import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JComboBox;
+import javax.swing.JComponent;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JPopupMenu;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.ListSelectionModel;
+import javax.swing.SwingUtilities;
 import javax.swing.event.ListSelectionEvent;
-import javax.swing.table.TableColumnModel;
-import javax.swing.table.DefaultTableModel;
-import java.awt.event.*;
-import java.util.*;
-import javax.swing.*;
-import relcontext.actions.*;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Dialog.ModalityType;
-import java.awt.GridBagLayout;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
 import javax.swing.event.ListSelectionListener;
 import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableColumnModel;
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.command.ChangeRelationMemberRoleCommand;
+import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.command.SequenceCommand;
 import org.openstreetmap.josm.data.SelectionChangedListener;
+import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.data.osm.RelationMember;
+import org.openstreetmap.josm.data.osm.event.DatasetEventManager;
 import org.openstreetmap.josm.data.osm.event.DatasetEventManager.FireMode;
 import org.openstreetmap.josm.data.osm.event.SelectionEventManager;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.data.osm.RelationMember;
-import org.openstreetmap.josm.data.osm.event.DatasetEventManager;
-import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.DefaultNameFormatter;
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.MapView.EditLayerChangeListener;
 import org.openstreetmap.josm.gui.OsmPrimitivRenderer;
 import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
+import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox;
+import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Shortcut;
-import org.openstreetmap.josm.tools.GBC;
-import org.openstreetmap.josm.command.ChangeRelationMemberRoleCommand;
-import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox;
-import static org.openstreetmap.josm.tools.I18n.tr;
+
+import relcontext.actions.AddRemoveMemberAction;
+import relcontext.actions.ClearChosenRelationAction;
+import relcontext.actions.CreateMultipolygonAction;
+import relcontext.actions.CreateRelationAction;
+import relcontext.actions.DeleteChosenRelationAction;
+import relcontext.actions.DownloadChosenRelationAction;
+import relcontext.actions.DownloadParentsAction;
+import relcontext.actions.DuplicateChosenRelationAction;
+import relcontext.actions.EditChosenRelationAction;
+import relcontext.actions.FindRelationAction;
+import relcontext.actions.ReconstructPolygonAction;
+import relcontext.actions.RelationHelpAction;
+import relcontext.actions.SelectInRelationPanelAction;
+import relcontext.actions.SelectMembersAction;
+import relcontext.actions.SelectRelationAction;
+import relcontext.actions.SortAndFixAction;
 
 /**
@@ -508,5 +555,5 @@
         }
     }
-
+/*
     private class MultipolygonSettingsAction extends AbstractAction {
         public MultipolygonSettingsAction() {
@@ -518,8 +565,7 @@
         public void actionPerformed( ActionEvent e ) {
             Component c = e.getSource() instanceof Component ? (Component)e.getSource() : Main.parent;
-            Point p = getMousePosition();
             multiPopupMenu.show(c, 0, 0);
         }
-    }
+    }*/
 
     private class MultipolygonSettingsPopup extends JPopupMenu implements ActionListener {
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextPlugin.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextPlugin.java	(revision 29534)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/RelContextPlugin.java	(revision 29535)
@@ -1,5 +1,4 @@
 package relcontext;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
 import org.openstreetmap.josm.gui.MapFrame;
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DownloadParentsAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DownloadParentsAction.java	(revision 29534)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/DownloadParentsAction.java	(revision 29535)
@@ -2,4 +2,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.awt.event.ActionEvent;
 import java.util.ArrayList;
@@ -8,13 +9,15 @@
 import java.util.List;
 import java.util.Set;
+
 import javax.swing.AbstractAction;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.downloadtasks.DownloadReferrersTask;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
-import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.gui.dialogs.relation.DownloadRelationMemberTask;
 import org.openstreetmap.josm.gui.dialogs.relation.DownloadRelationTask;
 import org.openstreetmap.josm.tools.ImageProvider;
+
 import relcontext.ChosenRelation;
 import relcontext.ChosenRelationListener;
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructPolygonAction.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructPolygonAction.java	(revision 29534)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/ReconstructPolygonAction.java	(revision 29535)
@@ -107,5 +107,5 @@
 				Way tmp = w;
 				w = candidateWay;
-				candidateWay = w;
+				candidateWay = tmp;
 			    }
 			    commands.add(new DeleteCommand(w));
Index: /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/TheRing.java
===================================================================
--- /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/TheRing.java	(revision 29534)
+++ /applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/TheRing.java	(revision 29535)
@@ -1,10 +1,22 @@
 package relcontext.actions;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import javax.swing.JOptionPane;
+
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.command.*;
-import org.openstreetmap.josm.data.coor.EastNorth;
-import org.openstreetmap.josm.data.osm.*;
+import org.openstreetmap.josm.command.AddCommand;
+import org.openstreetmap.josm.command.ChangeCommand;
+import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.command.DeleteCommand;
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.data.osm.RelationMember;
+import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.tools.Geometry;
 import org.openstreetmap.josm.tools.Geometry.PolygonIntersection;
@@ -326,7 +338,7 @@
 	    }
 	}
-	// todo: когда два кольца меняют одно и то же отношение, в список команд добавляется
-	// изменение базового отношения на новое, а не предыдущего
-	// поэтому сохраняется только первое изменение
+	// todo: ÐºÐ¾Ð³Ð´Ð° Ð´Ð²Ð° ÐºÐ¾Ð»ÑŒÑ†Ð° Ð¼ÐµÐ½Ñ�ÑŽÑ‚ Ð¾Ð´Ð½Ð¾ Ð¸ Ñ‚Ð¾ Ð¶Ðµ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ðµ, Ð² Ñ�Ð¿Ð¸Ñ�Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´ Ð´Ð¾Ð±Ð°Ð²Ð»Ñ�ÐµÑ‚Ñ�Ñ�
+	// Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ� Ð½Ð° Ð½Ð¾Ð²Ð¾Ðµ, Ð° Ð½Ðµ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾
+	// Ð¿Ð¾Ñ�Ñ‚Ð¾Ð¼Ñƒ Ñ�Ð¾Ñ…Ñ€Ð°Ð½Ñ�ÐµÑ‚Ñ�Ñ� Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¿ÐµÑ€Ð²Ð¾Ðµ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ
 
 	List<Command> commands = new ArrayList<Command>();
@@ -389,5 +401,5 @@
      * Appends "append" to "base" so the closed polygon forms.
      */
-    private static void closePolygon( List<Node> base, List<Node> append ) {
+    /*private static void closePolygon( List<Node> base, List<Node> append ) {
 	if( append.get(0).equals(base.get(0)) && append.get(append.size() - 1).equals(base.get(base.size() - 1)) ) {
 	    List<Node> ap2 = new ArrayList<Node>(append);
@@ -397,15 +409,15 @@
 	base.remove(base.size() - 1);
 	base.addAll(append);
-    }
+    }*/
 
     /**
      * Checks if a middle point between two nodes is inside a polygon. Useful to check if the way is inside.
      */
-    private static boolean segmentInsidePolygon( Node n1, Node n2, List<Node> polygon ) {
+    /*private static boolean segmentInsidePolygon( Node n1, Node n2, List<Node> polygon ) {
 	EastNorth en1 = n1.getEastNorth();
 	EastNorth en2 = n2.getEastNorth();
 	Node testNode = new Node(new EastNorth((en1.east() + en2.east()) / 2.0, (en1.north() + en2.north()) / 2.0));
 	return Geometry.nodeInsidePolygon(testNode, polygon);
-    }
+    }*/
     
     private static void log( String s ) {
@@ -420,6 +432,6 @@
 	private boolean isRing;
 
-	private RingSegment() {
-	}
+	/*private RingSegment() {
+	}*/
 
 	public RingSegment( Way w ) {
@@ -435,8 +447,8 @@
 	}
 
-	public RingSegment( RingSegment ref ) {
+	/*public RingSegment( RingSegment ref ) {
 	    this.nodes = null;
 	    this.references = ref;
-	}
+	}*/
 
 	/**
@@ -559,7 +571,7 @@
 	 * @return true if ways are equals, or one references another.
 	 */
-	public boolean isReferencingEqual( RingSegment other ) {
+	/*public boolean isReferencingEqual( RingSegment other ) {
 	    return this.equals(other) || (other.isReference() && other.references == this) || (isReference() && references == other);
-	}
+	}*/
 
 	@Override
