## Uses of Interface
com.sun.jdi.ObjectReference

Packages that use ObjectReference
com.sun.jdi: This is the core package of the Java Debug Interface (JDI), it defines mirrors for values, types, and the target VirtualMachine itself - as well bootstrapping facilities.
com.sun.jdi.event: This package defines JDI events and event processing.
com.sun.jdi.request: This package is used to request that a JDI event be sent under specified conditions.

### Uses of ObjectReference in com.sun.jdi

Subinterfaces of ObjectReference in com.sun.jdi
`interface` `ArrayReference` Provides access to an array object and its components in the target VM.
`interface` `ClassLoaderReference` A class loader object from the target VM.
`interface` `ClassObjectReference` An instance of java.lang.Class from the target VM.
`interface` `StringReference` A string object from the target VM.
`interface` `ThreadGroupReference` A thread group object from the target VM.
`interface` `ThreadReference` A thread object from the target VM.

Methods in com.sun.jdi that return ObjectReference
`ObjectReference` ThreadReference.`currentContendedMonitor()` Returns an `ObjectReference` for the monitor, if any, for which this thread is currently waiting.
`ObjectReference` InvocationException.`exception()`
`ObjectReference` MonitorInfo.`monitor()` Returns the `ObjectReference` object for the monitor.
`ObjectReference` ClassType.`newInstance(ThreadReference thread, Method method, List<? extends Value> arguments, int options)` Constructs a new instance of this type, using the given constructor `Method` in the target VM.
`ObjectReference` StackFrame.`thisObject()` Returns the value of 'this' for the current frame.

Methods in com.sun.jdi that return types with arguments of type ObjectReference
`List<ObjectReference>` ReferenceType.`instances(long maxInstances)` Returns instances of this ReferenceType.
`List<ObjectReference>` ThreadReference.`ownedMonitors()` Returns a List containing an `ObjectReference` for each monitor owned by the thread.
`List<ObjectReference>` ObjectReference.`referringObjects(long maxReferrers)` Returns objects that directly reference this object.

Methods in com.sun.jdi with parameters of type ObjectReference
`void` ThreadReference.`stop(ObjectReference throwable)` Stops this thread with an asynchronous exception.

Constructors in com.sun.jdi with parameters of type ObjectReference
Constructor and Description
`InvocationException(ObjectReference exception)`

### Uses of ObjectReference in com.sun.jdi.event

Methods in com.sun.jdi.event that return ObjectReference
`ObjectReference` ExceptionEvent.`exception()` Gets the thrown exception object.
`ObjectReference` MonitorWaitEvent.`monitor()` Returns the monitor object that the thread about to wait.
`ObjectReference` MonitorContendedEnterEvent.`monitor()` Returns the method that was entered.
`ObjectReference` MonitorContendedEnteredEvent.`monitor()` Returns the monitor that was entered.
`ObjectReference` MonitorWaitedEvent.`monitor()` Returns the monitor object this thread waited on.
`ObjectReference` WatchpointEvent.`object()` Returns the object whose field is about to be accessed/modified.

### Uses of ObjectReference in com.sun.jdi.request

Methods in com.sun.jdi.request with parameters of type ObjectReference
`void` MonitorContendedEnteredRequest.`addInstanceFilter(ObjectReference instance)` Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void` StepRequest.`addInstanceFilter(ObjectReference instance)` Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void` WatchpointRequest.`addInstanceFilter(ObjectReference instance)` Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void` MonitorContendedEnterRequest.`addInstanceFilter(ObjectReference instance)` Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void` MonitorWaitedRequest.`addInstanceFilter(ObjectReference instance)` Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void` BreakpointRequest.`addInstanceFilter(ObjectReference instance)` Restricts the events generated by this request to those in which the currently executing instance is the object specified.
`void` MethodEntryRequest.`addInstanceFilter(ObjectReference instance)` Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void` MethodExitRequest.`addInstanceFilter(ObjectReference instance)` Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void` ExceptionRequest.`addInstanceFilter(ObjectReference instance)` Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.
`void` MonitorWaitRequest.`addInstanceFilter(ObjectReference instance)` Restricts the events generated by this request to those in which the currently executing instance ("this") is the object specified.