@MarshalsPointer
 public static CFStreamSocketSOCKSVersion toObject(
     Class<CFStreamSocketSOCKSVersion> cls, long handle, long flags) {
   CFString o = (CFString) CFType.Marshaler.toObject(CFString.class, handle, flags);
   if (o == null) {
     return null;
   }
   return CFStreamSocketSOCKSVersion.valueOf(o);
 }
 @MarshalsPointer
 public static List<CFStreamSocketSOCKSVersion> toObject(
     Class<? extends CFType> cls, long handle, long flags) {
   CFArray o = (CFArray) CFType.Marshaler.toObject(cls, handle, flags);
   if (o == null) {
     return null;
   }
   List<CFStreamSocketSOCKSVersion> list = new ArrayList<>();
   for (int i = 0; i < o.size(); i++) {
     list.add(CFStreamSocketSOCKSVersion.valueOf(o.get(i, CFString.class)));
   }
   return list;
 }