code: public final void setOrginaleValues() {
          for (final AbstractField<?> field : allComponents) {
              Object value = field.getValue();
  
              if (field instanceof Table) {
                  value = ((Table) field).getContainerDataSource().getItemIds();
              }
              orginalValues.put(field, value);
          }
          saveButton.setEnabled(isSaveButtonEnabledAfterValueChange(null, null));
      }
docs: saves the original values in a Map so we can use them for detecting
  changes