@Override
 public void restartFromBeginning() {
   super.restartFromBeginning();
   if (viewProxy != null && viewProxy.peekView() != null) {
     viewProxy.peekView().resetAnimatedParams();
   }
 }
  @Override
  public void applyOptions() {
    super.applyOptions();
    HashMap options = getOptions();

    if (options == null) {
      return;
    }

    if (options.containsKey(TiC.PROPERTY_ANCHOR_POINT)) {
      Object anchorPoint = options.get(TiC.PROPERTY_ANCHOR_POINT);
      if (anchorPoint instanceof HashMap) {
        HashMap point = (HashMap) anchorPoint;
        anchorX = TiConvert.toFloat(point, TiC.PROPERTY_X);
        anchorY = TiConvert.toFloat(point, TiC.PROPERTY_Y);
      } else {
        Log.e(TAG, "Invalid argument type for anchorPoint property. Ignoring");
      }
    }
    this.options = options;
  }
 @Override
 protected void handleFinish() {
   cleanupView();
   super.handleFinish();
 }
 @Override
 public void cancelWithoutResetting() {
   super.cancelWithoutResetting();
   //		cleanupView();
 }
 @Override
 protected void handleCancel() {
   super.handleCancel();
   cleanupView();
 }