Description
The karaf main project is currently not so well structured.
The class Main has too many responsibilities and is too big (almost 1500 lines).
The lock classes are in the main package. They should be moved to a separate package.
Proposal:
create package lock and put everything about locking there. The case without locking should be handled as another lock implementation
Split the Main class into setup of the framework and LifeCycleManager that handles the lock / start and stopping