class BDupInst extends AbstractInst implements DupInst {

  @Override
  public int getInCount() {
    return getUnderTypes().size() + getOpTypes().size();
  }

  @Override
  public int getInMachineCount() {<FILL_FUNCTION_BODY>}

  @Override
  public int getOutCount() {
    return getUnderTypes().size() + 2 * getOpTypes().size();
  }

  @Override
  public int getOutMachineCount() {
    int count = 0;
    for (Type t : getUnderTypes()) {
      count += AbstractJasminClass.sizeOfType(t);
    }
    for (Type t : getOpTypes()) {
      count += 2 * AbstractJasminClass.sizeOfType(t);
    }
    return count;
  }

  @Override
  public void apply(Switch sw) {
    throw new RuntimeException();
  }
}

    int count = 0;
    for (Type t : getUnderTypes()) {
      count += AbstractJasminClass.sizeOfType(t);
    }
    for (Type t : getOpTypes()) {
      count += AbstractJasminClass.sizeOfType(t);
    }
    return count;
  
<methods>public non-sealed void <init>() ,public boolean branches() ,public java.lang.Object clone() ,public boolean containsArrayRef() ,public boolean containsFieldRef() ,public boolean containsInvokeExpr() ,public boolean containsNewExpr() ,public boolean fallsThrough() ,public int getInCount() ,public int getInMachineCount() ,public abstract java.lang.String getName() ,public int getNetCount() ,public int getNetMachineCount() ,public int getOutCount() ,public int getOutMachineCount() ,public java.lang.String toString() ,public void toString(soot.UnitPrinter) <variables>