public void propertyChange(PropertyChangeEvent evt) {
    if (!updatingSource && evt.getPropertyName().equals(WsdlPropertiesTestStep.SOURCE_PROPERTY)) {
      sourceField.setText(evt.getNewValue().toString());
    } else if (!updatingTarget
        && evt.getPropertyName().equals(WsdlPropertiesTestStep.TARGET_PROPERTY)) {
      targetField.setText(evt.getNewValue().toString());
    }

    super.propertyChange(evt);
  }
  public void propertyChange(PropertyChangeEvent evt) {
    super.propertyChange(evt);

    if (evt.getPropertyName().equals(WsdlRunTestCaseTestStep.TARGET_TESTCASE)) {
      WsdlTestCase targetTestCase = (WsdlTestCase) evt.getOldValue();
      if (targetTestCase != null) {
        targetTestCase.removePropertyChangeListener(WsdlTestCase.NAME_PROPERTY, this);
        targetTestCase
            .getTestSuite()
            .removePropertyChangeListener(WsdlTestCase.NAME_PROPERTY, this);
      }

      targetTestCase = (WsdlTestCase) evt.getNewValue();
      if (targetTestCase != null) {
        targetTestCase.addPropertyChangeListener(WsdlTestCase.NAME_PROPERTY, this);
        targetTestCase.getTestSuite().addPropertyChangeListener(WsdlTestCase.NAME_PROPERTY, this);
      }
    }

    setEnabledState();
    titledBorder.setTitle(createTitleForBorder());
    repaint();
  }