- Performance Analysis:
  - If you expand one of the threads used by a NeXtMidas (Java) primitive you will notice that it starts out with:

        <COMMAND>
          +-- MidasThread.run()
                +-- Command.run()
                      +-- Command.runSingle()
                            +-- <command>.open()
                            +-- <command>.process()
                            +-- <command>.close()
                            +-- Command.processMessages(int)

  - This is where the `open()`, `process()`, and `close()` methods are called for your primitive.
  - The `Command.processMessages(int)` (shown here) will call your `processMessage()` method if any messages are received.
  - You will note that to the right of each entry are some important statistics.
    - The most important one is the little red bar graph indicating what percentage of the time was used up by that method (plus the methods it calls).
      - The smaller the bar, the less benefit there is to improving performance of that method.
      - When you look at that bar, a light bulb should illuminate over your head saying "Remember Amdahl's Law!"
    - The next statistic is the total "Time" spent in that method. Be careful to note that this is a cumulative statistic.
    - The second most important statistic is the third column, "Invocations". This is the number of times that method was called.
      - Many times the number of invocations explains why the total time is so high for some methods.
      - Even trivial methods can take an appreciable amount of time when they are called tens of millions of times.