public MMixedConjunction provideCopy() throws PersistenceException {
   MMixedConjunction result = this;
   result = new MMixedConjunction(this.This, this.myCONCMModelItem, this.getId());
   result.factors = this.factors.copy(result);
   this.copyingPrivateUserAttributes(result);
   return result;
 }
  public static PersistentMMixedConjunction transientCreateMixedTypeConj(
      final MTypeSearchList containedTypes) throws PersistenceException {
    final PersistentMMixedConjunction result = MMixedConjunction.createMMixedConjunction(true);

    containedTypes.applyToAll(
        new Procdure<PersistentMType>() {

          @Override
          public void doItTo(final PersistentMType argument) throws PersistenceException {
            try {
              result.getFactors().add(argument);
            } catch (final CycleException e) {
              // TODO CANT OCCUR
              e.printStackTrace();
            }
          }
        });
    return result;
  }