/**
  * Zarata predmet s danou znamkou
  * @param float $kredity pocet kreditov, ktore sa maju zaratat
  * @param Znamka $znamka znamka, ktora sa ma zarat, NULL sa rata ako
  *                       neohodnoteny predmet
  * @throws InvalidArgumentException ak dana znamka nie je platna
  */
 public function add($kredity, Znamka $znamka = null)
 {
     Preconditions::checkContainsInteger($kredity);
     Preconditions::check($kredity >= 0, "Kreditov musí byť nezáp**ný počet.");
     if ($znamka == null) {
         $this->addNeohodnotene($kredity);
         return;
     }
     $this->addOhodnotene($znamka->getNumerickaHodnota(), $kredity);
 }