protected override async Task <Action <AsyncCodeActivityContext> > ExecuteAsync(AsyncCodeActivityContext context, CancellationToken cancellationToken)
        {
            // Object Container: Use objectContainer.Get<T>() to retrieve objects from the scope
            var objectContainer = context.GetFromContext <IObjectContainer>(TextApplicationScope.ParentContainerPropertyTag);

            // Inputs
            string inputText = objectContainer.Get <string>();

            // Inputs
            var wordsCol         = Words.Get(context);
            var occurrencesText  = Occurrences.Get(context);
            var occurrenceNumber = OccurrenceNumber.Get(context);
            var displayLog       = DisplayLog;

            //Convert Collection to Array
            string[] words = Utils.ConvertCollectionToArray(wordsCol);

            ///////////////////////////
            // Add execution logic HERE
            string OuputString = Utils.RemoveWordsFromText(inputText, words, occurrencesText, occurrenceNumber, displayLog);

            ///////////////////////////

            // Outputs
            return((ctx) =>
            {
                AdjustText.Set(ctx, OuputString);
            });
        }