code: private void writeObject(java.io.ObjectOutputStream out) throws IOException
  	{
  		if (delegateMethods != null)
  		{
  			delegateMethods.clear();
  		}
  
  		out.defaultWriteObject();
  	}
docs: The Method objects in the delegateMethods map cannot be serialized, which means that deep copies fail. So here,
  we clear the map when serialization occurs. The map is re-build later on demand.