/** * TODO Refactor, instanceof code smell. TODO Add new annotation in here for the moment * * @param ai * @param instance */ private void initClassFields(final Class<? extends AI> ai, final AI instance) throws IllegalAccessException { for (Field field : ai.getDeclaredFields()) { for (Annotation annotation : field.getDeclaredAnnotations()) { if (annotation instanceof AIDigitParameters) { initClassFieldDigitParameter(ai, instance, field, (AIDigitParameters) annotation); } else if (annotation instanceof AIBooleanParameter) { initClassFieldBooleanParameter(ai, instance, field, (AIBooleanParameter) annotation); } // else if ( annotation instanceof WhatEverFieldAnnotation ) { } -> put it here! } } }