function testFlattenHighlightWithOverlappingEntriesThatHaveEqualEnd()
 {
     $highlight1 = new Highlight(5, 10, Highlight::MATCH, 'ref1', 0, 0);
     $highlight2 = new Highlight(7, 10, Highlight::ADDED, 'ref2', 0, 0);
     $highlights = array($highlight1, $highlight2);
     $this->highlight->flattenHighlights($highlights);
     assertThat($highlights, anArray(array(new Highlight(5, 10, Highlight::UNDEFINED, 'ref1', 0, 0))));
 }
 /**
  * @param ItemTreeBounds $itemTreeBounds
  * @param $licenseId
  * @param $selectedAgentId
  * @param $highlightId
  * @param int $clearingId
  * @param int $uploadId
  * @return Highlight[]
  */
 private function getSelectedHighlighting(ItemTreeBounds $itemTreeBounds, $licenseId, $selectedAgentId, $highlightId, $clearingId, $uploadId)
 {
     $unmaskAgents = $selectedAgentId;
     if (empty($selectedAgentId)) {
         $scanJobProxy = new ScanJobProxy($this->agentsDao, $uploadId);
         $scanJobProxy->createAgentStatus(array('nomos', 'monk', 'ninka'));
         $unmaskAgents = $scanJobProxy->getLatestSuccessfulAgentIds();
     }
     $highlightEntries = $this->highlightDao->getHighlightEntries($itemTreeBounds, $licenseId, $unmaskAgents, $highlightId, $clearingId);
     $groupId = Auth::getGroupId();
     if ($selectedAgentId > 0 || $clearingId > 0) {
         $this->highlightProcessor->addReferenceTexts($highlightEntries, $groupId);
     } else {
         $this->highlightProcessor->flattenHighlights($highlightEntries, array("K", "K "));
     }
     return $highlightEntries;
 }