Index: /trunk/scripts/TagInfoExtract.java
===================================================================
--- /trunk/scripts/TagInfoExtract.java	(revision 16383)
+++ /trunk/scripts/TagInfoExtract.java	(revision 16384)
@@ -275,5 +275,5 @@
                                 : Stream.empty())
                         .forEach(item -> {
-                            for (String value : item.getValues()) {
+                            for (String value : values(item)) {
                                 Set<TagInfoTag.Type> types = TagInfoTag.Type.forPresetTypes(preset.types);
                                 if (item.isKeyRequired()) {
@@ -297,4 +297,9 @@
             tags.addAll(optionalTags.values());
             return tags;
+        }
+
+        private Collection<String> values(KeyedItem item) {
+            final Collection<String> values = item.getValues();
+            return values.isEmpty() || values.size() > 50 ? Collections.singleton(null) : values;
         }
 
@@ -568,5 +573,7 @@
             }
             object.add("key", key);
-            object.add("value", value);
+            if (value != null) {
+                object.add("value", value);
+            }
             if ((!objectTypes.isEmpty())) {
                 final JsonArrayBuilder types = Json.createArrayBuilder();
