Abstract Threaded Socket server
This is a threaded socket server, it can accept and process an arbitrary number of connections concurrently.
A subclass only has to implement the concrete communication operations, the other stuff is handled by logic in the super classes (TEMPLATE METHOD
This class implements the "Orb Of Confusion" algorithm which performs a shuffled partition index transformation on an arbitrary range of positive
numbers. Objective: Map bijectively any number of a given range to another number of the same range where the mappings are not easy to be guessed.
Simple Access Manager is a trivial supplementary class simulating a kind of security system. Important:
You should NEVER EVER implement your own security system, there are APIs for that which have been audited well.
However in the current example there is a central flaw.
Anyone getting a reference to the permissionsMap (via reflection) using setAccessible(true) can do just everything.