code: @Nonnull
    public String getAsString (final boolean bPrintZeroElements)
    {
      // special handling if no ceiling version is present
      final StringBuilder aSB = new StringBuilder (m_bIncludeFloor ? "[" : "(");
      aSB.append (m_aFloorVersion.getAsString (bPrintZeroElements));
      if (m_aCeilVersion != null)
      {
        aSB.append (',').append (m_aCeilVersion.getAsString (bPrintZeroElements));
      }
      return aSB.append (m_bIncludeCeil ? ']' : ')').toString ();
    }
docs: Converts the version range to a string. The brackets whether floor or
  ceiling version should be included or not is always prepended and appended.
  If a ceiling version is present, the ceiling version is appended with a
  single comma as a delimiter.<br>
  Example return: "[1.2.3,4.5.6)"
  
  @param bPrintZeroElements
  If <code>true</code> than trailing zeroes are printed, otherwise
  printed zeroes are not printed.
  @return Never <code>null</code>.