Repository: appium/java-client
Issue: Not able to build project locally

@TikhomirovSergey i was unable to build the project locally. I cloned the java_client and ran the the command 

```
mvn clean install -Dmaven.test.skip=true
```

 Please check the gist for errors.

https://gist.github.com/saikrishna321/03f85f7bfce8d2199f7d

More Info:

```
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T17:27:37+05:30)
Maven home: /usr/local/Cellar/maven/3.3.3/libexec
Java version: 1.8.0_51, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.4", arch: "x86_64", family: "mac"

```


Changed files:
src/main/java/io/appium/java_client/android/StartsActivity.java, src/main/java/io/appium/java_client/pagefactory/bys/builder/AppiumByBuilder.java, src/main/java/io/appium/java_client/service/local/flags/AndroidServerFlag.java, src/main/java/io/appium/java_client/service/local/flags/IOSServerFlag.java, src/main/java/io/appium/java_client/ios/IOSDriver.java, src/main/java/io/appium/java_client/android/AndroidDriver.java, src/main/java/io/appium/java_client/ScrollsTo.java, src/main/java/io/appium/java_client/pagefactory/OverrideWidget.java, src/main/java/io/appium/java_client/service/local/AppiumServiceBuilder.java, src/main/java/io/appium/java_client/pagefactory/AppiumFieldDecorator.java, src/main/java/io/appium/java_client/TouchShortcuts.java, src/main/java/io/appium/java_client/service/local/flags/GeneralServerFlag.java, src/main/java/io/appium/java_client/AppiumDriver.java, src/main/java/io/appium/java_client/NetworkConnectionSetting.java, src/main/java/io/appium/java_client/NoSuchContextException.java

diff --git a/src/main/java/io/appium/java_client/AppiumDriver.java b/src/main/java/io/appium/java_client/AppiumDriver.java
index 3b5c6b62..aad34a91 100644
--- a/src/main/java/io/appium/java_client/AppiumDriver.java
+++ b/src/main/java/io/appium/java_client/AppiumDriver.java
@@ -42,14 +42,13 @@ import static io.appium.java_client.MobileCommand.*;
 import org.openqa.selenium.remote.http.HttpClient;
 
 /**
- * @param <RequiredElementType> means the required type from the list of allowed types below 
- * that implement {@link WebElement} Instances of the defined type will be 
- * returned via findElement* and findElements*. 
- * Warning (!!!). Allowed types:<br/>
- * {@link WebElement}<br/>
- * {@link TouchableElement}<br/>
- * {@link RemoteWebElement}<br/>
- * {@link MobileElement} and its subclasses that designed specifically for each target mobile OS (still Android and iOS)
+ * @param <RequiredElementType> the required type of class which implement {@link org.openqa.selenium.WebElement}.
+ * Instances of the defined type will be returned via findElement* and findElements*.
+ * Warning (!!!). Allowed types:
+ * {@link org.openqa.selenium.WebElement}
+ * {@link io.appium.java_client.TouchableElement}
+ * {@link org.openqa.selenium.remote.RemoteWebElement}
+ * {@link io.appium.java_client.MobileElement} and its subclasses that designed specifically for each target mobile OS (still Android and iOS)
  */
 @SuppressWarnings("unchecked")
 public abstract class AppiumDriver<RequiredElementType extends WebElement> extends DefaultGenericMobileDriver<RequiredElementType> {
diff --git a/src/main/java/io/appium/java_client/NetworkConnectionSetting.java b/src/main/java/io/appium/java_client/NetworkConnectionSetting.java
index 4529d043..5f4c1d0f 100644
--- a/src/main/java/io/appium/java_client/NetworkConnectionSetting.java
+++ b/src/main/java/io/appium/java_client/NetworkConnectionSetting.java
@@ -44,7 +44,7 @@ public class NetworkConnectionSetting {
 
   /**
    * Instantiate Network Connection Settings with the straight-up bitmask. See the Mobile JSON Wire Protocol spec for details.
-   * @param bitmask
+   * @param bitmask a straight-up bitmask
    */
   public NetworkConnectionSetting(int bitmask) {
     value = bitmask;
diff --git a/src/main/java/io/appium/java_client/NoSuchContextException.java b/src/main/java/io/appium/java_client/NoSuchContextException.java
index 0b9e2cf4..ae7217ad 100644
--- a/src/main/java/io/appium/java_client/NoSuchContextException.java
+++ b/src/main/java/io/appium/java_client/NoSuchContextException.java
@@ -18,10 +18,6 @@ package io.appium.java_client;
 
 import org.openqa.selenium.NotFoundException;
 
-/**
- * Thrown by {@link org.openqa.selenium.WebDriver.TargetLocator#context(String) WebDriver.switchTo().context(String
- * name)}.
- */
 @SuppressWarnings("serial")
 public class NoSuchContextException extends NotFoundException {
 
diff --git a/src/main/java/io/appium/java_client/ScrollsTo.java b/src/main/java/io/appium/java_client/ScrollsTo.java
index 15a56ffd..dd37be11 100644
--- a/src/main/java/io/appium/java_client/ScrollsTo.java
+++ b/src/main/java/io/appium/java_client/ScrollsTo.java
@@ -22,13 +22,16 @@ public interface ScrollsTo<T extends WebElement> {
 
     /**
     * Scroll to an element which contains the given text.
-    * @param text
+    * @param text description or text of an element scroll to
+    *
+    * @return an element that matches
     */
     T scrollTo(String text);
 
     /**
     * Scroll to an element with the given text.
-    * @param text
+    * @param text description or text of an element scroll to
+    * @return an element that matches
     */
     T scrollToExact(String text);
 
diff --git a/src/main/java/io/appium/java_client/TouchShortcuts.java b/src/main/java/io/appium/java_client/TouchShortcuts.java
index e0359d01..92e4c715 100644
--- a/src/main/java/io/appium/java_client/TouchShortcuts.java
+++ b/src/main/java/io/appium/java_client/TouchShortcuts.java
@@ -54,7 +54,7 @@ public interface TouchShortcuts {
      *            x coordinate
      * @param y
      *            y coordinate
-     * @param duration
+     * @param duration how long between pressing down, and lifting fingers/appendages
      */
     void tap(int fingers, int x, int y, int duration);
 
diff --git a/src/main/java/io/appium/java_client/android/AndroidDriver.java b/src/main/java/io/appium/java_client/android/AndroidDriver.java
index 15351b8f..558624bd 100644
--- a/src/main/java/io/appium/java_client/android/AndroidDriver.java
+++ b/src/main/java/io/appium/java_client/android/AndroidDriver.java
@@ -54,15 +54,14 @@ import static io.appium.java_client.remote.MobileCapabilityType.DONT_STOP_APP_ON
 import org.openqa.selenium.remote.http.HttpClient;
 
 /**
- * @param <RequiredElementType> means the required type from the list of allowed types below 
- * that implement {@link WebElement} Instances of the defined type will be 
- * returned via findElement* and findElements*. 
- * Warning (!!!). Allowed types:<br/>
- * {@link WebElement}<br/>
- * {@link TouchableElement}<br/>
- * {@link RemoteWebElement}<br/>
- * {@link MobileElement}
- * {@link AndroidElement}
+ * @param <RequiredElementType> the required type of class which implement {@link org.openqa.selenium.WebElement}.
+ * Instances of the defined type will be returned via findElement* and findElements*.
+ * Warning (!!!). Allowed types:
+ * {@link org.openqa.selenium.WebElement}
+ * {@link io.appium.java_client.TouchableElement}
+ * {@link org.openqa.selenium.remote.RemoteWebElement}
+ * {@link io.appium.java_client.MobileElement}
+ * {@link io.appium.java_client.android.AndroidElement}
  */
 public class AndroidDriver<RequiredElementType extends WebElement> extends AppiumDriver<RequiredElementType> implements
         AndroidDeviceActionShortcuts, HasNetworkConnection, PushesFiles,
@@ -126,11 +125,6 @@ public class AndroidDriver<RequiredElementType extends WebElement> extends Appiu
         this.setElementConverter(new JsonToAndroidElementConverter(this));
     }
 
-  /**
-   * Scroll forward to the element which has a description or name which contains the input text.
-   * The scrolling is performed on the first scrollView present on the UI
-   * @param text
-   */
   @Override
   public RequiredElementType scrollTo(String text) {
     String uiScrollables = UiScrollable("new UiSelector().descriptionContains(\\"" + text + "\\")") +
@@ -138,11 +132,6 @@ public class AndroidDriver<RequiredElementType extends WebElement> extends Appiu
     return findElementByAndroidUIAutomator(uiScrollables);
   }
 
-  /**
-   * Scroll forward to the element which has a description or name which exactly matches the input text.
-   * The scrolling is performed on the first scrollView present on the UI
-   * @param text
-   */
   @Override
   public RequiredElementType scrollToExact(String text) {
     String uiScrollables = UiScrollable("new UiSelector().description(\\"" + text + "\\")") +
@@ -268,8 +257,6 @@ public class AndroidDriver<RequiredElementType extends WebElement> extends Appiu
      *            Automation will begin after this activity starts. [Optional]
      * @param stopApp
      * 			  If true, target app will be stopped. [Optional]
-     * @example driver.startActivity("com.foo.bar", ".MyActivity", null, null, true);
-     *
      * @see StartsActivity#startActivity(String, String, String, String)
      */
     public void startActivity(String appPackage, String appActivity,
@@ -303,8 +290,6 @@ public class AndroidDriver<RequiredElementType extends WebElement> extends Appiu
      *            Automation will begin after this package starts. [Optional]
      * @param appWaitActivity
      *            Automation will begin after this activity starts. [Optional]
-     * @example driver.startActivity("com.foo.bar", ".MyActivity", null, null);
-     *
      * @see StartsActivity#startActivity(String, String, String, String)
      */
     public void startActivity(String appPackage, String appActivity,
@@ -317,8 +302,6 @@ public class AndroidDriver<RequiredElementType extends WebElement> extends Appiu
     /**
      * @param appPackage The package containing the activity. [Required]
      * @param appActivity The activity to start. [Required]
-     * @example
-     * *.startActivity("com.foo.bar", ".MyActivity");
      * @see StartsActivity#startActivity(String, String)
      */
     @Override
@@ -343,6 +326,7 @@ public class AndroidDriver<RequiredElementType extends WebElement> extends Appiu
 
     /**
      * Get the current activity being run on the mobile device
+     * @return a current activity being run on the mobile device
      */
     public String currentActivity() {
         Response response = execute(CURRENT_ACTIVITY);
diff --git a/src/main/java/io/appium/java_client/android/StartsActivity.java b/src/main/java/io/appium/java_client/android/StartsActivity.java
index ebb0b211..c93e7498 100644
--- a/src/main/java/io/appium/java_client/android/StartsActivity.java
+++ b/src/main/java/io/appium/java_client/android/StartsActivity.java
@@ -26,8 +26,6 @@ public interface StartsActivity {
        * @param appWaitPackage Automation will begin after this package starts. [Optional]
        * @param appWaitActivity Automation will begin after this activity starts. [Optional]
        * @param stopApp If true, target app will be stopped. [Optional]
-       * @example
-       * *.startActivity("com.foo.bar", ".MyActivity", null, null, true);
        */
     void startActivity(String appPackage, String appActivity, String appWaitPackage, String appWaitActivity,
                        boolean stopApp) throws IllegalArgumentException;
@@ -40,8 +38,6 @@ public interface StartsActivity {
        * @param appActivity The activity to start. [Required]
        * @param appWaitPackage Automation will begin after this package starts. [Optional]
        * @param appWaitActivity Automation will begin after this activity starts. [Optional]
-       * @example
-       * *.startActivity("com.foo.bar", ".MyActivity", null, null);
        */
     void startActivity(String appPackage, String appActivity, String appWaitPackage, String appWaitActivity)
                                                                                       throws IllegalArgumentException;
@@ -52,8 +48,6 @@ public interface StartsActivity {
        *
        * @param appPackage The package containing the activity. [Required]
        * @param appActivity The activity to start. [Required]
-       * @example
-       * *.startActivity("com.foo.bar", ".MyActivity");
        */
     void startActivity(String appPackage, String appActivity)
               throws IllegalArgumentException;	  
diff --git a/src/main/java/io/appium/java_client/ios/IOSDriver.java b/src/main/java/io/appium/java_client/ios/IOSDriver.java
index 7d2adc26..5f0a48dd 100644
--- a/src/main/java/io/appium/java_client/ios/IOSDriver.java
+++ b/src/main/java/io/appium/java_client/ios/IOSDriver.java
@@ -38,15 +38,14 @@ import static io.appium.java_client.MobileCommand.*;
 import org.openqa.selenium.remote.http.HttpClient;
 
 /**
- * @param <RequiredElementType> means the required type from the list of allowed types below 
- * that implement {@link WebElement} Instances of the defined type will be 
- * returned via findElement* and findElements*. 
- * Warning (!!!). Allowed types:<br/>
- * {@link WebElement}<br/>
- * {@link TouchableElement}<br/>
- * {@link RemoteWebElement}<br/>
- * {@link MobileElement}
- * {@link IOSElement}
+ * @param <RequiredElementType> the required type of class which implement {@link org.openqa.selenium.WebElement}.
+ * Instances of the defined type will be returned via findElement* and findElements*.
+ * Warning (!!!). Allowed types:
+ * {@link org.openqa.selenium.WebElement}
+ * {@link io.appium.java_client.TouchableElement}
+ * {@link org.openqa.selenium.remote.RemoteWebElement}
+ * {@link io.appium.java_client.MobileElement}
+ * {@link io.appium.java_client.ios.IOSElement}
  */
 public class IOSDriver<RequiredElementType extends WebElement> extends AppiumDriver<RequiredElementType> implements IOSDeviceActionShortcuts, GetsNamedTextField<RequiredElementType>, 
 FindsByIosUIAutomation<RequiredElementType>{
diff --git a/src/main/java/io/appium/java_client/pagefactory/AppiumFieldDecorator.java b/src/main/java/io/appium/java_client/pagefactory/AppiumFieldDecorator.java
index e75901de..30ee14a8 100644
--- a/src/main/java/io/appium/java_client/pagefactory/AppiumFieldDecorator.java
+++ b/src/main/java/io/appium/java_client/pagefactory/AppiumFieldDecorator.java
@@ -47,7 +47,7 @@ import static io.appium.java_client.pagefactory.utils.WebDriverUnpackUtility.unp
 
 /**
  * Default decorator for use with PageFactory. Will decorate 1) all of the
- * WebElement fields and 2) List<WebElement> fields that have
+ * WebElement fields and 2) List of WebElement that have
  * {@literal @AndroidFindBy}, {@literal @AndroidFindBys}, or
  * {@literal @iOSFindBy/@iOSFindBys} annotation with a proxy that locates the
  * elements using the passed in ElementLocatorFactory.
diff --git a/src/main/java/io/appium/java_client/pagefactory/OverrideWidget.java b/src/main/java/io/appium/java_client/pagefactory/OverrideWidget.java
index db48fbf6..44f25da5 100644
--- a/src/main/java/io/appium/java_client/pagefactory/OverrideWidget.java
+++ b/src/main/java/io/appium/java_client/pagefactory/OverrideWidget.java
@@ -39,6 +39,8 @@ public @interface OverrideWidget {
      *
      * A declared class should not be abstract. Declared class also should be a subclass
      * of an annotated class/class which is declared by an annotated field.
+     *
+     * @return a class which extends {@link io.appium.java_client.pagefactory.Widget}
      */
     Class<? extends Widget> html() default Widget.class;
     /**
@@ -46,6 +48,8 @@ public @interface OverrideWidget {
      *
      * A declared class should not be abstract. Declared class also should be a subclass
      * of an annotated class/class which is declared by an annotated field.
+     *
+     * @return a class which extends {@link io.appium.java_client.pagefactory.Widget}
      */
     Class<? extends Widget> androidUIAutomator() default Widget.class;
     /**
@@ -53,6 +57,8 @@ public @interface OverrideWidget {
      *
      * A declared class should not be abstract. Declared class also should be a subclass
      * of an annotated class/class which is declared by an annotated field.
+     *
+     * @return a class which extends {@link io.appium.java_client.pagefactory.Widget}
      */
     Class<? extends Widget> iOSUIAutomation() default Widget.class;
     /**
@@ -60,6 +66,8 @@ public @interface OverrideWidget {
      *
      * A declared class should not be abstract. Declared class also should be a subclass
      * of an annotated class/class which is declared by an annotated field.
+     *
+     * @return a class which extends {@link io.appium.java_client.pagefactory.Widget}
      */
     Class<? extends Widget> selendroid() default Widget.class;
 }
diff --git a/src/main/java/io/appium/java_client/pagefactory/bys/builder/AppiumByBuilder.java b/src/main/java/io/appium/java_client/pagefactory/bys/builder/AppiumByBuilder.java
index 6e7b3ffa..f07c0178 100644
--- a/src/main/java/io/appium/java_client/pagefactory/bys/builder/AppiumByBuilder.java
+++ b/src/main/java/io/appium/java_client/pagefactory/bys/builder/AppiumByBuilder.java
@@ -155,6 +155,9 @@ public abstract class AppiumByBuilder extends AbstractAnnotations {
      * This method should be used for the setting up of
      * AnnotatedElement instances before the building of
      * By-locator strategies
+     *
+     * @param annotated  is an instance of class which type extends
+     *                   {@link java.lang.reflect.AnnotatedElement}
      */
     public void setAnnotated(AnnotatedElement annotated) {
         this.annotatedElementContainer.setAnnotated(annotated);
diff --git a/src/main/java/io/appium/java_client/service/local/AppiumServiceBuilder.java b/src/main/java/io/appium/java_client/service/local/AppiumServiceBuilder.java
index 09bd8ae5..01b0f431 100644
--- a/src/main/java/io/appium/java_client/service/local/AppiumServiceBuilder.java
+++ b/src/main/java/io/appium/java_client/service/local/AppiumServiceBuilder.java
@@ -38,8 +38,8 @@ public final class AppiumServiceBuilder extends DriverService.Builder<AppiumDriv
 
     /**
      * The environmental variable used to define
-     * the path to executable appium.js (node server v<=1.4.x) or
-     * main.js (node server v>=1.5.x)
+     * the path to executable appium.js (1.4.x and lower) or
+     * main.js (1.5.x and higher)
      */
     public static final String APPIUM_PATH = "APPIUM_BINARY_PATH";
 
diff --git a/src/main/java/io/appium/java_client/service/local/flags/AndroidServerFlag.java b/src/main/java/io/appium/java_client/service/local/flags/AndroidServerFlag.java
index 05d7fa13..1ae137be 100644
--- a/src/main/java/io/appium/java_client/service/local/flags/AndroidServerFlag.java
+++ b/src/main/java/io/appium/java_client/service/local/flags/AndroidServerFlag.java
@@ -19,147 +19,122 @@ package io.appium.java_client.service.local.flags;
 /**
 * Here is the list of Android specific server arguments.
 * All flags are optional, but some are required in conjunction with certain others.
-* The full list is available here: {@link http://appium.io/slate/en/master/?ruby#appium-server-arguments}
+* The full list is available here: http://appium.io/slate/en/master/?ruby#appium-server-arguments
 * Android specific arguments are marked by (Android-only)
 */
 public enum AndroidServerFlag implements ServerArgument{
     /**
-     * Port to use on device to talk to Appium<br/>
-     * Sample:<br/>
+     * Port to use on device to talk to Appium. Sample:
      * --bootstrap-port 4724
      */
     BOOTSTRAP_PORT_NUMBER("--bootstrap-port"),
     /**
      * Java package of the Android app you want to run (e.g.,
-     * com.example.android.MyApp)<br/>
-     * Sample:<br/>
+     * com.example.android.MyApp). Sample:
      * --app-pkg com.example.android.MyApp
      */
     PACKAGE("--app-pkg"),
     /**
      * Activity name for the Android activity you want to launch
-     * from your package (e.g., MainActivity)<br/>
-     * Sample:<br/>
+     * from your package (e.g., MainActivity). Sample:
      * --app-activity MainActivity
      */
     ACTIVITY("--app-activity"),
     /**
      * Package name for the Android activity you want to wait for
-     * (e.g., com.example.android.MyApp)<br/>
-     * Sample:<br/>
+     * (e.g., com.example.android.MyApp). Sample:
      * --app-wait-package com.example.android.MyApp
      */
     APP_WAIT_PACKAGE("--app-wait-package"),
     /**
      * Activity name for the Android activity you want to wait
-     * for (e.g., SplashActivity)
-     * Sample:<br/>
+     * for (e.g., SplashActivity). Sample:
      * --app-wait-activity SplashActivity
      */
     APP_WAIT_ACTIVITY("--app-wait-activity"),
     /**
      * Fully qualified instrumentation class.
-     * Passed to -w in adb shell am instrument -e coverage true -w <br/>
-     * Sample: <br/>
+     * Passed to -w in adb shell am instrument -e coverage true -w. Sample:
      * --android-coverage com.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentation
      */
     ANDROID_COVERAGE("--android-coverage"),
     /**
-     * Name of the avd to launch<br/>
-     * Sample:<br/>
+     * Name of the avd to launch. Sample:
      * --avd @default
      */
     AVD("--avd"),
     /**
-     * Additional emulator arguments to launch the avd<br/>
-     * Sample:<br/>
+     * Additional emulator arguments to launch the avd. Sample:
      * --avd-args -no-snapshot-load
      */
     AVD_ARGS("--avd-args"),
     /**
      * Timeout in seconds while waiting for device to become
-     * ready<br/>
-     * Sample:<br/>
+     * ready. Sample:
      * --device-ready-timeout 5
      */
     DEVICE_READY_TIMEOUT("--device-ready-timeout"),
     /**
-     * Local port used for communication with Selendroid<br/>
-     * Sample:<br/>
+     * Local port used for communication with Selendroid. Sample:
      * --selendroid-port 8080
      */
     SELENDROID_PORT("--selendroid-port"),
     /**
-     * When set the keystore will be used to sign apks.<br/>
-     * Default: false
+     * When set the keystore will be used to sign apks. Default: false
      */
     USE_KEY_STORE("--use-keystore"),
     /**
-     * Path to keystore<br/>
-     * Sample:<br/>
+     * Path to keystore. Sample:
      * --keystore-path /Users/user/.android/debug.keystore
      */
     KEY_STORE_PATH("--keystore-path"),
     /**
-     * Password to keystore<br/>
-     * Default: android
+     * Password to keystore. Default: android
      */
     KEY_STORE_PASSWORD("--keystore-password"),
     /**
-     * Key alias<br/>
-     * Default: androiddebugkey
+     * Key alias. Default: androiddebugkey
      */
     KEY_ALIAS("--key-alias"),
     /**
-     * Key password<br/>
-     * Default: android
+     * Key password. Default: android
      */
     KEY_PASSWORD("--key-password"),
     /**
-     * Intent action which will be used to start activity<br/>
-     * Default: android.intent.action.MAIN<br/>
-     * Sample:<br/>
-     * --intent-action android.intent.action.MAIN
+     * Intent action which will be used to start activity. Default:
+     * android.intent.action.MAIN. Sample: --intent-action android.intent.action.MAIN
      */
     INTENT_ACTION("--intent-action"),
     /**
-     * Intent category which will be used to start activity<br/>
-     * Default: android.intent.category.LAUNCHER<br/>
-     * Sample:<br/>
-     * --intent-category android.intent.category.APP_CONTACTS
+     * Intent category which will be used to start activity. Default: android.intent.category.LAUNCHER.
+     * Sample:s --intent-category android.intent.category.APP_CONTACTS
      */
     INTENT_CATEGORY("--intent-category"),
     /**
-     * Flags that will be used to start activity<br/>
-     * Default: 0x10200000<br/>
-     * Sample:<br/>
-     * --intent-flags 0x10200000
+     * Flags that will be used to start activity. Default: 0x10200000.
+     * Sample: --intent-flags 0x10200000
      */
     INTENT_FLAGS("--intent-flags"),
     /**
      * Additional intent arguments that will be used to start
-     * activity<br/>
-     * Default: null<br/>
-     * Sample:<br/>
-     * --intent-args 0x10200000
+     * activity. Default: null.
+     * Sample: --intent-args 0x10200000
      */
     INTENT_ARGUMENTS("--intent-args"),
     /**
      * When included, refrains from stopping the app before
-     * restart<br/>
-     * Default: false<br/>
+     * restart. Default: false
      */
     DO_NOT_STOP_APP_ON_RESET("--dont-stop-app-on-reset"),
     /**
      * If set, prevents Appium from killing the adb server
-     * instance<br/>
-     * Default: false<br/>
+     * instance. Default: false
      */
     SUPPRESS_ADB_KILL_SERVER("--suppress-adb-kill-server");
 
     private final String arg;
 
-    private AndroidServerFlag(String arg) {
+    AndroidServerFlag(String arg) {
         this.arg = arg;
     }
 
diff --git a/src/main/java/io/appium/java_client/service/local/flags/GeneralServerFlag.java b/src/main/java/io/appium/java_client/service/local/flags/GeneralServerFlag.java
index 24e5e428..5c0aeb54 100644
--- a/src/main/java/io/appium/java_client/service/local/flags/GeneralServerFlag.java
+++ b/src/main/java/io/appium/java_client/service/local/flags/GeneralServerFlag.java
@@ -19,7 +19,7 @@ package io.appium.java_client.service.local.flags;
 /**
  * Here is the list of common Appium server arguments.
  * All flags are optional, but some are required in conjunction with certain others.
- * The full list is available here: {@link http://appium.io/slate/en/master/?ruby#appium-server-arguments}
+ * The full list is available here: @link http://appium.io/slate/en/master/?ruby#appium-server-arguments
  */
 public enum GeneralServerFlag implements ServerArgument{
     /**
@@ -27,135 +27,110 @@ public enum GeneralServerFlag implements ServerArgument{
      */
     SHELL("--shell"),
     /**
-     * IOS: abs path to simulator-compiled .app file or the bundle_id of the desired target on device; Android: abs path to .apk file<br/>
-     * Sample <br/>
-     * --app /abs/path/to/my.app
+     * IOS: abs path to simulator-compiled .app file or the bundle_id of the desired target on device; Android: abs path to .apk file.
+     * Sample: --app /abs/path/to/my.app
      */
     APP("--app"),
     /**
-     * Unique device identifier of the connected physical device<br/>
-     * Sample <br/>
+     * Unique device identifier of the connected physical device.
+     * Sample:
      * --udid 1adsf-sdfas-asdf-123sdf
      */
     UIID("--udid"),
     /**
-     * callback IP Address (default: same as address) <br/>
-     * Sample <br/>
-     * --callback-address 127.0.0.1
+     * callback IP Address (default: same as address).
+     * Sample: --callback-address 127.0.0.1
      */
     CALLBACK_ADDRESS("--callback-address"),
     /**
-     * callback port (default: same as port)<br/>
-     * Sample <br/>
-     * --callback-port 4723
+     * callback port (default: same as port).
+     * Sample: --callback-port 4723
      */
     CALLBACK_PORT("--callback-port"),
     /**
-     * Enables session override (clobbering) <br/>
-     * Default: false
+     * Enables session override (clobbering). Default: false
      */
     SESSION_OVERRIDE("--session-override"),
     /**
-     * Don’t reset app state between sessions (IOS: don’t delete app plist files; Android: don’t uninstall app before new session)<br/>
+     * Don’t reset app state between sessions (IOS: don’t delete app plist files; Android: don’t uninstall app before new session).
      * Default: false
      */
     NO_RESET("--no-reset"),
     /**
-     * Pre-launch the application before allowing the first session (Requires –app and, for Android, –app-pkg and –app-activity) <br/>
+     * Pre-launch the application before allowing the first session (Requires –app and, for Android, –app-pkg and –app-activity).
      * Default: false
      */
     PRE_LAUNCH("--pre-launch"),
     /**
-     * The message log level to be shown <br/>
-     * Sample:<br/>
-     * --log-level debug
+     * The message log level to be shown.
+     * Sample: --log-level debug
      */
     LOG_LEVEL("--log-level"),
     /**
-     * Show timestamps in console output <br/>
+     * Show timestamps in console output.
      * Default: false
      */
     LOG_TIMESTAMP("--log-timestamp"),
     /**
-     * Use local timezone for timestamps <br/>
+     * Use local timezone for timestamps.
      * Default: false
      */
     LOCAL_TIMEZONE("--local-timezone"),
     /**
-     * Don’t use colors in console output <br/>
+     * Don’t use colors in console output.
      * Default: false
      */
     LOG_NO_COLORS("--log-no-colors"),
     /**
-     * Also send log output to this HTTP listener <br/>
-     * Sample: <br/>
-     * --webhook localhost:9876
+     * Also send log output to this HTTP listener.
+     * Sample: --webhook localhost:9876
      */
     WEB_HOOK("--webhook"),
     /**
-     * Name of the mobile device to use<br/>
-     * Sample: <br/>
-     * --device-name iPhone Retina (4-inch), Android Emulator
+     * Name of the mobile device to use.
+     * Sample: --device-name iPhone Retina (4-inch), Android Emulator
      */
     DEVICE_NAME("--device-name"),
     /**
-     * Name of the mobile platform: iOS, Android, or FirefoxOS <br/>
-     * Sample:<br/>
-     * --platform-name iOS
+     * Name of the mobile platform: iOS, Android, or FirefoxOS
+     * Sample: --platform-name iOS
      */
     PLATFORM_NAME("--platform-name"),
     /**
-     * Version of the mobile platform <br/>
-     * Sample:<br/>
-     * --platform-version 7.1
+     * Version of the mobile platform. Sample: --platform-version 7.1
      */
     PLATFORM_VERSION("--platform-version"),
     /**
-     * Name of the automation tool: Appium or Selendroid<br/>
-     * Sample:<br/>
-     * --automation-name Appium
+     * Name of the automation tool: Appium or Selendroid. Sample: --automation-name Appium
      */
     AUTOMATION_NAME("--automation-name"),
     /**
-     * Name of the mobile browser: Safari or Chrome<br/>
-     * Sample: <br/>
-     * --browser-name Safari
+     * Name of the mobile browser: Safari or Chrome. Sample: --browser-name Safari
      */
     BROWSER_NAME("--browser-name"),
     /**
-     * Language for the iOS simulator / Android Emulator <br/>
-     * Sample:<br/>
-     * --language en
+     * Language for the iOS simulator / Android Emulator. Sample: --language en
      */
     LANGUAGE("--language"),
     /**
-     * Locale for the iOS simulator / Android Emulator<br/>
-     * Sample:<br/>
-     * --locale en_US
+     * Locale for the iOS simulator / Android Emulator. Sample: --locale en_US
      */
     LOCALE("--locale"),
     /**
-     * Configuration JSON file to register Appium with selenium grid<br/>
-     * Sample:<br/>
+     * Configuration JSON file to register Appium with selenium grid. Sample:
      * --nodeconfig /abs/path/to/nodeconfig.json
      */
     CONFIGURATION_FILE("--nodeconfig"),
     /**
-     * IP Address of robot<br/>
-     * Sample:<br/>
-     * --robot-address 0.0.0.0
+     * IP Address of robot. Sample: --robot-address 0.0.0.0
      */
     ROBOT_ADDRESS("--robot-address"),
     /**
-     * Port for robot<br/>
-     * Sample: <br/>
-     * --robot-port 4242
+     * Port for robot. Sample: --robot-port 4242
      */
     ROBOT_PORT("--robot-port"),
     /**
-     * Port upon which ChromeDriver will run<br/>
-     * Sample:<br/>
-     * --chromedriver-port 9515
+     * Port upon which ChromeDriver will run. Sample: --chromedriver-port 9515
      */
     CHROME_DRIVER_PORT("--chromedriver-port"),
     /**
@@ -163,39 +138,33 @@ public enum GeneralServerFlag implements ServerArgument{
      */
     CHROME_DRIVER_EXECUTABLE("--chromedriver-executable"),
     /**
-     * Show info about the Appium server configuration and exit<br/>
-     * Default: false
+     * Show info about the Appium server configuration and exit. Default: false
      */
     SHOW_CONFIG("--show-config"),
     /**
-     * Bypass Appium’s checks to ensure we can read/write necessary files<br/>
-     * Default: false
+     * Bypass Appium’s checks to ensure we can read/write necessary files. Default: false
      */
     NO_PERMS_CHECKS( "--no-perms-check"),
     /**
      * The default command timeout for the server to use for all sessions. Will
-     * still be overridden by newCommandTimeout cap<br/>
-     * Default: 60
+     * still be overridden by newCommandTimeout cap. Default: 60
      */
     COMMAND_TIMEOUT("--command-timeout"),
     /**
      * Cause sessions to fail if desired caps are sent in that Appium does not
-     * recognize as valid for the selected device<br/>
-     * Default: false
+     * recognize as valid for the selected device. Default: false
      */
     STRICT_CAPS("--strict-caps"),
     /**
      * Absolute path to directory Appium can use to manage temporary files, like
      * built-in iOS apps it needs to move around. On *nix/Mac defaults to /tmp,
-     * on Windows defaults to C:\\Windows\\Temp<br/>
+     * on Windows defaults to C:\\Windows\\Temp.
      */
     TEMP_DIRECTORY("--tmp"),
     /**
-     * Add exaggerated spacing in logs to help with visual inspection<br/>
-     * Default: false
+     * Add exaggerated spacing in logs to help with visual inspection. Default: false
      */
     DEBUG_LOG_SPACING("--debug-log-spacing");
-    ;
 
     private final String arg;
 
diff --git a/src/main/java/io/appium/java_client/service/local/flags/IOSServerFlag.java b/src/main/java/io/appium/java_client/service/local/flags/IOSServerFlag.java
index d77f5e93..40d7a285 100644
--- a/src/main/java/io/appium/java_client/service/local/flags/IOSServerFlag.java
+++ b/src/main/java/io/appium/java_client/service/local/flags/IOSServerFlag.java
@@ -19,104 +19,81 @@ package io.appium.java_client.service.local.flags;
 /**
 * Here is the list of iOS specific server arguments.
 * All flags are optional, but some are required in conjunction with certain others.
-* The full list is available here: {@link http://appium.io/slate/en/master/?ruby#appium-server-arguments}
+* The full list is available here: http://appium.io/slate/en/master/?ruby#appium-server-arguments
 * iOS specific arguments are marked by (IOS-only)
 */
 public enum IOSServerFlag implements ServerArgument{
     /**
      * the relative path of the dir where Localizable.strings file
-     * resides<br/>
-     * Default: en.lproj<br/>
-     * Sample:<br/>
-     * --localizable-strings-dir en.lproj
+     * resides. Default: en.lproj. Sample: --localizable-strings-dir en.lproj
      */
     LOCALIZABLE_STRING_PATH("--localizable-strings-dir"),
     /**
-     * absolute path to compiled .ipa file
-     * Sample:<br/>
-     * --ipa /abs/path/to/my.ipa
+     * absolute path to compiled .ipa file. Sample: --ipa /abs/path/to/my.ipa
      */
     IPA_ABSOLUTE_PATH("--ipa"),
     /**
      * How many times to retry launching Instruments before saying it
-     * crashed or timed out<br/>
-     * Sample:<br/>
-     * --backend-retries 3
+     * crashed or timed out. Sample: --backend-retries 3
      */
     BACK_END_RETRIES("--backend-retries"),
     /**
-     *  how long in ms to wait for Instruments to launch<br/>
-     *  Default: 90000
+     *  how long in ms to wait for Instruments to launch. Default: 90000
      */
     LAUNCH_TIMEOUT("--launch-timeout"),
     /**
      * IOS has a weird built-in unavoidable delay. We patch this in
-     * appium. If you do not want it patched, pass in this flag.<br/>
-     * Default: false
+     * appium. If you do not want it patched, pass in this flag. Default: false
      */
     USE_NATIVE_INSTRUMENTS("--native-instruments-lib"),
     /**
-     * Use the safari app<br/>
-     * Default: false
+     * Use the safari app. Default: false
      */
     SAFARI("--safari"),
     /**
      * use the default simulator that instruments launches
-     * on its own<br/>
-     * Default: false
+     * on its own. Default: false
      *
      */
     DEFAULT_DEVICE("--default-device"),
     /**
-     * Use the iPhone Simulator no matter what the app wants<br/>
-     * Default: false
+     * Use the iPhone Simulator no matter what the app wants. Default: false
      */
     FORCE_IPHONE_SIMULATOR("--force-iphone"),
     /**
-     * Use the iPad Simulator no matter what the app wants<br/>
-     * Default: false
+     * Use the iPad Simulator no matter what the app wants. Default: false
      */
     FORCE_IPAD_SIMULATOR("--force-ipad"),
     /**
-     * Calendar format for the iOS simulator<br/>
-     * Default: null<br/>
-     * Sample:<br/>
-     * --calendar-format gregorian
+     * Calendar format for the iOS simulator.
+     * Default: null
+     * Sample: --calendar-format gregorian
      */
     CALENDAR_FORMAT("--calendar-format"),
     /**
      * use LANDSCAPE or PORTRAIT to initialize all requests to this
-     * orientation<br/>
-     * Sample:<br/>
-     * --orientation LANDSCAPE
+     * orientation. Sample: --orientation LANDSCAPE
      */
     ORIENTATION("--orientation"),
     /**
-     * .tracetemplate file to use with Instruments<br/>
-     * Sample:<br/>
-     * --tracetemplate /Users/me/Automation.tracetemplate
+     * .tracetemplate file to use with Instruments. Sample: --tracetemplate /Users/me/Automation.tracetemplate
      */
     TRACE_TEMPLATE_FILE_PATH("--tracetemplate"),
     /**
-     * custom path to the instruments commandline tool<br/>
-     * Sample:<br/>
-     * --instruments /path/to/instruments
+     * custom path to the instruments commandline tool. Sample: --instruments /path/to/instruments
      */
     CUSTOM_INSTRUMENTS_PATH("--instruments"),
     /**
-     * if set, the iOS simulator log will be written to the console<br/>
-     * Default: false
+     * if set, the iOS simulator log will be written to the console. Default: false
      */
     SHOW_SIMULATOR_LOG("--show-sim-log"),
     /**
-     * if set, the iOS system log will be written to the console<br/>
-     * Default: false
+     * if set, the iOS system log will be written to the console. Default: false
      */
     SHOW_IOS_LOG("--show-ios-log"),
     /**
      * Whether to keep keychains (Library/Keychains) when reset app
-     * between sessions<br/>
-     * Default: false
+     * between sessions. Default: false
      */
     KEEP_KEYCHAINS("--keep-keychains"),
     /**
@@ -125,20 +102,18 @@ public enum IOSServerFlag implements ServerArgument{
      * This option causes Appium to delete all devices other than the one being
      * used by Appium. Note that this is a permanent deletion, and you are
      * responsible for using simctl or xcode to manage the categories of devices
-     * used with Appium<br/>.
-     * Default: false
+     * used with Appium. Default: false
      */
     ISOLATE_SIM_DEVICE("--isolate-sim-device"),
     /**
      * Absolute path to directory Appium use to save ios instruments traces,
-     * defaults to /appium-instruments<br/>
-     * Default: null
+     * defaults to /appium-instruments. Default: null
      */
     TRACE_DIRECTORY_ABSOLUTE_PATH("--trace-dir");
 
     private final String arg;
 
-    private IOSServerFlag(String arg) {
+    IOSServerFlag(String arg) {
         this.arg = arg;
     }