def METHOD_NAME(self, hypothesis, time_interval, **kwargs):
    """Calculate the inferred state following update
    Parameters
    ----------
    hypothesis : :class:`~.Hypothesis`
        A hypothesis associates a measurement with a prediction
    time_interval : :class:`~.timedelta`
        The time interval over which the prediction has been made.
    Returns
    -------
     : :class:`~.StateUpdate`
        The updated state
    """
    out_statevector = hypothesis.prediction.state_vector.copy()
    # Check for the measurement_model in the measurement, if not present use the one in this
    # updater
    measurement_model = hypothesis.measurement.measurement_model
    measurement_model = self._check_measurement_model(measurement_model)
    # Check for a measurement prediction in the hypothesis
    if hypothesis.measurement_prediction is None:
        pred_meas = self.predict_measurement(hypothesis.prediction,
                                             measurement_model=measurement_model)
    else:
        pred_meas = hypothesis.measurement_prediction
    pmap = np.array(measurement_model.mapping)
    if self.vmap is None:
        vmap = pmap + 1
    else:
        vmap = self.vmap
    innovation = hypothesis.measurement.state_vector - pred_meas.state_vector
    out_statevector[pmap] = hypothesis.prediction.state_vector[pmap] + self.alpha * innovation
    out_statevector[vmap] = hypothesis.prediction.state_vector[vmap] +\
        (self.beta / time_interval.total_seconds()) * innovation
    return Update.from_state(hypothesis.prediction, out_statevector,
                             timestamp=hypothesis.measurement.timestamp, hypothesis=hypothesis)