Repository: CycloneDX/cyclonedx-core-java (java)

Issue:
LicensesChoice returns only one license
Version `8.0.0` does not return multiple licenses. 
In Version `7.3.2` there were multiple versions. 

Example `jakarta.servlet-api` defines two licenses in the [pom.xml](https://repo1.maven.org/maven2/jakarta/servlet/jakarta.servlet-api/6.0.0/jakarta.servlet-api-6.0.0.pom).

When I use the `cyclonedx-maven-plugin` to generate a bom.json the output is correct.
```
      "licenses" : [
        {
          "license" : {
            "id" : "EPL-2.0"
          }
        },
        {
          "license" : {
            "id" : "GPL-2.0-with-classpath-exception"
          }
        }
      ]
```
But the `LicenseChoice` does not have anymore both licenses.

Is this a bug? Or why was this changed? 

Pull request description:
Fix multiple licenses deserialization
Fixes #334 

Patch:
diff --git a/src/main/java/org/cyclonedx/util/deserializer/LicenseDeserializer.java b/src/main/java/org/cyclonedx/util/deserializer/LicenseDeserializer.java
index d4dd3b0b1..5cdddeb66 100644
--- a/src/main/java/org/cyclonedx/util/deserializer/LicenseDeserializer.java
+++ b/src/main/java/org/cyclonedx/util/deserializer/LicenseDeserializer.java
@@ -37,19 +37,18 @@ public class LicenseDeserializer extends JsonDeserializer<LicenseChoice>
     JsonNode rootNode = p.getCodec().readTree(p);
     if (!rootNode.isEmpty()) {
       ArrayNode nodes = (rootNode.isArray() ? (ArrayNode) rootNode : new ArrayNode(null).add(rootNode));
+      LicenseChoice licenseChoice = new LicenseChoice();
 
       for (JsonNode node : nodes) {
-        LicenseChoice licenseChoice = new LicenseChoice();
-
         if (node.has("license")) {
           processLicenseNode(p, node.get("license"), licenseChoice);
-          return licenseChoice;
         }
         else if (node.has("expression")) {
           licenseChoice.setExpression(node.get("expression").asText());
           return licenseChoice;
         }
       }
+      return licenseChoice;
     }
     return null;
   }


Test patch:
diff --git a/src/test/java/org/cyclonedx/parsers/JsonParserTest.java b/src/test/java/org/cyclonedx/parsers/JsonParserTest.java
index 3c09525f8..4091e4d8c 100644
--- a/src/test/java/org/cyclonedx/parsers/JsonParserTest.java
+++ b/src/test/java/org/cyclonedx/parsers/JsonParserTest.java
@@ -163,6 +163,9 @@ public class JsonParserTest
         assertCompositions(bom, Version.VERSION_15);
         assertVulnerabilities(bom, Version.VERSION_15);
 
+        //Assert Metadata License Choice
+        assertEquals(2, bom.getMetadata().getLicenseChoice().getLicenses().size());
+
         // Dependencies
         assertEquals(2, bom.getDependencies().size());
         Dependency d1 = bom.getDependencies().get(0);
diff --git a/src/test/resources/bom-1.5.json b/src/test/resources/bom-1.5.json
index e65f064f0..f91b59113 100644
--- a/src/test/resources/bom-1.5.json
+++ b/src/test/resources/bom-1.5.json
@@ -118,6 +118,11 @@
         "license": {
           "id": "Apache-2.0"
         }
+      },
+      {
+        "license": {
+          "id": "MIT"
+        }
       }
     ]
   },