class DexJumpChainShortener extends BodyTransformer {

  public static DexJumpChainShortener v() {
    return new DexJumpChainShortener();
  }

  @Override
  protected void internalTransform(Body b, String phaseName, Map<String, String> options) {<FILL_FUNCTION_BODY>}

}


    for (Iterator<Unit> unitIt = b.getUnits().snapshotIterator(); unitIt.hasNext();) {
      Unit u = unitIt.next();
      if (u instanceof GotoStmt) {
        GotoStmt stmt = (GotoStmt) u;
        while (stmt.getTarget() instanceof GotoStmt) {
          GotoStmt nextTarget = (GotoStmt) stmt.getTarget();
          stmt.setTarget(nextTarget.getTarget());
        }
      } else if (u instanceof IfStmt) {
        IfStmt stmt = (IfStmt) u;
        while (stmt.getTarget() instanceof GotoStmt) {
          GotoStmt nextTarget = (GotoStmt) stmt.getTarget();
          stmt.setTarget(nextTarget.getTarget());
        }
      }
    }
  
<methods>public non-sealed void <init>() ,public final void transform(soot.Body, java.lang.String, Map<java.lang.String,java.lang.String>) ,public final void transform(soot.Body, java.lang.String) ,public final void transform(soot.Body) <variables>private static final Map<java.lang.String,java.lang.String> enabledOnlyMap