Question: I have to do a refactoring in an advanced search method with 500 lines. I split this method using closures in small parts, and now I have a lot of closures but I want to invoke them dynamically. 

For example:

```
def listCriteria={ ... }
def textCriteria={ ... }
def booleanCriteria={ ... }

criteria.listDistinct {
    criteries.eachWithIndex { crit, i->
        def criteriaType="${crit.type}Criteria"
        ...
    }
}

```

How can I do that?

Answer: 
When the `J condition` is not satisfied, the cycles are

1. `Opcode fetch (4 T states)`
2. `Memory read (3 T states)` of the lower byte specified, while simultaneously checking the flag condition.

If the condition isn't satisfied, the `processor ends` this instruction cycle after these 2 machine cycles and `4+3 = 7 T states.`
If the condition is satisfied 10T states, otherwise 7T states in case of conditional jump.
In case of unconditional jump JMP its always 10T states