Context freshContext = new Context(context, sourceSet);
List<Agent> result = new ArrayList<Agent>();
reporterBlock.checkAgentSetClass(sourceSet, context);
for (AgentSet.Iterator iter = sourceSet.iterator(); iter.hasNext();) {
Agent tester = iter.next();
Object value = freshContext.evaluateReporter(tester, reporterBlock);
if (!(value instanceof Boolean)) {
throw new EngineException
(context, this, I18N.errorsJ().getN("org.nlogo.prim.$common.expectedBooleanValue",
displayName(), Dump.logoObject(tester), Dump.logoObject(value)));
}