usage of tools PegaAPI

whats the difference between creating objects in below ways

1 java.util.Set PropertiesList = new HashSet();

2 com.pega.pegarules.priv.database.IColPopulation colPop = tools.getColumnPopulationAPI();

why do we require “tools” to create this columnpopulationAPI ?

is it because its a engine API ? if yes, do we need to create tools public API instance to access all Engine APIs ?

Also, how do we get documentation for Engine API ?

Thanks in Advance

@Neeraj_nc"tools" is a PEGA-provided object which implements an interface called PublicAPI. This pattern structure allows the Public API to then further instantiate all classes under the PEGA Engine API, and hence making them accessible.

You can access the entire list from the ? sign just beside the Branch option in the Dev Studio, and then selecting Engine API.