title: runOnUiThread updates wrongly
body: <p>While update UI using runOnUiThread new value is replaced old value.</p>
  <pre><code>@Override
      public void onBackgroundRequestCompleted(final String layoutID) {
  
          ((Activity) ctContext)
                  .runOnUiThread(new Runnable() {
                      public void run() {
                          reDesignLayout(layoutID);
                      }
                  });
  
      }
  </code></pre>
  <p>Here <code>layoutID</code> will be get from server. I will send 10 to 40 request at a time. So 40 response will be received in sequence. But the problem is when 1 response received runOnUiThread will start. before it completes it work I will receive 2nd response. So what happening is <code>redesingLayout()</code> receives 2nd layout id instead of 1st layout id. It is happening for multiple times. So UI is not updated fully. Can any one give idea to solve the issue?</p>
  <p>Thank you @Maxim Firsoff. Implemented your idea and issue solved. I added the code for future use..!!</p>
  <pre><code>private Queue&lt;String&gt; LayoutsToRedesign = new LinkedList&lt;&gt;();
      @Override
      public void onBackgroundRequestCompleted(final String layoutID) {
  
          gridsToRedesign.add(layoutID);
  
          ((Activity) ctContext)
                  .runOnUiThread(new Runnable() {
                      public void run() {
  
                          String layoutIdToDesign = gridsToRedesign.peek();
  
                          gridsToRedesign.remove(layoutIdToDesign);
  
                          reDesignLayout(layoutIdToDesign);
                      }
                  });
  
      }
  </code></pre>