original_string: public static function combine($segment, $operator, $segmentCondition)
      {
          if (empty($segment)) {
              return $segmentCondition;
          }
  
          if (empty($segmentCondition)
              || self::containsCondition($segment, $operator, $segmentCondition)
          ) {
              return $segment;
          }
  
          return $segment . $operator . $segmentCondition;
      }
code: public static function combine($segment, $operator, $segmentCondition)
      {
          if (empty($segment)) {
              return $segmentCondition;
          }
  
          if (empty($segmentCondition)
              || self::containsCondition($segment, $operator, $segmentCondition)
          ) {
              return $segment;
          }
  
          return $segment . $operator . $segmentCondition;
      }
code_tokens: public static function combine ( $ segment , $ operator , $ segmentCondition ) { if ( empty ( $ segment ) ) { return $ segmentCondition ; } if ( empty ( $ segmentCondition ) || self :: containsCondition ( $ segment , $ operator , $ segmentCondition ) ) { return $ segment ; } return $ segment . $ operator . $ segmentCondition ; }
docstring: Combines this segment with another segment condition, if the segment condition is not already
  in the segment.
  
  The combination is naive in that it does not take order of operations into account.
  
  @param string $segment
  @param string $operator The operator to use. Should be either SegmentExpression::AND_DELIMITER
  or SegmentExpression::OR_DELIMITER.
  @param string $segmentCondition The segment condition to add.
  @return string
  @throws Exception
docstring_tokens: Combines this segment with another segment condition if the segment condition is not already in the segment .