docs: public void showDataIOEditor(final String taskName,
                                   final String datainput,
                                   final String datainputset,
                                   final String dataoutput,
                                   final String dataoutputset,
                                   final String processvars,
                                   final String assignments,
                                   final String datatypes,
                                   final String disallowedpropertynames,
                                   final String customassignmentproperties,
                                   final JavaScriptObject jscallback) {
  
          //getDataIOEditorData("{ \"a\":\"hello\" }", jscallback);
          final DesignerPresenter dp = this;
          activityDataIOEditor.setCallback(
                  new ActivityDataIOEditor.GetDataCallback() {
                      @Override
                      public void getData(String data) {
                          dp.getDataIOEditorData(data,
                                                 jscallback);
                      }
                  }
          );
  
          String inputvars = null;
          boolean hasInputVars = false;
          boolean isSingleInputVar = false;
          if (datainput != null) {
              inputvars = datainput;
              hasInputVars = true;
              isSingleInputVar = true;
          }
          if (datainputset != null) {
              inputvars = datainputset;
              hasInputVars = true;
              isSingleInputVar = false;
          }
  
          String outputvars = null;
          boolean hasOutputVars = false;
          boolean isSingleOutputVar = false;
          if (dataoutput != null) {
              outputvars = dataoutput;
              hasOutputVars = true;
              isSingleOutputVar = true;
          }
          if (dataoutputset != null) {
              outputvars = dataoutputset;
              hasOutputVars = true;
              isSingleOutputVar = false;
          }
  
          AssignmentData assignmentData = new AssignmentData(inputvars,
                                                             outputvars,
                                                             processvars,
                                                             assignments,
                                                             datatypes,
                                                             disallowedpropertynames,
                                                             customassignmentproperties);
          assignmentData.setVariableCountsString(hasInputVars,
                                                 isSingleInputVar,
                                                 hasOutputVars,
                                                 isSingleOutputVar);
          activityDataIOEditor.setAssignmentData(assignmentData);
          activityDataIOEditor.setDisallowedPropertyNames(assignmentData.getDisallowedPropertyNames());
          activityDataIOEditor.setInputAssignmentRows(assignmentData.getAssignmentRows(Variable.VariableType.INPUT));
          activityDataIOEditor.setOutputAssignmentRows(assignmentData.getAssignmentRows(Variable.VariableType.OUTPUT));
          activityDataIOEditor.setDataTypes(assignmentData.getDataTypes(),
                                            assignmentData.getDataTypeDisplayNames());
          activityDataIOEditor.setProcessVariables(assignmentData.getProcessVariableNames());
          activityDataIOEditor.setCustomAssignmentsProperties(assignmentData.getCustomAssignmentProperties());
  
          activityDataIOEditor.configureDialog(taskName,
                                               hasInputVars,
                                               isSingleInputVar,
                                               hasOutputVars,
                                               isSingleOutputVar);
          activityDataIOEditor.show();
      }