code: private JClassType getHandlerForEvent(JClassType eventType) {
  
  		// All handlers event must have an overrided method getAssociatedType().
  		// We take advantage of this information to get the associated handler.
  		// Ex:
  		// com.google.gwt.event.dom.client.ClickEvent
  		// ---> com.google.gwt.event.dom.client.ClickHandler
  		//
  		// com.google.gwt.event.dom.client.BlurEvent
  		// ---> com.google.gwt.event.dom.client.BlurHandler
  
  		if (eventType == null) {
  			return null;
  		}
  
  		JMethod method = eventType
  				.findMethod("getAssociatedType", new JType[0]);
  		if (method == null) {
  			logger.warn(
  					"Method 'getAssociatedType()' could not be found in the event '%s'.",
  					eventType.getName());
  			return null;
  		}
  
  		JType returnType = method.getReturnType();
  		if (returnType == null) {
  			logger.warn(
  					"The method 'getAssociatedType()' in the event '%s' returns void.",
  					eventType.getName());
  			return null;
  		}
  
  		JParameterizedType isParameterized = returnType.isParameterized();
  		if (isParameterized == null) {
  			logger.warn(
  					"The method 'getAssociatedType()' in '%s' does not return Type<? extends EventHandler>.",
  					eventType.getName());
  			return null;
  		}
  
  		JClassType[] argTypes = isParameterized.getTypeArgs();
  		if ((argTypes.length != 1)
  				&& !argTypes[0].isAssignableTo(eventHandlerJClass)) {
  			logger.warn(
  					"The method 'getAssociatedType()' in '%s' does not return Type<? extends EventHandler>.",
  					eventType.getName());
  			return null;
  		}
  
  		return argTypes[0];
  	}
docs: Retrieves the handler associated with the event.
  
  @param eventType
  the given event
  @return the associated handler, <code>null</code> if not found