/* package */ ContentState getContentStateForTransfer(final String filePath) {
    if (!transferHelper.isTransferring(filePath)) {
      return ContentState.REMOTE;
    }

    boolean localContentAvailable = localContentCache.contains(filePath);

    if (transferHelper.isTransferWaiting(filePath)) {
      if (localContentAvailable) {
        return ContentState.CACHED_NEW_VERSION_TRANSFER_WAITING;
      }
      return ContentState.TRANSFER_WAITING;
    }
    if (localContentAvailable) {
      return ContentState.CACHED_TRANSFERRING_NEW_VERSION;
    }
    return ContentState.TRANSFERRING;
  }