/** @see javafx.scene.control.Cell#updateItem(java.lang.Object, boolean) */
  @Override
  protected void updateItem(ResultsItem item, boolean empty) {
    super.updateItem(item, empty);
    if (item != null) {
      setText("");

      GridPane gp = new GridPane();
      gp.setHgap(0.0);
      gp.setVgap(0.0);
      gp.setPadding(new Insets(5, 5, 5, 5));
      gp.setMinWidth(250);

      ColumnConstraints constraint1 = new ColumnConstraints();
      constraint1.setFillWidth(false);
      constraint1.setHgrow(Priority.NEVER);
      constraint1.setMinWidth(160);
      constraint1.setMaxWidth(160);
      gp.getColumnConstraints().add(constraint1);

      ColumnConstraints constraint2 = new ColumnConstraints();
      constraint2.setFillWidth(true);
      constraint2.setHgrow(Priority.SOMETIMES);
      gp.getColumnConstraints().add(constraint2);

      int row = 0;

      gp.add(wrapAndStyle(makeBoldLabel("Message"), row), 0, row);
      Label message = new Label(item.getMessage());
      message.setWrapText(true);
      message.maxWidthProperty().bind(this.widthProperty().subtract(180));
      gp.add(wrapAndStyle(message, row), 1, row++);

      gp.add(wrapAndStyle(makeBoldLabel("Severity"), row), 0, row);
      Label severity = new Label(item.getSeverity().getName());
      severity.setWrapText(true);
      severity.maxWidthProperty().bind(this.widthProperty().subtract(180));
      gp.add(wrapAndStyle(severity, row), 1, row++);

      gp.add(wrapAndStyle(makeBoldLabel("Rule UUID"), row), 0, row);
      Label ruleUUID = new Label(item.getRuleUuid());
      ruleUUID.setWrapText(true);
      ruleUUID.maxWidthProperty().bind(this.widthProperty().subtract(180));
      gp.add(wrapAndStyle(ruleUUID, row), 1, row++);

      gp.add(wrapAndStyle(makeBoldLabel("Error Code"), row), 0, row);
      Label errorCode = new Label(item.getErrorCode() + "");
      errorCode.setWrapText(true);
      errorCode.maxWidthProperty().bind(this.widthProperty().subtract(180));
      gp.add(wrapAndStyle(errorCode, row), 1, row++);

      setGraphic(gp);
      this.setStyle("-fx-border-width:  0 0 2 0; -fx-border-color: grey; ");

    } else {
      setText("");
      setGraphic(null);
      this.setStyle("");
    }
  }