SwitchCase::SwitchCase ( const SwitchCase& source ) : Symbol ( source.startPointX, source.startPointY, source.endPointX, source.endPointY, source.expressionStartPointX, source.expressionStartPointY, source.expressionEndPointX, source.expressionEndPointY, source.expression ) { this->columnCount = source.columnCount; this->selection = new Selection ( *source.selection ); for ( Long i = 0; i < source.length; i++ ) { Sequence *tempCase = new Sequence ( * ( source.GetCases ( i ) ) ); this->cases.Store( i, tempCase ); } this->capacity = source.capacity; this->length = source.length; this->upSign = -1 ; this->falseSign = -1 ; }