private synchronized Priority computePriority() {
      Priority priority = Priority.LOW;
      for (Pair<Consumer<T>, ProducerContext> pair : mConsumerContextPairs) {
        priority = Priority.getHigherPriority(priority, pair.second.getPriority());
      }
      return priority;
    }
Starts next producer if it is not started yet and there is at least one Consumer waiting for
the data. If all consumers are cancelled, then this multiplexer is removed from mRequest map
to clean up.
imagepipeline/src/main/java/com/facebook/imagepipeline/producers/MultiplexProducer.java