private void AdjustCurrentParametersDrawCall(Texture2D texture, SpriteFont spriteFont, object objectRequestingChange)
        {
            var paramsValue = currentParameters.Value;

            bool shouldRecordChange = paramsValue.ChangeRecord.Count == 0;

            if (!shouldRecordChange)
            {
                var last = paramsValue.ChangeRecord.Last();

                shouldRecordChange = last.Texture != texture || last.SpriteFont != spriteFont;
            }

            if (shouldRecordChange)
            {
                var newChange = new StateChangeInfo();
                newChange.Texture                = texture;
                newChange.SpriteFont             = spriteFont;
                newChange.ObjectRequestingChange = objectRequestingChange;

                paramsValue.ChangeRecord.Add(newChange);
                currentParameters = paramsValue;
            }
        }
        private void AdjustCurrentParametersDrawCall(Texture2D texture, SpriteFont spriteFont, object objectRequestingChange)
        {
            var paramsValue = currentParameters.Value;

            bool shouldRecordChange = paramsValue.ChangeRecord.Count == 0;

            if(!shouldRecordChange)
            {
                var last = paramsValue.ChangeRecord.Last();

                shouldRecordChange = last.Texture != texture || last.SpriteFont != spriteFont;
            }

            if (shouldRecordChange)
            {
                var newChange = new StateChangeInfo();
                newChange.Texture = texture;
                newChange.SpriteFont = spriteFont;
                newChange.ObjectRequestingChange = objectRequestingChange;

                paramsValue.ChangeRecord.Add(newChange);
                currentParameters = paramsValue;
            }
        }