doccument on Interfaces and Generic Classes