Condition::Condition( const Condition& _cond, size_t _id ): mFlag( _cond.flag() ), mRecentlyAdded( false ), mValuation( _cond.valuation() ), mId( _id ), mConstraint( _cond.constraint() ), mpOriginalConditions( new carl::PointerSet<Condition>( _cond.originalConditions() ) ) {}