package com.syedraza.WaveFront;

/**
 * A node that is aware of it's neighbors in 4 directions.
 */
public class DNode extends Node implements Compass<DNode> {
    /** The node to the north. */
    private DNode north;
    /** The node to the south. */
    private DNode south;
    /** The node to the west. */
    private DNode west;
    /** The node to the east. */
    private DNode east;

    /**
     * Sets the node's northern neighbor.
     *
     * @param north The northern node.
     */
    public void setNorth(DNode north) {
        this.north = north;
    }

    /**
     * Sets the node's southern neighbor.
     *
     * @param south The southern node.
     */
    public void setSouth(DNode south) {
        this.south = south;
    }

    /**
     * Sets the node's western neighbor.
     *
     * @param west The western node.
     */
    public void setWest(DNode west) {
        this.west = west;
    }

    /**
     * Sets the node's eastern neighbor.
     *
     * @param east The eastern node.
     */
    public void setEast(DNode east) {
        this.east = east;
    }

    /**
     * Gets the node's northern neighbor.
     *
     * @return The norther node.
     */
    public DNode getNorth() {
        return north;
    }

    /**
     * Gets the node's southern neighbor.
     *
     * @return The southern node.
     */
    public DNode getSouth() {
        return south;
    }

    /**
     * Gets the node's western neighbor.
     *
     * @return The western node.
     */
    public DNode getWest() {
        return west;
    }

    /**
     * Gets the node's eastern neighbor.
     *
     * @return The eastern node.
     */
    public DNode getEast() {
        return east;
    }

    /**
     * Returns all of the node's neighbors.
     *
     * @return The neighbors as an array.
     */
    public DNode[] getNeighbors() {
        return new DNode[]{north, south, east, west};
    }
}

@@ -394,1271 +394,582 @@
     
-/**%0A     * Sets the node's northern neighbor.%0A     *%0A     * @param north The northern node.%0A     */%0A    public void setNorth(DNode north) %7B%0A        this.north = north;%0A    %7D%0A%0A    /**%0A     * Sets the node's southern neighbor.%0A     *%0A     * @param south The southern node.%0A     */%0A    public void setSouth(DNode south) %7B%0A        this.south = south;%0A    %7D%0A%0A    /**%0A     * Sets the node's western neighbor.%0A     *%0A     * @param west The western node.%0A     */%0A    public void setWest(DNode west) %7B%0A        this.west = west;%0A    %7D%0A%0A    /**%0A     * Sets the node's eastern neighbor.%0A     *%0A     * @param east The eastern node.%0A     */%0A    public void setEast(DNode east) %7B%0A        this.east = east;%0A    %7D%0A%0A    /**%0A     * Gets the node's northern neighbor.%0A     *%0A     * @return The norther node.%0A     */%0A    public DNode getNorth() %7B%0A        return north;%0A    %7D%0A%0A    /**%0A     * Gets the node's southern neighbor.%0A     *%0A     * @return The southern node.%0A     */%0A    public DNode getSouth() %7B%0A        return south;%0A    %7D%0A%0A    /**%0A     * Gets the node's western neighbor.%0A     *%0A     * @return The western node.%0A     */%0A    public DNode getWest() %7B%0A        return west;%0A    %7D%0A%0A    /**%0A     * Gets the node's eastern neighbor.%0A     *%0A     * @return The eastern node.%0A     */
+@Override%0A    public void setNorth(DNode north) %7B%0A        this.north = north;%0A    %7D%0A%0A    @Override%0A    public void setSouth(DNode south) %7B%0A        this.south = south;%0A    %7D%0A%0A    @Override%0A    public void setWest(DNode west) %7B%0A        this.west = west;%0A    %7D%0A%0A    @Override%0A    public void setEast(DNode east) %7B%0A        this.east = east;%0A    %7D%0A%0A    @Override%0A    public DNode getNorth() %7B%0A        return north;%0A    %7D%0A%0A    @Override%0A    public DNode getSouth() %7B%0A        return south;%0A    %7D%0A%0A    @Override%0A    public DNode getWest() %7B%0A        return west;%0A    %7D%0A%0A    @Override
 %0A   

Remove javadoc repetition from implementer of interface