The query classifier stores information about the statement carried by a GWBUF in the GWBUF itself. We need to be able to store that object out side the lifetime of the GWBUF. So, we require that a query classifier is capable of duplicating references to that object.