@Override
  public void zeichneDich(ModelKnotenBean baugruppeArtikelModelBean, IModel iModel) {
    getJComboBoxFehler().removeAllItems(); // alte Fehler werden gelöscht.
    setzeHintergrund();

    if (baugruppeArtikelModelBean != null) {
      if (baugruppeArtikelModelBean.getSammelKnotenTypENUM() == ModelKnotenTyp.BAUGRUPPE_ARTIKEL) {
        setModelBean(baugruppeArtikelModelBean); // merken
        BaugruppeArtikelBean baugruppeArtikelBean =
            (BaugruppeArtikelBean) baugruppeArtikelModelBean.getIBean();
        ArtikelBean artikelBean = baugruppeArtikelBean.getArtikel();
        // id anzeigen

        getJTextBestellnummerKEG().setText(artikelBean.getKeg_nr().toString());

        getJTextArtikelBezeichnung().setText(artikelBean.getBezeichnung().toString());

        getJTextArtikelTyp().setText(artikelBean.getTyp());

        getJTextArtikelHersteller().setText(artikelBean.getHersteller().getName());

        // Eingebaute Menge
        Log.log()
            .finest(
                "BaugruppeArtikelDeatialsView:ZeichneDich:Text:"
                    + getJTextFieldEingebauteMenge().getText()
                    + "="
                    + baugruppeArtikelBean.getEingebauteMenge().toString());
        Log.log()
            .finest(
                "BaugruppeArtikelDeatialsView:ZeichneDich:Value alt"
                    + getJTextFieldEingebauteMenge().getValue());

        getJTextFieldEingebauteMenge().removePropertyChangeListener("value", this);
        getJTextFieldEingebauteMenge().setValue(baugruppeArtikelBean.getEingebauteMenge());
        getJTextFieldEingebauteMenge().addPropertyChangeListener("value", this);
        //				getJTextFieldEingebauteMenge().setValue(baugruppeArtikelBean.getEingebauteMenge());
        //				jTextFieldEingebauteMenge.addPropertyChangeListener("value", this);
        Log.log()
            .finest(
                "BaugruppeArtikelDeatialsView:ZeichneDich:Text:"
                    + getJTextFieldEingebauteMenge().getText()
                    + "="
                    + baugruppeArtikelBean.getEingebauteMenge().toString());
        Log.log()
            .finest(
                "BaugruppeArtikelDeatialsView:ZeichneDich:Value neu"
                    + getJTextFieldEingebauteMenge().getValue());

        setEnabled(true);

        // kostenstelle anzeigen
        //				if (benutzerArtikelBean.getArtikel()!=null){
        //					getJTextFieldArtikel().setText(benutzerArtikelBean.getArtikel().getArtikelName());
        //				}else{
        //					getJTextFieldArtikel().setText(null);
        //				}

        // Fehler anzeigen.
        for (int i = 0; i < baugruppeArtikelModelBean.getFehlerList().size(); i++) {
          Fehler fehler = baugruppeArtikelModelBean.getFehlerList().get(i);
          getJComboBoxFehler().addItem(fehler);
        }

        this.repaint(); // alte Komponenten werden gelöscht
        this.invalidate(); // alle bis zu dem obersten Kontainer auf ungültig
        this.validate(); // werden gezeichnet.
        this.revalidate(); // Layout-Manager tut seinen JOB, und richtet				this.invalidate();
      }
    }
  }
    @Override
    public Component getTreeCellRendererComponent(
        JTree tree,
        Object value,
        boolean sel,
        boolean expanded,
        boolean leaf,
        int row,
        boolean hasFocus) {

      super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);

      GenericNode node = (GenericNode) value;
      // DefaultMutableTreeNode node = (DefaultMutableTreeNode)value;
      if (node != null && node.getUserObject() != null) {
        if (node.getUserObject() instanceof ModelKnotenBean) {

          ModelKnotenBean modelKnotenBean = (ModelKnotenBean) node.getUserObject();

          // Falls Fehler vorhanden sind, wir das Icon geladen.
          String iconError;
          if (modelKnotenBean.getFehlerList().size() > 0) {
            iconError = Fehler.getFehlerIcon();
          } else {
            iconError = null;
          }

          if (modelKnotenBean instanceof ArtikelModelKnotenBean) {
            ArtikelModelKnotenBean benutzerModelKnotenBean =
                (ArtikelModelKnotenBean) modelKnotenBean;
            String IconNameStatus =
                BeanDBStatus.JavaToIconName(benutzerModelKnotenBean.getIBean().getBeanDBStatus());
            Icon icon = Run.createCompoundIcon(Konstanten.ICON_ARTIKEL, IconNameStatus, iconError);
            setIcon(icon);
          }
          ;
          if (modelKnotenBean instanceof EtageModelKnotenBean) {
            EtageModelKnotenBean benutzerAbteilungModelKnotenBean =
                (EtageModelKnotenBean) modelKnotenBean;
            String IconNameStatus =
                BeanDBStatus.JavaToIconName(
                    benutzerAbteilungModelKnotenBean.getIBean().getBeanDBStatus());
            Icon icon = Run.createCompoundIcon(Konstanten.ICON_ETAGE, IconNameStatus, iconError);
            setIcon(icon);
          }
          ;

          if (modelKnotenBean instanceof ZeileModelKnotenBean) {
            ZeileModelKnotenBean zeileModelKnotenBean = (ZeileModelKnotenBean) modelKnotenBean;
            String IconNameStatus =
                BeanDBStatus.JavaToIconName(zeileModelKnotenBean.getIBean().getBeanDBStatus());
            Icon icon = Run.createCompoundIcon(Konstanten.ICON_ZEILE, IconNameStatus, iconError);
            setIcon(icon);
          }
          ;

          if (modelKnotenBean instanceof SaeuleModelKnotenBean) {
            SaeuleModelKnotenBean saeuleModelKnotenBean = (SaeuleModelKnotenBean) modelKnotenBean;
            String IconNameStatus =
                BeanDBStatus.JavaToIconName(saeuleModelKnotenBean.getIBean().getBeanDBStatus());
            Icon icon = Run.createCompoundIcon(Konstanten.ICON_SAEULE, IconNameStatus, iconError);
            setIcon(icon);
          }
          ;

          if (modelKnotenBean instanceof EbeneModelKnotenBean) {
            EbeneModelKnotenBean ebeneModelKnotenBean = (EbeneModelKnotenBean) modelKnotenBean;
            String IconNameStatus =
                BeanDBStatus.JavaToIconName(ebeneModelKnotenBean.getIBean().getBeanDBStatus());
            Icon icon = Run.createCompoundIcon(Konstanten.ICON_EBENE, IconNameStatus, iconError);
            setIcon(icon);
          }
          ;

          if (modelKnotenBean instanceof PositionModelKnotenBean) {
            PositionModelKnotenBean positionModelKnotenBean =
                (PositionModelKnotenBean) modelKnotenBean;
            String IconNameStatus =
                BeanDBStatus.JavaToIconName(positionModelKnotenBean.getIBean().getBeanDBStatus());
            Icon icon = Run.createCompoundIcon(Konstanten.ICON_POSITION, IconNameStatus, iconError);
            setIcon(icon);
          }
          ;

          if (modelKnotenBean instanceof BestandspackstueckModelKnotenBean) {
            BestandspackstueckModelKnotenBean bestandspackstueckModelKnotenBean =
                (BestandspackstueckModelKnotenBean) modelKnotenBean;
            String IconNameStatus =
                BeanDBStatus.JavaToIconName(
                    bestandspackstueckModelKnotenBean.getIBean().getBeanDBStatus());
            Log.log()
                .fine(bestandspackstueckModelKnotenBean.getIBean().getBeanDBStatus().toString());
            Icon icon =
                Run.createCompoundIcon(
                    Konstanten.ICON_BESTANDSPACKSTUECK, IconNameStatus, iconError);
            setIcon(icon);
          }
          ;

          if (modelKnotenBean instanceof BaugruppeArtikelModelKnotenBean) {
            BaugruppeArtikelModelKnotenBean baugruppeArtikelModelKnotenBean =
                (BaugruppeArtikelModelKnotenBean) modelKnotenBean;
            String IconNameStatus =
                BeanDBStatus.JavaToIconName(
                    baugruppeArtikelModelKnotenBean.getIBean().getBeanDBStatus());
            Log.log().fine(baugruppeArtikelModelKnotenBean.getIBean().getBeanDBStatus().toString());
            Icon icon =
                Run.createCompoundIcon(Konstanten.ICON_BAUGRUPPE, IconNameStatus, iconError);
            setIcon(icon);
          }
          ;
          if (modelKnotenBean instanceof LieferantenBestellnummerModelKnotenBean) {
            LieferantenBestellnummerModelKnotenBean lbModelKnotenBean =
                (LieferantenBestellnummerModelKnotenBean) modelKnotenBean;
            String IconNameStatus =
                BeanDBStatus.JavaToIconName(lbModelKnotenBean.getIBean().getBeanDBStatus());
            Log.log().fine(lbModelKnotenBean.getIBean().getBeanDBStatus().toString());
            Icon icon =
                Run.createCompoundIcon(
                    Konstanten.ICON_LIEFERANT_HERSTELLER_KATALOG, IconNameStatus, iconError);
            setIcon(icon);
          }
          ;
          if (modelKnotenBean instanceof UnterArtikelModelKnotenBean) {
            UnterArtikelModelKnotenBean lbModelKnotenBean =
                (UnterArtikelModelKnotenBean) modelKnotenBean;
            String IconNameStatus =
                BeanDBStatus.JavaToIconName(lbModelKnotenBean.getIBean().getBeanDBStatus());
            Log.log().fine(lbModelKnotenBean.getIBean().getBeanDBStatus().toString());
            Icon icon =
                Run.createCompoundIcon(Konstanten.ICON_UNTERARTIKEL, IconNameStatus, iconError);
            setIcon(icon);
          }
          ;
        }
      }
      return this;
    }