1. A computer-implemented method for accessing an application, the method comprising: at an agent, receiving a reference to an application object of the application from instrumentation of the application, and identifying a class loader of the application from the reference; and based on the reference, performing a process which allows the agent to invoke one or more methods of the application object, the performing the process comprising: determining if byte code of a helper class and byte code of a helper object are in a repository, indexed to the class loader of the application; if the byte code of the helper class and the byte code of the helper object have previously been created and are present in the repository, indexed to the class loader of the application, retrieving byte code of the helper class and byte code of the helper object from the repository; if the byte code of the helper class and the byte code of the helper object are not found in the repository, creating a helper class loader and setting a parent class loader of the helper class loader as the class loader of the application, using the helper class loader to obtain and load the byte code of the helper class, using the loaded byte code of the helper class to define the byte code of the helper object, and storing the byte code of the helper class and the byte code of the helper object in the repository, indexed to the class loader of the application; and invoking the one or more methods of the application object, wherein the agent invokes the one or more methods of the application object by class casting the helper object and invoking the one or more methods of the application object on the helper object casted, without having a direct class loader connection with the application object.