public void Follow(string userName, string followerUserName) { if (userName.IsNullOrEmpty()) { throw new ArgumentNullException(nameof(userName)); } if (userName.IsNullOrEmpty()) { throw new ArgumentNullException(nameof(userName)); } var followers = GetFollowers(userName); if (followers.Select(p => p.UserName).Contains(followerUserName)) { throw new BusinessLogicException("User is already follow"); } _profileProvider.Follow(userName, followerUserName); }