anchor.diff:  %% Preprocessing
   process_archives([], State, _WorkId) -> {ok, State};
   process_archives([A|O], #state{unpack_state=UnpackState, build_path=BuildPath}=State, WorkId) ->
  +    Vsn = ?CPU:get_archive_version(A),
       case can_prepare(A, State) of
           true ->
  -            Preparing = [?CPU:get_archive_version(A)|State#state.queued],
  +            Preparing = [Vsn|State#state.queued],
               Prebuild = State#state.prebuild,
               process_archive(BuildPath, A, UnpackState, WorkId);
           false ->
               Preparing = State#state.queued,
  -            Prebuild = lists:ukeysort(1, [{A, WorkId}|State#state.prebuild])
  +            Prebuild = lists:ukeysort(1, [{Vsn, A, WorkId}|State#state.prebuild])
       end,
       process_archives(O, State#state{queued=Preparing, prebuild=Prebuild}, WorkId).
   
  
positive.code:     {ok, Fd} = file:open(TempArch, [read, write]),
      ArchiveWithFd = Archive#archive{fd=Fd},
      Msg = {get_archive, ArchiveWithFd},
      case caterpillar_event:sync_event(Msg) of
          {ok, NewArchive} ->
              Type = NewArchive#archive.archive_type,
  
negative.code:             {noreply, State}
      end;
  handle_info(schedule, State) when State#state.master_state == true ->
      case State#state.prebuild of
          [{_V, Archive, WorkId}|Rest] ->
              {ok, NewState} = process_archives([Archive], State#state{prebuild=Rest}, WorkId);
          [] ->
              NewState = State
      end,
      {ok, SState} = schedule_build(NewState),
      {noreply, SState};
  handle_info({rebuild, Version}, State) ->
      Archive = ?CPU:get_version_archive(Version),
      Prebuild = lists:ukeysort(1, [{Version, Archive, State#state.wid}|State#state.prebuild]),
      {noreply, State#state{prebuild=Prebuild}};
  handle_info(_Info, State) ->
      {noreply, State}.
  
  