docs: public NameParser getNameParser() throws WIMException {
          if (iNameParser == null) {
              TimedDirContext ctx = iContextManager.getDirContext();
              try {
                  try {
                      iNameParser = ctx.getNameParser("");
                  } catch (NamingException e) {
                      if (!ContextManager.isConnectionException(e)) {
                          throw e;
                      }
                      ctx = iContextManager.reCreateDirContext(ctx, e.toString());
                      iNameParser = ctx.getNameParser("");
                  }
              } catch (NamingException e) {
                  String msg = Tr.formatMessage(tc, WIMMessageKey.NAMING_EXCEPTION, WIMMessageHelper.generateMsgParms(e.toString(true)), e);
                  throw new WIMSystemException(WIMMessageKey.NAMING_EXCEPTION, msg, e);
              } finally {
                  iContextManager.releaseDirContext(ctx);
              }
          }
          return iNameParser;
      }