From Gurobi's perspective, a Bender's decomposition is not different from any
cutting plane algorithm. Hence, you may want to take a look at the TSP example
http://www.gurobi.com/documentation/7.0/examples/tsp_java.html
which is also using lazy constraints. In the TSP example, lazy constraints are
only added to cut off integer solutions (you see that the example checks for
"where == GRB.CB_MIPSOL"). If you like, you can also produce lazy constraints or
user cuts to cut off fractional solutions, but I guess for your Bender's
application, producing Bender's cuts only on integer solutions is what you want.
Hope this helps,
Tobias