How does C4.5 treat missing values internally




While trying to understand the replacement of missing values I came to know that the decision tree algorithm C4.5 handles missing values internally by treating them as a separate class.
What I want to know is that-say I have 5 variables with missing values scattered across the dataset.
So does C4.5 treat each variables missing values as a separate class or all the missing values in the data as a separate class.
It would make logical sense to do this at each variable level,but I am not being able to find any solid evidence of that.
Can someone please help me with this??