The agent must be able to look up and redefine existing classes with JFR instrumentation.
1. Name collisions with existing classes (also classes dynamically generated by the agent) must be avoided.
2. No schema changes will be allowed.
3. Cleanly reverting instrumentation of a method to a version prior to instrumenting should be allowed.
4. There should be a platform MBean available for controlling the instrumentation, which should be registered when the agent is loaded.