TCR from Issue #97278: use trampoline to hide factory methods in VCSContext
I am asking for the permission to keep the forNodes(Node) method in the SPI in
some form (forLookup being an alternative). The method can also be in
VersioningSupport class. I'll elaborate more:
Clients are passed VCSContext when asked to annotate nodes or provide actions
for them. So their Actions take VCSContext as argument and perform versioning
actions on that context. However, there are other scenarios when clients use
these actions. For example, in the CVS (Versioning) view, the table lists
changed files and there are actions available on them via the popup menu. To
simply re-use Actions for those menus clients would need to somehow create
VCSContext out of nodes in the table. If clients are unable to create VCSContext
they need to have TWO ways of providing input to every Ation, which is inconvenient.
If there are no objections, I'll leave forNodes() method there as is.