private static TypeMetadata BuildProxyMetadata()
        {
            var interfaceDefinition = new NonTargetedInterfaceDefinition(typeof(IShape));

            var definition = new ClassProxyDefinition(typeof(Square), new [] { interfaceDefinition });
            var metadataBuilder = new ClassProxyMetadataBuilder(definition);

            return metadataBuilder.Build();
        }
        private static TypeMetadata BuildProxyMetadata()
        {
            var definition = new ClassProxyDefinition(typeof(Square), null);
            var metadataBuilder = new ClassProxyMetadataBuilder(definition);

            return metadataBuilder.Build();
        }