code: private Plan getPlan() throws ProgramInvocationException {
  		if (this.plan == null) {
  			Thread.currentThread().setContextClassLoader(this.userCodeClassLoader);
  			this.plan = createPlanFromProgram(this.program, this.args);
  		}
  
  		return this.plan;
  	}
docs: Returns the plan as generated from the Pact Assembler.
  
  @return The program's plan.
  @throws ProgramInvocationException Thrown, if an error occurred in the program while
  creating the program's {@link Plan}.