code: IsolationLevel selectIsolationLevel(Transaction parent, IsolationLevel desiredLevel) {
          if (desiredLevel == null) {
              if (parent == null) {
                  desiredLevel = mDefaultIsolationLevel;
              } else {
                  desiredLevel = parent.getIsolationLevel();
              }
          } else if (parent != null) {
              IsolationLevel parentLevel = parent.getIsolationLevel();
              // Can promote to higher level, but not lower.
              if (parentLevel.compareTo(desiredLevel) >= 0) {
                  desiredLevel = parentLevel;
              } else {
                  return null;
              }
          }
  
          switch (desiredLevel) {
          case NONE:
              return IsolationLevel.NONE;
          case READ_UNCOMMITTED:
              return mReadUncommittedLevel;
          case READ_COMMITTED:
              return mReadCommittedLevel;
          case REPEATABLE_READ:
              return mRepeatableReadLevel;
          case SERIALIZABLE:
              return mSerializableLevel;
          }
  
          return null;
      }
docs: Returns the highest supported level for the given desired level.
  
  @return null if not supported