Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CheckSourceUploadHook.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CheckSourceUploadHook.java	(revision 17215)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CheckSourceUploadHook.java	(revision 17365)
@@ -41,5 +41,5 @@
             for (OsmPrimitive osm : add) {
                 if ((osm instanceof Node || osm instanceof Way)
-                        && (osm.keys == null || !tagSourceExist(osm))) {
+                        && (osm.getKeys() == null || !tagSourceExist(osm))) {
                     sel.add(osm);
                 }
@@ -58,5 +58,5 @@
      */
     private boolean tagSourceExist(OsmPrimitive osm) {
-        for (String key : osm.keys.keySet()) {
+        for (String key : osm.keySet()) {
             if (key.equals("source") ) {
                 return true;
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGBuilding.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGBuilding.java	(revision 17215)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGBuilding.java	(revision 17365)
@@ -43,5 +43,5 @@
 
     public DownloadSVGBuilding(WMSLayer wmsLayer) {
-        super(tr("Downloading {0}", wmsLayer.name));
+        super(tr("Downloading {0}", wmsLayer.getName()));
 
         this.wmsLayer = wmsLayer;
@@ -113,7 +113,7 @@
                 if (nearestNewNode == nodeToAdd)
                     svgDataSet.addPrimitive(nearestNewNode);
-                wayToAdd.nodes.add(nearestNewNode); // either a new node or an existing one
-            }
-            wayToAdd.nodes.add(wayToAdd.nodes.get(0)); // close the way
+                wayToAdd.addNode(nearestNewNode); // either a new node or an existing one
+            }
+            wayToAdd.addNode(wayToAdd.getNode(0)); // close the way
             svgDataSet.addPrimitive(wayToAdd);
         }
@@ -137,10 +137,10 @@
                 for (Way w : svgDataSet.ways) {
                     int replaced = 0;
-                    for (Node node : w.nodes)
+                    for (Node node : w.getNodes())
                         if (node == n) {
                             node = nearestNewNode;
                             replaced++;
                         }
-                    if (w.nodes.size() == replaced)
+                    if (w.getNodesCount() == replaced)
                         w.delete(true);
                 }
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGTask.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGTask.java	(revision 17215)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGTask.java	(revision 17365)
@@ -117,7 +117,7 @@
         for (Node node : nodeList) {
             cmds.add(new AddCommand(node));
-            wayToAdd.nodes.add(node);
-        }
-        wayToAdd.nodes.add(wayToAdd.nodes.get(0)); // close the circle
+            wayToAdd.addNode(node);
+        }
+        wayToAdd.addNode(wayToAdd.getNode(0)); // close the circle
 
         // simplify the way
Index: applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/SimplifyWay.java
===================================================================
--- applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/SimplifyWay.java	(revision 17215)
+++ applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/SimplifyWay.java	(revision 17365)
@@ -2,8 +2,10 @@
 
 import java.util.ArrayList;
+
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.LinkedList;
+import java.util.List;
 
 import org.openstreetmap.josm.Main;
@@ -18,4 +20,6 @@
 import static org.openstreetmap.josm.tools.I18n.trn;
 
+ 
+
 /**
  * Imported from plugin UtilsPlugin
@@ -27,11 +31,11 @@
         Way wnew = new Way(w);
 
-        int toI = wnew.nodes.size() - 1;
-        for (int i = wnew.nodes.size() - 1; i >= 0; i--) {
+        int toI = wnew.getNodesCount() - 1;
+        for (int i = wnew.getNodesCount() - 1; i >= 0; i--) {
             CollectBackReferencesVisitor backRefsV = new CollectBackReferencesVisitor(dataSet, false);
-            backRefsV.visit(wnew.nodes.get(i));
+            backRefsV.visit(wnew.getNode(i));
             boolean used = false;
             if (backRefsV.data.size() == 1) {
-                used = Collections.frequency(w.nodes, wnew.nodes.get(i)) > 1;
+                used = Collections.frequency(w.getNodes(), wnew.getNode(i)) > 1;
             } else {
                 backRefsV.data.remove(w);
@@ -39,5 +43,5 @@
             }
             if (!used)
-                used = wnew.nodes.get(i).isTagged();
+                used = wnew.getNode(i).isTagged();
 
             if (used) {
@@ -49,8 +53,8 @@
 
         HashSet<Node> delNodes = new HashSet<Node>();
-        delNodes.addAll(w.nodes);
-        delNodes.removeAll(wnew.nodes);
+        delNodes.addAll(w.getNodes());
+        delNodes.removeAll(wnew.getNodes());
 
-        if (wnew.nodes.size() != w.nodes.size()) {
+        if (wnew.getNodesCount() != w.getNodesCount()) {
             Collection<Command> cmds = new LinkedList<Command>();
             cmds.add(new ChangeCommand(w, wnew));
@@ -65,7 +69,9 @@
             ArrayList<Node> ns = new ArrayList<Node>();
             simplifyWayRange(wnew, from, to, ns, thr);
+            List<Node> nodes = wnew.getNodes();
             for (int j = to - 1; j > from; j--)
-                wnew.nodes.remove(j);
-            wnew.nodes.addAll(from + 1, ns);
+                nodes.remove(j);
+            nodes.addAll(from+1, ns);
+            wnew.setNodes(nodes);
         }
     }
@@ -76,10 +82,10 @@
      */
     public void simplifyWayRange(Way wnew, int from, int to, ArrayList<Node> ns, double thr) {
-        Node fromN = wnew.nodes.get(from), toN = wnew.nodes.get(to);
+        Node fromN = wnew.getNode(from), toN = wnew.getNode(to);
 
         int imax = -1;
         double xtemax = 0;
         for (int i = from + 1; i < to; i++) {
-            Node n = wnew.nodes.get(i);
+            Node n = wnew.getNode(i);
             double xte = Math.abs(EARTH_RAD
                     * xtd(fromN.getCoor().lat() * Math.PI / 180, fromN.getCoor().lon() * Math.PI / 180, toN.getCoor().lat() * Math.PI
@@ -94,5 +100,5 @@
         if (imax != -1 && xtemax >= thr) {
             simplifyWayRange(wnew, from, imax, ns, thr);
-            ns.add(wnew.nodes.get(imax));
+            ns.add(wnew.getNode(imax));
             simplifyWayRange(wnew, imax, to, ns, thr);
         }
