size() private method

private size ( ) : int
return int
    void AddWidgets(List<OuyaMod> ouyaMods, bool searchByInstalled, bool searchByPublished)
    {
        StringBuilder sb = new StringBuilder();
        foreach (OuyaMod ouyaMod in ouyaMods)
        {
            WidgetOuyaMod widget = new WidgetOuyaMod()
            {
                m_instance = ouyaMod,
                m_category = ouyaMod.getCategory(),
                m_description = ouyaMod.getDescription(),
                m_isDownloading = ouyaMod.isDownloading(),
                m_isFlagged = ouyaMod.isFlagged(),
                m_isInstalled = ouyaMod.isInstalled(),
                m_isPublished = ouyaMod.isPublished(),
                m_metaData = ouyaMod.getMetaData(),
                m_ratingCount = ouyaMod.getRatingCount(),
                m_ratingAverage = ouyaMod.getRatingAverage(),
                m_title = ouyaMod.getTitle(),
                m_userRating = ouyaMod.getUserRating(),
                m_searchByInstalled = searchByInstalled,
                m_searchByPublished = searchByPublished,
            };
            if (sb.Length > 0)
            {
                sb.Remove(0, sb.Length);
            }
            foreach (string filename in ouyaMod.getFilenames())
            {
                sb.Append(filename);
                sb.Append(",");

                using (InputStream inputStream = ouyaMod.openFile(filename))
                {
                    byte[] buffer = new byte[100000];
                    int readAmount = inputStream.read(ref buffer);
                    inputStream.close();

                    byte[] copy = new byte[readAmount];
                    Array.Copy(buffer, copy, readAmount);

                    sb.Append("***");
                    string content = System.Text.UTF8Encoding.UTF8.GetString(copy);
                    sb.Append(content);
                }
            }
            widget.m_filenames = sb.ToString();
            List<OuyaModScreenshot> screenshots = ouyaMod.getScreenshots();
            widget.m_screenshots = new Texture2D[screenshots.Count];
            widget.m_thumbnails = new Texture2D[screenshots.Count];
            for (int index = 0; index < screenshots.Count; ++index)
            {
                using (OuyaModScreenshot ouyaModScreenshot = screenshots[index])
                {
                    if (null != ouyaModScreenshot)
                    {
                        using (Bitmap bitmap = ouyaModScreenshot.getImage())
                        {
                            if (null != bitmap)
                            {
                                using (ByteArrayOutputStream stream = new ByteArrayOutputStream())
                                {
                                    bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
                                    if (stream.size() >= 0)
                                    {
                                        Texture2D texture = new Texture2D(0, 0);
                                        texture.LoadImage(stream.toByteArray());
                                        widget.m_screenshots[index] = texture;
                                    }
                                    stream.close();
                                }
                            }
                        }

                        using (Bitmap bitmap = ouyaModScreenshot.getThumbnail())
                        {
                            if (null != bitmap)
                            {
                                using (ByteArrayOutputStream stream = new ByteArrayOutputStream())
                                {
                                    bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
                                    if (stream.size() >= 0)
                                    {
                                        Texture2D texture = new Texture2D(0, 0);
                                        texture.LoadImage(stream.toByteArray());
                                        widget.m_thumbnails[index] = texture;
                                    }
                                    stream.close();
                                }
                            }
                        }
                    }
                }
            }
            if (sb.Length > 0)
            {
                sb.Remove(0, sb.Length);
            }
            foreach (string tag in ouyaMod.getTags())
            {
                sb.Append(tag);
                sb.Append(",");
            }
            widget.m_tags = sb.ToString();
            
            m_widgets.Add(widget);

            if (m_widgets.Count == 1)
            {
                m_focusManager.Mappings[m_btnCreate].Down = widget.m_buttonPublish;
                m_focusManager.Mappings[widget.m_buttonPublish] = new FocusManager.ButtonMapping()
                {
                    Up = m_btnCreate,
                    Right = widget.m_buttonDelete,
                };
                m_focusManager.Mappings[widget.m_buttonDelete] = new FocusManager.ButtonMapping()
                {
                    Up = m_btnCreate,
                    Left = widget.m_buttonPublish,
                    Right = widget.m_buttonDownload,
                };
                m_focusManager.Mappings[widget.m_buttonDownload] = new FocusManager.ButtonMapping()
                {
                    Up = m_btnCreate,
                    Left = widget.m_buttonDelete,
                    Right = widget.m_buttonRate,
                };
                m_focusManager.Mappings[widget.m_buttonRate] = new FocusManager.ButtonMapping()
                {
                    Up = m_btnCreate,
                    Left = widget.m_buttonDownload,
                    Right = widget.m_buttonEdit,
                };
                m_focusManager.Mappings[widget.m_buttonEdit] = new FocusManager.ButtonMapping()
                {
                    Up = m_btnCreate,
                    Left = widget.m_buttonRate,
                    Right = widget.m_buttonFlag,
                };
                m_focusManager.Mappings[widget.m_buttonFlag] = new FocusManager.ButtonMapping()
                {
                    Up = m_btnCreate,
                    Left = widget.m_buttonEdit,
                };
            }
            else
            {
                WidgetOuyaMod lastWidget = m_widgets[m_widgets.Count - 2];
                m_focusManager.Mappings[lastWidget.m_buttonPublish].Down = widget.m_buttonPublish;
                m_focusManager.Mappings[lastWidget.m_buttonDelete].Down = widget.m_buttonDelete;
                m_focusManager.Mappings[lastWidget.m_buttonDownload].Down = widget.m_buttonDownload;
                m_focusManager.Mappings[lastWidget.m_buttonRate].Down = widget.m_buttonRate;
                m_focusManager.Mappings[lastWidget.m_buttonEdit].Down = widget.m_buttonEdit;
                m_focusManager.Mappings[lastWidget.m_buttonFlag].Down = widget.m_buttonFlag;
                m_focusManager.Mappings[widget.m_buttonPublish] = new FocusManager.ButtonMapping()
                {
                    Up = lastWidget.m_buttonPublish,
                    Right = widget.m_buttonDelete,
                };
                m_focusManager.Mappings[widget.m_buttonDelete] = new FocusManager.ButtonMapping()
                {
                    Up = lastWidget.m_buttonDelete,
                    Left = widget.m_buttonPublish,
                    Right = widget.m_buttonDownload,
                };
                m_focusManager.Mappings[widget.m_buttonDownload] = new FocusManager.ButtonMapping()
                {
                    Up = lastWidget.m_buttonDownload,
                    Left = widget.m_buttonDelete,
                    Right = widget.m_buttonRate,
                };
                m_focusManager.Mappings[widget.m_buttonRate] = new FocusManager.ButtonMapping()
                {
                    Up = lastWidget.m_buttonRate,
                    Left = widget.m_buttonDownload,
                    Right = widget.m_buttonEdit,
                };
                m_focusManager.Mappings[widget.m_buttonEdit] = new FocusManager.ButtonMapping()
                {
                    Up = lastWidget.m_buttonEdit,
                    Left = widget.m_buttonRate,
                    Right = widget.m_buttonFlag,
                };
                m_focusManager.Mappings[widget.m_buttonFlag] = new FocusManager.ButtonMapping()
                {
                    Up = lastWidget.m_buttonFlag,
                    Left = widget.m_buttonEdit,
                };
            }
        }
    }
    private void SetDrawable(out Texture2D button, int keyCode)
    {
        OuyaController.ButtonData buttonData;
        buttonData = OuyaController.getButtonData(keyCode);
        if (null == buttonData)
        {
            button = null;
            return;
        }

        if (null == buttonData.buttonDrawable)
        {
            button = null;
            return;
        }

        BitmapDrawable drawable = (BitmapDrawable)buttonData.buttonDrawable;
        if (null == drawable)
        {
            button = null;
            return;
        }

        Bitmap bitmap = drawable.getBitmap();
        if (null == bitmap)
        {
            button = null;
            return;
        }

        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
        if (stream.size() == 0)
        {
            button = null;
        }
        else
        {
            button = new Texture2D(0, 0);
            button.LoadImage(stream.toByteArray());
        }
        stream.close();
    }
   /**
      * Gets the size of the provided area code map storage. The map storage passed-in will be filled
      * as a result.
      */
   private static int getSizeOfAreaCodeMapStorage(AreaCodeMapStorageStrategy mapStorage,
 SortedMap<Integer, String> areaCodeMap)
   {
       mapStorage.readFromSortedMap(areaCodeMap);
       ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
       ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
       mapStorage.writeExternal(objectOutputStream);
       objectOutputStream.flush();
       int sizeOfStorage = byteArrayOutputStream.size();
       objectOutputStream.close();
       return sizeOfStorage;
   }