Hi ArAmM,
It is intentional. Here's a KB with a similar code snippet explaining that this is supported. It works because the read is returning the current value being output--it does not change the line direction. You are still driving the line(s) in your task.