@Override
      public boolean equals (final Object obj) {
         if (this == obj) {
            return true;
         }
         if (obj == null) {
            return false;
         }
         if (getClass () != obj.getClass ()) {
            return false;
         }

         final Cell other = (Cell) obj;
         if (!getOuterType ().equals (other.getOuterType ())) {
            return false;
         }
         if (x != other.x) {
            return false;
         }
         if (y != other.y) {
            return false;
         }

         return true;
      }