def composition_series_poset(self, side = 'right'):
            """
            Experimental, and apparently broken ...

            EXAMPLES::

                sage: S = Monoids().Aperiodic().Finite().example(5); S
                The finite H-trivial monoid of order preserving maps on {1, 2, 3, 4, 5}
                sage: P = S.composition_series_poset(side = 'right')
                sage: list(P)
                [4, 3, 2, 1, 0]
                sage: P.cover_relations()
                []
                sage: P = S.composition_series_poset(side = 'left')
                sage: list(P)
                [4, 3, 2, 1, 0]
                sage: P.cover_relations()
            """
            from sage.combinat.posets.posets import Poset
            Js = self.regular_j_classes_keys()
            principal_order_filters = {}
            for J in Js:
                R = self.lr_regular_class_module(J, side=side)
                principal_order_filters[J] = R.composition_series()
                import time
                print "%s  %s: %s %s %s"%(time.strftime("%H:%M:%S"), J, self.simple_module_dimension(J), R.dimension(), principal_order_filters[J])
            P = Poset( ( Js, lambda J1, J2: J2 in principal_order_filters[J1] ), facade = True )
            from sage.sets.set import Set
            assert all( Set( P.principal_order_filter(J) ) == principal_order_filters[J]
                        for J in Js )
            return P
        def composition_series_poset(self, side='right'):
            """
            Experimental, and apparently broken ...

            EXAMPLES::

                sage: S = Monoids().Aperiodic().Finite().example(5); S
                The finite H-trivial monoid of order preserving maps on {1, 2, 3, 4, 5}
                sage: P = S.composition_series_poset(side = 'right')
                sage: list(P)
                [4, 3, 2, 1, 0]
                sage: P.cover_relations()
                []
                sage: P = S.composition_series_poset(side = 'left')
                sage: list(P)
                [4, 3, 2, 1, 0]
                sage: P.cover_relations()
            """
            from sage.combinat.posets.posets import Poset
            Js = self.regular_j_classes_keys()
            principal_order_filters = {}
            for J in Js:
                R = self.lr_regular_class_module(J, side=side)
                principal_order_filters[J] = R.composition_series()
                import time
                print("%s  %s: %s %s %s" %
                      (time.strftime("%H:%M:%S"), J,
                       self.simple_module_dimension(J), R.dimension(),
                       principal_order_filters[J]))
            P = Poset((Js, lambda J1, J2: J2 in principal_order_filters[J1]),
                      facade=True)
            from sage.sets.set import Set
            assert all(
                Set(P.principal_order_filter(J)) == principal_order_filters[J]
                for J in Js)
            return P