ClassHierarchyAnalyzer: separate interfaces from classes
Refactored: extracted ClassSaver
Refactored: use ClassHierarchyAnalyzer
Refactored: extracted LowerBytecodeVersion