This just needs to change to Map<String,AsyncPoolStats> and just call the same method on ChannelPoolManager.  And don't throw exceptions either.  And minor point, I'd prefer getPoolStats to getPoolsStats.