code: @Programmatic
      public String asEncodedString() {
          return asEncodedString(getFeatureId(), getUsername(), newEvaluation(viewingGranted, viewingFeatureId, viewingRule, viewingMode), newEvaluation(changingGranted, changingFeatureId, changingRule, changingMode));
      }
docs: //////////////////////////////////////