public class MyCommitActionFactory implements ICommitActionFactory 
{
      private MyDialog dialog;
      private ICommitDialog commitDialog;
    
  public ICommitDialog 
getCommitDialog(final Shell 
shell,
                  
Collection allFilesToCommit, final ICommentDialogPanel 
commentPanel) {
            commitDialog = new ICommitDialog() 
{
                  public String getMessage() 
{
       
                
//... 
                  
}
        
          public int open() 
{
                        dialog = new MyDialog(new Shell(shell), 
commentPanel);
                        return dialog.open();
                  
}
            
};
            return commitDialog;
}
public class MyDialog 
extends DefaultDialog {
public MyDialog(Shell shell, ICommentDialogPanel 
commentPanel,
StringBuffer issues) {
super(shell, commentPanel);
this.commentHeaderMessage = issues;
issuePanel = new IssuePanel();
}
public MyDialog(Shell parentShell, MyCommitPanel 
panel) {
super(parentShell, (IDialogPanel) panel);
this.panel = (IDialogPanel) panel;
issuePanel = new IssuePanel();
}
@Override
protected Control createContents(Composite 
parent) {
this.parent = parent;
               
 //call creating Subversive controls there and also some ours controls
                 
//...
               
  this.dialogArea = this.createMainPanel(composite);
                 
//....
return composite;
}
}
Note, then in createContents I extended in some way 
createButtonPane and createMainPanel where my controls were placed.
Is everything is clear there? 
Can it be something like I override some initial 
initialisation of Subversive CommitDilaog, if it exists,  or something like 
that? Or can it be something like subversive plug-in falls somewherre during 
initialisation? I don't really know what can happen in that case.
Andrei Pavlenko.