code: public AppiumServiceBuilder withArgument(ServerArgument argument, String value) {
          String argName = argument.getArgument().trim().toLowerCase();
          if ("--port".equals(argName) || "-p".equals(argName)) {
              usingPort(Integer.valueOf(value));
          } else if ("--address".equals(argName) || "-a".equals(argName)) {
              withIPAddress(value);
          } else if ("--log".equals(argName) || "-g".equals(argName)) {
              withLogFile(new File(value));
          } else {
              serverArguments.put(argName, value);
          }
          return this;
      }
docs: Adds a server argument.
  
  @param argument is an instance which contains the argument name.
  @param value    A non null string value. (Warn!!!) Boolean arguments have a special moment:
  the presence of an arguments means "true". At this case an empty string
  should be defined.
  @return the self-reference.