public class Cube
{
    public Cube (ThreeDPoint coord)
    {
        this(coord, false);
    }

    public Cube (ThreeDPoint coord, boolean active)
    {
        _coord = coord;
        _active = active;
    }

    public boolean isActive ()
    {
        return _active;
    }

    public void activate ()
    {
        _active = true;
    }

    public void deactivate ()
    {
        _active = false;
    }

    @Override
    public String toString ()
    {
        return "Cube: "+((_active ? "active": "inactive"))+" at "+_coord;
    }

    @Override
    public boolean equals (Object obj)  // don't compare activation status
    {
        if (obj == null)
            return false;

        if (this == obj)
            return true;
        
        if (getClass() == obj.getClass())
        {
            Cube temp = (Cube) obj;

            return ((_coord.getX() == temp._coord.getX()) && (_coord.getY() == temp._coord.getY()) && (_coord.getZ() == temp._coord.getZ()));
        }

        return false;
    }

    private ThreeDPoint _coord;
    private boolean _active;
}
@@ -208,32 +208,115 @@
   %7D%0A%0A    public 
+final ThreeDPoint position ()%0A    %7B%0A        return _coord;%0A    %7D%0A%0A    public final 
 boolean isActive
@@ -315,24 +315,24 @@
 isActive ()%0A
-
     %7B%0A      
@@ -363,24 +363,30 @@
 %0A    public 
+final 
 void activat
@@ -419,32 +419,32 @@
  = true;%0A    %7D%0A%0A
-
     public void 
@@ -438,16 +438,22 @@
  public 
+final 
 void dea

Update Cube.java