private List<Hit> allHits() {
		List<Hit> all = new ArrayList<>();
		for (Ball b1 : balls) {
			for (Ball b2 : balls) {
				if (b1.id < b2.id) {
					double whenHit = new Thin_k(b1, b2).whenHit();
					if (whenHit >= 0) {
						all.add(new Hit.HitB(b1, b2, whenHit));
					}
				}
			}
			if (b1.getMotion().dx != 0) {
				all.add(new Hit.HitW(b1, Wall.Vertical, size));
			}
			if (b1.getMotion().dy != 0) {
				all.add(new Hit.HitW(b1, Wall.Horizontal, size));
			}
		}
		return all;
	}