/**
   * De-serializes a byte array in the context of a given MBean class loader. The class loader is
   * the one that loaded the class with name "className".
   *
   * @param className The name of the class whose class loader should be used for the
   *     de-serialization.
   * @param data The byte array to be de-sererialized.
   * @return The de-serialized object stream.
   * @exception OperationsException Any of the usual Input/Output related exceptions.
   * @exception ReflectionException The specified class could not be loaded by the default loader
   *     repository
   */
  public ObjectInputStream deserialize(String className, byte[] data)
      throws OperationsException, ReflectionException {

    return instantiator.deserialize(className, data);
  }
  /**
   * De-serializes a byte array in the context of a given MBean class loader. The class loader is
   * the one that loaded the class with name "className". The name of the class loader to be used
   * for loading the specified class is specified. If null, the MBean Server's class loader will be
   * used.
   *
   * @param className The name of the class whose class loader should be used for the
   *     de-serialization.
   * @param data The byte array to be de-sererialized.
   * @param loaderName The name of the class loader to be used for loading the specified class. If
   *     null, the MBean Server's class loader will be used.
   * @return The de-serialized object stream.
   * @exception InstanceNotFoundException The specified class loader MBean is not found.
   * @exception OperationsException Any of the usual Input/Output related exceptions.
   * @exception ReflectionException The specified class could not be loaded by the specified class
   *     loader.
   */
  public ObjectInputStream deserialize(String className, ObjectName loaderName, byte[] data)
      throws InstanceNotFoundException, OperationsException, ReflectionException {

    return instantiator.deserialize(className, loaderName, data, this.getClass().getClassLoader());
  }
  /**
   * De-serializes a byte array in the context of the class loader of an MBean.
   *
   * @param name The name of the MBean whose class loader should be used for the de-serialization.
   * @param data The byte array to be de-sererialized.
   * @return The de-serialized object stream.
   * @exception InstanceNotFoundException The MBean specified is not found.
   * @exception OperationsException Any of the usual Input/Output related exceptions.
   */
  public ObjectInputStream deserialize(ObjectName name, byte[] data)
      throws InstanceNotFoundException, OperationsException {

    return instantiator.deserialize(name, data);
  }