code: @Override
  	public Void visitAnnotation(AnnotationMirror a, String p) {
  		if (AnnotationAttributeType.INDEXES.getValue().equals(p)) {
  			inTasks = true;
  		}
  
  		if (inTasks) {
  			currentValue = new Pair<List<String>, Boolean>(new ArrayList<String>(), false);
  			for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : a.getElementValues().entrySet()) {
  				String key = entry.getKey().getSimpleName().toString();
  				entry.getValue().accept(this, key);
  			}
  			indexes.add(currentValue);
  		}
  
  		if (AnnotationAttributeType.INDEXES.getValue().equals(p)) {
  			inTasks = false;
  		}
  
  		return null;
  	}
docs: /*
  (non-Javadoc)
  
  @see
  javax.lang.model.util.SimpleAnnotationValueVisitor6#visitAnnotation(javax
  .lang.model.element.AnnotationMirror, java.lang.Object)