code: public <T> T get(String propertyName, Class<T> type) {
          return type.cast(get(propertyName));
      }
docs: Gets the value of the property cast to a specific type.
  <p>
  This returns null if the property does not exist.
  
  @param <T>  the value type
  @param propertyName  the property name, not empty
  @param type  the type to cast to, not null
  @return the value of the property, may be null
  @throws ClassCastException if the type is incorrect