Code Duplication    Length = 3-3 lines in 4 locations

eZ/Publish/Core/Persistence/Doctrine/SelectDoctrineQuery.php 4 locations

@@ 602-604 (lines=3) @@
599
            }
600
        }
601
602
        if (count($this->parts['where']) > 0) {
603
            $sql .= ' WHERE ' . implode(' AND ', $this->parts['where']);
604
        }
605
606
        if (count($this->parts['groupBy']) > 0) {
607
            $sql .= ' GROUP BY ' . implode(', ', $this->parts['groupBy']);
@@ 606-608 (lines=3) @@
603
            $sql .= ' WHERE ' . implode(' AND ', $this->parts['where']);
604
        }
605
606
        if (count($this->parts['groupBy']) > 0) {
607
            $sql .= ' GROUP BY ' . implode(', ', $this->parts['groupBy']);
608
        }
609
610
        if (count($this->parts['having']) > 0) {
611
            $sql .= ' HAVING ' . implode(' AND ', $this->parts['having']);
@@ 610-612 (lines=3) @@
607
            $sql .= ' GROUP BY ' . implode(', ', $this->parts['groupBy']);
608
        }
609
610
        if (count($this->parts['having']) > 0) {
611
            $sql .= ' HAVING ' . implode(' AND ', $this->parts['having']);
612
        }
613
614
        if (count($this->parts['orderBy']) > 0) {
615
            $sql .= ' ORDER BY ' . implode(', ', $this->parts['orderBy']);
@@ 614-616 (lines=3) @@
611
            $sql .= ' HAVING ' . implode(' AND ', $this->parts['having']);
612
        }
613
614
        if (count($this->parts['orderBy']) > 0) {
615
            $sql .= ' ORDER BY ' . implode(', ', $this->parts['orderBy']);
616
        }
617
618
        if ($this->limit || $this->offset) {
619
            $sql = $this->connection->getDatabasePlatform()->modifyLimitQuery(