Instance providers are used to generate instances on which verifications are performed by checkers. The IInstanceProvider interface has two methods, getInstance and canProvide. getInstance returns an instance of the specified class, and canProvide checks if the instance provider is able to return an instance of as given class.
DefaultInstanceProviderCopyConstructorInstanceProviderMultipleInstanceProviderTo write your own instance provider, you only need to implement the IInstanceProvider class and its two methods, getInstance and canProvide.