BasicBlock thenFinishBlock = findThenFinish(cfg, thenBB, elseStartPos);
InstructionHandle thenFinishIns = findThenFinish(cfg, thenBB, elseStartPos); int thenFinishPos = thenFinishIns.getPosition();
	private void findIfElseDuplicates(CFG cfg, Method method, BasicBlock bb) {		BasicBlock thenBB = null, elseBB = null;		Iterator<Edge> iei = cfg.outgoingEdgeIterator(bb);		while (iei.hasNext()) {			Edge e = iei.next();			if (e.getType() == EdgeTypes.IFCMP_EDGE) {				elseBB = e.getTarget();			}			else if (e.getType() == EdgeTypes.FALL_THROUGH_EDGE) {				thenBB = e.getTarget();			}		}				if ((thenBB == null) || (elseBB == null) 		||  (thenBB.getFirstInstruction() == null) || (elseBB.getFirstInstruction() == null))			return;				int thenStartPos = thenBB.getFirstInstruction().getPosition();		int elseStartPos = elseBB.getFirstInstruction().getPosition();				BasicBlock thenFinishBlock = findThenFinish(cfg, thenBB, elseStartPos);				if (thenFinishBlock == null)			return;				Instruction lastFinishIns = thenFinishBlock.getLastInstruction().getInstruction();		if (!(lastFinishIns instanceof GotoInstruction))			return;				int thenFinishPos = thenFinishBlock.getLastInstruction().getPosition();		int elseFinishPos = ((GotoInstruction) lastFinishIns).getTarget().getPosition();				if (thenFinishPos >= elseStartPos)			return;				if ((thenFinishPos - thenStartPos) != (elseFinishPos - elseStartPos))			return;				byte[] thenBytes = getCodeBytes(method, thenStartPos, thenFinishPos);		byte[] elseBytes = getCodeBytes(method, elseStartPos, elseFinishPos);				if (!Arrays.equals(thenBytes, elseBytes))			return;				bugReporter.reportBug(new BugInstance(this, "DB_DUPLICATE_BRANCHES", LOW_PRIORITY)				.addClass(classContext.getJavaClass())				.addMethod(classContext.getJavaClass(), method)				.addSourceLineRange(this.classContext, this, 						thenBB.getFirstInstruction().getPosition(),						thenBB.getLastInstruction().getPosition())				.addSourceLineRange(this.classContext, this, 						elseBB.getFirstInstruction().getPosition(),						elseBB.getLastInstruction().getPosition()));			}