docs: def solve_for(self, var=None):
          """Ensure that the children is within its parent
          """
          if not self.enable:
              return
  
          margin = self.margin_method()
  
          def parent_width():
              return self.parent_se[0].value - self.parent_nw[0].value
  
          def parent_height():
              return self.parent_se[1].value - self.parent_nw[1].value
  
          def child_width():
              child_width = self.child_se[0].value - self.child_nw[0].value
              if child_width > parent_width() - 2 * margin:
                  child_width = parent_width() - 2 * margin
              return max(self.child.min_width, child_width)
  
          def child_height():
              child_height = self.child_se[1].value - self.child_nw[1].value
              if child_height > parent_height() - 2 * margin:
                  child_height = parent_height() - 2 * margin
              return max(self.child.min_height, child_height)
  
          updated = False
          # Left edge (west)
          if self.parent_nw[0].value > self.child_nw[0].value - margin + EPSILON:
              width = child_width()
              _update(self.child_nw[0], self.parent_nw[0].value + margin)
              _update(self.child_se[0], self.child_nw[0].value + width)
              updated = True
          # Right edge (east)
          elif self.parent_se[0].value < self.child_se[0].value + margin - EPSILON:
              width = child_width()
              _update(self.child_se[0], self.parent_se[0].value - margin)
              _update(self.child_nw[0], self.child_se[0].value - width)
              updated = True
          # Upper edge (north)
          if self.parent_nw[1].value > self.child_nw[1].value - margin + EPSILON:
              height = child_height()
              _update(self.child_nw[1], self.parent_nw[1].value + margin)
              _update(self.child_se[1], self.child_nw[1].value + height)
              updated = True
          # Lower edge (south)
          elif self.parent_se[1].value < self.child_se[1].value + margin - EPSILON:
              height = child_height()
              _update(self.child_se[1], self.parent_se[1].value - margin)
              _update(self.child_nw[1], self.child_se[1].value - height)
              updated = True
  
          from rafcon.gui.mygaphas.items.state import StateView
          if updated and isinstance(self.child, StateView):
              self.child.update_minimum_size_of_children()