code: function insertNormalizedDurationIntoLayerData(layerData) {
        var i, j, row, datum, plotPropName = self.plotPropertyName, plotReversePropName = self.plotReversePropertyName;
        for (j = 0; j < layerData.length; j += 1) {
          row = layerData[j].values;
          for (i = 0; i < row.length - 1; i += 1) {
            if (self.isNormalizedDuration(row[i].date, row[i + 1].date) !== true) {
              datum = sn.util.copy(row[i]);
              datum.date = self.addNormalizedDuration(datum.date);
              datum[plotPropName] = null;
              datum[plotReversePropName] = null;
              row.splice(i + 1, 0, datum);
            }
          }
        }
      }
docs: Insert aggregate time normalized elements into all layer data arrays.
  The <code>layerData</code> object must be an array of objects, each object
  having a <code>values</code> array of data objects. This method will
  clone data objects and insert them into the <code>values</code> array in-place,
  in order to create a time-normalized series of elements.
  
  @param layerData The array of layer (data group) objects.
  @memberOf sn.chart.baseGroupedTimeChart
  @preserve