code: private static Element getCobolXsdAnnotations(XmlSchemaElement xsdElement) {
          XmlSchemaAnnotation annotation = xsdElement.getAnnotation();
          if (annotation == null || annotation.getItems().size() == 0) {
              throw new IllegalArgumentException("Xsd element of type "
                      + xsdElement.getSchemaType().getQName()
                      + " at line " + xsdElement.getLineNumber()
                      + " does not have COBOL annotations");
          }
  
          XmlSchemaAppInfo appinfo = (XmlSchemaAppInfo) annotation.getItems()
                  .get(0);
          if (appinfo.getMarkup() == null) {
              throw new IllegalArgumentException("Xsd element of type "
                      + xsdElement.getSchemaType().getQName()
                      + " does not have any markup in its annotations");
          }
          Node node = null;
          boolean found = false;
          for (int i = 0; i < appinfo.getMarkup().getLength(); i++) {
              node = appinfo.getMarkup().item(i);
              if (node instanceof Element
                      && node.getLocalName().equals(CobolMarkup.ELEMENT)
                      && node.getNamespaceURI().equals(CobolMarkup.NS)) {
                  found = true;
                  break;
              }
          }
          if (!found) {
              throw new IllegalArgumentException("Xsd element of type "
                      + xsdElement.getSchemaType().getQName()
                      + " at line " + xsdElement.getLineNumber()
                      + " does not have any COBOL annotations");
          }
          return (Element) node;
      }
docs: XSD elements are annotated with COBOL markup that we extract here.
  
  @param xsdElement the XSD element
  @return the COBOL markup