code: @SuppressWarnings("unchecked")
  	protected void bcsPreDeserializationHook(ObjectInputStream ois) throws IOException, ClassNotFoundException
  	{
  		super.bcsPreDeserializationHook(ois);
  
  		// deserialize services
  		synchronized (services)
  		{
  			serializable = ois.readInt();
  			for (int i = 0; i < serializable; i++)
  			{
  				Object serviceClass = ois.readObject();
  				Object bcssProvider = ois.readObject();
  				services.put((Class) serviceClass, (BCSSServiceProvider) bcssProvider);
  			}
  		}
  	}
docs: Deserializes all serializable services and their providers before the children of this context is deserialized.
  <p>
  First a <code>int</code> is read, indicating the number of services to read. Then pairs of service class and service provider are read one by one.
  </p>
  
  @see com.googlecode.openbeans.beancontext.BeanContextSupport#bcsPreDeserializationHook(java.io.ObjectInputStream)