store to cache object if available.
not caching reflection object. all injection prop/methods must be public.
forge an object based on new analysis result; only public method/property to inject.
made a mock class to have all public.
always returns an array from analyzeMethod.
injectConstruct method for constructing an object.
withCache to set cache to Analyzer object.