docs: public boolean process( T left , T right ) {
  //		System.out.println("----------- Process --------------");
  
  		this.inputLeft = left;
  		this.inputRight = right;
  
  		tick++;
  		trackerLeft.process(left);
  		trackerRight.process(right);
  
  		if( first ) {
  			addNewTracks();
  			first = false;
  		} else {
  			mutualTrackDrop();
  			selectCandidateTracks();
  			boolean failed = !estimateMotion();
  			dropUnusedTracks();
  
  			if( failed )
  				return false;
  
  			int N = matcher.getMatchSet().size();
  
  			if( modelRefiner != null )
  				refineMotionEstimate();
  
  			if( thresholdAdd <= 0 || N < thresholdAdd ) {
  				changePoseToReference();
  				addNewTracks();
  			}
  		}
  		return true;
  	}