'Fill sid container with empty data through the specified date.
If the last recorded trade is not at the close, then that day will be
padded with zeros until its close. Any day after that (up to and
including the specified date) will be padded with `minute_per_day`
worth of zeros
Parameters
sid : int
The asset identifier for the data being written.
date : datetime-like
The date used to calculate how many slots to be pad.
The padding is done through the date, i.e. after the padding is
done the `last_date_in_output_for_sid` will be equal to `date`'

def pad(self, sid, date):

    table = self._ensure_ctable(sid)
    last_date = self.last_date_in_output_for_sid(sid)
    tds = self._session_labels
    if ((date <= last_date) or (date < tds[0])):
        return
    if (last_date == pd.NaT):
        days_to_zerofill = tds[tds.slice_indexer(end=date)]
    else:
        days_to_zerofill = tds[tds.slice_indexer(start=(last_date + tds.freq), end=date)]
    self._zerofill(table, len(days_to_zerofill))
    new_last_date = self.last_date_in_output_for_sid(sid)
    assert (new_last_date == date), 'new_last_date={0}    !=    date={1}'.format(new_last_date, date)
