Add methods to parse the CACM collection.

The code is ugly and should be refactored.