+/* convenience */
+
+- (id)preferredValueInArray:(NSArray *)_values {
+ unsigned i, count;
+
+ if ((count = [_values count]) == 0)
+ return nil;
+ if (count == 1)
+ return [_values objectAtIndex:0];
+
+ /* scan for preferred value */
+ for (i = 0; i < count; i++) {
+#warning COMPLETE ME
+ }
+
+ /* just take first in sequence */
+ return [_values objectAtIndex:0];
+}
+
+- (NGVCardSimpleValue *)preferredEMail {
+ return [self preferredValueInArray:self->email];
+}
+- (NGVCardPhone *)preferredTel {
+ return [self preferredValueInArray:self->tel];
+}
+- (NGVCardAddress *)preferredAdr {
+ return [self preferredValueInArray:self->adr];
+}
+