def METHOD_NAME(self, cTrav, shadowNodePath,
        wallCollideMask, floorCollideMask):
    """
    Set up the collisions
    """
    assert self.notify.debugCall()
    assert not shadowNodePath.isEmpty()
    assert not hasattr(self, "cTrav") # Protect from setup() being called again.
    if not cTrav:
        # set up the shadow collision traverser
        base.initShadowTrav()
        cTrav = base.shadowTrav
    self.cTrav = cTrav
    self.shadowNodePath = shadowNodePath
    floorOffset = 0.025
    # Set up the collison ray
    # This is a ray cast down to detect floor polygons
    self.cRay = CollisionRay(0.0, 0.0, CollisionHandlerRayStart, 0.0, 0.0, -1.0)
    cRayNode = CollisionNode('shadowPlacer')
    cRayNode.addSolid(self.cRay)
    self.cRayNodePath = NodePath(cRayNode)
    self.cRayBitMask = floorCollideMask
    cRayNode.setFromCollideMask(self.cRayBitMask)
    cRayNode.setIntoCollideMask(BitMask32.allOff())
    # set up floor collision mechanism
    self.lifter = CollisionHandlerFloor()
    #self.lifter.setInPattern("on-floor")
    #self.lifter.setOutPattern("off-floor")
    self.lifter.setOffset(floorOffset)
    self.lifter.setReach(4.0)
    # activate the collider with the traverser and pusher
    #self.on()
    self.lifter.addCollider(self.cRayNodePath, shadowNodePath)