private List<FieldNode> getAnnotatedFieldsOfHierarchy(ClassNode target, ClassNode annotation) {
    List<FieldNode> result = new ArrayList<FieldNode>();

    for (ClassNode level : ASTHelper.getHierarchyOfDSLObjectAncestors(target)) {
      result.addAll(getAnnotatedFieldOfClass(level, annotation));
    }

    return result;
  }