collisions(objA) {
		let collisionCounter = 0;
		// retreive a list of potential colliding objects from the game world
		const candidates = this.world.broadphase.retrieve(objA);

		boundsA.addBounds(objA.getBounds(), true);
		boundsA.addBounds(objA.body.getBounds());

		candidates.forEach((objB) => {
			// check if both objects "should" collide
			if (this.shouldCollide(objA, objB)) {
				boundsB.addBounds(objB.getBounds(), true);
				boundsB.addBounds(objB.body.getBounds());

				// fast AABB check if both bounding boxes are overlaping
				if (boundsA.overlaps(boundsB)) {
					if (this.collides(objA.body, objB.body)) {
						// we touched something !
						collisionCounter++;

						// execute the onCollision callback
						if (
							objA.onCollision &&
							objA.onCollision(this.response, objB) !== false &&
							objA.body.isStatic === false
						) {
							objA.body.respondToCollision.call(objA.body, this.response);
						}
						if (
							objB.onCollision &&
							objB.onCollision(this.response, objA) !== false &&
							objB.body.isStatic === false
						) {
							objB.body.respondToCollision.call(objB.body, this.response);
						}
					}
				}
			}
		});
		// we could return the amount of objects we collided with ?
		return collisionCounter > 0;
	}
find all the collisions for the specified object using a broadphase algorithm
@ignore
@param {Renderable|Container|Entity|Sprite|NineSliceSprite} objA - object to be tested for collision
@returns {boolean} in case of collision, false otherwise