code: @SuppressWarnings("unchecked")
      private static <T> List<T> parseSetOf(BerDataValue container, Class<T> elementClass)
              throws Asn1DecodingException {
          List<T> result = new ArrayList<>();
          BerDataValueReader elementsReader = container.contentsReader();
          while (true) {
              BerDataValue dataValue;
              try {
                  dataValue = elementsReader.readDataValue();
              } catch (BerDataValueFormatException e) {
                  throw new Asn1DecodingException("Malformed data value", e);
              }
              if (dataValue == null) {
                  break;
              }
              T element;
              if (ByteBuffer.class.equals(elementClass)) {
                  element = (T) dataValue.getEncodedContents();
              } else if (Asn1OpaqueObject.class.equals(elementClass)) {
                  element = (T) new Asn1OpaqueObject(dataValue.getEncoded());
              } else {
                  element = parse(dataValue, elementClass);
              }
              result.add(element);
          }
          return result;
      }
docs: of elements -- it's an unordered collection.