String (@NotNull Class<?> aClass) { for (Class<?> c = aClass; c != null; c = c.getSuperclass()) { String name = getTagNameFromAnnotation(c); if (name != null) { return name; } } String name = aClass.getSimpleName(); if (name.isEmpty()) { name = aClass.getSuperclass().getSimpleName(); } int lastIndexOf = name.lastIndexOf('$'); if (lastIndexOf > 0 && name.length() > (lastIndexOf + 1)) { return name.substring(lastIndexOf + 1); } return name; }