code: static String getInterfaceSignature(String[] interfaces, String apiName) {
          StringBuilder signature = new StringBuilder("<T::L" + XsdSupportingStructure.elementType + "<TT;TZ;>;Z::" + XsdSupportingStructure.elementTypeDesc + ">" + JAVA_OBJECT_DESC);
  
          if (interfaces != null){
              for (String anInterface : interfaces) {
                  signature.append("L")
                          .append(getFullClassTypeName(anInterface, apiName))
                          .append("<TT;TZ;>;");
              }
          }
  
          return signature.toString();
      }
docs: Obtains the interface signature for a interface.
  @param interfaces The extended interfaces.
  @param apiName The name of the generated fluent interface.
  @return The interface signature.