protected Node visitCreateStream(final CreateStream node, final Object context) { return new CreateStream( node.getLocation(), node.getName(), node.getElements().stream() .map(tableElement -> (TableElement) process(tableElement, context)) .collect(Collectors.toList()), node.isNotExists(), node.getProperties().entrySet().stream() .collect(Collectors.toMap( Map.Entry::getKey, e -> (Expression) process(e.getValue(), context) )) ); }