List<MavenProject> mediatedProjects = new ArrayList<MavenProject>( projects );
MavenProjectUtils.mediateDependencyVersions( mediatedProjects );
try
{
ProjectSorter projectSorter = new ProjectSorter( mediatedProjects );
return genericList( projectSorter.getSortedProjects(), MavenProject.class );
}
catch ( CycleDetectedException exception )
{
throw new MavenRuntimeException( "Cannot sort projects", exception );
}