public void Update() { Rectangle area; if (Nodes.Count > 0) { area = VisjectSurface.GetNodesBounds(Nodes); } else { area = new Rectangle(EndBracketPosition, new Vector2(DefaultWidth, 80f)); } _padding.ExpandRectangle(ref area); Vector2 offset = EndBracketPosition - area.UpperRight; area.Location += offset; Area = area; if (!offset.IsZero) { foreach (var node in Nodes) { node.Location += offset; } } }