code: public <T> T get(final String field, final Class<T> clazz) {
          return get(field, clazz, null);
      }
docs: Gets the value of the given key, casting it to the given {@code Class<T>}.  This is useful to avoid having casts
  in client code, though the effect is the same.  So to get the value of a key that is of type String, you would write
  {@code String name = doc.get("name", String.class)} instead of {@code String name = (String) doc.get("x") }.
  
  @param field the field
  @param clazz the class to cast the value to
  @param <T>   the type of the class
  @return the value of the given key, or null if the instance does not contain this key, or defaultValue if the object
  is not of type T.