A comment for each of these new functions, explaining how they are used would be good.
Since all that is really required in this last case is "m_aggregateExpressions.get(0)", it might be better to expose that directly and not expose a potentially mutable List.
Something like "public AbstractExpression getSingleAggregateExpression()".