The splitIntoBranches() method needs to exclude any metrics that are not applicable to the current project. Furthermore, if a metric is excluded, any other metrics that depend on the excluded metric need also to be excluded. We need to avoid the case where two metrics have different pre-conditions, but one depends on the other.