@Override
	protected void updateTick(final EntityHandler caller) {
		Map<Long, Entity> others = caller.getEntityMap();

		if (pos.x < 0 || pos.x > Constants.WIDTH)
			kill();
		if (pos.y < 0 || pos.y > Constants.HEIGHT)
			kill();

		// do not check for collision if last collision was too short before
		if (!timerBreakNoCollision.isTimeleft())
			return;

		for (Entry<Long, Entity> e : others.entrySet()) {
			Entity other = e.getValue();
			/* check collision for all asteroids */
			if (other.equals(this))
				continue;
			if (this.breakableBy(other)) {
				if (pos.distance(other.getPos()) < this.size / 2 + other.getWidth() / 2) {
					logger.debug("#" + getEntityID() + " colliding with #" + other.getEntityID());
					this.breakUp(caller);
					timerBreakNoCollision.reset();
				}
			}
		}
	}