@Override
 public void clearGui() {
   super.clearGui();
   functionalMode.setSelected(false);
   serializedMode.setSelected(false);
   tearDownOnShutdown.setSelected(false);
   argsPanel.clear();
   browseJar.clearFiles();
 }
 /* Implements JMeterGUIComponent.modifyTestElement(TestElement) */
 @Override
 public void modifyTestElement(TestElement plan) {
   super.configureTestElement(plan);
   if (plan instanceof TestPlan) {
     TestPlan tp = (TestPlan) plan;
     tp.setFunctionalMode(functionalMode.isSelected());
     tp.setTearDownOnShutdown(tearDownOnShutdown.isSelected());
     tp.setSerialized(serializedMode.isSelected());
     tp.setUserDefinedVariables((Arguments) argsPanel.createTestElement());
     tp.setTestPlanClasspathArray(browseJar.getFiles());
   }
 }
 /**
  * A newly created component can be initialized with the contents of a Test Element object by
  * calling this method. The component is responsible for querying the Test Element object for the
  * relevant information to display in its GUI.
  *
  * @param el the TestElement to configure
  */
 @Override
 public void configure(TestElement el) {
   super.configure(el);
   if (el instanceof TestPlan) {
     TestPlan tp = (TestPlan) el;
     functionalMode.setSelected(tp.isFunctionalMode());
     serializedMode.setSelected(tp.isSerialized());
     tearDownOnShutdown.setSelected(tp.isTearDownOnShutdown());
     final JMeterProperty udv = tp.getUserDefinedVariablesAsProperty();
     if (udv != null) {
       argsPanel.configure((Arguments) udv.getObjectValue());
     }
     browseJar.setFiles(tp.getTestPlanClasspathArray());
   }
 }