<?xml version="1.0" encoding="UTF-8"?>
    <!--
        Licensed to the Apache Software Foundation (ASF) under one or more
        contributor license agreements. See the NOTICE file distributed with
        this work for additional information regarding copyright ownership.
        The ASF licenses this file to You under the Apache License, Version
        2.0 (the "License"); you may not use this file except in compliance
        with the License. You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0 Unless required by
        applicable law or agreed to in writing, software distributed under the
        License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
        CONDITIONS OF ANY KIND, either express or implied. See the License for
        the specific language governing permissions and limitations under the
        License.
    -->

    <!-- Exclusion filter for running FindBugs against Apache Harmony -->

    <!--
        Format and code information is available here
        http://findbugs.sourceforge.net/manual/filter.html
    -->

<FindBugsFilter>

    <!--
        The spec does not declare this class as implementing Cloneable
    -->
    <Match>
        <Class name="java.rmi.server.UnicastRemoteObject" />
        <Bug pattern="CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE" />
    </Match> 

</FindBugsFilter>

