{
final List<Field> declaredFields = ReflectionUtils.getInheritedFields(pojoClass);
final Map<String, TupleRule<?, ?>> innerBuilders = new HashMap<String, TupleRule<?, ?>>();
for (Field declaredField : declaredFields)
{
Scalar scalar = declaredField.getAnnotation(Scalar.class);
Mapping mapping = declaredField.getAnnotation(Mapping.class);
Sequence sequence = declaredField.getAnnotation(Sequence.class);
TupleRule<?, ?> tupleRule = null;
TupleHandler tupleHandler = null;
boolean required = false;
if (scalar != null)
{
tupleRule = createScalarRule(declaredField, scalar);
tupleHandler = createHandler(scalar.handler(), scalar.alias(), ScalarNode.class);
required = scalar.required();
}
else if (mapping != null)
{
tupleRule = createMappingRule(declaredField, mapping);
tupleHandler = createHandler(mapping.handler(), mapping.alias(), MappingNode.class);