title: Last record value is displayed, not all values are looped
body: <p>In the code below, in _copyChild and innerModelRetrieved functions print on console 4 features one by one, but in next function onInnerModelRetrieved 4 times last feature value is printed, I am not able to figure it why its happening like that. please help me with this.</p>
  
  <pre><code>        Ext.define('CustomApp', {               
              extend: 'Rally.app.App',
              componentCls: 'app',
              _newObj : {},
              childrens: [],
              _type : null,
              launch: function() {
                  Ext.create('Rally.ui.dialog.ChooserDialog', {
                      width: 450,
                      autoScroll: true,
                      height: 525,
                      title: 'Select to Copy',
                      pageSize: 100,
                      closable: false,
                      selectionButtonText: 'Copy',                  
                      artifactTypes: ['PortfolioItem/Feature','PortfolioItem/MMF','PortfolioItem/Epic', 'PortfolioItem/Program'],
                      autoShow: true,
                      storeConfig:{
                          fetch: ['Name','PortfolioItemTypeName']
                      },
                      listeners: {
                          artifactChosen: function(selectedRecord) {
                              childrens = [];
                              this._type = selectedRecord.get('PortfolioItemTypeName');
                              this._newObj = selectedRecord;
                              this.onqModelRetrieved();
                              var self = this;
                              Ext.create('Rally.data.wsapi.Store', {
                                  model: 'PortfolioItem/' + selectedRecord.get('PortfolioItemTypeName'),
                                  fetch: ['Name', 'FormattedID', 'Children'],
                                  pageSize: 1,
                                  autoLoad: true,
                                  listeners: {
                                      load: function(store, records) {
                                          final_features = [];
                                          Ext.Array.each(records, function(child){
                                              var item = selectedRecord;
                                              childrens = item.getCollection('Children');
                                              childrens.load({
                                                  fetch: ['FormattedID'],
                                                  callback: function(records, operation, success){
                                                      Ext.Array.each(records, function(portfolioitem){
                                                          if (portfolioitem.get('PortfolioItemTypeName') == "Feature") {
                                                              self._childObj = portfolioitem;
                                                              self._copyChild();
                                                          }   
                                                      }, self);   
                                                  },
                                                  scope: this 
                                              });     
                                          }, self);
                                      }   
                                  }
                              });
                          },
                          scope: this
                      },
                  }); 
              },
              // Inner Copy functions
              _copyChild: function() {
                  console.log("child value here", that._childObj);
                  this.innerModelRetrieved();
              },
              innerModelRetrieved: function() {
                  var that = this
                  console.log("next child value here", that._childObj);
                  that._type = 'PortfolioItem/' + that._childObj.get('PortfolioItemTypeName');
                  Rally.data.ModelFactory.getModel({
                      type: that._type,
                      success: that.onInnerModelRetrieved,
                      scope: that
                  });     
              },                      
              onInnerModelRetrieved: function(model) {
                  console.log("next child value here", this._childObj);
                  this.model = model;
                  this.genericInnerCopy(model);
              },
  </code></pre>