opening a new session sounds like a lot of effort. what if we pimp the TransportInterface::getNodePathForIdentifier method to accept an additional optional $workspace parameter that overwrites the workspace this transport is usually bound to? https://github.com/jackalope/jackalope/blob/master/src/Jackalope/Transport/TransportInterface.php#L220

if we do that, i would have to adjust https://github.com/jackalope/jackalope/pull/153/files#L6L220 to not drop that method... i guess the transport can then take care of checking if the credentials permit access to that workspace in case any such restrictions are in place (jackalope has none such atm)