Refactored to use @Default for @Optional flush paramters (default is false)