public InterfaceProxy(IProxyReplacer <TBound, TImplementation> impl) : base((MarshalByRefObject)(object)impl, TypeOf <TBound> .TypeID, TypeOf <TImplementation> .TypeID)
 {
 }
 /// <summary>
 /// Creates a <see cref="System.MarshalByRefObject"/> class proxy from its custom implementation.
 /// </summary>
 /// <param name="implementation">The custom implementation of the class.</param>
 /// <returns>The proxy for the class.</returns>
 public static TBound GetProxy <TBound, TImplementation>(this IProxyReplacer <TBound, TImplementation> implementation) where TBound : MarshalByRefObject where TImplementation : class, IProxyReplacer <TBound, TImplementation>
 {
     return((TBound) new InterfaceProxy <TBound, TImplementation>(implementation).GetTransparentProxy());
 }