code: JsTopicMessageController getJsTopicMessageControllerFromIterable(String topic, Iterable<JsTopicMessageController<?>> controllers) {
  		if(null == controllers || null == topic) {
  			return null;
  		}
  		for (JsTopicMessageController<?> jsTopicMessageController : controllers) {
  			JsTopicControls jsTopicControls = jsTopicControlsTools.getJsTopicControlsFromProxyClass(jsTopicMessageController.getClass());
  			if(null != jsTopicControls) {
  				JsTopicControl[] jsTopicControlList = jsTopicControls.value();
  				for (JsTopicControl jsTopicControl : jsTopicControlList) {
  					if(topic.equals(jsTopicControl.value())) {
  						logger.debug("Found messageController for topic '{}' from JsTopicControls annotation", topic);
  						return jsTopicMessageController;
  					}
  				}
  			}
  		}
  		return null;
  	}
docs: without jdk8, @Repeatable doesn't work, so we use @JsTopicControls annotation and parse it
  @param topic
  @param controllers
  @return