if (localKind == SVNStatusKind.UNVERSIONED) return SyncInfo.IN_SYNC;
    protected int calculateKind() throws TeamException {        SVNStatusKind localKind = localStatusInfo.getKind();        SVNStatusKind repositoryKind = SVNStatusKind.NORMAL;        if( remoteStatusInfo != null)            repositoryKind = remoteStatusInfo.getKind();        IResource local = getLocal();                if (!local.exists()) {            if (isDeletion(repositoryKind)) return SyncInfo.IN_SYNC;            if (isDeletion(localKind)) {                if (isChange(repositoryKind)) return SyncInfo.CONFLICTING | SyncInfo.DELETION;                return SyncInfo.OUTGOING | SyncInfo.DELETION;            } else return SyncInfo.INCOMING | SyncInfo.ADDITION;        }        else if( isChange(localKind) ) {            if( isChange( repositoryKind )             || isAddition( repositoryKind )              || isDeletion( repositoryKind ))                return SyncInfo.CONFLICTING | SyncInfo.CHANGE;            else                return SyncInfo.OUTGOING | SyncInfo.CHANGE;        }        else if( isAddition( localKind ) ) {            if( isAddition( repositoryKind ) )                return SyncInfo.CONFLICTING | SyncInfo.ADDITION;            return SyncInfo.OUTGOING | SyncInfo.ADDITION;        }        else if( isNotModified(localKind) ) {            if( isNotModified( repositoryKind) )                return SyncInfo.IN_SYNC;            if( repositoryKind == SVNStatusKind.DELETED )                return SyncInfo.INCOMING | SyncInfo.DELETION;            if( repositoryKind == SVNStatusKind.ADDED )                return SyncInfo.INCOMING | SyncInfo.ADDITION;            if (getComparator().compare(local, getRemote()))                 return SyncInfo.IN_SYNC;            return SyncInfo.INCOMING | SyncInfo.CHANGE;        }        else if( localKind == SVNStatusKind.EXTERNAL)            return SyncInfo.IN_SYNC;                       return super.calculateKind();    }