code: def rollforward(self, dt):
          
          if not self.onOffset(dt):
              if self.n >= 0:
                  return self._next_opening_time(dt)
              else:
                  return self._prev_opening_time(dt)
          return dt
docs: Roll provided date forward to next offset only if not on offset.