# Class BeanContextServicesSupport

java.lang.Object
java.beans.beancontext.BeanContextChildSupport
java.beans.beancontext.BeanContextSupport
java.beans.beancontext.BeanContextServicesSupport

All Implemented Interfaces:
  `BeanContext, BeanContextChild, BeanContextServiceRevokedListener, BeanContextServices, BeanContextServicesListener, DesignMode, PropertyChangeListener, VetoableChangeListener, Visibility, Serializable, Iterable, Collection, EventListener`

@Deprecated(since="23", forRemoval=true) public class BeanContextServicesSupport extends BeanContextSupport implements BeanContextServices
Deprecated, for removal: This API element is subject to removal in a future version.

This helper class provides a utility implementation of the java.beans.beancontext.BeanContextServices interface.

Since this class directly implements the BeanContextServices interface, the class can, and is intended to be used either by subclassing this implementation, or via delegation of an instance of this class from another through the BeanContextProxy interface.

Since:
  1.2
See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected class`
`BeanContextServicesSupport.BCSSChild`
Deprecated, for removal: This API element is subject to removal in a future version.
A protected nested class containing per-child information in the `children` hashtable.
`protected class`
`BeanContextServicesSupport.BCSSProxyServiceProvider`
Deprecated, for removal: This API element is subject to removal in a future version.
Subclasses may subclass this nested class to represent a proxy for each BeanContextServiceProvider.
`protected static class`
`BeanContextServicesSupport.BCSSServiceProvider`
Deprecated, for removal: This API element is subject to removal in a future version.
subclasses may subclass this nested class to add behaviors for each BeanContextServicesProvider.

### Nested classes/interfaces declared in class BeanContextSupport

`BeanContextSupport.BCSChild, BeanContextSupport.BCSIterator`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected ArrayList<BeanContextServicesListener>`
`bcsListeners`
Deprecated, for removal: This API element is subject to removal in a future version.
List of `BeanContextServicesListener` objects.
`protected BeanContextServicesSupport.BCSSProxyServiceProvider`
`proxy`
Deprecated, for removal: This API element is subject to removal in a future version.
Delegate for the `BeanContextServiceProvider`.
`protected int`
`serializable`
Deprecated, for removal: This API element is subject to removal in a future version.
The number of instances of a serializable `BeanContextServceProvider`.
`protected HashMap<Object, BeanContextServicesSupport.BCSSServiceProvider>`
`services`
Deprecated, for removal: This API element is subject to removal in a future version.
all accesses to the `protected transient HashMap services` field should be synchronized on that object

### Fields declared in class BeanContextSupport

`bcmListeners, children, designTime, locale, okToUseGui`

### Fields declared in class BeanContextChildSupport

`beanContext, beanContextChildPeer, pcSupport, rejectedSetBCOnce, vcSupport`

### Fields declared in interface BeanContext

`globalHierarchyLock`

### Fields declared in interface DesignMode

`PROPERTYNAME`

## Constructor Summary

Constructors
Constructor
Description
`BeanContextServicesSupport()`
Deprecated, for removal: This API element is subject to removal in a future version.
Create an instance that is not a delegate of another object
`BeanContextServicesSupport(BeanContextServices peer)`
Deprecated, for removal: This API element is subject to removal in a future version.
Create an instance with a peer
`BeanContextServicesSupport(BeanContextServices peer, Locale lcle)`
Deprecated, for removal: This API element is subject to removal in a future version.
Create an instance using the specified locale
`BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dtime)`
Deprecated, for removal: This API element is subject to removal in a future version.
Create an instance using the specified Locale and design mode.
`BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dTime, boolean visible)`
Deprecated, for removal: This API element is subject to removal in a future version.
Construct a BeanContextServicesSupport instance

## Method Summary

Modifier and Type
Method
Description
`void`
`addBeanContextServicesListener(BeanContextServicesListener bcsl)`
Deprecated, for removal: This API element is subject to removal in a future version.
add a BeanContextServicesListener
`boolean`
`addService(Class<?> serviceClass, BeanContextServiceProvider bcsp)`
Deprecated, for removal: This API element is subject to removal in a future version.
add a service
`protected boolean`
`addService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent)`
Deprecated, for removal: This API element is subject to removal in a future version.
add a service
`protected void`
`bcsPreDeserializationHook(ObjectInputStream ois)`
Deprecated, for removal: This API element is subject to removal in a future version.
called from BeanContextSupport readObject before it deserializes the children ...
`protected void`
`bcsPreSerializationHook(ObjectOutputStream oos)`
Deprecated, for removal: This API element is subject to removal in a future version.
called from BeanContextSupport writeObject before it serializes the children ...
`protected void`
`childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)`
Deprecated, for removal: This API element is subject to removal in a future version.
called from superclass child removal operations after a child has been successfully removed. called with child synchronized.
`protected BeanContextSupport.BCSChild`
`createBCSChild(Object targetChild, Object peer)`
Deprecated, for removal: This API element is subject to removal in a future version.
Subclasses can override this method to insert their own subclass of Child without having to override add() or the other Collection methods that add children to the set.
`protected BeanContextServicesSupport.BCSSServiceProvider`
`createBCSSServiceProvider(Class<?> sc, BeanContextServiceProvider bcsp)`
Deprecated, for removal: This API element is subject to removal in a future version.
subclasses can override this method to create new subclasses of BCSSServiceProvider without having to override addService() in order to instantiate.
`protected final void`
`fireServiceAdded(BeanContextServiceAvailableEvent bcssae)`
Deprecated, for removal: This API element is subject to removal in a future version.
Fires a `BeanContextServiceAvailableEvent` indicating that a new service has become available.
`protected final void`
`fireServiceAdded(Class<?> serviceClass)`
Deprecated, for removal: This API element is subject to removal in a future version.
Fires a `BeanContextServiceEvent` notifying of a new service.
`protected final void`
`fireServiceRevoked(BeanContextServiceRevokedEvent bcsre)`
Deprecated, for removal: This API element is subject to removal in a future version.
Fires a `BeanContextServiceEvent` notifying of a service being revoked.
`protected final void`
`fireServiceRevoked(Class<?> serviceClass, boolean revokeNow)`
Deprecated, for removal: This API element is subject to removal in a future version.
Fires a `BeanContextServiceRevokedEvent` indicating that a particular service is no longer available.
`BeanContextServices`
`getBeanContextServicesPeer()`
Deprecated, for removal: This API element is subject to removal in a future version.
Gets the `BeanContextServices` associated with this `BeanContextServicesSupport`.
`protected static final BeanContextServicesListener`
`getChildBeanContextServicesListener(Object child)`
Deprecated, for removal: This API element is subject to removal in a future version.
Gets the `BeanContextServicesListener` (if any) of the specified child.
`Iterator<Object>`
`getCurrentServiceClasses()`
Deprecated, for removal: This API element is subject to removal in a future version.
Gets the currently available services for this context.
`Iterator<?>`
`getCurrentServiceSelectors(Class<?> serviceClass)`
Deprecated, for removal: This API element is subject to removal in a future version.
Gets the list of service dependent service parameters (Service Selectors) for the specified service, by calling getCurrentServiceSelectors() on the underlying BeanContextServiceProvider.
`Object`
`getService(BeanContextChild child, Object requestor, Class<?> serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl)`
Deprecated, for removal: This API element is subject to removal in a future version.
obtain a service which may be delegated
`boolean`
`hasService(Class<?> serviceClass)`
Deprecated, for removal: This API element is subject to removal in a future version.
has a service, which may be delegated
`void`
`initialize()`
Deprecated, for removal: This API element is subject to removal in a future version.
called by BeanContextSupport superclass during construction and deserialization to initialize subclass transient state.
`protected void`
`initializeBeanContextResources()`
Deprecated, for removal: This API element is subject to removal in a future version.
called from setBeanContext to notify a BeanContextChild to allocate resources obtained from the nesting BeanContext.
`protected void`
`releaseBeanContextResources()`
Deprecated, for removal: This API element is subject to removal in a future version.
called from setBeanContext to notify a BeanContextChild to release resources obtained from the nesting BeanContext.
`void`
`releaseService(BeanContextChild child, Object requestor, Object service)`
Deprecated, for removal: This API element is subject to removal in a future version.
release a service
`void`
`removeBeanContextServicesListener(BeanContextServicesListener bcsl)`
Deprecated, for removal: This API element is subject to removal in a future version.
remove a BeanContextServicesListener
`void`
`revokeService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow)`
Deprecated, for removal: This API element is subject to removal in a future version.
remove a service
`void`
`serviceAvailable(BeanContextServiceAvailableEvent bcssae)`
Deprecated, for removal: This API element is subject to removal in a future version.
BeanContextServicesListener callback, propagates event to all currently registered listeners and BeanContextServices children, if this BeanContextService does not already implement this service itself.
`void`
`serviceRevoked(BeanContextServiceRevokedEvent bcssre)`
Deprecated, for removal: This API element is subject to removal in a future version.
BeanContextServicesListener callback, propagates event to all currently registered listeners and BeanContextServices children, if this BeanContextService does not already implement this service itself.

### Methods declared in class BeanContextSupport

`add, addAll, addBeanContextMembershipListener, avoidingGui, bcsChildren, childDeserializedHook, childJustAddedHook, classEquals, clear, contains, containsAll, containsKey, copyChildren, deserialize, dontUseGui, fireChildrenAdded, fireChildrenRemoved, getBeanContextPeer, getChildBeanContextChild, getChildBeanContextMembershipListener, getChildPropertyChangeListener, getChildSerializable, getChildVetoableChangeListener, getChildVisibility, getLocale, getResource, getResourceAsStream, instantiateChild, isDesignTime, isEmpty, isSerializing, iterator, needsGui, okToUseGui, propertyChange, readChildren, remove, remove, removeAll, removeBeanContextMembershipListener, retainAll, serialize, setDesignTime, setLocale, size, toArray, toArray, validatePendingAdd, validatePendingRemove, vetoableChange, writeChildren`

### Methods declared in class BeanContextChildSupport

`addPropertyChangeListener, addVetoableChangeListener, firePropertyChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, isDelegated, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext, validatePendingSetBeanContext`

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods declared in interface BeanContext

`addBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListener`

### Methods declared in interface BeanContextChild

`addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext`

### Methods declared in interface Collection

`add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray`

### Methods declared in interface DesignMode

`isDesignTime, setDesignTime`

### Methods declared in interface Iterable

`forEach`

### Methods declared in interface Visibility

`avoidingGui, dontUseGui, needsGui, okToUseGui`

## Field Details

### services

protected transient HashMap<Object, BeanContextServicesSupport.BCSSServiceProvider> services
Deprecated, for removal: This API element is subject to removal in a future version.
all accesses to the `protected transient HashMap services` field should be synchronized on that object

### serializable

protected transient int serializable
Deprecated, for removal: This API element is subject to removal in a future version.
The number of instances of a serializable `BeanContextServceProvider`.

### proxy

protected transient BeanContextServicesSupport.BCSSProxyServiceProvider proxy
Deprecated, for removal: This API element is subject to removal in a future version.
Delegate for the `BeanContextServiceProvider`.

### bcsListeners

protected transient ArrayList<BeanContextServicesListener> bcsListeners
Deprecated, for removal: This API element is subject to removal in a future version.
List of `BeanContextServicesListener` objects.

## Constructor Details

### BeanContextServicesSupport

public BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dTime, boolean visible)
Deprecated, for removal: This API element is subject to removal in a future version.

Construct a BeanContextServicesSupport instance

Parameters:
  `peer` - The peer BeanContext we are supplying an implementation for, if null the this object is its own peer
  `lcle` - The current Locale for this BeanContext.
  `dTime` - The initial state, true if in design mode, false if runtime.
  `visible` - The initial visibility.

### BeanContextServicesSupport

public BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dtime)
Deprecated, for removal: This API element is subject to removal in a future version.
Create an instance using the specified Locale and design mode.

Parameters:
  `peer` - The peer BeanContext we are supplying an implementation for, if null the this object is its own peer
  `lcle` - The current Locale for this BeanContext.
  `dtime` - The initial state, true if in design mode, false if runtime.

### BeanContextServicesSupport

public BeanContextServicesSupport(BeanContextServices peer, Locale lcle)
Deprecated, for removal: This API element is subject to removal in a future version.
Create an instance using the specified locale

Parameters:
  `peer` - The peer BeanContext we are supplying an implementation for, if null the this object is its own peer
  `lcle` - The current Locale for this BeanContext.

### BeanContextServicesSupport

public BeanContextServicesSupport(BeanContextServices peer)
Deprecated, for removal: This API element is subject to removal in a future version.
Create an instance with a peer

Parameters:
  `peer` - The peer BeanContext we are supplying an implementation for, if null the this object is its own peer

### BeanContextServicesSupport

public BeanContextServicesSupport()
Deprecated, for removal: This API element is subject to removal in a future version.
Create an instance that is not a delegate of another object

## Method Details

### initialize

public void initialize()
Deprecated, for removal: This API element is subject to removal in a future version.
called by BeanContextSupport superclass during construction and deserialization to initialize subclass transient state. subclasses may envelope this method, but should not override it or call it directly.

Overrides:
  `initialize` in class `BeanContextSupport`

### getBeanContextServicesPeer

public BeanContextServices getBeanContextServicesPeer()
Deprecated, for removal: This API element is subject to removal in a future version.
Gets the `BeanContextServices` associated with this `BeanContextServicesSupport`.

Returns:
  the instance of `BeanContext` this object is providing the implementation for.

### createBCSChild

protected BeanContextSupport.BCSChild createBCSChild(Object targetChild, Object peer)
Deprecated, for removal: This API element is subject to removal in a future version.

Subclasses can override this method to insert their own subclass of Child without having to override add() or the other Collection methods that add children to the set.

Overrides:
  `createBCSChild` in class `BeanContextSupport`
Parameters:
  `targetChild` - the child to create the Child on behalf of
  `peer` - the peer if the targetChild and peer are related by BeanContextProxy
Returns:
  Subtype-specific subclass of Child without overriding collection methods

### createBCSSServiceProvider

protected BeanContextServicesSupport.BCSSServiceProvider createBCSSServiceProvider(Class<?> sc, BeanContextServiceProvider bcsp)
Deprecated, for removal: This API element is subject to removal in a future version.
subclasses can override this method to create new subclasses of BCSSServiceProvider without having to override addService() in order to instantiate.

Parameters:
  `sc` - the class
  `bcsp` - the service provider
Returns:
  a service provider without overriding addService()

### addBeanContextServicesListener

public void addBeanContextServicesListener(BeanContextServicesListener bcsl)
Deprecated, for removal: This API element is subject to removal in a future version.
add a BeanContextServicesListener

Specified by:
  `addBeanContextServicesListener` in interface `BeanContextServices`
Parameters:
  `bcsl` - the `BeanContextServicesListener` to add
Throws:
  `NullPointerException` - if the argument is null

### removeBeanContextServicesListener

public void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
Deprecated, for removal: This API element is subject to removal in a future version.
remove a BeanContextServicesListener

Specified by:
  `removeBeanContextServicesListener` in interface `BeanContextServices`
Parameters:
  `bcsl` - the `BeanContextServicesListener` to remove from this context

### addService

public boolean addService(Class<?> serviceClass, BeanContextServiceProvider bcsp)
Deprecated, for removal: This API element is subject to removal in a future version.
add a service

Specified by:
  `addService` in interface `BeanContextServices`
Parameters:
  `serviceClass` - the service class
  `bcsp` - the service provider
Returns:
  true if the service was successful added, false otherwise

### addService

protected boolean addService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent)
Deprecated, for removal: This API element is subject to removal in a future version.
add a service

Parameters:
  `serviceClass` - the service class
  `bcsp` - the service provider
  `fireEvent` - whether or not an event should be fired
Returns:
  true if the service was successfully added

### revokeService

public void revokeService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow)
Deprecated, for removal: This API element is subject to removal in a future version.
remove a service

Specified by:
  `revokeService` in interface `BeanContextServices`
Parameters:
  `serviceClass` - the service class
  `bcsp` - the service provider
  `revokeCurrentServicesNow` - whether or not to revoke the service

### hasService

public boolean hasService(Class<?> serviceClass)
Deprecated, for removal: This API element is subject to removal in a future version.
has a service, which may be delegated

Specified by:
  `hasService` in interface `BeanContextServices`
Parameters:
  `serviceClass` - the service in question
Returns:
  true if the service is available

### getService

public Object getService(BeanContextChild child, Object requestor, Class<?> serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) throws TooManyListenersException
Deprecated, for removal: This API element is subject to removal in a future version.
obtain a service which may be delegated

Specified by:
  `getService` in interface `BeanContextServices`
Parameters:
  `child` - the `BeanContextChild` associated with this request
  `requestor` - the object requesting the service
  `serviceClass` - class of the requested service
  `serviceSelector` - the service dependent parameter
  `bcsrl` - the `BeanContextServiceRevokedListener` to notify if the service should later become revoked
Returns:
  a reference to this context's named Service as requested or `null`
Throws:
  `TooManyListenersException` - if there are too many listeners

### releaseService

public void releaseService(BeanContextChild child, Object requestor, Object service)
Deprecated, for removal: This API element is subject to removal in a future version.
release a service

Specified by:
  `releaseService` in interface `BeanContextServices`
Parameters:
  `child` - the `BeanContextChild`
  `requestor` - the requestor
  `service` - the service

### getCurrentServiceClasses

public Iterator<Object> getCurrentServiceClasses()
Deprecated, for removal: This API element is subject to removal in a future version.
Description copied from interface: `BeanContextServices`
Gets the currently available services for this context.

Specified by:
  `getCurrentServiceClasses` in interface `BeanContextServices`
Returns:
  an iterator for all the currently registered service classes.

### getCurrentServiceSelectors

public Iterator<?> getCurrentServiceSelectors(Class<?> serviceClass)
Deprecated, for removal: This API element is subject to removal in a future version.
Description copied from interface: `BeanContextServices`
Gets the list of service dependent service parameters (Service Selectors) for the specified service, by calling getCurrentServiceSelectors() on the underlying BeanContextServiceProvider.

Specified by:
  `getCurrentServiceSelectors` in interface `BeanContextServices`
Parameters:
  `serviceClass` - the specified service
Returns:
  an iterator for all the currently available service selectors (if any) available for the specified service.

### serviceAvailable

public void serviceAvailable(BeanContextServiceAvailableEvent bcssae)
Deprecated, for removal: This API element is subject to removal in a future version.
BeanContextServicesListener callback, propagates event to all currently registered listeners and BeanContextServices children, if this BeanContextService does not already implement this service itself. subclasses may override or envelope this method to implement their own propagation semantics.

Specified by:
  `serviceAvailable` in interface `BeanContextServicesListener`
Overrides:
  `serviceAvailable` in class `BeanContextChildSupport`
Parameters:
  `bcssae` - The BeanContextServiceAvailableEvent fired as a result of a service becoming available

### serviceRevoked

public void serviceRevoked(BeanContextServiceRevokedEvent bcssre)
Deprecated, for removal: This API element is subject to removal in a future version.
BeanContextServicesListener callback, propagates event to all currently registered listeners and BeanContextServices children, if this BeanContextService does not already implement this service itself. subclasses may override or envelope this method to implement their own propagation semantics.

Specified by:
  `serviceRevoked` in interface `BeanContextServiceRevokedListener`
Overrides:
  `serviceRevoked` in class `BeanContextChildSupport`
Parameters:
  `bcssre` - The `BeanContextServiceRevokedEvent` fired as a result of a service being revoked

### getChildBeanContextServicesListener

protected static final BeanContextServicesListener getChildBeanContextServicesListener(Object child)
Deprecated, for removal: This API element is subject to removal in a future version.
Gets the `BeanContextServicesListener` (if any) of the specified child.

Parameters:
  `child` - the specified child
Returns:
  the BeanContextServicesListener (if any) of the specified child

### childJustRemovedHook

protected void childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)
Deprecated, for removal: This API element is subject to removal in a future version.
called from superclass child removal operations after a child has been successfully removed. called with child synchronized. This subclass uses this hook to immediately revoke any services being used by this child if it is a BeanContextChild. subclasses may envelope this method in order to implement their own child removal side-effects.

Overrides:
  `childJustRemovedHook` in class `BeanContextSupport`
Parameters:
  `child` - the child
  `bcsc` - the BCSChild

### releaseBeanContextResources

protected void releaseBeanContextResources()
Deprecated, for removal: This API element is subject to removal in a future version.
called from setBeanContext to notify a BeanContextChild to release resources obtained from the nesting BeanContext. This method revokes any services obtained from its parent. subclasses may envelope this method to implement their own semantics.

Overrides:
  `releaseBeanContextResources` in class `BeanContextChildSupport`

### initializeBeanContextResources

protected void initializeBeanContextResources()
Deprecated, for removal: This API element is subject to removal in a future version.
called from setBeanContext to notify a BeanContextChild to allocate resources obtained from the nesting BeanContext. subclasses may envelope this method to implement their own semantics.

Overrides:
  `initializeBeanContextResources` in class `BeanContextChildSupport`

### fireServiceAdded

protected final void fireServiceAdded(Class<?> serviceClass)
Deprecated, for removal: This API element is subject to removal in a future version.
Fires a `BeanContextServiceEvent` notifying of a new service.

Parameters:
  `serviceClass` - the service class

### fireServiceAdded

protected final void fireServiceAdded(BeanContextServiceAvailableEvent bcssae)
Deprecated, for removal: This API element is subject to removal in a future version.
Fires a `BeanContextServiceAvailableEvent` indicating that a new service has become available.

Parameters:
  `bcssae` - the `BeanContextServiceAvailableEvent`

### fireServiceRevoked

protected final void fireServiceRevoked(BeanContextServiceRevokedEvent bcsre)
Deprecated, for removal: This API element is subject to removal in a future version.
Fires a `BeanContextServiceEvent` notifying of a service being revoked.

Parameters:
  `bcsre` - the `BeanContextServiceRevokedEvent`

### fireServiceRevoked

protected final void fireServiceRevoked(Class<?> serviceClass, boolean revokeNow)
Deprecated, for removal: This API element is subject to removal in a future version.
Fires a `BeanContextServiceRevokedEvent` indicating that a particular service is no longer available.

Parameters:
  `serviceClass` - the service class
  `revokeNow` - whether or not the event should be revoked now

### bcsPreSerializationHook

protected void bcsPreSerializationHook(ObjectOutputStream oos) throws IOException
Deprecated, for removal: This API element is subject to removal in a future version.
called from BeanContextSupport writeObject before it serializes the children ... This class will serialize any Serializable BeanContextServiceProviders herein. subclasses may envelope this method to insert their own serialization processing that has to occur prior to serialization of the children

Overrides:
  `bcsPreSerializationHook` in class `BeanContextSupport`
Parameters:
  `oos` - the `ObjectOutputStream` to use during serialization
Throws:
  `IOException` - if serialization failed

### bcsPreDeserializationHook

protected void bcsPreDeserializationHook(ObjectInputStream ois) throws IOException, ClassNotFoundException
Deprecated, for removal: This API element is subject to removal in a future version.
called from BeanContextSupport readObject before it deserializes the children ... This class will deserialize any Serializable BeanContextServiceProviders serialized earlier thus making them available to the children when they deserialized. subclasses may envelope this method to insert their own serialization processing that has to occur prior to serialization of the children

Overrides:
  `bcsPreDeserializationHook` in class `BeanContextSupport`
Parameters:
  `ois` - the `ObjectInputStream` to use during deserialization
Throws:
  `IOException` - if deserialization failed
  `ClassNotFoundException` - if needed classes are not found