question: boolean add ( String srcFilename , int srcLine , int dstLine , boolean isPreferLast ) { if ( _srcFilename != null && ( ! _srcFilename . equals ( srcFilename ) || srcFilename == null ) ) return false ; if ( dstLine <= _dstLine ) { if ( ! isPreferLast ) return true ; else if ( _dstIncrement == 1 && _repeat == 1 ) { _srcLine = srcLine ; return true ; } else if ( _repeat > 1 ) { _repeat -- ; return false ; } else if ( _dstIncrement > 1 ) { _dstIncrement -- ; return false ; } else return true ; } if ( srcLine == _srcLine ) { _dstIncrement = dstLine - _dstLine + 1 ; return true ; } else if ( dstLine - _dstLine == ( srcLine - _srcLine ) * _dstIncrement ) { _repeat = srcLine - _srcLine + 1 ; return true ; } else if ( srcLine == _srcLine + 1 && _repeat == 1 ) { _dstIncrement = dstLine - _dstLine ; return false ; } return false ; }
target:  Tries to add a new location.