@classmethod
def process_collision_contacts(cls, args, geom1, geom2, contacts):
    """Process ``contacts`` of a collision between ``geom1`` and ``geom2``.

		This method should create movement constraints for the bodies
		attached to the geoms. This is necessary for the simulation to
		prevent bodies' volumes from penetrating each other, making them
		really collide (i.e. exert mutually opposing forces).

		.. warning::
		   Neither ``geom1`` nor ``geom2`` can be rays. If one of them is,
		   use method :meth:`process_ray_collision_contacts`.

		:param args:
		:type args: :class:`NearCallbackArgs`
		:param geom1:
		:type geom1: type of :attr:`Geom.inner_object`
		:param geom2:
		:type geom2: type of :attr:`Geom.inner_object`
		:param contacts: collision data returned by :meth:`calc_collision`
		:type contacts: list of contact data objects

		"""
    raise NotImplementedError()
