code: Iterable<?> getIterable(Object scope, String propertyPath) throws TemplateException
    {
      Object value = getValue(scope, propertyPath);
      if(value == null) {
        warn(scope.getClass(), propertyPath);
        return Collections.EMPTY_LIST;
      }
      if(!Types.isArrayLike(value)) {
        throw new TemplateException("Invalid type. Expected list but got |%s|.", value.getClass());
      }
      return Types.asIterable(value);
    }
docs: Retrieve content array like instance as iterable. Delegates {@link #getValue(Object, String)} to obtain the
  requested value. If value is null warn the event and return empty list. I value is array like return it as
  iterable, otherwise throws content exception.
  
  @param scope scope object,
  @param propertyPath object property path.
  @return array like instance, possible empty, converted to iterable.
  @throws TemplateException if requested value is undefined or is not an {@link Types#isArrayLike(Object) an array
  like}.