code: protected static final BeanContextChild getChildBeanContextChild(Object child)
  	{
  		if (child instanceof BeanContextChild)
  		{
  			if (child instanceof BeanContextProxy)
  			{
  				throw new IllegalArgumentException(Messages.getString("beans.6C"));
  			}
  			return (BeanContextChild) child;
  		}
  		if (child instanceof BeanContextProxy)
  		{
  			if (child instanceof BeanContextChild)
  			{
  				throw new IllegalArgumentException(Messages.getString("beans.6C"));
  			}
  			return ((BeanContextProxy) child).getBeanContextProxy();
  		}
  		return null;
  	}
docs: Returns the <code>BeanContextChild</code> related with the given child.
  <p>
  If the child implements <code>BeanContextChild</code>, it is returned. If the child implements <code>BeanContextProxy</code>, the proxy is returned.
  Otherwise, null is returned.
  </p>
  
  @param child
  a child
  @return the <code>BeanContextChild</code> related with the given child
  @throws IllegalStateException
  if the child implements both <code>BeanContextChild</code> and <code>BeanContextProxy</code>