package water.api.rest;

/** It is like enum but provide typing */
public abstract class Version {
  public static class V1 extends Version { private V1(){} }
  public static class V2 extends Version { private V2(){} }
  public static class V3 extends Version { private V3(){} }
  public static class Bloody extends Version { private Bloody() {} }
  public static final V1 v1 = new V1();
  public static final V2 v2 = new V2();
  public static final V3 v3 = new V3();
  public static final Bloody bloody = new Bloody();
}

@@ -92,16 +92,152 @@
 rsion %7B%0A
+  private final String name;%0A  private Version(String name) %7B this.name = name; %7D%0A  @Override public String toString() %7B return name; %7D%0A
   public
@@ -284,16 +284,30 @@
 te V1()%7B
+ super(%22v1%22); 
 %7D %7D%0A  pu
@@ -358,16 +358,30 @@
 te V2()%7B
+ super(%22v2%22); 
 %7D %7D%0A  pu
@@ -432,16 +432,30 @@
 te V3()%7B
+ super(%22v3%22); 
 %7D %7D%0A  pu
@@ -515,16 +515,34 @@
 oody() %7B
+ super(%22bloody%22); 
 %7D %7D%0A  pu

Version has a nice name.