public abstract class com.sun.jmx.mbeanserver.MBeanSupport<M> implements com.sun.jmx.mbeanserver.DynamicMBean2, javax.management.MBeanRegistration
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.jmx.mbeanserver.MBeanSupport
super_class: java.lang.Object
{
private final javax.management.MBeanInfo mbeanInfo;
descriptor: Ljavax/management/MBeanInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object resource;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.jmx.mbeanserver.PerInterface<M> perInterface;
descriptor: Lcom/sun/jmx/mbeanserver/PerInterface;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/jmx/mbeanserver/PerInterface<TM;>;
<T> void <init>(T, java.lang.Class<T>);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 2
ifnonnull 3
2: new javax.management.NotCompliantMBeanException
dup
ldc "Null MBean interface"
invokespecial javax.management.NotCompliantMBeanException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: com.sun.jmx.mbeanserver.MBeanSupport java.lang.Object java.lang.Class
StackMap stack:
aload 2
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifne 9
4: new java.lang.StringBuilder
dup
ldc "Resource class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc " is not an instance of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: astore 3
start local 3 8: new javax.management.NotCompliantMBeanException
dup
aload 3
invokespecial javax.management.NotCompliantMBeanException.<init>:(Ljava/lang/String;)V
athrow
end local 3 9: StackMap locals:
StackMap stack:
aload 2
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
10: aload 0
aload 1
putfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
11: aload 0
invokevirtual com.sun.jmx.mbeanserver.MBeanSupport.getMBeanIntrospector:()Lcom/sun/jmx/mbeanserver/MBeanIntrospector;
astore 3
start local 3 12: aload 0
aload 3
aload 2
invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.getPerInterface:(Ljava/lang/Class;)Lcom/sun/jmx/mbeanserver/PerInterface;
putfield com.sun.jmx.mbeanserver.MBeanSupport.perInterface:Lcom/sun/jmx/mbeanserver/PerInterface;
13: aload 0
aload 3
aload 1
aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.perInterface:Lcom/sun/jmx/mbeanserver/PerInterface;
invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.getMBeanInfo:(Ljava/lang/Object;Lcom/sun/jmx/mbeanserver/PerInterface;)Ljavax/management/MBeanInfo;
putfield com.sun.jmx.mbeanserver.MBeanSupport.mbeanInfo:Ljavax/management/MBeanInfo;
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
0 15 1 resource TT;
0 15 2 mbeanInterface Ljava/lang/Class<TT;>;
8 9 3 msg Ljava/lang/String;
12 15 3 introspector Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>;
Exceptions:
throws javax.management.NotCompliantMBeanException
Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/Class<TT;>;)V
MethodParameters:
Name Flags
resource
mbeanInterface
abstract com.sun.jmx.mbeanserver.MBeanIntrospector<M> getMBeanIntrospector();
descriptor: ()Lcom/sun/jmx/mbeanserver/MBeanIntrospector;
flags: (0x0400) ACC_ABSTRACT
Signature: ()Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>;
abstract java.lang.Object getCookie();
descriptor: ()Ljava/lang/Object;
flags: (0x0400) ACC_ABSTRACT
public final boolean isMXBean();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.perInterface:Lcom/sun/jmx/mbeanserver/PerInterface;
invokevirtual com.sun.jmx.mbeanserver.PerInterface.isMXBean:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
public abstract void register(javax.management.MBeanServer, javax.management.ObjectName);
descriptor: (Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
mbs
name
public abstract void unregister();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public final javax.management.ObjectName preRegister(javax.management.MBeanServer, javax.management.ObjectName);
descriptor: (Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)Ljavax/management/ObjectName;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
instanceof javax.management.MBeanRegistration
ifeq 2
1: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
checkcast javax.management.MBeanRegistration
aload 1
aload 2
invokeinterface javax.management.MBeanRegistration.preRegister:(Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)Ljavax/management/ObjectName;
areturn
2: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
0 3 1 server Ljavax/management/MBeanServer;
0 3 2 name Ljavax/management/ObjectName;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
server
name
public final void preRegister2(javax.management.MBeanServer, javax.management.ObjectName);
descriptor: (Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual com.sun.jmx.mbeanserver.MBeanSupport.register:(Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
0 2 1 server Ljavax/management/MBeanServer;
0 2 2 name Ljavax/management/ObjectName;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
server
name
public final void registerFailed();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jmx.mbeanserver.MBeanSupport.unregister:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
public final void postRegister(java.lang.Boolean);
descriptor: (Ljava/lang/Boolean;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
instanceof javax.management.MBeanRegistration
ifeq 2
1: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
checkcast javax.management.MBeanRegistration
aload 1
invokeinterface javax.management.MBeanRegistration.postRegister:(Ljava/lang/Boolean;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
0 3 1 registrationDone Ljava/lang/Boolean;
MethodParameters:
Name Flags
registrationDone
public final void preDeregister();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
instanceof javax.management.MBeanRegistration
ifeq 2
1: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
checkcast javax.management.MBeanRegistration
invokeinterface javax.management.MBeanRegistration.preDeregister:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
Exceptions:
throws java.lang.Exception
public final void postDeregister();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jmx.mbeanserver.MBeanSupport.unregister:()V
1: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 1
3: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
instanceof javax.management.MBeanRegistration
ifeq 5
4: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
checkcast javax.management.MBeanRegistration
invokeinterface javax.management.MBeanRegistration.postDeregister:()V
5: StackMap locals: java.lang.Throwable
StackMap stack:
aload 1
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
instanceof javax.management.MBeanRegistration
ifeq 8
7: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
checkcast javax.management.MBeanRegistration
invokeinterface javax.management.MBeanRegistration.postDeregister:()V
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
Exception table:
from to target type
0 2 2 any
public final java.lang.Object getAttribute(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.perInterface:Lcom/sun/jmx/mbeanserver/PerInterface;
aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
aload 1
aload 0
invokevirtual com.sun.jmx.mbeanserver.MBeanSupport.getCookie:()Ljava/lang/Object;
invokevirtual com.sun.jmx.mbeanserver.PerInterface.getAttribute:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
0 1 1 attribute Ljava/lang/String;
Exceptions:
throws javax.management.AttributeNotFoundException, javax.management.MBeanException, javax.management.ReflectionException
MethodParameters:
Name Flags
attribute
public final javax.management.AttributeList getAttributes(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljavax/management/AttributeList;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: new javax.management.AttributeList
dup
aload 1
arraylength
invokespecial javax.management.AttributeList.<init>:(I)V
astore 2
start local 2 1: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 8
StackMap locals: com.sun.jmx.mbeanserver.MBeanSupport java.lang.String[] javax.management.AttributeList top int int java.lang.String[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 0
aload 3
invokevirtual com.sun.jmx.mbeanserver.MBeanSupport.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
astore 7
start local 7 4: aload 2
new javax.management.Attribute
dup
aload 3
aload 7
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual javax.management.AttributeList.add:(Ljavax/management/Attribute;)V
end local 7 5: goto 7
StackMap locals: com.sun.jmx.mbeanserver.MBeanSupport java.lang.String[] javax.management.AttributeList java.lang.String int int java.lang.String[]
StackMap stack: java.lang.Exception
6: pop
end local 3 7: StackMap locals: com.sun.jmx.mbeanserver.MBeanSupport java.lang.String[] javax.management.AttributeList top int int java.lang.String[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 5
if_icmplt 2
9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
0 10 1 attributes [Ljava/lang/String;
1 10 2 result Ljavax/management/AttributeList;
3 7 3 attrName Ljava/lang/String;
4 5 7 attrValue Ljava/lang/Object;
Exception table:
from to target type
3 5 6 Class java.lang.Exception
MethodParameters:
Name Flags
attributes
public final void setAttribute(javax.management.Attribute);
descriptor: (Ljavax/management/Attribute;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javax.management.Attribute.getName:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
invokevirtual javax.management.Attribute.getValue:()Ljava/lang/Object;
astore 3
start local 3 2: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.perInterface:Lcom/sun/jmx/mbeanserver/PerInterface;
aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
aload 2
aload 3
aload 0
invokevirtual com.sun.jmx.mbeanserver.MBeanSupport.getCookie:()Ljava/lang/Object;
invokevirtual com.sun.jmx.mbeanserver.PerInterface.setAttribute:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
0 4 1 attribute Ljavax/management/Attribute;
1 4 2 name Ljava/lang/String;
2 4 3 value Ljava/lang/Object;
Exceptions:
throws javax.management.AttributeNotFoundException, javax.management.InvalidAttributeValueException, javax.management.MBeanException, javax.management.ReflectionException
MethodParameters:
Name Flags
attribute
public final javax.management.AttributeList setAttributes(javax.management.AttributeList);
descriptor: (Ljavax/management/AttributeList;)Ljavax/management/AttributeList;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: new javax.management.AttributeList
dup
aload 1
invokevirtual javax.management.AttributeList.size:()I
invokespecial javax.management.AttributeList.<init>:(I)V
astore 2
start local 2 1: aload 1
invokevirtual javax.management.AttributeList.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: com.sun.jmx.mbeanserver.MBeanSupport javax.management.AttributeList javax.management.AttributeList top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 3: aload 3
checkcast javax.management.Attribute
astore 5
start local 5 4: aload 0
aload 5
invokevirtual com.sun.jmx.mbeanserver.MBeanSupport.setAttribute:(Ljavax/management/Attribute;)V
5: aload 2
new javax.management.Attribute
dup
aload 5
invokevirtual javax.management.Attribute.getName:()Ljava/lang/String;
aload 5
invokevirtual javax.management.Attribute.getValue:()Ljava/lang/Object;
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual javax.management.AttributeList.add:(Ljavax/management/Attribute;)V
6: goto 8
StackMap locals: com.sun.jmx.mbeanserver.MBeanSupport javax.management.AttributeList javax.management.AttributeList java.lang.Object java.util.Iterator javax.management.Attribute
StackMap stack: java.lang.Exception
7: pop
end local 5 end local 3 8: StackMap locals: com.sun.jmx.mbeanserver.MBeanSupport javax.management.AttributeList javax.management.AttributeList top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
0 10 1 attributes Ljavax/management/AttributeList;
1 10 2 result Ljavax/management/AttributeList;
3 8 3 attrObj Ljava/lang/Object;
4 8 5 attr Ljavax/management/Attribute;
Exception table:
from to target type
4 6 7 Class java.lang.Exception
MethodParameters:
Name Flags
attributes
public final java.lang.Object invoke(java.lang.String, java.lang.Object[], java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.perInterface:Lcom/sun/jmx/mbeanserver/PerInterface;
aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
aload 1
aload 2
aload 3
1: aload 0
invokevirtual com.sun.jmx.mbeanserver.MBeanSupport.getCookie:()Ljava/lang/Object;
2: invokevirtual com.sun.jmx.mbeanserver.PerInterface.invoke:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
0 3 1 operation Ljava/lang/String;
0 3 2 params [Ljava/lang/Object;
0 3 3 signature [Ljava/lang/String;
Exceptions:
throws javax.management.MBeanException, javax.management.ReflectionException
MethodParameters:
Name Flags
operation
params
signature
public javax.management.MBeanInfo getMBeanInfo();
descriptor: ()Ljavax/management/MBeanInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.mbeanInfo:Ljavax/management/MBeanInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
public final java.lang.String getClassName();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
public final java.lang.Object getResource();
descriptor: ()Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.resource:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
public final java.lang.Class<?> getMBeanInterface();
descriptor: ()Ljava/lang/Class;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.mbeanserver.MBeanSupport.perInterface:Lcom/sun/jmx/mbeanserver/PerInterface;
invokevirtual com.sun.jmx.mbeanserver.PerInterface.getMBeanInterface:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jmx/mbeanserver/MBeanSupport<TM;>;
Signature: ()Ljava/lang/Class<*>;
}
Signature: <M:Ljava/lang/Object;>Ljava/lang/Object;Lcom/sun/jmx/mbeanserver/DynamicMBean2;Ljavax/management/MBeanRegistration;
SourceFile: "MBeanSupport.java"