code: function(options) {
        var views = {};
        options = options || {};
        if (options.shared) {
          views = _.extend(views, this.__sharedViews);
        }
        if (options.child) {
          views = _.extend(views, this.__childViews);
        }
        if (!options.child && !options.shared) {
          views = _.extend(views, this.__sharedViews, this.__childViews);
        }
        return views;
      }
docs: Gets the hash from id to tracked views. You can limit the subset of views returned based on the options passed in.
  NOTE: returns READ-ONLY snapshots. Updates to the returned cid->view map will not be saved nor will updates to the underlying maps be reflected later in returned objects.
  This means that you can add "add" or "remove" tracked view using this method, however you can interact with the views inside the map completely.
  @param [options={}] {Object}  Optional options.
  @param [options.shared=false] {Boolean} If true, will add the shared views. These are views not owned by this parent. As compared to a child view
  which are disposed when the parent is disposed.
  @param [options.child=false] {Boolean} If true, will add child views. These are views that are owned by the parent and dispose of them if the parent is disposed.
  @method __getTrackedViewsHash
  @return READ-ONLY snapshot of the object maps cotaining tracked views keyed by their cid (filtered by optional options parameter).
  @private