java的executor.submit()方法问题

请教各位大侠,下面这段java的代码,for循环里面的两个语句,为什么从第一个语句到第二个语句,对象solverinstance某些属性值会发生变化。 且调试的时候,我如果用“步入”,就直接从第一个语句跳到了第二个语句,我用的IDE是netbeans,只不过把java的类库给过滤了,并没有过滤自己的代码,不明白为什么solveinstance一些属性值发生变化了。

 for(AbstractPricingProblemSolver<T, U, V> solverInstance : bundle.solverInstances){
            Future<Void> f=executor.submit(solverInstance);
                    futures.add(f);
        }

executor.submit()执行的是下面的操作,没有看出来有对solverinstance操作啊。

 public <T> Future<T> submit(Callable<T> task) {
        if (task == null) throw new NullPointerException();
        RunnableFuture<T> ftask = newTaskFor(task);
        execute(ftask);
        return ftask;
    }

http://willsunforjava.iteye.com/blog/1631353