Embracing invokedynamic to tame class loaders in Java agents