private static <E> Set<E> newSetFromMap(Map<E, Boolean> map) {
    if (map.isEmpty()) {
      return new SetFromMap<>(map);
    }
    throw new IllegalArgumentException();
  }
Only allows profiles that actually hosting this bucket. If the profile is primary, then
primaryMember will be set to that member but only if we are not already the primary.

@param profile the profile to add (must be a BucketProfile)
@param forceProfile true will force profile to be added even if member is not in distributed
       view

@see #adviseProfileUpdate()
geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java