/**
   * assure various conditions are met in data
   *
   * @param assertion true, ok, false bad.
   * @param reason    explanation of what when wrong assertion failed.
   */
private static void must( boolean assertion, String reason )
   {
   if ( !assertion )
      {
      throw new IllegalArgumentException( reason );
      }
   }