When a session is created, a Begin frame is sent. One of the fields on the frame is the initial incoming window. Instead of populating the field, Proton-J currently sets it to 0 but then immediately discovers the window is 0 and sends a seperate Flow frame (in the same transport output sas the Begin frame) changing the window to the actual calculated value.
This result is equivalent in the end and allowed by the protocol, but is not particularly obvious behaviour and is different than proton-c. The initial incoming window value should be conveyed in the Begin frame instead, removing need for the immediate Flow.