/**
  * Hakee ja palauttaa koosteen sisällön elementeistä (html-koodi).
  * 
  * Täällä ei tarkistella käyttöoikeuksia, koska ne tarkistettu aiemmin.
  * 
  * @param type $elementit_ok
  * @param type $viittausoliot_ok
  * @param Parametrit $paramolio Parametrit-luokan olio
  * @param int $kohdeoikeudet Oikeudet koosteeseen.
  * @param Ratkaisukontrolleri $ratkaisukontrolleri
  */
 private function hae_elementtien_sisalto($elementit_ok, $viittausoliot_ok, $paramolio, $kohdeoikeudet, $ratkaisukontrolleri)
 {
     $tietokantaolio = $this->get_tietokantaolio();
     // Katsotaan, ollaanko tulossa elementtiryhmästä:
     $elemryhma = Elementtiryhma::$MUUTTUJAA_EI_MAARITELTY;
     if ($paramolio->elemryhma_id != Elementtiryhma::$MUUTTUJAA_EI_MAARITELTY) {
         $elemryhma_kandi = new Elementtiryhma($paramolio->elemryhma_id, $tietokantaolio);
         if ($elemryhma_kandi->olio_loytyi_tietokannasta) {
             $elemryhma = $elemryhma_kandi;
         }
     }
     $elem_html = "";
     for ($i = 0; $i < sizeof($elementit_ok); $i++) {
         $elementti = $elementit_ok[$i];
         $viittausolio = $viittausoliot_ok[$i];
         //$selitys_auki = true;
         $selitys_auki = false;
         // käyttöoikeudet tarkistetaan myös Kokonaisuusnakymat-
         // luokan metodissa. Mutta ei sillä väliä täällä niin.
         if ($viittausolio instanceof Kokonaisuusolio) {
             $elem_html .= $this->get_kokonaisuusnakymat()->luo_koostenakyma($elementti, $viittausolio, $paramolio, $selitys_auki, $kohdeoikeudet, $elemryhma);
         } else {
             if ($viittausolio instanceof Tehtava) {
                 $id_teht = $viittausolio->getId();
                 // Haetaan tehtävän ratkaisut:
                 $ratkaisut = $ratkaisukontrolleri->hae_ratkaisut($id_teht);
                 $this->merkitse_ratkaisujen_otsikkonumerot($ratkaisut, $viittausolio);
                 // Ratkaisunäyttöpainike yms. jos tarve:
                 $painikkeet = array();
                 if (!empty($ratkaisut)) {
                     array_push($painikkeet, $this->koostenakymat->luo_koostetehtavan_ratkaisunayttopainikkeet($id_teht));
                 }
                 // Jos riittävät valtuudet, lisätään muokkauspainike:
                 if ($kohdeoikeudet >= Lisavaltuudet::$SAA_MUOKATA_EI_POISTAA) {
                     array_push($painikkeet, $this->tehtavanakymat->luo_muokkauspainike($viittausolio, $elementti));
                     array_push($painikkeet, $this->tehtavanakymat->luo_ratkaisun_lisayspainike($viittausolio, $elementti, $elemryhma));
                     if ($viittausolio->getNakyvyys() + 0 === Nakyvyys::$JULKINEN) {
                         $viittausolio->setNakyvyysmerkkiPublic();
                     } else {
                         $viittausolio->setNakyvyysmerkkiPrivate();
                     }
                 }
                 // Poistopainike sopivasti oikeutetuille.
                 if ($kohdeoikeudet >= Lisavaltuudet::$SAA_MUOKATA_JA_POISTAA) {
                     $remove_elem_button = Koostenakymat::create_button_remove_elem_from_summary($elementti->get_id());
                     array_push($painikkeet, $remove_elem_button);
                 }
                 // Poistopainikekoodi loppuu.
                 $elem_html .= $this->get_tehtavanakymat()->luo_koostenakyma($elementti, $viittausolio, $painikkeet);
                 // Liitetään tehtävän ratkaisut mukaan:
                 $elem_html .= $this->luo_tehtavan_ratkaisut_koodi($ratkaisut, false, $paramolio->get_omaid(), $elementti);
             }
         }
     }
     return $elem_html;
 }