code: public static Object invokeBIF(PageContext pc, Object[] args, String className, String bundleName, String bundleVersion) throws PageException {
  	try {
  	    Class<?> clazz = ClassUtil.loadClassByBundle(className, bundleName, bundleVersion, pc.getConfig().getIdentification());
  	    BIF bif;
  	    if (Reflector.isInstaneOf(clazz, BIF.class)) bif = (BIF) clazz.newInstance();
  	    else bif = new BIFProxy(clazz);
  
  	    return bif.invoke(pc, args);
  
  	}
  	catch (Exception e) {
  	    throw Caster.toPageException(e);
  	}
      }
docs: used by the bytecode builded
  
  @param pc pageContext
  @param className
  @param bundleName
  @param bundleVersion
  @return
  @throws BundleException
  @throws ClassException