writeTrace( ruleResult, phase, rule, parent, null, partitions );
List<ElementGraph> results = makeBoundedOn( ruleResult.getAssemblyGraph(), partitions.getAnnotatedSubGraphs() );
// ignore annotations on equality, but replace an newer graph with prior
IgnoreAnnotationsHashSet uniques = new IgnoreAnnotationsHashSet( results );
if( uniques.size() != results.size() )
throw new PlannerException( "rule created duplicate element graphs" );
for( ElementGraph prior : priors )
{
if( !uniques.add( prior ) ) // todo: setting to force failure on duplicates
LOG.info( "partition rule created duplicate element graph to prior partitioner: {}, replacing duplicate result", partitioner.getRuleName() );
}
// order no longer preserved
subGraphs.put( parent, uniques.asList() );
}
ruleResult.setLevelResults( phase.getLevel(), subGraphs );
}