question: public void init ( MCMCOptions options , Likelihood likelihood , Prior prior , OperatorSchedule schedule , Logger [ ] loggers , MarkovChainDelegate [ ] delegates ) { MCMCCriterion criterion = new MCMCCriterion ( ) ; criterion . setTemperature ( options . getTemperature ( ) ) ; mc = new MarkovChain ( prior , likelihood , schedule , criterion , options . getFullEvaluationCount ( ) , options . minOperatorCountForFullEvaluation ( ) , options . getEvaluationTestThreshold ( ) , options . useCoercion ( ) ) ; this . options = options ; this . loggers = loggers ; this . schedule = schedule ; currentState = 0 ; for ( MarkovChainDelegate delegate : delegates ) { delegate . setup ( options , schedule , mc ) ; } this . delegates = delegates ; dumpStateFile = System . getProperty ( LOAD_DUMP_FILE ) ; if ( System . getProperty ( DUMP_STATE ) != null ) { long debugWriteState = Long . parseLong ( System . getProperty ( DUMP_STATE ) ) ; mc . addMarkovChainListener ( new DebugChainListener ( this , debugWriteState , false ) ) ; } if ( System . getProperty ( DUMP_EVERY ) != null ) { long debugWriteEvery = Long . parseLong ( System . getProperty ( DUMP_EVERY ) ) ; mc . addMarkovChainListener ( new DebugChainListener ( this , debugWriteEvery , true ) ) ; } }
target:  Must be called before calling chain.