code: public void buildDataDecoding(CodeAssembler assembler,
                                    StorableProperty<S>[] properties,
                                    LocalVariable instanceVar,
                                    Class<?> adapterInstanceClass,
                                    boolean useWriteMethods,
                                    int generation,
                                    Label altGenerationHandler,
                                    LocalVariable encodedVar)
          throws SupportException
      {
          properties = ensureDataProperties(properties);
          buildDecoding(Mode.DATA, assembler, properties, null,
                        instanceVar, adapterInstanceClass, useWriteMethods,
                        generation, altGenerationHandler, encodedVar);
      }
docs: Generates bytecode instructions to decode properties. A
  CorruptEncodingException may be thrown from generated code.
  
  @param assembler code assembler to receive bytecode instructions
  @param properties specific properties to decode, defaults to all non-key
  properties if null
  @param instanceVar local variable referencing Storable instance,
  defaults to "this" if null. If variable type is an Object array, then
  property values are placed into the runtime value of this array instead
  of a Storable instance.
  @param adapterInstanceClass class containing static references to
  adapter instances - defaults to instanceVar
  @param useWriteMethods when true, set properties by public write
  methods instead of protected fields - should be used if class being
  generated doesn't have access to these fields
  @param generation when non-negative, decoder expects a storable layout
  generation value to match this value. Otherwise, it throws a
  CorruptEncodingException.
  @param altGenerationHandler if non-null and a generation is provided,
  this label defines an alternate generation handler. It is executed
  instead of throwing a CorruptEncodingException if the generation doesn't
  match. The actual generation is available on the top of the stack for
  the handler to consume.
  @param encodedVar required variable, which must be a byte array. At
  runtime, it references encoded data.
  
  @throws SupportException if any property type is not supported
  @throws IllegalArgumentException if assembler is null, or if instanceVar
  is not the correct instance type, or if encodedVar is not a byte array