class Ellipsis extends Fragment {
        /* Constructs an ellipsis fragment for the given text. */
        public Ellipsis() {
            super(" ... ");
        }

        /* Returns true. */
        @Override
        public boolean isEllipsis() {
            return true;
        }

        /* Returns an HTML representation of this fragment. */
        @Override
        public String toString() {
            return "<b> ... </b>";
        }
    }

    private final List<Fragment> fragments = new ArrayList<>();

    private static final Fragment[] FRAGMENT_PROTO = new Fragment[0];

    /* Adds a fragment to a summary.*/
    public void add(Fragment fragment) {
        fragments.add(fragment);
    }

    /**
     * Returns an array of all of this summary's fragments.
     * @return fragment array
     */
    public Fragment[] getFragments() {
        return fragments.toArray(FRAGMENT_PROTO);
    }

    /**
     * Returns an HTML representation of this fragment.
     * @return string representation
     */
    @Override
    public String toString() {<FILL_FUNCTION_BODY>

        StringBuilder buffer = new StringBuilder();
        for (Fragment fragment : fragments) {
            buffer.append(fragment);
        }
        return buffer.toString();
    
<no_super_class>