Do you want the icon to scale to fit the ports, or stay fixed size? If you want a fixed icon, do you want it centered or top justified?
The icon should scale the way it does now, but the top left of the icon should stay fixed rather than the center.
OK, without overriding GoGeneralNode, you could just save the topleft, and then reset it after adding the port.
GoGeneralNodePort p = new GoGeneralNodePort();
This works, except that when undoing/redoing, the toplabel position is messed up.
You need to wrap any edits in