why is it necessary to cast?
public List<MetricGroupNode> getMetricGroupNodeList() {}