code: protected void bcsPreSerializationHook(ObjectOutputStream oos) throws IOException
  	{
  		super.bcsPreSerializationHook(oos);
  
  		// serialize services
  		synchronized (services)
  		{
  			oos.writeInt(serializable);
  			for (Iterator iter = services.entrySet().iterator(); iter.hasNext();)
  			{
  				Entry entry = (Entry) iter.next();
  				if (((BCSSServiceProvider) entry.getValue()).getServiceProvider() instanceof Serializable)
  				{
  					oos.writeObject(entry.getKey());
  					oos.writeObject(entry.getValue());
  				}
  			}
  		}
  	}
docs: Serializes all serializable services and their providers before the children of this context is serialized.
  <p>
  First a <code>int</code> is writtern, indicating the number of serializable services. Then pairs of service class and service provider are writtern one
  by one.
  </p>
  
  @see com.googlecode.openbeans.beancontext.BeanContextSupport#bcsPreSerializationHook(java.io.ObjectOutputStream)