"With" Statement Refactoring

The "With" statement refactoring plugin consists of several actions:

Each action can be applied to the selected unit in the project tree.  In short, one should first choose the "Qualify With Members" action, then merge the refactored code into the project, compile the project in Delphi.  Next, choose the "Add Local Variables" action, merge the refactored code and compile in Delphi.  Next, choose "Qualify All Identifiers", then merge and compile in Delphi.  And finally, choose "Remove With Statements"

The "Add Local Variables" action will look at each 'with' statement in the unit, and identify complicated expressions in these 'with' statements, and then assign local variables to those expressions.
For example, given the following code:
procedure TForm1.Button1Click(Sender: TObject);
begin
with (Sender as TButton).Owner do
begin

end;
end;

CodeWrench will create a local variable like so:

procedure TForm1.Button1Click(Sender: TObject);
var
AOwner: TComponent;
begin
AOwner := (Sender as TButton).Owner;
with AOwner do
begin

end;
end;

IMPORTANT:  Before using the "Add Local Variables" action, you should use the "Qualify With Members" action first!