def METHOD_NAME(self, name):
    """Tests whether the feature named ``name`` should be enabled on this
    test run."""
    if self.__data is None or self.__data.frozen:
        # Feature set objects might hang around after data generation has
        # finished. If this happens then we just report all new features as
        # enabled, because that's our shrinking direction and they have no
        # impact on data generation if they weren't used while it was
        # running.
        try:
            return self.__is_value_enabled(self.__decisions[name])
        except KeyError:
            return True
    data = self.__data
    data.start_example(label=FEATURE_LABEL)
    if name in self.__decisions:
        # If we've already decided on this feature then we don't actually
        # need to draw anything, but we do write the same decision to the
        # input stream. This allows us to lazily decide whether a feature
        # is enabled, because it means that if we happen to delete the part
        # of the test case where we originally decided, the next point at
        # which we make this decision just makes the decision it previously
        # made.
        value = self.__decisions[name]
        data.draw_bits(8, forced=value)
    else:
        # If the baseline is 0 then everything is enabled so it doesn't
        # matter what we have here and we might as well make the shrinker's
        # life easier by forcing it to zero.
        if self.__baseline == 0:
            value = 0
            data.draw_bits(8, forced=0)
        else:
            value = data.draw_bits(8)
        self.__decisions[name] = value
    data.stop_example()
    return self.__is_value_enabled(value)