public GaugeCompletionSet(SnapshotPoint triggerPoint, IStep step, Concept concept)
        {
            var          line            = triggerPoint.GetContainingLine();
            BitmapSource stepImageSource =
                new BitmapImage(new Uri("pack://application:,,,/Gauge.VisualStudio;component/assets/glyphs/step.png"));

            var concepts = concept.GetAllConcepts();
            var prefix   = line.GetText().TrimStart('*').TrimStart(' ');
            var steps    = step.GetAll().Where(s =>
                                               concepts.All(c => string.CompareOrdinal(c.StepValue, s) != 0) && !string.IsNullOrEmpty(s));
            var applicableCompletions = prefix.Length < 1
                ? steps
                : steps.Where(s => s.StartsWith(prefix, StringComparison.OrdinalIgnoreCase));
            var stepCompletions =
                applicableCompletions.Select(x => new Completion(x, x, "Step", stepImageSource, "Step"));

            _gaugeCompletions.AddRange(stepCompletions);

            BitmapSource conceptImageSource =
                new BitmapImage(
                    new Uri("pack://application:,,,/Gauge.VisualStudio;component/assets/glyphs/concept.png"));
            var applicableConceptCompletions = prefix.Length < 1
                ? concepts
                : concepts.Where(s => s.StepValue.StartsWith(prefix, StringComparison.OrdinalIgnoreCase));

            _gaugeCompletions.AddRange(applicableConceptCompletions.Select(x =>
                                                                           new Completion(x.StepValue, x.StepValue, "Concept", conceptImageSource, "Concept")));

            if (_gaugeCompletions.Count <= 0)
            {
                return;
            }

            var start = triggerPoint;

            while (start > line.Start && !char.IsWhiteSpace((start - 1).GetChar()))
            {
                start -= 1;
            }

            ApplicableTo = triggerPoint.Snapshot.CreateTrackingSpan(new SnapshotSpan(start, triggerPoint),
                                                                    SpanTrackingMode.EdgeInclusive);
            Moniker     = "Gauge";
            DisplayName = "Gauge";
        }