@Override
  public ValidationState getValidationState(Appendable errMsg) {
    try {
      // TODO: check duplicate columns here!!!

      if (ntmp.getSourceIndex() == -1) {
        if (ntmp.getTargetIndex() == -1) {
          errMsg.append(
              "The network cannot be created without selecting the source and target columns.");
          return ValidationState.INVALID;
        } else {
          errMsg.append(
              "No edges will be created in the network; the target column is not selected.\nDo you want to continue?");
          return ValidationState.REQUEST_CONFIRMATION;
        }
      } else {
        if (ntmp.getTargetIndex() == -1) {
          errMsg.append(
              "No edges will be created in the network; the source column is not selected.\nDo you want to continue?");
          return ValidationState.REQUEST_CONFIRMATION;
        } else {
          return ValidationState.OK;
        }
      }
    } catch (IOException ioe) {
      ioe.printStackTrace();
      return ValidationState.INVALID;
    }
  }