<?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>
    <!-- RI exposes mutable StackTraceElement[] object also -->
    <Match>
        <Class name="java.lang.management.ThreadInfo" />
        <Method name="getStackTrace" />
        <Bug pattern="EI_EXPOSE_REP" />
    </Match>
</FindBugsFilter>
