@Override final public SampledValue getValue(long time) { if (!isInsideTimeSeriesRange(time)){ return null; } final SampledValue pivot = new SampledValue(null, time, Quality.GOOD); final SampledValue left = m_values.floor(pivot); final SampledValue right = m_values.ceiling(pivot); return m_interpolationFunction.interpolate(left, right, time, m_type); }