code: function (sqlContext, logical) {
          var jvmObject;
          if (arguments[0] instanceof org.apache.spark.sql.execution.QueryExecution) {
              var jvmObject = arguments[0];
          } else {
              jvmObject = new org.apache.spark.sql.execution.QueryExecution(Utils.unwrapObject(sqlContext), Utils.unwrapObject(logical));
          }
  
          JavaWrapper.call(this, jvmObject);
  
      }
docs: The primary workflow for executing relational queries using Spark.  Designed to allow easy
  access to the intermediate phases of query execution for developers.
  
  While this is not a public class, we should avoid changing the function names for the sake of
  changing them, because a lot of developers use the feature for debugging.
  @classdesc
   
  @param {module:eclairjs/sql.SQLContext} sqlContext
  @param {LogicalPlan} logical
  
  @class
  @memberof module:eclairjs/sql/execution