/**
   * @param element
   * @param container
   * @param simulationData
   */
  public AddSimulationDataWizardPage(
      SimulationDataContainer element, SimulationData simulationData) {
    super("add simulation data");
    this.element = element;
    data = simulationData;
    setTitle(Messages.AddSimulationDataWizardPage_title);
    this.setMessage(Messages.AddSimulationDataWizardPage_msg);
    setImageDescriptor(Pics.getWizban());
    if (data != null) {
      dataClass = data.eClass();
      dataDescription = data.getDescription();
      dataName = data.getName();
      if (data.getExpression() == null) {
        dataExpression = ExpressionFactory.eINSTANCE.createExpression();
      } else {
        dataExpression = EcoreUtil.copy(data.getExpression());
      }

      setExpressionBased(data.isExpressionBased());

      if (data instanceof SimulationBoolean) {
        probabilityOfTrue = ((SimulationBoolean) data).getProbabilityOfTrue();
      }
      if (data instanceof SimulationNumberData) {
        for (SimulationNumberRange range : ((SimulationNumberData) data).getRanges()) {
          ranges.add(EcoreUtil.copy(range));
        }
      }
      if (data instanceof SimulationLiteralData) {
        for (SimulationLiteral literal : ((SimulationLiteralData) data).getLiterals()) {
          literals.add(EcoreUtil.copy(literal));
        }
      }
    } else {
      dataExpression = ExpressionFactory.eINSTANCE.createExpression();
      dataName = generateDataName();
    }
  }