class SETTopNode extends SETNode {
  public SETTopNode(IterableSet body) {
    super(body);
    add_SubBody(body);
  }

  public IterableSet get_NaturalExits() {
    return new IterableSet();
  }

  public ASTNode emit_AST() {
    return new ASTMethodNode(emit_ASTBody(body2childChain.get(subBodies.get(0))));
  }

  public AugmentedStmt get_EntryStmt() {<FILL_FUNCTION_BODY>}

  protected boolean resolve(SETNode parent) {
    throw new RuntimeException("Attempting auto-nest a SETTopNode.");
  }
}

    throw new RuntimeException("Not implemented.");
    // FIXME the following turned out to be ill-typed after applying type
    // inference for generics
    // body2childChain maps to IterableSet !
    // return (AugmentedStmt) ((SETNode) body2childChain.get(
    // subBodies.get(0))).get_EntryStmt();
  
<methods>public void <init>(IterableSet<soot.dava.internal.asg.AugmentedStmt>) ,public boolean add_Child(soot.dava.internal.SET.SETNode, IterableSet#RAW) ,public void add_SubBody(IterableSet#RAW) ,public boolean contains(java.lang.Object) ,public void dump() ,public void dump(java.io.PrintStream) ,public abstract soot.dava.internal.AST.ASTNode emit_AST() ,public List<java.lang.Object> emit_ASTBody(IterableSet#RAW) ,public boolean equals(java.lang.Object) ,public void find_AbruptEdges(soot.dava.toolkits.base.finders.AbruptEdgeFinder) ,public void find_LabeledBlocks(soot.dava.toolkits.base.finders.LabeledBlockFinder) ,public void find_SmallestSETNode(soot.dava.internal.asg.AugmentedStmt) ,public void find_StatementSequences(soot.dava.toolkits.base.finders.SequenceFinder, soot.dava.DavaBody) ,public IterableSet<soot.dava.internal.asg.AugmentedStmt> get_Body() ,public Map<IterableSet#RAW,IterableSet#RAW> get_Body2ChildChain() ,public abstract soot.dava.internal.asg.AugmentedStmt get_EntryStmt() ,public IterableSet<soot.dava.internal.asg.AugmentedStmt> get_IntersectionWith(soot.dava.internal.SET.SETNode) ,public soot.dava.internal.SET.SETNodeLabel get_Label() ,public abstract IterableSet#RAW get_NaturalExits() ,public soot.dava.internal.SET.SETNode get_Parent() ,public IterableSet#RAW get_Predecessors() ,public List<IterableSet#RAW> get_SubBodies() ,public IterableSet#RAW get_Successors() ,public boolean has_IntersectionWith(soot.dava.internal.SET.SETNode) ,public int hashCode() ,public boolean insert_ChildBefore(soot.dava.internal.SET.SETNode, soot.dava.internal.SET.SETNode, IterableSet#RAW) ,public boolean is_StrictSupersetOf(soot.dava.internal.SET.SETNode) ,public boolean is_SupersetOf(soot.dava.internal.SET.SETNode) ,public boolean nest(soot.dava.internal.SET.SETNode) ,public boolean remove_Child(soot.dava.internal.SET.SETNode, IterableSet#RAW) ,public void verify() <variables>private IterableSet<soot.dava.internal.asg.AugmentedStmt> body,protected Map<IterableSet#RAW,IterableSet#RAW> body2childChain,protected soot.dava.internal.asg.AugmentedStmt entryStmt,private final non-sealed soot.dava.internal.SET.SETNodeLabel label,private static final org.slf4j.Logger logger,protected soot.dava.internal.SET.SETNode parent,protected IterableSet#RAW predecessors,protected LinkedList<IterableSet#RAW> subBodies,protected IterableSet#RAW successors