code: public static BIF use(PageContext pc, String className, String bundleName, String bundleVersion) throws PageException {
  	String id = toId(className, bundleName, bundleVersion);
  	BIF bif = map.get(id);
  	if (bif != null) return bif;
  
  	try {
  	    Class<?> clazz;
  	    // OSGi bundle
  	    if (!StringUtil.isEmpty(bundleName)) clazz = ClassUtil.loadClassByBundle(className, bundleName, bundleVersion, pc.getConfig().getIdentification());
  	    // JAR
  	    else clazz = ClassUtil.loadClass(className);
  
  	    if (Reflector.isInstaneOf(clazz, BIF.class)) bif = (BIF) clazz.newInstance();
  	    else bif = new BIFProxy(clazz);
  	}
  	catch (Exception e) {
  	    throw Caster.toPageException(e);
  	}
  	map.put(id, bif);
  	return bif;
      }
docs: return a tag to use from a class
  
  @param tagClass
  @return Tag
  @throws PageException