docs: public void init(Object workingMemoryContext,
                       Object context,
                       Tuple tuple,
                       Declaration[] declarations,
                       WorkingMemory workingMemory) throws Exception {
          Object[] localVars = new Object[initUnit.getOtherIdentifiers().length];
          
          MVELAccumulatorFactoryContext factoryContext = (MVELAccumulatorFactoryContext)workingMemoryContext;
          VariableResolverFactory factory = factoryContext.getInitFactory();
          initUnit.updateFactory( null, tuple, localVars, (InternalWorkingMemory) workingMemory, workingMemory.getGlobalResolver(), factory );
  
          InternalKnowledgePackage pkg = workingMemory.getKnowledgeBase().getPackage( "MAIN" );
          if ( pkg != null ) {
              MVELDialectRuntimeData data = (MVELDialectRuntimeData) pkg.getDialectRuntimeRegistry().getDialectData( "mvel" );
              factory.setNextFactory( data.getFunctionFactory() );
          }
  
          MVELSafeHelper.getEvaluator().executeExpression( this.init,
                                  null,
                                  factory );
          
          
          DroolsVarFactory df = ( DroolsVarFactory ) factory.getNextFactory();
          if ( localVars.length > 0 ) {
              for ( int i = 0; i < df.getOtherVarsLength(); i++ ) {
                  localVars[i] = factory.getIndexedVariableResolver( df.getOtherVarsPos() + i ).getValue();
              }
          }
          
          ((MVELAccumulatorContext) context).setVariables( localVars );
      }