@Override
public <Z, D extends Database<Z>, T, R, E extends Exception> SortedMap<D, R> invoke(ProxyFactory<Z, D, T, E> factory, Invoker<Z, D, T, R, E> invoker) throws E
{
DatabaseCluster<Z, D> cluster = factory.getDatabaseCluster();
Balancer<Z, D> balancer = cluster.getBalancer();
Dialect dialect = cluster.getDialect();
StateManager stateManager = cluster.getStateManager();
for (Map.Entry<D, T> entry: factory.entries())
{
D database = entry.getKey();