src/main/java/com/netflix/imflibrary/st2067_2/CompositionModel_st2067_2_2013.java [49:77]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        List<IMFSegmentType> segmentList = compositionPlaylistType.getSegmentList().getSegment().stream()
                .map(segment -> parseSegment(segment, compositionPlaylistType.getEditRate(), imfErrorLogger))
                .collect(Collectors.toList());

        // Parse the EssenceDescriptors, if present
        List<IMFEssenceDescriptorBaseType> essenceDescriptorList = Collections.emptyList();
        if (compositionPlaylistType.getEssenceDescriptorList() != null)
        {
            essenceDescriptorList = compositionPlaylistType.getEssenceDescriptorList().getEssenceDescriptor().stream()
                    .map(ed -> parseEssenceDescriptor(ed, imfErrorLogger))
                    .collect(Collectors.toList());
        }

        // Parse the ApplicationIdentification values
        Set<String> applicationIDs = parseApplicationIds(compositionPlaylistType, imfErrorLogger);

        // Identify the Core Constraints version
        String coreConstraintsSchema = CoreConstraints.fromApplicationId(applicationIDs);
        if (coreConstraintsSchema == null)
        {
            // Get the namespaces of each Sequence being used
            Set<String> sequenceNamespaces = compositionPlaylistType.getSegmentList().getSegment().get(0)
                    .getSequenceList().getAny().stream().filter(JAXBElement.class::isInstance)
                    .map(je -> ((JAXBElement<?>) je).getName().getNamespaceURI()).collect(Collectors.toSet());
            // Find the Core Constraints version, based on the namespaces of the Sequences
            coreConstraintsSchema = CoreConstraints.fromElementNamespaces(sequenceNamespaces);

            // If all else fails, assume the minimum version applicable to this CPL version
            if (coreConstraintsSchema == null)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



src/main/java/com/netflix/imflibrary/st2067_2/CompositionModel_st2067_2_2016.java [50:78]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        List<IMFSegmentType> segmentList = compositionPlaylistType.getSegmentList().getSegment().stream()
                .map(segment -> parseSegment(segment, compositionPlaylistType.getEditRate(), imfErrorLogger))
                .collect(Collectors.toList());

        // Parse the EssenceDescriptors, if present
        List<IMFEssenceDescriptorBaseType> essenceDescriptorList = Collections.emptyList();
        if (compositionPlaylistType.getEssenceDescriptorList() != null)
        {
            essenceDescriptorList = compositionPlaylistType.getEssenceDescriptorList().getEssenceDescriptor().stream()
                    .map(ed -> parseEssenceDescriptor(ed, imfErrorLogger))
                    .collect(Collectors.toList());
        }

        // Parse the ApplicationIdentification values
        Set<String> applicationIDs = parseApplicationIds(compositionPlaylistType, imfErrorLogger);

        // Identify the Core Constraints version
        String coreConstraintsSchema = CoreConstraints.fromApplicationId(applicationIDs);
        if (coreConstraintsSchema == null)
        {
            // Get the namespaces of each Sequence being used
            Set<String> sequenceNamespaces = compositionPlaylistType.getSegmentList().getSegment().get(0)
                    .getSequenceList().getAny().stream().filter(JAXBElement.class::isInstance)
                    .map(je -> ((JAXBElement<?>) je).getName().getNamespaceURI()).collect(Collectors.toSet());
            // Find the Core Constraints version, based on the namespaces of the Sequences
            coreConstraintsSchema = CoreConstraints.fromElementNamespaces(sequenceNamespaces);

            // If all else fails, assume the minimum version applicable to this CPL version
            if (coreConstraintsSchema == null)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



