@MarshalsPointer
 public static long toNative(List<CMMetadataKeySpace> l, long flags) {
   if (l == null) {
     return 0L;
   }
   CFArray array = CFMutableArray.create();
   for (CMMetadataKeySpace o : l) {
     array.add(o.value());
   }
   return CFType.Marshaler.toNative(array, flags);
 }
 public static /*<name>*/ CMMetadataKeySpace /*</name>*/ valueOf(
     /*<type>*/ CFString /*</type>*/ value) {
   for (/*<name>*/ CMMetadataKeySpace /*</name>*/ v : values) {
     if (v.value().equals(value)) {
       return v;
     }
   }
   throw new IllegalArgumentException(
       "No constant with value "
           + value
           + " found in "
           + /*<name>*/ CMMetadataKeySpace /*</name>*/.class.getName());
 }
 @MarshalsPointer
 public static long toNative(CMMetadataKeySpace o, long flags) {
   if (o == null) {
     return 0L;
   }
   return CFType.Marshaler.toNative(o.value(), flags);
 }
 @MarshalsPointer
 public static CMMetadataKeySpace toObject(
     Class<CMMetadataKeySpace> cls, long handle, long flags) {
   CFString o = (CFString) CFType.Marshaler.toObject(CFString.class, handle, flags);
   if (o == null) {
     return null;
   }
   return CMMetadataKeySpace.valueOf(o);
 }
 @MarshalsPointer
 public static List<CMMetadataKeySpace> toObject(
     Class<? extends CFType> cls, long handle, long flags) {
   CFArray o = (CFArray) CFType.Marshaler.toObject(CFArray.class, handle, flags);
   if (o == null) {
     return null;
   }
   List<CMMetadataKeySpace> list = new ArrayList<>();
   for (int i = 0; i < o.size(); i++) {
     list.add(CMMetadataKeySpace.valueOf(o.get(i, CFString.class)));
   }
   return list;
 }