code: public boolean Add(T value) {
          if (m_Count < m_Capacity) {
              m_Array[++m_Count] = value;
              UpHeap();
          }
          else if (greaterThan(m_Array[1], value)) {
              m_Array[1] = value;
              DownHeap();
          }
          else return false;
          return true;
      }
docs: returns true if the value has been added