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

		NodeImpl node = (NodeImpl) o;

		if (x != node.x)
			return false;
		if (y != node.y)
			return false;
		if (!nodeId.equals(node.nodeId))
			return false;
		if (playerId != null ? !playerId.equals(node.playerId) : node.playerId != null)
			return false;

		return true;
	}