refTemplate = new RefTemplate();
  public gnuPOA(gnuPOA a_parent, String a_name, POAManager a_manager,                Policy[] a_policies, ORB_1_4 an_orb               )         throws InvalidPolicy  {    // Add default policies.    Policy[] all_policies = StandardPolicies.withDefault(a_policies);    name = a_name;    parent = a_parent;    m_orb = an_orb;    if (a_manager != null)      m_manager = a_manager;    else      m_manager = new gnuPOAManager();    if (m_manager instanceof gnuPOAManager)      {        gnuPOAManager g = (gnuPOAManager) m_manager;        g.addPoa(this);      }    m_policies = new HashSet(all_policies.length);    s_policies = new Policy[ all_policies.length ];    for (int i = 0; i < s_policies.length; i++)      {        s_policies [ i ] = all_policies [ i ].copy();        m_policies.add(((AccessiblePolicy) s_policies [ i ]).getValue());      }    retain_servant = applies(ServantRetentionPolicyValue.RETAIN);    validatePolicies(a_policies);  }