code: Map<?, ?> getMap(Object scope, String propertyPath) throws TemplateException
    {
      Object map = getValue(scope, propertyPath);
      if(map == null) {
        warn(scope.getClass(), propertyPath);
        return Collections.EMPTY_MAP;
      }
      if(!Types.isMap(map)) {
        throw new TemplateException("Invalid type. Expected map but got |%s|.", map.getClass());
      }
      return (Map<?, ?>)map;
    }
docs: Retrieve content map instance. Delegates {@link #getValue(Object, String)} to obtain the requested value. If value
  is null warn the event an return empty map. If value is map return it, otherwise throws context exception.
  
  @param scope scope object,
  @param propertyPath object property path.
  @return map instance, possible empty.
  @throws TemplateException if requested value is undefined or not a {@link Types#isMap(Object) map}.