code: @Override
  	public final FieldCase getNext(FieldCase ca) {
  		if (ca == null) {
  			List<FieldCase> stack = getCaseStack();
  			ca = stack.remove(0);
  			allHit = allHit | stack.isEmpty();
  		} else {
  			ca = createCase(ca);
  		}
  		return ca;
  	}
docs: If the {@link FieldCase} passed is {@code null}, the next case in the list of mandatory cases
  is returned. If the {@link FieldCase} passed is not {@code null}, a case will be generated
  dependent of it.
  
  @return the next case in the application flow