code: def _resolve_widget(cls, file, widget):
          '''
          Resolve widget callable properties into static ones.
  
          :param file: file will be used to resolve callable properties.
          :type file: browsepy.file.Node
          :param widget: widget instance optionally with callable properties
          :type widget: object
          :returns: a new widget instance of the same type as widget parameter
          :rtype: object
          '''
          return widget.__class__(*[
              value(file) if callable(value) else value
              for value in widget
              ]f _resolve_widget(cls, file, widget):
          '''
          Resolve widget callable properties into static ones.
  
          :param file: file will be used to resolve callable properties.
          :type file: browsepy.file.Node
          :param widget: widget instance optionally with callable properties
          :type widget: object
          :returns: a new widget instance of the same type as widget parameter
          :rtype: object
          '''
          return widget.__class__(*[
              value(file) if callable(value) else value
              for value in widget
              ])
docs: Resolve widget callable properties into static ones.
  
          :param file: file will be used to resolve callable properties.
          :type file: browsepy.file.Node
          :param widget: widget instance optionally with callable properties
          :type widget: object
          :returns: a new widget instance of the same type as widget parameter
          :rtype: object