import java.util.ArrayList;


public class Node {
    public Point point;
    public double thickness;
    public double sectorialArea = 0.0;
    public ArrayList<Node> links = null;
    public Node parent = null;

    public Node(Point point, double thickness) {
        this.point = point;
        this.thickness = thickness;
    }

    public Node(Point point) {
        this(point, 1.0);
    }

    public void connect(Node node) {
        if (!links.contains(node)) {
            links.add(node);    
        }
    }

    public void disconnect(Node node) {
        links.remove(node);
    }

    public String toString() {
        StringBuilder sb = new StringBuilder();
        for (Node node : this.links) {
            sb.append(node.point).append(", ");
        }
        String points = sb.toString();
        return String.format("node: %s linked with: %s", this.point, points);
    }
}

@@ -45,33 +45,23 @@
 ode 
-%7B%0A    public
+extends
  Point 
-point;
+%7B
 %0A   
@@ -80,24 +80,30 @@
 le thickness
+ = 1.0
 ;%0A    public
@@ -220,27 +220,34 @@
 ic Node(
-Point point
+double x, double y
 , double
@@ -272,26 +272,19 @@
     
-this.point = point
+super(x, y)
 ;%0A  
@@ -344,46 +344,92 @@
 ode(
-Point point) %7B%0A        this(point, 1.0
+double x, double y) %7B%0A        super(x, y);%0A    %7D%0A%0A    public Node() %7B%0A        super(
 );%0A 
@@ -676,259 +676,72 @@
     
-StringBuilder sb = new StringBuilder();%0A        for (Node node : this.links) %7B%0A            sb.append(node.point).append(%22, %22);%0A        %7D%0A        String points = sb.toString();%0A        return String.format(%22node: %25s linked with: %25s%22, this.point, points
+// --- TODO ---%0A        throw new UnsupportedOperationException(
 );%0A 

modify Node to be derived from Point