code: public static <T> Versioned<T> of(int version, T entry) {
      return new Versioned<T>(version, entry);
    }
docs: Factory method for the class. Since Java will infer generic types in
  methods (but not in constructors), we can write:
  <code>
  Versioned<Foo> fooVersioned = Versioned.of(1, foo);
  </code>
  instead of
  <code>
  Versioned<Foo> fooVersioned = new Versioned<Foo>(1, foo);
  </code>
  @see #Versioned(int, Object)