docs: def check_default_value(self, default_value, data_type=None):
          """Check whether the passed default value suits to the passed data type. If no data type is passed, the
          data type of the data port is used. If the default value does not fit, an exception is thrown. If the default
          value is of type string, it is tried to convert that value to the data type.
  
          :param default_value: The default value to check
          :param data_type: The data type to use
          :raises exceptions.AttributeError: if check fails
          :return: The converted default value
          """
          if data_type is None:
              data_type = self.data_type
  
          if default_value is not None:
              # If the default value is passed as string, we have to convert it to the data type
              if isinstance(default_value, string_types):
                  if len(default_value) > 1 and default_value[0] == '$':
                      return default_value
                  if default_value == "None":
                      return None
  
                  default_value = type_helpers.convert_string_value_to_type_value(default_value, data_type)
                  if default_value is None:
                      raise AttributeError("Could not convert default value '{0}' to data type '{1}'.".format(
                          default_value, data_type))
              else:
                  if not isinstance(default_value, self.data_type):
                      if self._no_type_error_exceptions:
                          logger.warning("Handed default value '{0}' is of type '{1}' but data port data type is {2} {3}."
                                         "".format(default_value, type(default_value), data_type, self))
                      else:
                          raise TypeError("Handed default value '{0}' is of type '{1}' but data port data type is {2}"
                                          "{3} of {4}.".format(default_value, type(default_value), data_type,
                                                               self,
                                                               self.parent.get_path() if self.parent is not None else ""))
  
          return default_value