Now, I will show the implementation of reflection (from the Whitted approach). It is basically using the reflection law and recurse the ray cast.
Each object can reflect a ray more or less from a different object. A mirror would reflect the light totally, and a matte object would reflect nothing. Each new reflection is a new ray tracing call, so it can be costly. The number of recursion levels will be fixed, even if an object reflects nothing: this will be implemented through shaders in the future.