def _create_future_pivot(self):
        """creates the futurePivot locator"""
        if self._isSetup:
            return

        # create a locator and move it to the current pivot
        # parent the locator under the object

        locator_name = self._object.name() + "_futurePivotLocator#"

        self._futurePivot = auxiliary.get_valid_dag_node(
            pm.spaceLocator(n=locator_name)
        )

        pm.parent(self._futurePivot, self._object)

        current_pivot_pos = pm.xform(self._object, q=True, ws=True, piv=True)

        pm.xform(self._futurePivot, ws=True, t=current_pivot_pos[0:3])

        # change the color
        self._futurePivot.setAttr("overrideEnabled", 1)
        self._futurePivot.setAttr("overrideColor", 13)

        # set translate and visibility to non-keyable
        self._futurePivot.setAttr("tx", k=False, channelBox=True)
        self._futurePivot.setAttr("ty", k=False, channelBox=True)
        self._futurePivot.setAttr("tz", k=False, channelBox=True)

        self._futurePivot.setAttr("v", k=False, channelBox=True)

        # lock scale and rotate
        self._futurePivot.setAttr("rx", lock=True, k=False, channelBox=False)
        self._futurePivot.setAttr("ry", lock=True, k=False, channelBox=False)
        self._futurePivot.setAttr("rz", lock=True, k=False, channelBox=False)

        self._futurePivot.setAttr("sx", lock=True, k=False, channelBox=False)
        self._futurePivot.setAttr("sy", lock=True, k=False, channelBox=False)
        self._futurePivot.setAttr("sz", lock=True, k=False, channelBox=False)

        # hide it
        self._futurePivot.setAttr("v", 0)