docs: public boolean isSubTypeOf(LightweightTypeReference candidate, Class<?> jvmSuperType,
  			Class<? extends XtendTypeDeclaration> sarlSuperType) {
  		if (candidate.isSubtypeOf(jvmSuperType)) {
  			return true;
  		}
  		if (sarlSuperType != null) {
  			final JvmType type = candidate.getType();
  			if (type instanceof JvmGenericType) {
  				final JvmGenericType genType = (JvmGenericType) type;
  				if (genType.getSuperTypes().isEmpty()) {
  					for (final EObject sarlObject : this.sarlAssociations.getSourceElements(type)) {
  						if (sarlSuperType.isInstance(sarlObject)) {
  							return true;
  						}
  					}
  				}
  			}
  		}
  		return false;
  	}