Patch Set 3: I would prefer that you didn't submit this

>> Additionally I've split setRootsToShow() methods into four additional methods that are more descriptive than four boolean parameters. IMHO this way it is more readable what we want to achieve and I just don't like methods that have more then two parameter in the same type.

I agree with your remarks about too many parameters. How about using the pattern found in SWT, where you use logical "OR" like

public final static int LOCAL_BRANCHES = 1<<1;
public final static int REMOTE_BRANCHES = 1<<2;

...

public AbstractBranchSelectionDialog(Shell shell, Repository repo, int nodesToShow) {
...
showLocal = nodesToShow & LOCAL_BRANCHEES != 0;
}

In the subclass, you'd do someething like

public RebaseTargetSelectionDialog(Shell shell, Repository repo){

super(shell, repo, LOCAL_BRANCHES | REMOTE_BRANCHES);

}