code: public void addSplit(Split split) {
  		final long timestamp = split.getStartMillis();
  		StopwatchTimeRange timeRange;
  		synchronized (this) {
  			timeRange = getOrCreateTimeRange(timestamp);
  		}
  		if (timeRange != null) {
  			//noinspection SynchronizationOnLocalVariableOrMethodParameter
  			synchronized (timeRange) {
  				timeRange.addSplit(timestamp, split.runningFor());
  			}
  		}
  	}
docs: Main method used to insert the split on the timeline: <ol>
  <li>Split start is used to determine in which time-range it should be split. A new time range may be created if needed.</li>
  <li>Split duration is added to time range statistics.
  </ol>
  The split might be drop if it's too old.
  
  @param split Split