function( obj ) {
							if ( !obj ) {
									obj = promise;
							} else {
									for ( var key in promise ) {
											obj[ key ] = promise[ key ];
									}
							}
							return obj;
					}
function( obj ) {
							if ( !obj ) {
									obj = promise;
							} else {
									for ( var key in promise ) {
											obj[ key ] = promise[ key ];
									}
							}
							return obj;
					}
function ( obj ) { if ( ! obj ) { obj = promise ; } else { for ( var key in promise ) { obj [ key ] = promise [ key ] ; } } return obj ; }
Get a promise for this deferred If obj is provided, the promise aspect is added to the object
Get a promise for this deferred If obj is provided the promise aspect is added to the object