beforeFlush, afterFlush