class ClinitElimTransformer extends BodyTransformer {

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

    ClinitElimAnalysis a = new ClinitElimAnalysis(new BriefUnitGraph(b));

    CallGraph cg = Scene.v().getCallGraph();
    for (Iterator<Edge> edgeIt = cg.edgesOutOf(b.getMethod()); edgeIt.hasNext();) {
      Edge e = edgeIt.next();
      if (e.isClinit()) {
        Stmt srcStmt = e.srcStmt();
        if (srcStmt != null) {
          if (a.getFlowBefore(srcStmt).contains(e.tgt())) {
            cg.removeEdge(e);
          }
        }
      }
    }
  
<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