Java Bindings: CreatedEvent and ExercisedEvent: witnessParties is a List<String> vs signatories/observers is Set<String>

Noticing that in the java bindings there is the witnessParties List vs the signatories and observer fields are Set

public final class CreatedEvent implements Event, TreeEvent {
    private final @NonNull List<@NonNull String> witnessParties;
    private final String eventId;
    private final Identifier templateId;
    private final String contractId;
    private final DamlRecord arguments;
    private final Optional<String> agreementText;
    private final Optional<Value> contractKey;
    private final @NonNull Set<@NonNull String> signatories;
    private final @NonNull Set<@NonNull String> observers;
...

Is there a scenario where witnessParties would have duplicates or the order of the parties in the list is an indicator of something?

Thanks

There is no reason for this being a list, it could also be a set.

Thanks!