code: def configure_resultproducer(self):
          
          rproducer = javabridge.make_instance("weka/experiment/RandomSplitResultProducer", "()V")
          javabridge.call(rproducer, "setRandomizeData", "(Z)V", not self.preserve_order)
          javabridge.call(rproducer, "setTrainPercent", "(D)V", self.percentage)
          speval, classifier = self.configure_splitevaluator()
          javabridge.call(rproducer, "setSplitEvaluator", "(Lweka/experiment/SplitEvaluator;)V", speval)
          prop_path = javabridge.get_env().make_object_array(
              2, javabridge.get_env().find_class("weka/experiment/PropertyNode"))
          cls = javabridge.get_env().find_class("weka/experiment/RandomSplitResultProducer")
          desc = javabridge.make_instance(
              "java/beans/PropertyDescriptor", "(Ljava/lang/String;Ljava/lang/Class;)V", "splitEvaluator", cls)
          node = javabridge.make_instance(
              "weka/experiment/PropertyNode", "(Ljava/lang/Object;Ljava/beans/PropertyDescriptor;Ljava/lang/Class;)V",
              speval, desc, cls)
          javabridge.get_env().set_object_array_element(prop_path, 0, node)
          cls = javabridge.get_env().get_object_class(speval)
          desc = javabridge.make_instance(
              "java/beans/PropertyDescriptor", "(Ljava/lang/String;Ljava/lang/Class;)V", "classifier", cls)
          node = javabridge.make_instance(
              "weka/experiment/PropertyNode", "(Ljava/lang/Object;Ljava/beans/PropertyDescriptor;Ljava/lang/Class;)V",
              javabridge.call(speval, "getClass", "()Ljava/lang/Class;"), desc, cls)
          javabridge.get_env().set_object_array_element(prop_path, 1, node)
  
          return rproducer, prop_path
docs: Configures and returns the ResultProducer and PropertyPath as tuple.
  
          :return: producer and property path
          :rtype: tuple