/**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public boolean validateRelation(
     Relation relation, DiagnosticChain diagnostics, Map<Object, Object> context) {
   boolean result = validate_EveryMultiplicityConforms(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryDataValueConforms(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryReferenceIsContained(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryProxyResolves(relation, diagnostics, context);
   if (result || diagnostics != null) result &= validate_UniqueID(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryKeyUnique(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryMapEntryUnique(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= ecoreValidator.validateENamedElement_WellFormedName(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= qvtBaseValidator.validateRule_OverridesIsCompatible(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         qvtBaseValidator.validateRule_OverridesDefinedByTransformation(
             relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= qvtBaseValidator.validateRule_DomainNamesAreUnique(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         validateRelation_DomainTypedModelsMatchModelParameters(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_AtLeastTwoDomains(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_EveryDomainIsARelationDomain(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_NonTopLevelIsNotInvokedWarning(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_RelationImplsAreUniqueWarning(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_VariablesAreUnique(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_WhenTypesAreDeclaredByRelation(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_WhenVariablesAreDefinedByRelation(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_WhereTypesAreDeclaredByRelation(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_WhereVariablesAreDefinedByRelation(relation, diagnostics, context);
   return result;
 }