The error message says your JavaDelegate code just gets the correct explanation. The process engine tries to find an executable instance of the process with "someBusinessKey" as the business key and is currently waiting for the message "someMessage", but does not find such an instance. Your code acts as if there was such an instance, and you are trying to find it and talk about this message. See Section docs about correlation methods - in principle, the mechanism is used to "route" the message to the correct instance aimed at it.
As a side element: your JavaDelegate seems to be called in the same transaction with which you are also trying to complete the task. The "transaction boundaries" in your process can be controlled using the "async" attributes described in the "Documents" section on transactions in processes .
source share