}
// in order to find second derivative, we need at least 3 events.
if (newEventList.size() > 2) {
InEvent firstDerivative1 =
gradient(inEvents[0],
inEvents[(newEventList.size() / 2) - 1],
null)[0];
InEvent firstDerivative2 =
gradient(inEvents[newEventList.size() / 2],
inEvents[newEventList.size() - 1],
null)[0];
InEvent[] secondDerivative =
gradient(firstDerivative1,