[Demonstration 1]

[Buggy Method]
private void bindViews() {
    if (mRootView == null) {
        return;
    }
    TextView titleView = (TextView) mRootView.findViewById(R.id.article_title);
    TextView bylineView = (TextView) mRootView.findViewById(R.id.article_byline);
    bylineView.setMovementMethod(new LinkMovementMethod());
    TextView bodyView = (TextView) mRootView.findViewById(R.id.article_body);
    bodyView.setTypeface(Typeface.createFromAsset(getResources().getAssets(), "Rosario-Regular.ttf"));
    if (mCursor != null) {
        mRootView.setAlpha(0);
        mRootView.setVisibility(View.VISIBLE);
        mRootView.animate().alpha(1);
        titleView.setText(mCursor.getString(ArticleLoader.Query.TITLE));
        Date publishedDate = parsePublishedDate();
        if (!publishedDate.before(START_OF_EPOCH.getTime())) {
            bylineView.setText(Html.fromHtml(DateUtils.getRelativeTimeSpanString(publishedDate.getTime(), System.currentTimeMillis(), DateUtils.HOUR_IN_MILLIS, DateUtils.FORMAT_ABBREV_ALL).toString() + " by <font color='#ffffff'>" + mCursor.getString(ArticleLoader.Query.AUTHOR) + "</font>"));
        } else {
            // If date is before 1902, just show the string
            bylineView.setText(Html.fromHtml(outputFormat.format(publishedDate) + " by <font color='#ffffff'>" + mCursor.getString(ArticleLoader.Query.AUTHOR) + "</font>"));
        }
        bodyView.setText(Html.fromHtml(mCursor.getString(ArticleLoader.Query.BODY).replaceAll("(\r\n|\n)", "<br />")));
        ImageLoaderHelper.getInstance(getActivity()).getImageLoader().get(mCursor.getString(ArticleLoader.Query.PHOTO_URL), new ImageLoader.ImageListener() {

            @Override
            public void onResponse(ImageLoader.ImageContainer imageContainer, boolean b) {
                Bitmap bitmap = imageContainer.getBitmap();
                if (bitmap != null) {
                    Palette p = Palette.generate(bitmap, 12);
                    mMutedColor = p.getDarkMutedColor(0xFF333333);
                    mPhotoView.setImageBitmap(imageContainer.getBitmap());
                    mRootView.findViewById(R.id.meta_bar).setBackgroundColor(mMutedColor);
                    updateStatusBar();
                }
            }

            @Override
            public void onErrorResponse(VolleyError volleyError) {
            }
        });
    } else {
        mRootView.setVisibility(View.GONE);
        titleView.setText("N/A");
        bylineView.setText("N/A");
        bodyView.setText("N/A");
    }
}

[Buggy Hunk]
bodyView.setText(Html.fromHtml(mCursor.getString(ArticleLoader.Query.BODY).replaceAll("(\r\n|\n)", "<br />")));

[Patch]
bodyView.setText(Html.fromHtml(mCursor.getString(ArticleLoader.Query.BODY).substring(0,500).replaceAll("(\r\n|\n)", "<br />")));

[Demonstration 2]

[Buggy Method]
@Override
public void run() {
    try {
        log.info("Starting forward client: " + this.toString());
        // Connect to forward server
        byte[] data_to_send = null;
        byte[] data_to_receive = null;
        int data_size = 0;
        forward_socket = new Socket(forward_host, forward_port);
        forward_socket.setTcpNoDelay(true);
        forward_in = forward_socket.getInputStream();
        forward_out = forward_socket.getOutputStream();
        message();
        while (forward_socket.isConnected() && !forward_socket.isClosed) {
            if ((in_server != null) && (forward_in.available() > 0) && (!in_server.isLocked())) {
                in_server.lockTable();
                log.debug("Forward Client data available: " + forward_in.available());
                if (forward_in.available() >= 10240) {
                    data_to_receive = new byte[10240];
                    forward_in.read(data_to_receive, 0, 10240);
                    in_server.writeTable(data_to_receive);
                } else {
                    data_to_receive = new byte[forward_in.available()];
                    forward_in.read(data_to_receive);
                    //log.debug("ForwardIN Data: " + Arrays.toString(data_to_receive));
                    in_server.writeTable(data_to_receive);
                }
                in_server.unlockTable();
            }
            // Read Data from OutBoundServer Buffer
            data_to_send = out_server.readData();
            if (data_to_send != null) {
                forward_out.write(data_to_send);
                log.debug("ForwardOUT Length Data: " + data_to_send.length);
            }
            Thread.currentThread().sleep((long) 10);
        }
    } catch (IOException e) {
        StringWriter errors = new StringWriter();
        e.printStackTrace(new PrintWriter(errors));
        log.error("ForwardClient IOException Error: " + errors.toString());
    } catch (Exception e) {
        StringWriter errors = new StringWriter();
        e.printStackTrace(new PrintWriter(errors));
        log.error("ForwardClient error: " + errors.toString());
    }
}

[Buggy Hunk]
while (forward_socket.isConnected() && !forward_socket.isClosed) {

[Patch]
while (forward_socket.isConnected() && !forward_socket.isClosed()) {

[Demonstration 3]

[Buggy Method]
private static Thread startSocket(int port) {
    Thread t = new Thread() {

        @Override
        public void run() {
            ArrayList<Connection> connections = new ArrayList<Connection>();
            try {
                serverSocket = new ServerSocket(port);
                while (!isInterrupted()) {
                    if (connections.size() < 100) {
                        // ex con
                        Socket socket = serverSocket.accept();
                        System.out.println("New Connection established.");
                        Connection connection = new Connection(socket);
                        connection.start();
                        connections.add(connection);
                    } else {
                        try {
                            System.out.println("Too many open connections. Sleeping for 1000ms");
                            Thread.sleep(1000);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }
                serverSocket.close();
            } catch (SocketException e) {
                if (!isInterrupted())
                    e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            for (Connection c : connections) {
                c.interrupt();
            }
        }
    };
    t.start();
    return t;
}

[Buggy Hunk]
private static Thread startSocket(int port) {

[Patch]
private static Thread startSocket(final int port) {