This simply contains the core transforms (PairWithRestrictionFn, SplitRestrictionFn, ProcessElements()). This flow will be common for Fn API based implementation as well, no ?    All the implementation details other than that are in sdf_direct_runner.py.