public void OnDraw()
            {
                string typeName = typeof(T).Name;

                //GUILayout.Label("<b>" + typeName + " Runtime Memory Information</b>");
                GUILayout.BeginVertical("box");
                {
                    m_ScrollPosition = GUILayout.BeginScrollView(m_ScrollPosition);
                    {
                        if (GUILayout.Button("Take Sample for " + typeName, GUILayout.Height(30f)))
                        {
                            TakeSample();
                        }
                        if (sampleTime <= DateTime.MinValue)
                        {
                            GUILayout.Label("<b>Please take sample for " + typeName + " first</b>");
                        }
                        else
                        {
                            if (duplicateSampleCount > 0)
                            {
                                GUILayout.Label("<b>" + samples.Count.ToString() + " " + typeName + "s(" + ByteUtil.AutoUnitConversion(sampleSize) + ") obtained at " + sampleTime.ToString("yyyy-MM-dd HH:mm:ss") + ", while " + duplicateSampleCount.ToString() + " " + typeName + "s (" + ByteUtil.AutoUnitConversion(duplicateSampleSize) + ") might be duplicated.</b>");
                            }
                            else

                            {
                                GUILayout.Label("<b>" + samples.Count.ToString() + " " + typeName + "s(" + ByteUtil.AutoUnitConversion(sampleSize) + ") obtained at " + sampleTime.ToString("yyyy-MM-dd HH:mm:ss") + "</b>");
                            }
                            if (samples.Count > 0)
                            {
                                GUILayout.BeginHorizontal();
                                {
                                    GUILayout.Label("<b>Name</b>");
                                    GUILayout.Label("<b>Type</b>", GUILayout.Width(240f));
                                    GUILayout.Label("<b>Size</b>", GUILayout.Width(80f));
                                }
                                GUILayout.EndHorizontal();
                            }
                            int count = 0;
                            for (int i = 0; i < samples.Count; i++)
                            {
                                GUILayout.BeginHorizontal();
                                {
                                    GUILayout.Label(samples[i].HighLight ? "<color=yellow>" + samples[i].Name + "</color>" : samples[i].Name);
                                    GUILayout.Label(samples[i].HighLight ? "<color=yellow>" + samples[i].Type + "</color>" : samples[i].Type, GUILayout.Width(240f));
                                    GUILayout.Label(samples[i].HighLight ? "<color=yellow>" + ByteUtil.AutoUnitConversion(samples[i].Size) + "</color>" : ByteUtil.AutoUnitConversion(samples[i].Size), GUILayout.Width(80f));
                                }
                                GUILayout.EndHorizontal();

                                count++;
                                if (count >= showSampleCount)
                                {
                                    break;
                                }
                            }
                        }
                        GUILayout.EndScrollView();
                    }
                }
                GUILayout.EndVertical();
            }