public void SetProxy(IAopProxy target)
        {
            Shape shape = target as Shape;

            if (shape == null)
                throw new ArgumentException("target is not an IShape");

            this.shape = shape;

            DesignableAttribute attrib = (DesignableAttribute)shape.GetType().GetCustomAttributes(typeof(DesignableAttribute), true)[0];
            this.FillColor = attrib.FillColor;
            this.BorderColor = attrib.BorderColor;
            this.BorderSize = attrib.BorderSize;
        }