Change EList to List according LSP.
Add List<?> for generic type.
Rewrite getNameWithoutVersion(..) as same behavior but not use Exception
as condition. (still not feel comfortable about this function.)