code: def get_current(self, item=None, raw=False, start=None, end=None):
          
          item_indexer = slice(None)
          if item:
              item_indexer = self.items.get_loc(item)
  
          start_index = self._start_index
          end_index = self._pos
  
          # get inital date window
          where = slice(start_index, end_index)
          current_dates = self.date_buf[where]
  
          def convert_datelike_to_long(dt):
              if isinstance(dt, pd.Timestamp):
                  return dt.asm8
              if isinstance(dt, datetime.datetime):
                  return np.datetime64(dt)
              return dt
  
          # constrict further by date
          if start:
              start = convert_datelike_to_long(start)
              start_index += current_dates.searchsorted(start)
  
          if end:
              end = convert_datelike_to_long(end)
              _end = current_dates.searchsorted(end, 'right')
              end_index -= len(current_dates) - _end
  
          where = slice(start_index, end_index)
  
          values = self.buffer.values[item_indexer, where, :]
          current_dates = self.date_buf[where]
  
          if raw:
              # return copy so we can change it without side effects here
              return values.copy()
  
          major_axis = pd.DatetimeIndex(deepcopy(current_dates), tz='utc')
          if values.ndim == 3:
              return pd.Panel(values, self.items, major_axis, self.minor_axis,
                              dtype=self.dtype)
  
          elif values.ndim == 2:
              return pd.DataFrame(values, major_axis, self.minor_axis,
                                  dtype=self.dtype)
docs: Get a Panel that is the current data in view. It is not safe to persist
          these objects because internal data might change