Hi Joe,
in the first place I don't think it is a bug, it is rather the way jBPM is intended to be used.
You open and close an environment which is defined by jBPMs IoC Container, much like you open and close a hibernate session.
Maybe the fact that environmentFactory.openEnvironment() returns EnvironmentImpl is not really pretty,
but a lot of methods in ActivityExecution require an environment to work with and having them all open and close their own environment would be
even uglier and unnecessary in most cases.