code: private static TupleCombiner asCombiner( JsonObject json)
      {
      try
        {
        TupleCombiner tupleCombiner = new TupleCombiner();
  
        Optional.ofNullable( json.getJsonNumber( TUPLES_KEY))
          .ifPresent( n -> tupleCombiner.setTupleSize( n.intValue()));
  
        Optional.ofNullable( json.getJsonArray( INCLUDE_KEY))
          .map( includes -> includes.getValuesAs( JsonString.class).stream())
          .orElse( Stream.empty())
          .map( JsonString::getString)
          .forEach( var -> {
            try
              {
              try
                {
                tupleCombiner.addIncludedVar( var);
                }
              catch( Exception e)
                {
                throw new GeneratorSetException( e.getMessage());
                }
              }
            catch( Exception e)
              {
              throw new GeneratorSetException( "Error defining included variables", e);
              }
            });
  
        Optional.ofNullable( json.getJsonArray( EXCLUDE_KEY))
          .map( excludes -> excludes.getValuesAs( JsonString.class).stream())
          .orElse( Stream.empty())
          .map( JsonString::getString)
          .forEach( var -> {
            try
              {
              try
                {
                tupleCombiner.addExcludedVar( var);
                }
              catch( Exception e)
                {
                throw new GeneratorSetException( e.getMessage());
                }
              }
            catch( Exception e)
              {
              throw new GeneratorSetException( "Error defining excluded variables", e);
              }
            });
  
        Optional.ofNullable( json.getJsonArray( ONCE_KEY))
          .map( onceTuples -> onceTuples.getValuesAs( JsonObject.class).stream())
          .orElse( Stream.empty())
          .forEach( onceTuple -> {
            try
              {
              try
                {
                tupleCombiner.addOnceTuple( asTupleRef( onceTuple));
                }
              catch( Exception e)
                {
                throw new GeneratorSetException( e.getMessage());
                }
              }
            catch( Exception e)
              {
              throw new GeneratorSetException( "Error defining once tuples", e);
              }
            });
  
  
        return tupleCombiner;
        }
      catch( GeneratorSetException e)
        {
        throw new GeneratorSetException( "Error defining combiner", e);
        }
      }
docs: Returns the combiner represented by the given JSON object.