@Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    FilePatchInProgress that = (FilePatchInProgress) o;

    if (!myStrippable.equals(that.myStrippable)) return false;

    return true;
  }
 @Override
 public int hashCode() {
   return myStrippable.hashCode();
 }
 public String getCurrentPath() {
   return myStrippable.getCurrentPath();
 }
 public int getCurrentStrip() {
   return myStrippable.getCurrentStrip();
 }
 public void down() {
   myStrippable.down();
   refresh();
 }
 public void setZero() {
   myStrippable.setZero();
   refresh();
 }
 public void up() {
   myStrippable.up();
   refresh();
 }
 public boolean canUp() {
   return myStrippable.canUp();
 }
 public boolean canDown() {
   return myStrippable.canDown();
 }
 public void reset() {
   myStrippable.reset();
   refresh();
 }
 private void refresh() {
   myStrippable.applyBackToPatch(myPatch);
   setNewBase(myBase);
 }