code: public static <T> PositionFactory<T> optional(String expr) {
          final boolean optional = true;
          return new PositionFactory<>(Validate.notEmpty(expr, "expr"), optional);
      }
docs: Create a {@link Expression.PositionFactory} for an optional expression. A position created from such a factory
  will silently swallow a {@link PropertyNotFoundException} and return {@code null} as its value.
  
  @param expr
  @return {@link PositionFactory}