@@ -0,0 +1,2486 @@
+/*%0A * See the NOTICE file distributed with this work for additional%0A * information regarding copyright ownership.%0A *%0A * This is free software; you can redistribute it and/or modify it%0A * under the terms of the GNU Lesser General Public License as%0A * published by the Free Software Foundation; either version 2.1 of%0A * the License, or (at your option) any later version.%0A *%0A * This software is distributed in the hope that it will be useful,%0A * but WITHOUT ANY WARRANTY; without even the implied warranty of%0A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU%0A * Lesser General Public License for more details.%0A *%0A * You should have received a copy of the GNU Lesser General Public%0A * License along with this software; if not, write to the Free%0A * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA%0A * 02110-1301 USA, or see the FSF site: http://www.fsf.org.%0A */%0Apackage org.xwiki.logging.marker;%0A%0Aimport org.slf4j.Marker;%0A%0A/**%0A * Allows associating a translation key to a log.%0A * %0A * @version $Id$%0A * @since 5.4M1%0A */%0Apublic class TranslationMarker extends AbstractContainerMarker%0A%7B%0A    /**%0A     * The marker name.%0A     */%0A    public static final String NAME = %22xwiki.translation%22;%0A%0A    /**%0A     * Serialization id.%0A     */%0A    private static final long serialVersionUID = 1L;%0A%0A    /**%0A     * @see #getTranslationKey()%0A     */%0A    private String translationKey;%0A%0A    /**%0A     * @param translationKey the translation key to associate to the log%0A     */%0A    public TranslationMarker(String translationKey)%0A    %7B%0A        super(NAME);%0A%0A        this.translationKey = translationKey;%0A    %7D%0A%0A    /**%0A     * @param translationKey the translation key to associate to the log%0A     * @param references the other associated markers%0A     */%0A    public TranslationMarker(String translationKey, Marker... references)%0A    %7B%0A        super(translationKey, references);%0A%0A        this.translationKey = translationKey;%0A    %7D%0A%0A    /**%0A     * @return the translation key associate to the log%0A     */%0A    public String getTranslationKey()%0A    %7B%0A        return this.translationKey;%0A    %7D%0A%0A    // Object%0A%0A    @Override%0A    public int hashCode()%0A    %7B%0A        return this.translationKey.hashCode();%0A    %7D%0A%0A    @Override%0A    public boolean equals(Object other)%0A    %7B%0A        if (this == other) %7B%0A            return true;%0A        %7D%0A%0A        return other instanceof TranslationMarker%0A            && this.translationKey.equals(((TranslationMarker) other).getTranslationKey());%0A    %7D%0A%7D%0A

Add concept of log tree * move all marker related classes to new package