coreRuntime/src/sc/sync/SyncManager.java
public void initSyncInst(List<SyncLayer.SyncChange> depChanges, Object inst, InstInfo ii, boolean initDefault, int scopeId, SyncProperties syncProps, Object[] args, boolean queueNewObj, boolean inherited, boolean addPropChanges, boolean initial, SyncLayer syncLayer) {
         Object[] props = syncProps == null ? null : syncProps.getSyncProperties();

         if (initial) {
            if (!inherited) {
               ii.initialized = true;
               registerSyncInstName(depChanges, inst, ii, scopeId, syncProps, queueNewObj);
            }
            else {
               InstInfo curII = getInstInfo(inst);
               if (curII == null) {
                 // Make a copy of the inst info for this sync context.
                  ii = createAndRegisterInheritedInstInfo(inst, ii);
               }
               else
                  ii = curII;
               ii.nameQueued = queueNewObj;

               // Need to mark this initialized in this context.  We do not add the listeners when inherited but we do add the initial properties the first time it's accessed in the child scope.
               ii.initialized = true;
            }
         }
         // The replaceInstance operation
         else {
            if (ii.name != null)
               objectIndex.put(ii.name, inst);
            putInstInfo(inst, ii);
         }

         // If the instance sends a "default change event" - i.e. prop = null, it's a signal that its properties have changed so add the listener for that event.
         if (inst instanceof IChangeable && syncProps != null && !ii.inherited) {
            DefaultValueListener listener = new DefaultValueListener();
            listener.ctx = this;
            listener.syncGroup = syncProps.syncGroup;
            listener.syncObj = inst;
            Bind.addListener(inst, null, listener, IListener.VALUE_CHANGED_MASK);
            ii.valueListener = listener;
         }

         initPropertyListeners(depChanges, inst, ii, props, inherited, syncProps, addPropChanges, initial, syncLayer);
      }
/** Initializes the instance.  If inherited is true, this instance is stored in a lower-level scope (e.g. we are initializing an instance for a session that's inited already at the global level)
       *   If queueNewObj is true, we add  */
Initializes the instance.  If inherited is true, this instance is stored in a lower-level scope
If queueNewObj is true, we add
Initializes the instance . If inherited is true this instance is stored in a lower - level scope If queueNewObj is true we add
public void initSyncInst(List<SyncLayer.SyncChange> depChanges, Object inst, InstInfo ii, boolean initDefault, int scopeId, SyncProperties syncProps, Object[] args, boolean queueNewObj, boolean inherited, boolean addPropChanges, boolean initial, SyncLayer syncLayer) {
         Object[] props = syncProps == null ? null : syncProps.getSyncProperties();
         if (initial) {
            if (!inherited) {
               ii.initialized = true;
               registerSyncInstName(depChanges, inst, ii, scopeId, syncProps, queueNewObj);
            }
            else {
               InstInfo curII = getInstInfo(inst);
               if (curII == null) {
                  ii = createAndRegisterInheritedInstInfo(inst, ii);
               }
               else
                  ii = curII;
               ii.nameQueued = queueNewObj;
               ii.initialized = true;
            }
         }
         else {
            if (ii.name != null)
               objectIndex.put(ii.name, inst);
            putInstInfo(inst, ii);
         }
         if (inst instanceof IChangeable && syncProps != null && !ii.inherited) {
            DefaultValueListener listener = new DefaultValueListener();
            listener.ctx = this;
            listener.syncGroup = syncProps.syncGroup;
            listener.syncObj = inst;
            Bind.addListener(inst, null, listener, IListener.VALUE_CHANGED_MASK);
            ii.valueListener = listener;
         }
         initPropertyListeners(depChanges, inst, ii, props, inherited, syncProps, addPropChanges, initial, syncLayer);
      }
public void initSyncInst ( List < SyncLayer . SyncChange > depChanges , Object inst , InstInfo ii , boolean initDefault , int scopeId , SyncProperties syncProps , Object [ ] args , boolean queueNewObj , boolean inherited , boolean addPropChanges , boolean initial , SyncLayer syncLayer ) { Object [ ] props = syncProps == null ? null : syncProps . getSyncProperties ( ) ; if ( initial ) { if ( ! inherited ) { ii . initialized = true ; registerSyncInstName ( depChanges , inst , ii , scopeId , syncProps , queueNewObj ) ; } else { InstInfo curII = getInstInfo ( inst ) ; if ( curII == null ) { ii = createAndRegisterInheritedInstInfo ( inst , ii ) ; } else ii = curII ; ii . nameQueued = queueNewObj ; ii . initialized = true ; } } else { if ( ii . name != null ) objectIndex . put ( ii . name , inst ) ; putInstInfo ( inst , ii ) ; } if ( inst instanceof IChangeable && syncProps != null && ! ii . inherited ) { DefaultValueListener listener = new DefaultValueListener ( ) ; listener . ctx = this ; listener . syncGroup = syncProps . syncGroup ; listener . syncObj = inst ; Bind . addListener ( inst , null , listener , IListener . VALUE_CHANGED_MASK ) ; ii . valueListener = listener ; } initPropertyListeners ( depChanges , inst , ii , props , inherited , syncProps , addPropChanges , initial , syncLayer ) ; }
Initializes the instance.
Initializes the instance .
// Make a copy of the inst info for this sync context. // Need to mark this initialized in this context.  We do not add the listeners when inherited but we do add the initial properties the first time it's accessed in the child scope. // The replaceInstance operation // If the instance sends a "default change event" - i.e. prop = null, it's a signal that its properties have changed so add the listener for that event.