code: public static <T> T getDeepValue(Object object, String path) {
      JsPropertyMap objectMap = (JsPropertyMap) object;
      String[] pathSplit = path.split("\\.");
      for (String s : pathSplit) {
        objectMap = (JsPropertyMap) objectMap.get(s);
      }
      return (T) objectMap;
    }
docs: Return a "deep" value in a given object by following an expression in the form:
  "parent.child.property". This only works if all the chain is exposed using JsInterop.
  
  @param object The root object to get on
  @param path The path to follow
  @param <T> The type of object we get in return
  @return The object at the end of the chain