Intercept new link on a node

I have created few nodes that derives from GoTextNode. Each node is fro a different type. When the user tries to link two nodes I need to validate that new connection (link), according to bussiness rules.
Is there a way to intercept the event on the node side? (meaning on my derived class).

You can override GoPort.IsValidLink for each of your ports or you can override GoToolLinking.IsValidLink for both linking tools.
If you have several classes involved, it might be easier to put your validation code in a common location, the linking tools, rather than on port classes.
SubGraphApp has an example of customized linking tools, in the RestrictedLinkingTool.cs or .vb file.