code: @SuppressWarnings("unchecked")
  	protected Class<? extends T> getCauseType() {
  		return (Class<? extends T>) ResolvableType
  				.forClass(AbstractFailureAnalyzer.class, getClass()).resolveGeneric();
  	}
docs: Return the cause type being handled by the analyzer. By default the class generic
  is used.
  @return the cause type