whole_func_string: function deleteCacheForConstructor (constr) {
              for(var i in inheritanceChain) {
                  if(inheritanceChain.hasOwnProperty(i)) {
                      if(inheritanceChain[i].indexOf(constr.__get_protolib_id__) > -1) {
                          cached[i] = undefined;
                          delete cached[i];
  
                          inheritanceChain[i] = undefined;
                          delete inheritanceChain[i];
                      }
                  }
              }
              return self;
          }
func_code_string: function deleteCacheForConstructor (constr) {
              for(var i in inheritanceChain) {
                  if(inheritanceChain.hasOwnProperty(i)) {
                      if(inheritanceChain[i].indexOf(constr.__get_protolib_id__) > -1) {
                          cached[i] = undefined;
                          delete cached[i];
  
                          inheritanceChain[i] = undefined;
                          delete inheritanceChain[i];
                      }
                  }
              }
              return self;
          }
func_documentation_string: Deletes the cache for the given constructor, and all others that inherits from its prototype.
  Which means if constr === Object, all cache will be deleted.
  @param {Function} constr The constructor to delete the cache for.
  @return {ProtoLib} The current ProtoLib instance