code: function (parentModuleCtrlPrivate, childModulePublic) {
                  var res = getModulePrivateInfo(childModulePublic);
                  if (!res) {
                      return;
                  }
                  var subModuleInfos = res.subModuleInfos;
                  if (!subModuleInfos || subModuleInfos.parentModule.moduleCtrlPrivate != parentModuleCtrlPrivate) {
                      this.$logError(this.DISPOSE_NOT_SUBMODULE, [parentModuleCtrlPrivate.$classpath,
                              res.moduleCtrlPrivate.$classpath]);
                      return;
                  }
                  res.moduleCtrlPrivate.$dispose();
              }
docs: Dispose a sub-module. This method is intended to be called from
  <code>aria.templates.ModuleCtrl.disposeSubModule</code> only. Please use that method and not this one
  if you need to dispose a sub-module.
  @param {aria.templates.ModuleCtrl} parentModuleCtrlPrivate parent module whole object (not the public
  interface)
  @param {aria.templates.IModuleCtrl} childModulePublic public interface of the child module to be disposed
  @private