A class file is represented by the {@link proguard.classfile.Clazz
Clazz} interface. This interface currently has two alternative
representations:
{@link ProgramClass ProgramClass}:
    a complete representation that can be read, modified, and written back.
{@link LibraryClass LibraryClass}:
    an incomplete representation that can be only be read. It is however
    more compact than ProgramClass, and sufficient for
    analyzing class files from library jars.