code: private void createSequenceClasses(XsdAbstractElement sequenceElement, ClassWriter classWriter, String className, String typeName, String nextTypeName, String apiName, boolean isFirst){
          List<XsdElement> elements = null;
  
          if (sequenceElement instanceof XsdElement) {
              elements = Collections.singletonList((XsdElement) sequenceElement);
          }
  
          if (sequenceElement instanceof XsdGroup || sequenceElement instanceof XsdChoice || sequenceElement instanceof XsdAll) {
              elements = getAllElementsRecursively(sequenceElement);
          }
  
          if (elements != null){
              if (isFirst){
                  createFirstSequenceInterface(classWriter, className, nextTypeName, apiName, elements);
              } else {
                  createElementsForSequence(className, typeName, nextTypeName, apiName, elements);
              }
          }
      }
docs: Creates classes and methods required to implement the sequence.
  @param sequenceElement The current sequence element.
  @param classWriter The {@link ClassWriter} of the first class, which contains the sequence.
  @param className The name of the class which contains the sequence.
  @param typeName The current sequence element type name.
  @param nextTypeName The next sequence element type name.
  @param apiName The name of the generated fluent interface.
  @param isFirst Indication if this is the first element of the sequence.