I think here should not recreate IOHandler because `@buffer` will be lost if we recreate IOHandler.