Hi Nick,
Welcome!
Firstly, please share code as actual text rather than an image. It helps reading, and when trying to respond with comments on particular lines!
Note that parseBinFromDescription is not the same as you're doing on the command line. That creates a container (Bin) with the elements inside it. One of multiple issues with that is the use of ghostUnlinkedPads, which with elements with dynamic pads in the pipeline may not behave as you expect.
The other problem with what you're doing is that if you want to save and display the video at the same time, you will need two sinks, which means that you'll have to use a tee element, and probably a queue on one or both branches. You're probably best searching example pipelines for that - I haven't used a decklinkvideosrc for a few years, so not sure what implications that might have.
The branch for display will need to end with a named appsink (eg. appsink name=sink) - example of using that and passing to the Swing component is also in the code in that thread above.
Best wishes,
Neil