@Override
  public T getValue() throws Exception {
    final Matcher matcher = myPattern.matcher(myTf.getText());
    if (!matcher.matches()) {
      throw new Exception("Incorrect dimension format");
    }

    Class[] paramTypes = new Class[myMinValues.length];
    Integer[] params = new Integer[myMinValues.length];
    for(int i=0; i<myMinValues.length; i++) {
      paramTypes [i] = int.class;
      final int value = Integer.parseInt(matcher.group(i + 1));
      if (value < myMinValues [i]) {
        throw new RuntimeException(UIDesignerBundle.message("error.value.should.not.be.less", myMinValues [i]));
      }
      params [i] = value;
    }

    return myValueClass.getConstructor(paramTypes).newInstance((Object[])params);
  }
@Override
  public T getValue()