private boolean canAttributeChange(int row, int column) {
    boolean change = false;
    // Logic for allowing the user to edit the queryable attribute
    // -- User can change a NQ committed field to Q but CAN NOT
    // change a Q committed field to NQ.  While on the Set Up
    // Schema panel, the user should be able to change the
    // queryable attribute for new fields as long as they are NOT
    // part of a table.
    String fieldName = (String) getValueAt(row, this.NAME);
    Field field = pnlSchema.getNewField(fieldName);
    if (field != null) {
      // new field so can change from Q to NQ and back to Q provided
      // the field is not in a table
      change = isFieldNotInTable(field);
    } else {
      field = pnlSchema.getCommittedField(fieldName);
      if (field != null) {
        // committed field so determine if original state
        // was NQ or Q....if NQ, then its state can be changed
        // from NQ to Q and back to NQ provided it is NOT part
        // of a table and the changes haven't been committed
        Field initField = pnlSchema.getNQInitField(fieldName);
        if (initField != null) {
          // The original state of the committed field is NQ
          change = isFieldNotInTable(field);
        }
      } else {
        field = pnlSchema.getModifiedField(fieldName);
        if (field != null) {
          change = isFieldNotInTable(field);
        }
      }
    } // end of else

    return change;
  }