EJBHome home = (EJBHome) PortableRemoteObject.narrow(new InitialContext().lookup(ejbLocation), EJBHome.class);
EJBLocalHome home = (EJBLocalHome) PortableRemoteObject.narrow(new InitialContext().lookup(ejbLocation), EJBLocalHome.class);
    public boolean passesCondition(Map transientVars, Map args, PropertySet ps) throws WorkflowException {        String ejbLocation = (String) args.get(AbstractWorkflow.EJB_LOCATION);        Condition sessionBean = null;        try {            EJBHome home = (EJBHome) PortableRemoteObject.narrow(new InitialContext().lookup(ejbLocation), EJBHome.class);            Method create = home.getClass().getMethod("create", new Class[0]);            sessionBean = (Condition) create.invoke(home, new Object[0]);        } catch (Exception e) {            String message = "Could not get handle to Local Condition: " + ejbLocation;            log.error(message, e);            throw new WorkflowException(message, e);        }        return sessionBean.passesCondition(transientVars, args, ps);    }