{
ParameterizedType genSuperclsType = (ParameterizedType) cls.getGenericSuperclass();
Type[] paramTypeArgs = genSuperclsType.getActualTypeArguments();
if (paramTypeArgs != null && paramTypeArgs.length > j && paramTypeArgs[j] instanceof Class)
{
<BUG>NucleusLogger.METADATA.debug("Class=" + cls.getName() + " field=" + theclsFields[i].getName() +
</BUG>
" declared to be " + fieldTypeVar + ", namely TypeVariable(" + j + ") of " + declCls.getName() + " so using " + paramTypeArgs[j]);
<BUG>String memberName = declCls.getName() + "." + theclsFields[i].getName();
if (!memberNames.contains(memberName))
</BUG>
{

{
theClass = theClass.getSuperclass();
Field[] theclsFields = theClass.getDeclaredFields();
for (int i=0;i<theclsFields.length;i++)
{
