/// <summary>
 /// Inicializa o ORB, transformando-o em um ORB preparado para o OpenBus.
 /// </summary>
 /// <param name="properties">Conjunto opcional de propriedades a ser passada para o canal IIOP do servidor.</param>
 /// <returns>O ORB.</returns>
 public static OrbServices InitORB(IDictionary properties = null)
 {
     lock (Lock) {
         if (!_initialized)
         {
             // Adiciona interceptadores
             InterceptorsInitializer initializer = new InterceptorsInitializer();
             ORB.RegisterPortableInterceptorInitalizer(initializer);
             ORB.CompleteInterceptorRegistration();
             if (properties != null)
             {
                 OrbServices.CreateAndRegisterIiopChannel(properties);
             }
             else
             {
                 OrbServices.CreateAndRegisterIiopChannel(0);
             }
             Context      = initializer.Context;
             _initialized = true;
         }
     }
     return(ORB);
 }