class FakeJimpleLocal extends JimpleLocal {
  Local realLocal;
  Object info; // whatever you want to attach to it...

  /** Constructs a FakeJimpleLocal of the given name and type. */
  public FakeJimpleLocal(String name, Type t, Local realLocal) {
    this(name, t, realLocal, null);
  }

  public FakeJimpleLocal(String name, Type t, Local realLocal, Object info) {
    super(name, t);
    this.realLocal = realLocal;
    this.info = info;
  }

  /** Returns true if the given object is structurally equal to this one. */
  public boolean equivTo(Object o) {<FILL_FUNCTION_BODY>}

  public boolean equals(Object o) {
    return equivTo(o);
  }

  /** Returns a clone of the current JimpleLocal. */
  public Object clone() {
    return new FakeJimpleLocal(getName(), getType(), realLocal, info);
  }

  public Local getRealLocal() {
    return realLocal;
  }

  public Object getInfo() {
    return info;
  }

  public void setInfo(Object o) {
    info = o;
  }
}

    if (o == null) {
      return false;
    }
    if (o instanceof JimpleLocal) {
      if (getName() != null && getType() != null) {
        return getName().equals(((Local) o).getName()) && getType().equals(((Local) o).getType());
      } else if (getName() != null) {
        return getName().equals(((Local) o).getName()) && ((Local) o).getType() == null;
      } else if (getType() != null) {
        return ((Local) o).getName() == null && getType().equals(((Local) o).getType());
      } else {
        return ((Local) o).getName() == null && ((Local) o).getType() == null;
      }
    }
    return false;
  
<methods>public void <init>(java.lang.String, soot.Type) ,public void apply(soot.util.Switch) ,public java.lang.Object clone() ,public void convertToBaf(soot.jimple.JimpleToBafContext, List<soot.Unit>) ,public int equivHashCode() ,public boolean equivTo(java.lang.Object) ,public java.lang.String getName() ,public final int getNumber() ,public soot.Type getType() ,public final List<soot.ValueBox> getUseBoxes() ,public boolean isStackLocal() ,public void setName(java.lang.String) ,public void setNumber(int) ,public void setType(soot.Type) ,public java.lang.String toString() ,public void toString(soot.UnitPrinter) <variables>protected java.lang.String name,private volatile int number,protected soot.Type type