Class<?> currentType = type;
Class<?> tempType;
Type aTempType;
ClassContainer tempContainer;
SaveableField info;
HashSet<String> overrides = new HashSet<String>();
// Iterate through this class and superclass's and get saveable fields
do
{
// Locate all members that are saveable.
for (Field f : currentType.getDeclaredFields())
{
if (overrides.contains(f.getName()))
{
overrides.remove(f.getName());
continue;
}
// if its a saveable field
if (f.isAnnotationPresent(SaveableField.class))
{
info = f.getAnnotation(SaveableField.class);
// register ignoire classes....
if (info != null && !info.overrideParent().isEmpty())
{
overrides.add(info.overrideParent());
}
tempType = f.getType();
aTempType = f.getGenericType();
if (aTempType instanceof ParameterizedType)