} else if (FANOUT.equals(type)) {
exchange = new FanoutExchange(name, durable, autoDelete, arguments);
} else if (HEADERS.equals(type)) {
exchange = new HeadersExchange(name, durable, autoDelete, arguments);
} else {
exchange = new CustomExchange(name, type, durable, autoDelete, arguments);
}
currentExchange = exchange;
} else {
currentExchange = new DirectExchange(name);