code: protected Map<String, Object> processVariablesFromAnnotations(MethodInvocation invocation) throws Throwable {
  
  		Map<ProcessVariable, Object> vars = this.mapOfAnnotationValues(ProcessVariable.class, invocation);
  
  		Map<String, Object> varNameToValueMap = new HashMap<String, Object>();
  		for (ProcessVariable processVariable : vars.keySet()) {
  			varNameToValueMap.put(processVariable.value(), vars.get(processVariable));
  		}
  		return varNameToValueMap;
  
  	}
docs: if there any arguments with the {@link org.camunda.bpm.engine.annotations.ProcessVariable} annotation,
  then we feed those parameters into the business process
  
  @param invocation the invocation of the method as passed to the {@link org.aopalliance.intercept.MethodInterceptor#invoke(org.aopalliance.intercept.MethodInvocation)} method
  @return returns the map of process variables extracted from the parameters
  @throws Throwable thrown anything goes wrong