class Collection {

   private $_members = array();

   public function addItem($obj, $key = null) {
      if($key) {
         if(isset($this->_members[$key])) {
            throw new KeyInUseException("Klucz \"$key\" jest ju zajty!");
         } else {
            $this->_members[$key] = $obj;
         }
      } else {
         $this->_members[] = $obj;
      }
   }
}