def get_value(self, twig=None, unit=None, default=None, t=None, **kwargs):
        """
        Get the value of a :class:`Parameter` in this ParameterSet

        :parameter str twig: the twig to search for the parameter
        :parameter unit: units for the returned result (if
            applicable).  If None or not provided, the value will
            be returned in that Parameter's default_unit (if
            applicable)
        :type unit: str or astropy.units.Unit
        :parameter default: what to return if the parameter cannot be found.
            If this is None (default) then an error will be raised instead.
            Note that the units of default will not be converted.
        :parameter time: time at which to compute the
            value (will only affect time-dependent parameters).  If provided
            as a float it is assumed that the units are the same as t0.
            NOTE: this is not fully supported yet, use with caution.
        :parameter **kwargs: meta-tags to search
        :return: value (type depeding on the type of the :class:`Parameter`)
        """
        # TODO: for time derivatives will need to use t instead of time (time
        # gets passed to twig filtering)

        if default is not None:
            # then we need to do a filter first to see if parameter exists
            if not len(self.filter(twig=twig, **kwargs)):
                return default

        param = self.get_parameter(twig=twig, **kwargs)

        # if hasattr(param, 'default_unit'):
        # This breaks for constraint parameters
        if isinstance(param, FloatParameter) or\
                isinstance(param,FloatArrayParameter):
            return param.get_value(unit=unit, t=t, **kwargs)

        return param.get_value(**kwargs)