If you have a series of steps
Step 1 calls Step 2
Step 2 calls Step 3
and want to use Project from Step 1 in Step 3 then you need to keep this in context through all of the steps, so even if you are not using Project in Stage 2 you still need to pass it to Stage 2 make it available in Stage 3
The other thing to consider is that if
Supplier is owned by Element is owned by Project
If you have Supplier in context then you can derive Project as
Supplier.obElement.obProject (as long as your chain from Supplier to Project is solitary and not multiple, I.e. one supplier has one Element has one Project)
If you must use the Project element (and can't use the reference chain) but can't keep it in context for Step 2 you could place
Find Project Where Project=Supplier.obElement.obProject
Into your Step 3
Jaymer has done some work to confirm that a BO being in context does not equate to it not being searched for against the database, so when each process is called the SQL in the background is run to find the items in context, so the additional find isn't a major efficiency cost.