ISV Package Development: The ISV is developing a managed package. They have an Apex class BodyFat with a method calculateBodyFat(). Requirement: Ensure calculateBodyFat() is accessible by consumers outside the package namespace. Solution: To allow methods in a managed package to be accessible outside the package namespace, they must be declared as global. Option B: Declare the class and method using the global access modifier. Correct Approach. Global Classes and Methods: In managed packages, only classes and methods declared as global are accessible outside the package namespace. Declaration: global class BodyFat { global void calculateBodyFat() { // method implementation } } Important Notes: Public classes and methods in managed packages are accessible only within the namespace. Global is required to expose the functionality to subscribers. The method must also be declared as global to be accessible outside the namespace. Using public on the method limits its accessibility to within the namespace. Option C: Declare the class and method using the public access modifier. Incorrect. Public classes and methods in a managed package are only accessible within the package's namespace. They are not accessible to subscribers. Option D: Declare the class as public and use the global access modifier on the method. Incorrect. The class must be declared as global to be accessible outside the namespace. A public class cannot contain global methods. Conclusion: To ensure calculateBodyFat() is accessible outside the package namespace, both the class and method must be declared as global. Therefore, Option B is the correct choice. Reference: Apex Class Access Modifiers Developing Packages with Apex Why Other Options are Not Suitable: Option A: Declare the class as global and use the public access modifier on the method. Incorrect.