code: protected void pushDecodingInstanceVar(CodeAssembler a, int ordinal,
                                             LocalVariable instanceVar) {
          if (instanceVar == null) {
              // Push this to stack in preparation for storing a property.
              a.loadThis();
          } else if (instanceVar.getType() != TypeDesc.forClass(Object[].class)) {
              // Push reference to stack in preparation for storing a property.
              a.loadLocal(instanceVar);
          } else {
              // Push array and index to stack in preparation for storing a property.
              a.loadLocal(instanceVar);
              a.loadConstant(ordinal);
          }
      }
docs: Push decoding instanceVar to stack in preparation to calling
  storePropertyValue.
  
  @param ordinal zero-based property ordinal, used only if instanceVar
  refers to an object array.
  @param instanceVar local variable referencing Storable instance,
  defaults to "this" if null. If variable type is an Object array, then
  property values are written to the runtime value of this array instead
  of a Storable instance.
  @see #storePropertyValue storePropertyValue