implementacao inicial refatorada de hasBranch