class name changed from getAllModules() to getModulesWithExtendedClass() (cherry picked from commit 38c9376)
test case for bug entered (cherry picked from commit 4697329)
class name changed from getAllModules() to getModulesWithExtendedClass() (cherry picked from commit 96dcbab)
class name changed from isExtended() to hasExtendClass() (cherry picked from commit 012e6d0)
allow to activate module even if it has nothing to extend. build module chains only if module extend something (cherry picked from commit 0017038)
duplicated code removed: isActive already check if module has nothing to extend. (cherry picked from commit 4ee8646)
legacy compatibility restored: check if has metadata or has extended class (cherry picked from commit 34a004f)
new module must have metadata (cherry picked from commit e62558a)
code beautifying (cherry picked from commit 5bddd72)
test for method hasExtendedClass add (cherry picked from commit aa0ed01)
code beatifying (cherry picked from commit 0dddc81)
comment updated
comment updated
0004424: There should be possibility to extend same class more than one time in one module.