No I was referring to the opt_estimate hint for join cardinalities. But the logic is the same - you basically come up with a set of variable SQL's to best suit your needs.
eg
select count(*) into x from t2 where ....
if x < 10 then
open rc for select /*+ OPT_ESTIMATE(JOIN (t1 t2) ROWS=200) */*
elsif x between 10 and 1000 then
open rc for select /*+ OPT_ESTIMATE(JOIN (t1 t2) ROWS=2000) */*
else
open rc for select /*+ OPT_ESTIMATE(JOIN (t1 t2) ROWS=20000) */*
Its definitely not ideal, but a means of adding that little more information to the optimizer for those tricky moments.