docs: def _parse_feature_value(self, value):
          """ Checks if value fits the feature type. If not it tries to fix it or raise an error
  
          :raises: ValueError
          """
          if isinstance(value, _FileLoader):
              return value
          if not hasattr(self, 'ndim'):  # Because of serialization/deserialization during multiprocessing
              return value
  
          if self.ndim:
              if not isinstance(value, np.ndarray):
                  raise ValueError('{} feature has to be a numpy array'.format(self.feature_type))
              if value.ndim != self.ndim:
                  raise ValueError('Numpy array of {} feature has to have {} '
                                   'dimension{}'.format(self.feature_type, self.ndim, 's' if self.ndim > 1 else ''))
  
              if self.feature_type.is_discrete():
                  if not issubclass(value.dtype.type, (np.integer, np.bool, np.bool_, np.bool8)):
                      msg = '{} is a discrete feature type therefore dtype of data should be a subtype of ' \
                            'numpy.integer or numpy.bool, found type {}. In the future an error will be raised because' \
                            'of this'.format(self.feature_type, value.dtype.type)
                      warnings.warn(msg, DeprecationWarning, stacklevel=3)
  
                      # raise ValueError('{} is a discrete feature type therefore dtype of data has to be a subtype of '
                      #                  'numpy.integer or numpy.bool, found type {}'.format(self.feature_type,
                      #                                                                      value.dtype.type))
              # This checking is disabled for now
              # else:
              #     if not issubclass(value.dtype.type, (np.floating, np.float)):
              #         raise ValueError('{} is a floating feature type therefore dtype of data has to be a subtype of '
              #                          'numpy.floating or numpy.float, found type {}'.format(self.feature_type,
              #                                                                                value.dtype.type))
              return value
  
          if self.is_vector:
              if isinstance(value, gpd.GeoSeries):
                  value = gpd.GeoDataFrame(dict(geometry=value), crs=value.crs)
  
              if isinstance(value, gpd.GeoDataFrame):
                  if self.feature_type is FeatureType.VECTOR:
                      if FeatureType.TIMESTAMP.value.upper() not in value:
                          raise ValueError("{} feature has to contain a column 'TIMESTAMP' with "
                                           "timestamps".format(self.feature_type))
  
                  return value
  
              raise ValueError('{} feature works with data of type {}, parsing data type {} is not supported'
                               'given'.format(self.feature_type, gpd.GeoDataFrame.__name__, type(value)))
  
          return value