private void parseArbeiter()
  {

    try
    {
      // Parsen!!!
      cntParse = 0;

      int cntRekursiv = 0;

      while (parseList.size() > 0)
      {

        if (cntRekursiv > 20)
        {
          getDebug().fine("Maximale Rekursionstiefe erreicht -> Abbruch des Parsens!!!");
          break;
        }

        // getDebug().config("Rekursionstiefe: " + cntRekursiv);

        List<String> delList = new ArrayList<String>();

        Parser parser = new Parser();

        for (Map.Entry<String, String[]> me : parseList.entrySet())
        {
          if (parser.parseSystemkalenderEintrag(me.getKey(), me.getValue()[0], me.getValue()[1]))
          {
            delList.add(me.getKey());
          }
          else
          {
            getDebug().fine(me.getKey() + " konnte nicht geparst werden");
          }

          cntParse++;

          synchronized (this)
          {
            notify();
          }

        }

        for (String s : delList)
        {

          parseList.remove(s);

        }

        cntRekursiv++;

      }

      if (_inInit)
      {

        synchronized (this)
        {

          while ((cntParse < skeList.size()))
          {
            this.wait();
          }
        }
        _debug.fine("Alle SystemKalenderEintraege geparst!");
      }
      else
        _debug.fine("SystemKalenderEintrag geparst!");
    }
    catch (InterruptedException e)
    {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    catch (Exception e)
    {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

  }