public AbsScroller(
            IConstArg arg
            ) : base(arg)
        {
            /* good here */
            thisScrollerAxis              = arg.scrollerAxis;
            thisRelativeCursorPosition    = MakeSureRelativeCursorPosIsClampedZeroToOne(arg.relativeCursorPosition);
            thisRubberBandLimitMultiplier = MakeRubberBandLimitMultiplierInRange(arg.rubberBandLimitMultiplier);
            thisIsEnabledInertia          = arg.isEnabledInertia;
            thisInertiaDecay              = arg.inertiaDecay;
            thisNewScrollSpeedThreshold   = arg.newScrollSpeedThreshold;

            /* non dependent */
            thisRunningScrollerMotorProcess = new IScrollerElementMotorProcess[2];
            thisElementIsScrolledToIncreaseCursorOffsetCalculator = new ElementIsScrolledToIncreaseCursorOffsetCalculator(this);
        }
 public void SwitchRunningElementMotorProcess(IScrollerElementMotorProcess process, int dimension)
 {
     StopRunningElementMotorProcess(dimension);
     thisRunningScrollerMotorProcess[dimension] = process;
 }