code: public static final com.centurylink.mdw.variable.VariableTranslator getTranslator(Package packageVO, String type) {
          com.centurylink.mdw.variable.VariableTranslator trans = null;
          try {
              VariableType vo = VariableTypeCache.getVariableTypeVO(Compatibility.getVariableType(type));
              if (vo == null)
                  return null;
  
              // try dynamic java first (preferred in case patch override is needed / Exclude MDW built-in translators)
              if (!mdwVariableTypes.contains(vo)) {
                  ClassLoader parentLoader = packageVO == null ? VariableTranslator.class.getClassLoader() : packageVO.getClassLoader();
                  trans = ProviderRegistry.getInstance().getDynamicVariableTranslator(vo.getTranslatorClass(), parentLoader);
              }
              if (trans == null) {
                  com.centurylink.mdw.variable.VariableTranslator injected
                      = SpringAppContext.getInstance().getVariableTranslator(vo.getTranslatorClass(), packageVO);
                  if (injected != null)
                      trans = injected;
                  if (trans == null) {
                      Class<?> cl = Class.forName(vo.getTranslatorClass());
                      trans = (VariableTranslator)cl.newInstance();
                  }
              }
          } catch (Throwable th) {
              th.printStackTrace();
              trans = null;
          }
          if (trans != null)
              trans.setPackage(packageVO);
          return trans;
      }
docs: Returns the translator for the passed in pType
  @param type
  @return Translator