/// <summary>
 /// Returns a string with all of the variable and expression substitutions done.
 /// </summary>
 /// <param name="source">The string to expand.
 /// </param>
 /// <returns>The expanded string.</returns>
 /// <exception cref="ParseException">
 /// Thrown if a parse exception occurred during subexpression substitution.
 /// </exception>
 public string ExpandString(string source)
 {
     if (_cmdlet != null)
     {
         _cmdlet.ThrowIfStopping();
     }
     return(_context.Engine.Expand(source));
 }