@Override
    public boolean equals(Object o) {
        Cell cell = (Cell) o;

        if (cell == null
         || getClass() != cell.getClass()
         || alive != cell.alive
         || x != cell.x
         || y != cell.y)
            return false;

        return true;
    }