These three steps should be exposed as separate public static methods for.
These three steps should be exposed as separate public static methods for.