Apache UIMA Tika Annotator software component
Copyright 2009 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

This product includes portions of Apache Tika, which includes
software developed by the following copyright owners: 

    - Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
      Software written by Ian F. Darwin and others; maintained 1994- Christos Zoulas.

    - Copyright (c) 1995-2009 International Business Machines Corporation and others

    - Copyright (c) 2000-2005 INRIA, France Telecom

    - Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
    
    - Copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.

    - Copyright 2001-2003 (c) World Wide Web Consortium (Massachusetts Institute
      of Technology, European Research Consortium for Informatics and Mathematics,
      Keio University)

    