int search(String[] array, String value, int pos): @CodeLabel("header")
  if the input array or value are null: @CodeLabel("ifNull")
    return -1;
  if the current position is outside the array: @CodeLabel("ifAtEnd")
    return -1; @CodeLabel("notFound")
  if the element at position pos is equal to value: @CodeLabel("ifMatch")
    return pos; @CodeLabel("return value")
  return search(array, value, mod + 1, upper); @CodeLabel("recursion")