Understanding purpose of Thrust Direction And Attitude Provider when setting up a maneuver

I am setting up a script to compute and apply low thrust maneuvers to my satellite. I have set up my custom maneuver as follows:

# Set up thrust direction and attitude provider
    thrustDirProvider = ThrustDirectionAndAttitudeProvider.buildFromDirectionInLOF(
                    LOFType.QSW,    # local orbital frame (QSW frame is same as RTN )
                    thrustDirectionProvider,  # variableDirectionInFrame
                    Vector3D.MINUS_I  # thrusterAxisInSatelliteFrame
                )

    # Define custom maneuver and add to propagator
    customManeuver = Maneuver(thrustDirProvider, maneuverTrigger, customPropulsionModel)
    propagator_num.addForceModel(customManeuver)

My script works. However, i am unable to understand the purpose of the ThrustDirectionAndAttitudeProvider being used. I have also noticed that changing the thrusterAxisInSatelliteFrame from Vector3D.MINUS_I to Vector3D.MINUS_J doesn’t change the output (orbital elements) of the simulation

Can someone explain what this ThrustDirectionAndAttitudeProvider does during propagation?

Additional info: In my script getDirection() and getThrustVector() methods of my custom PropulsionModel are already set up to return the thrust vector and thrust direction in satellite frame. And computeThrustDirection() method in my custom ThrustDirectionProvider returns the thrust direction in local orbit (RTN) frame.