ManagedDataModelException.cyclicReference(ManagedEntity entity, Symbol property, ManagedEntity destinationEntity, Symbol inverseProperty)

Source

factory ManagedDataModelException.cyclicReference(
    ManagedEntity entity,
    Symbol property,
    ManagedEntity destinationEntity,
    Symbol inverseProperty) {
  return new ManagedDataModelException(
      "Managed objects '${_getPersistentClassName(entity)}' "
      "and '${_getPersistentClassName(destinationEntity)}' "
      "have cyclic relationship properties. This would yield two tables "
      "with foreign key references to eachother. Try creating "
      "a 'ManagedObject' subclass that represents a join table between the two tables. "
      "The offending properties are: '${_getName(property)}' and '${_getName(inverseProperty)}'");
}