/**
   * setArgStringValue purpose.
   *
   * <p>Stores a human friendly version.
   *
   * @param name
   * @param value
   * @return
   */
  public boolean addArgStringValue(String name, String value) {
    PropertyDescriptor pd = getPropertyDescriptor(name);

    if (pd == null) {
      return false;
    }

    if ((value == null) || value.equals("")) {
      args.remove(name);

      return false;
    }

    Class cl = pd.getPropertyType();
    ArgumentConfig ac = new ArgumentConfig();
    ac.setName(name);

    try {
      String argType = ArgHelper.getArgumentType(cl);
      ac.setValue(ArgHelper.getArgumentInstance(argType, value));
    } catch (ValidationException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();

      return false;
    }

    args.put(name, ac);

    return true;
  }
  /**
   * setArgStringValue purpose.
   *
   * <p>Stores a human friendly version
   *
   * @param name
   * @param value
   * @return
   */
  public boolean setArgValue(String name, Object value) {
    if ((value == null) || value.equals("")) {
      args.remove(name);

      return true;
    }

    ArgumentConfig ac = (ArgumentConfig) args.get(name);

    if (ac == null) {
      ac = new ArgumentConfig();
      ac.setName(name);
      args.put(name, ac);
    }

    if (ac.isFinal()) {
      throw new IllegalArgumentException("Cannot include final arguments as part of a test.");
    }

    ac.setValue(value);

    return true;
  }