The think you do in the else if is exactly the same as what you do in the if. If you mean the condition and not the action then: http://en.wikipedia.org/wiki/Lazy_evaluation
```java
for ( int id : instance().newVillagerIds ) {
      if ( instance().spawnConditionHandlers.get( id ) == null || instance().spawnConditionHandlers.get( id ).typeIsValidForVillager( villager, rand ) )
          validVillagerIds.add( id );
    }
```