docs: @SuppressWarnings({ "checkstyle:parameternumber" })
  	protected boolean generateTypeDeclaration(
  			String fullyQualifiedName,
  			String name, boolean isAbstract,
  			List<? extends JvmTypeReference> superTypes,
  			String comment,
  			boolean ignoreObjectType, List<? extends XtendMember> members, PyAppendable it,
  			IExtraLanguageGeneratorContext context, Procedure2<? super PyAppendable, ? super IExtraLanguageGeneratorContext> memberGenerator) {
  		if (!Strings.isEmpty(name)) {
  			if (!generatePythonClassDeclaration(name, isAbstract, superTypes, comment, ignoreObjectType, it, context)
  				|| context.getCancelIndicator().isCanceled()) {
  				return false;
  			}
  			//
  			it.openScope();
  			//
  			if (!generateSarlMembers(members, it, context)
  				|| context.getCancelIndicator().isCanceled()) {
  				return false;
  			}
  			//
  			if (memberGenerator != null) {
  				memberGenerator.apply(it,  context);
  			}
  			//
  			if (!generatePythonConstructors(fullyQualifiedName, members, it, context)
  				|| context.getCancelIndicator().isCanceled()) {
  				return false;
  			}
  			//
  			it.decreaseIndentation().newLine().newLine();
  			//
  			it.closeScope();
  			//
  			if (context.getCancelIndicator().isCanceled()) {
  				return false;
  			}
  			return true;
  		}
  		return false;
  	}