diff --git a/Changes.BACKUP.7786 b/Changes.BACKUP.7786
deleted file mode 100644
index 81c0ee1..0000000
--- a/Changes.BACKUP.7786
+++ /dev/null
@@ -1,458 +0,0 @@
-<<<<<<< HEAD
-=======
-0.54 2015-09-30
-   	- [performance] Updated Lucene dependency from 4.10.3
-	  to 5.0.0 (diewald)
-        - [bugfix] Minor fixes regarding invalid tokens in the
-	  test suite (diewald)
-
->>>>>>> Lucene-5.3.1-Update
-0.53 2015-09-25
-        - [feature] Implemented new KrillCollection (diewald)
-	  This should fix a lot of issues with deleted
-	  documents and negation in virtual collections.
-	- [cleanup] REMOVED deprecated collection filtering (diewald)
-	- [cleanup] REMOVED deprecated termRelation API (diewald)
-	- [feature] Added removal methods for documents (diewald)
-	- [cleanup] REMOVED search method in KrillCollection (diewald)
-        - [bugfix] Fixed collection statistics (diewald)
-	- [feature] Improved packaging (diewald)
-	- [feature] Introduced cmd options for server (diewald)
-    	- [feature] Return meta data on server-based indexation (diewald)
-
-0.52 2015-07-08
-        - [bugfix] Fixed payload filtering in FocusSpans (margaretha)
-	- [workaround] Reintroduced empty collection support,
-	  as Koral still creates them (diewald)
-	- [bugfix] Escaped characters now supported in MutiTerm (diewald)
-	- [feature] Deserialization of flags (diewald)
-	- [feature] Made responses valid KoralQueries (diewald)
-	- [bugfix] Fixed sequence deserialization bug for simple unordered
-	  constraint (diewald)
-	- [bugfix] Mirror collection (diewald)
-	- [bugfix] Updated default fields for meta data (diewald)
-	- [bugfix] Updated match identifier for "sigle" data (diewald)
-	- [workaround] Support corpusID/docID and textSigle match strings
-	  (diewald)
-	- [workaround] Support matches starting with "contains"
-	  (Kustvakt bug/diewald)
-	- [bugfix] Fixed treatment of several collection types (diewald)
-	- [bugfix] Remove legacy error handling in Match (diewald)
-	- [bugfix] JSON-serialization bug in match in case of
-	  error messages (diewald)
-	- [bugfix] 'fields' serialization (diewald)
-	- [bugfix] Deserialization of group:disjunction (diewald)
-	- [bugfix] Deserialization of wrapped spans (diewald)
-	- [bugfix] Fix KoralQuery mirroring in case of
-	  parsing failures (diewald)
-	- [feature] Support '@all' as a 'fields' value for all meta
-	  data fields (diewald)
-	- [bugfix] Fix case sensitivity bug in filters (diewald)
-	- [bugfix] Fix sentence expansion bug for new data (diewald)
-	- [bugfix] Deserialization of 'containsnot' instead of 'excludes'
-	  (diewald)
-
-0.51 2015-03-17
-        - This is a major version (prepared for the GitHub release)
-        - [cleanup] Changed groupID to "de.ids_mannheim.korap",
-	  renamed korap-style.xml to Format.xml (diewald)
-	- [bugfix] Updated Format.xml to work with
-	  recent versions of Eclipse (diewald)
-        - [documentation] Improved documentation for API classes (diewald)
-	- [bugfix] Updated AttributeSpans (margaretha)
-	- [bugfix] Updated SpanRelationQuery (margaretha)
-	- [cleanup] Autoformat (diewald)
-        - [documentation] References added to the Readme (diewald)
-	- [bugfix] Improved failing for missing property file (kupietz)
-	- [bugfix] Fixed tests for server responses to not use
-	  Jackson deserialization (diewald)
-	- [cleanup] No more jersey logging in tests (diewald)
-
-0.50.1 2015-03-02
-	- [feature] Deserialization of arbitrary elements with
-	  attributes (margaretha)
-	- [cleanup] Extracted KrillMeta from Krill,
-	  renamed KorapQuery to KrillQuery,
-	  extracted QueryBuilder from KrillQuery,
-	  renamed KorapIndexer to index/Indexer,
-	  renamed KorapDocument to model/AbstractDocument,
-	  renamed KorapMatch to response/Match,
-	  renamed KorapIndex to KrillIndex,
-	  renamed KorapCollection to KrillCollection,
-	  moved collector classes from index to response,
-	  renamed KorapDate to KrillDate,
-	  renamed KorapArray to KrillArray,
-	  renamed KorapByte to KrillByte,
-	  renamed KorapString to KrillString,
-	  moved KorapNode to server/Node,
-	  moved KorapResult to response/Result,
-	  renamed KorapResponse to Response,
-	  moved model/* to index,
-	  moved meta/SearchContext to response/SearchContext,
-	  krillified property files,
-	  added Errorcodes,
-	  removed KrillIndex#addDocFile (diewald)
-        - [documentation] Improved documentation for API classes (diewald)
-
-0.50 2015-02-23
-        - Project name is now "Krill"
-
-0.49.4 2015-02-20
-        - [documentation] Improved documentation for API classes (diewald)
-	- [cleanup] Improved test coverage for utility classes (diewald)
-   	- [performance] Updated Lucene dependency from 4.5.1 to 4.10.3,
-	  Updated Jackson dependency from 2.4.0 to 2.4.4,
-   	  Updated Jersey dependency from 2.4.1 to 2.15 (diewald)
-        - [feature] Presorting of element terms in the index for coherent
-	  SpanQuery sorting; Removed buffering of element candidates (diewald)
-	  Warning: This is a breaking change!
-	- [feature] Added CorpusDataException to deal with data importing bugs;
-          made some imports break more easily though (diewald)
-	- [performance] Payloads in ElementSpans can now be lazily loaded,
-	  MatchModifyClassSpans no longer rely on payload copies (diewald)
-	- [cleanup] Renamed /filter to /collection, 
-	  merge KorapHTML and KorapString,
-	  removed KorapSpan, KorapTermSpan and KorapLongSpan,
-	  renamed /analysis to /model,
-	  renamed shrink() to focus(),
-	  removed KorapPrimaryData,
-          fixed a lot of wrong tests for WithinSpans,
-	  renamed KorapFilter to /collection/CollectionBuilder,
-	  renamed SpanMatchModify to SpanFocus,
-	  changed KoralQuery root prefix to "koral",
-	  renamed different kinds of "queries" throughout classes,
-	  renamed KorapSearch#run to KorapSearch#apply (diewald)
-        - [feature] Improved deserialization of SpanSubSpanQueries
-          (margaretha)
-	- [feature] Introducing the potential need for resorting queries
-	  on focussing (e.g., set by relations) (diewald)
-	- [bugfix] Hopefully fixing a resource related bug for
-	  server instantiation (diewald)
-	- [bugfix] Changed attribute spans to contain element's
-	  width (margaretha)
-	- [feature] Improved highlighting to use semantic html5 (#193; diewald)
-
-0.49.3 2015-02-03
-        - [documentation] Improved documentation for
-	  API classes (diewald)
-	- [documentation] Improved documentation for
-	  various queries (margaretha)
-	- [feature] Added deserialization of SpanSubSpanQueries
-          (margaretha, diewald)
-	- [bugfix] Null filters are now correctly extended (diewald)
-	- [cleanup] Refactoring of KorapResult, KorapResponse, KorapQuery,
-	  deprecated operation:or in favor of operation:junction,
-	  updating test suite for class and frame attributes (diewald)
-	- [bugfix] Empty class segments are now correctly serialized
-	  in sequences (diewald)
-	- [feature] Started support for position frames (diewald)
-	- [bugfix] Fixed #134 Nullpointer exception in WithinSpans
-	  (diewald, margaretha)
-
-0.49.2 2014-12-05
-	- [documentation] Improved documentation for
-          various queries (margaretha)
-	- [feature] Added @Experimental support (margaretha)
-	- [feature] Added Eclipse based code formatting (diewald)
-
-0.49.1 2014-11-25
-        - [cleanup] Major refactoring for new response messages,
-	  removed deprecated error messaging,
-          removed long-term deprecated methods in KorapResult,
-	  removed long-term deprecated methods in KorapMatch,
-	  renamed toJSON->toJsonString
-	  renamed toJSONnode->toJsonNode,
-	  renamed fromJSON->fromJson (diewald)
-	- [documentation] Improved documentation for notifications (diewald)
-
-0.49 2014-11-14
-        - This is a major version (prepared for the Evaluation Meeting)
-        - [bugfix] Rewrite works in repeating expansions (margaretha)
-	- [feature] Clean timeout with parameter support (diewald)
-	- [workaround] Support unknown overlap frame,
-	  if frames are known (diewald)
-	- [bugfix] Class payload fixed in SpanRepetitions (margaretha)
-	- [bugfix] #179 Expansion bug fixed (margaretha)
-	- [bugfix] Corrected small bug where null warnings where
-	  returned in JSON (diewald)
-	- [cleanup] Converted error to failure (diewald)
-	- [bugfix] Added const layer rewrite (diewald)
-
-0.48 2014-11-07
-        - This is a major version (prepared for the "Tag der Offenen Tür")
-        - [feature] Retrieval of token lists (diewald)
-	- [bugfix] Classes can now be highlighted to 127.
-	- [bugfix] Sequences with distances won't be flattened in
-  	  SpanSequenceQueryWrapper (diewald)
-	- [bugfix] Sequences with [problem][problem][anchor] can now
-	  be deserialized (diewald)
-	- [bugfix] Queries with regular expressions in spanNext() are now
-	  correctly rewritten (diewald)
-	- [bugfix] Ignore foundry for orth layer (diewald)
-	- [feature] Support fields in meta (diewald)
-	- [workaround] Support more legacy APIs (diewald)
-	- [bugfix] Check for the existence of @type in JSON-LD groups
-	  to avoid NullPointer (diewald)
-	- [cleanup] Validated query and collection input - limited
-	  to a "don't break anyting" policy (diewald)
-
-0.47 2014-11-05
-        - [feature] Support new index format with more metadata (diewald)
-	- [bugfix] #142 Fixed class spans for skipTo() skips (margaretha)
-	- [feature] Added attribute support to relations (margaretha)
-	- [bugfix] Make classes and shrink default to 1 instead of 0 (diewald)
-	- [bugfix] shrink now removes all non-classes payloads (diewald)
-
-0.46 2014-10-21
-        - [feature] Support for relation queries (margaretha)
-	- [feature] Wrapping of extension queries
-	  (not completely tested yet; diewald)
-
-0.45 2014-10-06
-        - [bugfix] Correctly respond request in JSON results (diewald)
-        - [cleanup] Made SpanQueryWrapper an abstract class instead
-	  of an interface (diewald)
-
-0.44.1 2014-09-29
-        - [cleanup] Prepare test suite for publication (diewald)
-
-0.44 2014-09-28
-        - [feature] Match collector using database for
-	  distributed search (diewald)
-	- [bugfix] Unified boundary handling and prevent nullpointer
-	  exceptions on parsing (diewald)
-	- [bugfix] Ordering of payloads reversed to make nesting highlights
-	  nest correctly (diewald)
-   	- [performance] Updated Lucene dependency from 4.3.1 to 4.5.1 (diewald)
-   	- [performance] Updated Jackson dependency from 2.2.2 to 2.4.0 (diewald)
-	- [bugfix] Return matches correctly with JSON (diewald)
-	- [bugfix] Repare database tests working with temporary
-	  databases (diewald)
-
-0.43 2014-09-23
-        - [cleanup] Made a lot of stuff rely on KorapResponse (diewald)
-	- [bugfix] Small but ancient collection bug fixed (diewald)
-	- [feature] Collect first matches of documents based on UIDs (diewald)
-
-0.42 2014-09-19
-        - [cleanup] Extracted private classes from KorapMatch (diewald)
-	- [bugfix] Fix query rewrite in contains-queries (diewald)
-
-0.41 2014-09-17
-        - [feature] getStartPos(classNr) and getEndPos(classNr)
-          in KorapMatch (diewald)
-        - [bugfix] SpanExpansionQuery with fixed Constructor
-	  and Exclusion handling (margaretha)
-        - [feature] Early implementation of match collector (diewald)
-
-0.40 2014-09-03
-        - [feature] Skeleton for standalone REST service (diewald)
-
-0.33 2014-09-01
-        - [feature] SpanSubspanQuery (margaretha)
-        - [feature] SpanExpansionQuery (margaretha)
-
-0.32 2014-08-01
-        - [bugfix] Fix for repetition candidates (margaretha)
- 	- [bugfix] Some fixes for negative segments (diewald)
- 	- [bugfix] SpanMatchModify now skips in case the
-	  requested class isn't found (diewald)
- 	- [performance] Some logging issues fixed (diewald)
-
-0.31.8 2014-07-24
-        - [feature] Added optionality to querys for quantifiers (diewald)
-        - [feature] Support for korap:boundary deserialization (diewald)
-
-0.31.7 2014-07-18
-        - [feature] Added warnings to responses (diewald)
-
-0.31.6 2014-06-30
-        - [feature] Support for korap:reference deserialization (diewald)
-	- [feature] Preliminary support for attributes in elements (margaretha)
-	- [feature] Preliminary support operation:repetition deserialization
-	  (unfinished and untested; diewald)
-
-0.31.5 2014-06-17
-        - [feature] Batch return of defined foundries and layers in
-	  getMatchInfo() (diewald)
-	- [security] Improve foundry and layer check before injection in
-	  regex (diewald)
-
-0.31.4 2014-06-16
-        - [feature] MatchModifyClassQuery now can extend (diewald)
-	- [bugfix] Make matchinfo a bit more robust (diewald)
-
-0.31.3 2014-06-11
-        - [bugfix] Minor bugfix regarding treatment of
-	  failed search results (diewald)
-
-0.31.2 2014-05-28
-        - [feature] Request parameter "itemsPerResource" limits
-	  hits per document (diewald)
-
-0.31.1 2014-05-21
-        - [bugfix] Minor bugfix for wrongly serialized contexts
-	  in responses (diewald)
-
-0.31.0 2014-05-20
-        - [feature] span contexts in JSON-LD are now supported
-        - [bugfix] Multiple bugfixes regarding span context
-          extensions (diewald)
-        - [bugfix] Minor debugging bugs (diewald)
-
-0.30.9 2014-04-11
-        - [bugfix] Prevent multiple identifiers in
-	  relation highlighting (diewald)
-
-0.30.8 2014-04-10
-        - Added getTermRelationJSON() to KorapCollection (diewald)
-	  This is likely to get deprecated!
-
-0.30.7 2014-04-09
-        - Moved JSON interpretation from BooleanFilter to KorapFilter (diewald)
-	- Added 'or' and group nesting to KorapFilter (diewald)
-
-0.30.6 2014-03-20
-        - Refactoring and cleaning of ElementSpans (diewald)
-	- [bugfix] Stabilizing KorapMatch (diewald)
-
-0.30.5 2014-03-18
-	- Support for Quantifier Queries (margaretha)
-	- Some benchmarks (margaretha)
-        - [bugfix] WithinSpans respect match payloads,
-	  and are now way more correct ;) (diewald)
-	- Support for overlap queries (diewald)
-	- Refactoring of WithinSpans (diewald)
-	- Introducing lazy loading for wrapper .end() in WithinSpans (diewald)
-
-0.30.4 2014-02-26
-        - [cleanup] Making MultiTerm* more robust (diewald)
-
-0.30.3 2014-02-20
-        - Return json request in response if given (diewald)
-	- [bugfix] ClassSpans and WithinSpans check skipTo
-	  in advance now (diewald)
-	- Compilerfriendly logging rules, resulting
-	  in significant performance improvements (diewald)
-	- Small refactorings (diewald)
-
-0.30.2 2014-02-14
-        - [bugfix] wrapper uses correct distance constraint (diewald)
-
-0.30.1 2014-02-13
-        - Added sentence extension for match info (diewald)
-
-0.30 2014-02-13
-        - This is a major version
-	  (prepared for the IDS meeting on the 17th of february)
-	- Improved stringification for distance queries (margaretha)
-
-0.26.4 2014-02-12
-        - Serialize SpanDistanceQueries and SpanMultipleDistanceQueries
-          (diewald)
-	- [temporarily] Added default foundry "mate" in KorapQuery (diewald)
-
-0.26.3 2014-02-12
-        - [bugfix] Only open writer in case it's needed (diewald)
-
-0.26.2 2014-02-12
-        - Added sequence queries with defined gaps (margaretha)
-	- Support for multiple distance constraints (margaretha)
-	- Updated json-ld deserialization with nested meta (diewald)
-	- [bugfix] Wildcards in segments were ignored (diewald)
-
-0.26.1 2014-01-21
-        - Distinct Match retrieval including spans
-	  and dependency relations (diewald)
-
-0.26 2014-01-16
-        - Introduced standalone SpanSegmentQueries (margaretha)
-        - [bugfix] SpanNextQueries (margaretha)
-	- Support for Match Identifiers (diewald)
-	- Support for distinct Match retrieval (diewald)
-
-0.25.3 2014-01-10
-        - Updated Lucene to 4.3.1 (diewald)
-	- Welcome! Eliza Margaretha has joined the team!
-
-0.25.2 2013-12-29
-        - Fixed highlight bug with empty reopened tags
-
-0.25.1 2013-12-28
-        - Support for pubDate collections
-	- Changed versioning scheme
-
-0.25 2013-12-20
-        - Support for Wildcard Queries
-	- Improved support for regular expressions
-	- Introduced keyword fields that store no positions
-
-0.24_1 2013-12-05
-        - This is a pseudo version for demo versions with dirty hacks,
-	  meant to be rolled back!
-	- There is now an ignored broken test in TestKorapCollection
-
-0.24 2013-12-05
-        - Json deserializer finished for virtual collections
-
-0.23 2013-12-05
-        - Error handling corrected in KorapResult
-	- Json deserializer finished for queries
-
-0.22 2013-12-04
-        - Introduced KorapSearch
-	- Json deserializer (started)
-
-0.21 2013-11-28
-        - Virtual collections can now be defined,
-	  searched, nested and extended
-
-0.20 2013-11-18
-        - Unboxing from sandbox repository
-
-0.11 2013-11-14
-	- JSON file importer (plain and gzip)
-	- [bugfix] Element Query
-	- [bugfix] Sequence Query
-
-0.10 2013-11-11
-        - Added JSON input to indexer
-
-0.09 2013-11-07
-        - Reconstruction of all wrapper queries using an interface
-	- Finished KorapQuery (preliminary feature freeze)
-
-0.08 2013-10-18
-        - Changed methods to attributes in KorapMatch
-	- Changed SimpleJSON to Jackson
-	- Fixed Highlighting
-	- Some Refactoring of result classes
-	- Introduced KorapDocument
-	- Introduced KorapHTML utility
-
-0.07 2013-10-14
-        - Added position to offset matching
-
-0.06 2013-10-01
-        - Added SpanElementQuery for working WithinQeries
-	- Added KorapResult and KorapMatching
-
-0.05 2013-09-18
-        - Fixed bug in indexing (MultiTermTokenStream)
-	- Fixed SpanNext
-	- Added KorapIndex
-	- First draft for KorapFilter
-
-0.04 2013-09-01
-        - Introduced optimized SpanNext class (not working atm),
-	  as SpanNear does not always work with nested synonyms
-
-0.03 2013-08-28
-        - Added within query (not working atm)
-	- Pushed query part to public repo
-
-0.02 2013-08-26
-        - Added sequences
-
-0.01 2013-08-20
-        - First version as maven build environment
diff --git a/Changes.BASE.7786 b/Changes.BASE.7786
deleted file mode 100644
index 11091fa..0000000
--- a/Changes.BASE.7786
+++ /dev/null
@@ -1,448 +0,0 @@
-0.53 2015-08-14
-        - [feature] Implemented new KrillCollection (diewald)
-	  This should fix a lot of issues with deleted
-	  documents and negation in virtual collections.
-	- [cleanup] REMOVED deprecated collection filtering (diewald)
-	- [cleanup] REMOVED deprecated termRelation API (diewald)
-	- [feature] Added removal methods for documents (diewald)
-	- [cleanup] REMOVED search method in KrillCollection (diewald)
-        - [bugfix] Fixed collection statistics (diewald)
-	- [feature] Improved packaging (diewald)
-	- [feature] Introduced cmd options for server (diewald)
-
-0.52 2015-07-08
-        - [bugfix] Fixed payload filtering in FocusSpans (margaretha)
-	- [workaround] Reintroduced empty collection support,
-	  as Koral still creates them (diewald)
-	- [bugfix] Escaped characters now supported in MutiTerm (diewald)
-	- [feature] Deserialization of flags (diewald)
-	- [feature] Made responses valid KoralQueries (diewald)
-	- [bugfix] Fixed sequence deserialization bug for simple unordered
-	  constraint (diewald)
-	- [bugfix] Mirror collection (diewald)
-	- [bugfix] Updated default fields for meta data (diewald)
-	- [bugfix] Updated match identifier for "sigle" data (diewald)
-	- [workaround] Support corpusID/docID and textSigle match strings
-	  (diewald)
-	- [workaround] Support matches starting with "contains"
-	  (Kustvakt bug/diewald)
-	- [bugfix] Fixed treatment of several collection types (diewald)
-	- [bugfix] Remove legacy error handling in Match (diewald)
-	- [bugfix] JSON-serialization bug in match in case of
-	  error messages (diewald)
-	- [bugfix] 'fields' serialization (diewald)
-	- [bugfix] Deserialization of group:disjunction (diewald)
-	- [bugfix] Deserialization of wrapped spans (diewald)
-	- [bugfix] Fix KoralQuery mirroring in case of
-	  parsing failures (diewald)
-	- [feature] Support '@all' as a 'fields' value for all meta
-	  data fields (diewald)
-	- [bugfix] Fix case sensitivity bug in filters (diewald)
-	- [bugfix] Fix sentence expansion bug for new data (diewald)
-	- [bugfix] Deserialization of 'containsnot' instead of 'excludes'
-	  (diewald)
-
-0.51 2015-03-17
-        - This is a major version (prepared for the GitHub release)
-        - [cleanup] Changed groupID to "de.ids_mannheim.korap",
-	  renamed korap-style.xml to Format.xml (diewald)
-	- [bugfix] Updated Format.xml to work with
-	  recent versions of Eclipse (diewald)
-        - [documentation] Improved documentation for API classes (diewald)
-	- [bugfix] Updated AttributeSpans (margaretha)
-	- [bugfix] Updated SpanRelationQuery (margaretha)
-	- [cleanup] Autoformat (diewald)
-        - [documentation] References added to the Readme (diewald)
-	- [bugfix] Improved failing for missing property file (kupietz)
-	- [bugfix] Fixed tests for server responses to not use
-	  Jackson deserialization (diewald)
-	- [cleanup] No more jersey logging in tests (diewald)
-
-0.50.1 2015-03-02
-	- [feature] Deserialization of arbitrary elements with
-	  attributes (margaretha)
-	- [cleanup] Extracted KrillMeta from Krill,
-	  renamed KorapQuery to KrillQuery,
-	  extracted QueryBuilder from KrillQuery,
-	  renamed KorapIndexer to index/Indexer,
-	  renamed KorapDocument to model/AbstractDocument,
-	  renamed KorapMatch to response/Match,
-	  renamed KorapIndex to KrillIndex,
-	  renamed KorapCollection to KrillCollection,
-	  moved collector classes from index to response,
-	  renamed KorapDate to KrillDate,
-	  renamed KorapArray to KrillArray,
-	  renamed KorapByte to KrillByte,
-	  renamed KorapString to KrillString,
-	  moved KorapNode to server/Node,
-	  moved KorapResult to response/Result,
-	  renamed KorapResponse to Response,
-	  moved model/* to index,
-	  moved meta/SearchContext to response/SearchContext,
-	  krillified property files,
-	  added Errorcodes,
-	  removed KrillIndex#addDocFile (diewald)
-        - [documentation] Improved documentation for API classes (diewald)
-
-0.50 2015-02-23
-        - Project name is now "Krill"
-
-0.49.4 2015-02-20
-        - [documentation] Improved documentation for API classes (diewald)
-	- [cleanup] Improved test coverage for utility classes (diewald)
-   	- [performance] Updated Lucene dependency from 4.5.1 to 4.10.3,
-	  Updated Jackson dependency from 2.4.0 to 2.4.4,
-   	  Updated Jersey dependency from 2.4.1 to 2.15 (diewald)
-        - [feature] Presorting of element terms in the index for coherent
-	  SpanQuery sorting; Removed buffering of element candidates (diewald)
-	  Warning: This is a breaking change!
-	- [feature] Added CorpusDataException to deal with data importing bugs;
-          made some imports break more easily though (diewald)
-	- [performance] Payloads in ElementSpans can now be lazily loaded,
-	  MatchModifyClassSpans no longer rely on payload copies (diewald)
-	- [cleanup] Renamed /filter to /collection, 
-	  merge KorapHTML and KorapString,
-	  removed KorapSpan, KorapTermSpan and KorapLongSpan,
-	  renamed /analysis to /model,
-	  renamed shrink() to focus(),
-	  removed KorapPrimaryData,
-          fixed a lot of wrong tests for WithinSpans,
-	  renamed KorapFilter to /collection/CollectionBuilder,
-	  renamed SpanMatchModify to SpanFocus,
-	  changed KoralQuery root prefix to "koral",
-	  renamed different kinds of "queries" throughout classes,
-	  renamed KorapSearch#run to KorapSearch#apply (diewald)
-        - [feature] Improved deserialization of SpanSubSpanQueries
-          (margaretha)
-	- [feature] Introducing the potential need for resorting queries
-	  on focussing (e.g., set by relations) (diewald)
-	- [bugfix] Hopefully fixing a resource related bug for
-	  server instantiation (diewald)
-	- [bugfix] Changed attribute spans to contain element's
-	  width (margaretha)
-	- [feature] Improved highlighting to use semantic html5 (#193; diewald)
-
-0.49.3 2015-02-03
-        - [documentation] Improved documentation for
-	  API classes (diewald)
-	- [documentation] Improved documentation for
-	  various queries (margaretha)
-	- [feature] Added deserialization of SpanSubSpanQueries
-          (margaretha, diewald)
-	- [bugfix] Null filters are now correctly extended (diewald)
-	- [cleanup] Refactoring of KorapResult, KorapResponse, KorapQuery,
-	  deprecated operation:or in favor of operation:junction,
-	  updating test suite for class and frame attributes (diewald)
-	- [bugfix] Empty class segments are now correctly serialized
-	  in sequences (diewald)
-	- [feature] Started support for position frames (diewald)
-	- [bugfix] Fixed #134 Nullpointer exception in WithinSpans
-	  (diewald, margaretha)
-
-0.49.2 2014-12-05
-	- [documentation] Improved documentation for
-          various queries (margaretha)
-	- [feature] Added @Experimental support (margaretha)
-	- [feature] Added Eclipse based code formatting (diewald)
-
-0.49.1 2014-11-25
-        - [cleanup] Major refactoring for new response messages,
-	  removed deprecated error messaging,
-          removed long-term deprecated methods in KorapResult,
-	  removed long-term deprecated methods in KorapMatch,
-	  renamed toJSON->toJsonString
-	  renamed toJSONnode->toJsonNode,
-	  renamed fromJSON->fromJson (diewald)
-	- [documentation] Improved documentation for notifications (diewald)
-
-0.49 2014-11-14
-        - This is a major version (prepared for the Evaluation Meeting)
-        - [bugfix] Rewrite works in repeating expansions (margaretha)
-	- [feature] Clean timeout with parameter support (diewald)
-	- [workaround] Support unknown overlap frame,
-	  if frames are known (diewald)
-	- [bugfix] Class payload fixed in SpanRepetitions (margaretha)
-	- [bugfix] #179 Expansion bug fixed (margaretha)
-	- [bugfix] Corrected small bug where null warnings where
-	  returned in JSON (diewald)
-	- [cleanup] Converted error to failure (diewald)
-	- [bugfix] Added const layer rewrite (diewald)
-
-0.48 2014-11-07
-        - This is a major version (prepared for the "Tag der Offenen Tür")
-        - [feature] Retrieval of token lists (diewald)
-	- [bugfix] Classes can now be highlighted to 127.
-	- [bugfix] Sequences with distances won't be flattened in
-  	  SpanSequenceQueryWrapper (diewald)
-	- [bugfix] Sequences with [problem][problem][anchor] can now
-	  be deserialized (diewald)
-	- [bugfix] Queries with regular expressions in spanNext() are now
-	  correctly rewritten (diewald)
-	- [bugfix] Ignore foundry for orth layer (diewald)
-	- [feature] Support fields in meta (diewald)
-	- [workaround] Support more legacy APIs (diewald)
-	- [bugfix] Check for the existence of @type in JSON-LD groups
-	  to avoid NullPointer (diewald)
-	- [cleanup] Validated query and collection input - limited
-	  to a "don't break anyting" policy (diewald)
-
-0.47 2014-11-05
-        - [feature] Support new index format with more metadata (diewald)
-	- [bugfix] #142 Fixed class spans for skipTo() skips (margaretha)
-	- [feature] Added attribute support to relations (margaretha)
-	- [bugfix] Make classes and shrink default to 1 instead of 0 (diewald)
-	- [bugfix] shrink now removes all non-classes payloads (diewald)
-
-0.46 2014-10-21
-        - [feature] Support for relation queries (margaretha)
-	- [feature] Wrapping of extension queries
-	  (not completely tested yet; diewald)
-
-0.45 2014-10-06
-        - [bugfix] Correctly respond request in JSON results (diewald)
-        - [cleanup] Made SpanQueryWrapper an abstract class instead
-	  of an interface (diewald)
-
-0.44.1 2014-09-29
-        - [cleanup] Prepare test suite for publication (diewald)
-
-0.44 2014-09-28
-        - [feature] Match collector using database for
-	  distributed search (diewald)
-	- [bugfix] Unified boundary handling and prevent nullpointer
-	  exceptions on parsing (diewald)
-	- [bugfix] Ordering of payloads reversed to make nesting highlights
-	  nest correctly (diewald)
-   	- [performance] Updated Lucene dependency from 4.3.1 to 4.5.1 (diewald)
-   	- [performance] Updated Jackson dependency from 2.2.2 to 2.4.0 (diewald)
-	- [bugfix] Return matches correctly with JSON (diewald)
-	- [bugfix] Repare database tests working with temporary
-	  databases (diewald)
-
-0.43 2014-09-23
-        - [cleanup] Made a lot of stuff rely on KorapResponse (diewald)
-	- [bugfix] Small but ancient collection bug fixed (diewald)
-	- [feature] Collect first matches of documents based on UIDs (diewald)
-
-0.42 2014-09-19
-        - [cleanup] Extracted private classes from KorapMatch (diewald)
-	- [bugfix] Fix query rewrite in contains-queries (diewald)
-
-0.41 2014-09-17
-        - [feature] getStartPos(classNr) and getEndPos(classNr)
-          in KorapMatch (diewald)
-        - [bugfix] SpanExpansionQuery with fixed Constructor
-	  and Exclusion handling (margaretha)
-        - [feature] Early implementation of match collector (diewald)
-
-0.40 2014-09-03
-        - [feature] Skeleton for standalone REST service (diewald)
-
-0.33 2014-09-01
-        - [feature] SpanSubspanQuery (margaretha)
-        - [feature] SpanExpansionQuery (margaretha)
-
-0.32 2014-08-01
-        - [bugfix] Fix for repetition candidates (margaretha)
- 	- [bugfix] Some fixes for negative segments (diewald)
- 	- [bugfix] SpanMatchModify now skips in case the
-	  requested class isn't found (diewald)
- 	- [performance] Some logging issues fixed (diewald)
-
-0.31.8 2014-07-24
-        - [feature] Added optionality to querys for quantifiers (diewald)
-        - [feature] Support for korap:boundary deserialization (diewald)
-
-0.31.7 2014-07-18
-        - [feature] Added warnings to responses (diewald)
-
-0.31.6 2014-06-30
-        - [feature] Support for korap:reference deserialization (diewald)
-	- [feature] Preliminary support for attributes in elements (margaretha)
-	- [feature] Preliminary support operation:repetition deserialization
-	  (unfinished and untested; diewald)
-
-0.31.5 2014-06-17
-        - [feature] Batch return of defined foundries and layers in
-	  getMatchInfo() (diewald)
-	- [security] Improve foundry and layer check before injection in
-	  regex (diewald)
-
-0.31.4 2014-06-16
-        - [feature] MatchModifyClassQuery now can extend (diewald)
-	- [bugfix] Make matchinfo a bit more robust (diewald)
-
-0.31.3 2014-06-11
-        - [bugfix] Minor bugfix regarding treatment of
-	  failed search results (diewald)
-
-0.31.2 2014-05-28
-        - [feature] Request parameter "itemsPerResource" limits
-	  hits per document (diewald)
-
-0.31.1 2014-05-21
-        - [bugfix] Minor bugfix for wrongly serialized contexts
-	  in responses (diewald)
-
-0.31.0 2014-05-20
-        - [feature] span contexts in JSON-LD are now supported
-        - [bugfix] Multiple bugfixes regarding span context
-          extensions (diewald)
-        - [bugfix] Minor debugging bugs (diewald)
-
-0.30.9 2014-04-11
-        - [bugfix] Prevent multiple identifiers in
-	  relation highlighting (diewald)
-
-0.30.8 2014-04-10
-        - Added getTermRelationJSON() to KorapCollection (diewald)
-	  This is likely to get deprecated!
-
-0.30.7 2014-04-09
-        - Moved JSON interpretation from BooleanFilter to KorapFilter (diewald)
-	- Added 'or' and group nesting to KorapFilter (diewald)
-
-0.30.6 2014-03-20
-        - Refactoring and cleaning of ElementSpans (diewald)
-	- [bugfix] Stabilizing KorapMatch (diewald)
-
-0.30.5 2014-03-18
-	- Support for Quantifier Queries (margaretha)
-	- Some benchmarks (margaretha)
-        - [bugfix] WithinSpans respect match payloads,
-	  and are now way more correct ;) (diewald)
-	- Support for overlap queries (diewald)
-	- Refactoring of WithinSpans (diewald)
-	- Introducing lazy loading for wrapper .end() in WithinSpans (diewald)
-
-0.30.4 2014-02-26
-        - [cleanup] Making MultiTerm* more robust (diewald)
-
-0.30.3 2014-02-20
-        - Return json request in response if given (diewald)
-	- [bugfix] ClassSpans and WithinSpans check skipTo
-	  in advance now (diewald)
-	- Compilerfriendly logging rules, resulting
-	  in significant performance improvements (diewald)
-	- Small refactorings (diewald)
-
-0.30.2 2014-02-14
-        - [bugfix] wrapper uses correct distance constraint (diewald)
-
-0.30.1 2014-02-13
-        - Added sentence extension for match info (diewald)
-
-0.30 2014-02-13
-        - This is a major version
-	  (prepared for the IDS meeting on the 17th of february)
-	- Improved stringification for distance queries (margaretha)
-
-0.26.4 2014-02-12
-        - Serialize SpanDistanceQueries and SpanMultipleDistanceQueries
-          (diewald)
-	- [temporarily] Added default foundry "mate" in KorapQuery (diewald)
-
-0.26.3 2014-02-12
-        - [bugfix] Only open writer in case it's needed (diewald)
-
-0.26.2 2014-02-12
-        - Added sequence queries with defined gaps (margaretha)
-	- Support for multiple distance constraints (margaretha)
-	- Updated json-ld deserialization with nested meta (diewald)
-	- [bugfix] Wildcards in segments were ignored (diewald)
-
-0.26.1 2014-01-21
-        - Distinct Match retrieval including spans
-	  and dependency relations (diewald)
-
-0.26 2014-01-16
-        - Introduced standalone SpanSegmentQueries (margaretha)
-        - [bugfix] SpanNextQueries (margaretha)
-	- Support for Match Identifiers (diewald)
-	- Support for distinct Match retrieval (diewald)
-
-0.25.3 2014-01-10
-        - Updated Lucene to 4.3.1 (diewald)
-	- Welcome! Eliza Margaretha has joined the team!
-
-0.25.2 2013-12-29
-        - Fixed highlight bug with empty reopened tags
-
-0.25.1 2013-12-28
-        - Support for pubDate collections
-	- Changed versioning scheme
-
-0.25 2013-12-20
-        - Support for Wildcard Queries
-	- Improved support for regular expressions
-	- Introduced keyword fields that store no positions
-
-0.24_1 2013-12-05
-        - This is a pseudo version for demo versions with dirty hacks,
-	  meant to be rolled back!
-	- There is now an ignored broken test in TestKorapCollection
-
-0.24 2013-12-05
-        - Json deserializer finished for virtual collections
-
-0.23 2013-12-05
-        - Error handling corrected in KorapResult
-	- Json deserializer finished for queries
-
-0.22 2013-12-04
-        - Introduced KorapSearch
-	- Json deserializer (started)
-
-0.21 2013-11-28
-        - Virtual collections can now be defined,
-	  searched, nested and extended
-
-0.20 2013-11-18
-        - Unboxing from sandbox repository
-
-0.11 2013-11-14
-	- JSON file importer (plain and gzip)
-	- [bugfix] Element Query
-	- [bugfix] Sequence Query
-
-0.10 2013-11-11
-        - Added JSON input to indexer
-
-0.09 2013-11-07
-        - Reconstruction of all wrapper queries using an interface
-	- Finished KorapQuery (preliminary feature freeze)
-
-0.08 2013-10-18
-        - Changed methods to attributes in KorapMatch
-	- Changed SimpleJSON to Jackson
-	- Fixed Highlighting
-	- Some Refactoring of result classes
-	- Introduced KorapDocument
-	- Introduced KorapHTML utility
-
-0.07 2013-10-14
-        - Added position to offset matching
-
-0.06 2013-10-01
-        - Added SpanElementQuery for working WithinQeries
-	- Added KorapResult and KorapMatching
-
-0.05 2013-09-18
-        - Fixed bug in indexing (MultiTermTokenStream)
-	- Fixed SpanNext
-	- Added KorapIndex
-	- First draft for KorapFilter
-
-0.04 2013-09-01
-        - Introduced optimized SpanNext class (not working atm),
-	  as SpanNear does not always work with nested synonyms
-
-0.03 2013-08-28
-        - Added within query (not working atm)
-	- Pushed query part to public repo
-
-0.02 2013-08-26
-        - Added sequences
-
-0.01 2013-08-20
-        - First version as maven build environment
diff --git a/Changes.LOCAL.7786 b/Changes.LOCAL.7786
deleted file mode 100644
index af767f1..0000000
--- a/Changes.LOCAL.7786
+++ /dev/null
@@ -1,449 +0,0 @@
-0.53 2015-09-25
-        - [feature] Implemented new KrillCollection (diewald)
-	  This should fix a lot of issues with deleted
-	  documents and negation in virtual collections.
-	- [cleanup] REMOVED deprecated collection filtering (diewald)
-	- [cleanup] REMOVED deprecated termRelation API (diewald)
-	- [feature] Added removal methods for documents (diewald)
-	- [cleanup] REMOVED search method in KrillCollection (diewald)
-        - [bugfix] Fixed collection statistics (diewald)
-	- [feature] Improved packaging (diewald)
-	- [feature] Introduced cmd options for server (diewald)
-    	- [feature] Return meta data on server-based indexation (diewald)
-
-0.52 2015-07-08
-        - [bugfix] Fixed payload filtering in FocusSpans (margaretha)
-	- [workaround] Reintroduced empty collection support,
-	  as Koral still creates them (diewald)
-	- [bugfix] Escaped characters now supported in MutiTerm (diewald)
-	- [feature] Deserialization of flags (diewald)
-	- [feature] Made responses valid KoralQueries (diewald)
-	- [bugfix] Fixed sequence deserialization bug for simple unordered
-	  constraint (diewald)
-	- [bugfix] Mirror collection (diewald)
-	- [bugfix] Updated default fields for meta data (diewald)
-	- [bugfix] Updated match identifier for "sigle" data (diewald)
-	- [workaround] Support corpusID/docID and textSigle match strings
-	  (diewald)
-	- [workaround] Support matches starting with "contains"
-	  (Kustvakt bug/diewald)
-	- [bugfix] Fixed treatment of several collection types (diewald)
-	- [bugfix] Remove legacy error handling in Match (diewald)
-	- [bugfix] JSON-serialization bug in match in case of
-	  error messages (diewald)
-	- [bugfix] 'fields' serialization (diewald)
-	- [bugfix] Deserialization of group:disjunction (diewald)
-	- [bugfix] Deserialization of wrapped spans (diewald)
-	- [bugfix] Fix KoralQuery mirroring in case of
-	  parsing failures (diewald)
-	- [feature] Support '@all' as a 'fields' value for all meta
-	  data fields (diewald)
-	- [bugfix] Fix case sensitivity bug in filters (diewald)
-	- [bugfix] Fix sentence expansion bug for new data (diewald)
-	- [bugfix] Deserialization of 'containsnot' instead of 'excludes'
-	  (diewald)
-
-0.51 2015-03-17
-        - This is a major version (prepared for the GitHub release)
-        - [cleanup] Changed groupID to "de.ids_mannheim.korap",
-	  renamed korap-style.xml to Format.xml (diewald)
-	- [bugfix] Updated Format.xml to work with
-	  recent versions of Eclipse (diewald)
-        - [documentation] Improved documentation for API classes (diewald)
-	- [bugfix] Updated AttributeSpans (margaretha)
-	- [bugfix] Updated SpanRelationQuery (margaretha)
-	- [cleanup] Autoformat (diewald)
-        - [documentation] References added to the Readme (diewald)
-	- [bugfix] Improved failing for missing property file (kupietz)
-	- [bugfix] Fixed tests for server responses to not use
-	  Jackson deserialization (diewald)
-	- [cleanup] No more jersey logging in tests (diewald)
-
-0.50.1 2015-03-02
-	- [feature] Deserialization of arbitrary elements with
-	  attributes (margaretha)
-	- [cleanup] Extracted KrillMeta from Krill,
-	  renamed KorapQuery to KrillQuery,
-	  extracted QueryBuilder from KrillQuery,
-	  renamed KorapIndexer to index/Indexer,
-	  renamed KorapDocument to model/AbstractDocument,
-	  renamed KorapMatch to response/Match,
-	  renamed KorapIndex to KrillIndex,
-	  renamed KorapCollection to KrillCollection,
-	  moved collector classes from index to response,
-	  renamed KorapDate to KrillDate,
-	  renamed KorapArray to KrillArray,
-	  renamed KorapByte to KrillByte,
-	  renamed KorapString to KrillString,
-	  moved KorapNode to server/Node,
-	  moved KorapResult to response/Result,
-	  renamed KorapResponse to Response,
-	  moved model/* to index,
-	  moved meta/SearchContext to response/SearchContext,
-	  krillified property files,
-	  added Errorcodes,
-	  removed KrillIndex#addDocFile (diewald)
-        - [documentation] Improved documentation for API classes (diewald)
-
-0.50 2015-02-23
-        - Project name is now "Krill"
-
-0.49.4 2015-02-20
-        - [documentation] Improved documentation for API classes (diewald)
-	- [cleanup] Improved test coverage for utility classes (diewald)
-   	- [performance] Updated Lucene dependency from 4.5.1 to 4.10.3,
-	  Updated Jackson dependency from 2.4.0 to 2.4.4,
-   	  Updated Jersey dependency from 2.4.1 to 2.15 (diewald)
-        - [feature] Presorting of element terms in the index for coherent
-	  SpanQuery sorting; Removed buffering of element candidates (diewald)
-	  Warning: This is a breaking change!
-	- [feature] Added CorpusDataException to deal with data importing bugs;
-          made some imports break more easily though (diewald)
-	- [performance] Payloads in ElementSpans can now be lazily loaded,
-	  MatchModifyClassSpans no longer rely on payload copies (diewald)
-	- [cleanup] Renamed /filter to /collection, 
-	  merge KorapHTML and KorapString,
-	  removed KorapSpan, KorapTermSpan and KorapLongSpan,
-	  renamed /analysis to /model,
-	  renamed shrink() to focus(),
-	  removed KorapPrimaryData,
-          fixed a lot of wrong tests for WithinSpans,
-	  renamed KorapFilter to /collection/CollectionBuilder,
-	  renamed SpanMatchModify to SpanFocus,
-	  changed KoralQuery root prefix to "koral",
-	  renamed different kinds of "queries" throughout classes,
-	  renamed KorapSearch#run to KorapSearch#apply (diewald)
-        - [feature] Improved deserialization of SpanSubSpanQueries
-          (margaretha)
-	- [feature] Introducing the potential need for resorting queries
-	  on focussing (e.g., set by relations) (diewald)
-	- [bugfix] Hopefully fixing a resource related bug for
-	  server instantiation (diewald)
-	- [bugfix] Changed attribute spans to contain element's
-	  width (margaretha)
-	- [feature] Improved highlighting to use semantic html5 (#193; diewald)
-
-0.49.3 2015-02-03
-        - [documentation] Improved documentation for
-	  API classes (diewald)
-	- [documentation] Improved documentation for
-	  various queries (margaretha)
-	- [feature] Added deserialization of SpanSubSpanQueries
-          (margaretha, diewald)
-	- [bugfix] Null filters are now correctly extended (diewald)
-	- [cleanup] Refactoring of KorapResult, KorapResponse, KorapQuery,
-	  deprecated operation:or in favor of operation:junction,
-	  updating test suite for class and frame attributes (diewald)
-	- [bugfix] Empty class segments are now correctly serialized
-	  in sequences (diewald)
-	- [feature] Started support for position frames (diewald)
-	- [bugfix] Fixed #134 Nullpointer exception in WithinSpans
-	  (diewald, margaretha)
-
-0.49.2 2014-12-05
-	- [documentation] Improved documentation for
-          various queries (margaretha)
-	- [feature] Added @Experimental support (margaretha)
-	- [feature] Added Eclipse based code formatting (diewald)
-
-0.49.1 2014-11-25
-        - [cleanup] Major refactoring for new response messages,
-	  removed deprecated error messaging,
-          removed long-term deprecated methods in KorapResult,
-	  removed long-term deprecated methods in KorapMatch,
-	  renamed toJSON->toJsonString
-	  renamed toJSONnode->toJsonNode,
-	  renamed fromJSON->fromJson (diewald)
-	- [documentation] Improved documentation for notifications (diewald)
-
-0.49 2014-11-14
-        - This is a major version (prepared for the Evaluation Meeting)
-        - [bugfix] Rewrite works in repeating expansions (margaretha)
-	- [feature] Clean timeout with parameter support (diewald)
-	- [workaround] Support unknown overlap frame,
-	  if frames are known (diewald)
-	- [bugfix] Class payload fixed in SpanRepetitions (margaretha)
-	- [bugfix] #179 Expansion bug fixed (margaretha)
-	- [bugfix] Corrected small bug where null warnings where
-	  returned in JSON (diewald)
-	- [cleanup] Converted error to failure (diewald)
-	- [bugfix] Added const layer rewrite (diewald)
-
-0.48 2014-11-07
-        - This is a major version (prepared for the "Tag der Offenen Tür")
-        - [feature] Retrieval of token lists (diewald)
-	- [bugfix] Classes can now be highlighted to 127.
-	- [bugfix] Sequences with distances won't be flattened in
-  	  SpanSequenceQueryWrapper (diewald)
-	- [bugfix] Sequences with [problem][problem][anchor] can now
-	  be deserialized (diewald)
-	- [bugfix] Queries with regular expressions in spanNext() are now
-	  correctly rewritten (diewald)
-	- [bugfix] Ignore foundry for orth layer (diewald)
-	- [feature] Support fields in meta (diewald)
-	- [workaround] Support more legacy APIs (diewald)
-	- [bugfix] Check for the existence of @type in JSON-LD groups
-	  to avoid NullPointer (diewald)
-	- [cleanup] Validated query and collection input - limited
-	  to a "don't break anyting" policy (diewald)
-
-0.47 2014-11-05
-        - [feature] Support new index format with more metadata (diewald)
-	- [bugfix] #142 Fixed class spans for skipTo() skips (margaretha)
-	- [feature] Added attribute support to relations (margaretha)
-	- [bugfix] Make classes and shrink default to 1 instead of 0 (diewald)
-	- [bugfix] shrink now removes all non-classes payloads (diewald)
-
-0.46 2014-10-21
-        - [feature] Support for relation queries (margaretha)
-	- [feature] Wrapping of extension queries
-	  (not completely tested yet; diewald)
-
-0.45 2014-10-06
-        - [bugfix] Correctly respond request in JSON results (diewald)
-        - [cleanup] Made SpanQueryWrapper an abstract class instead
-	  of an interface (diewald)
-
-0.44.1 2014-09-29
-        - [cleanup] Prepare test suite for publication (diewald)
-
-0.44 2014-09-28
-        - [feature] Match collector using database for
-	  distributed search (diewald)
-	- [bugfix] Unified boundary handling and prevent nullpointer
-	  exceptions on parsing (diewald)
-	- [bugfix] Ordering of payloads reversed to make nesting highlights
-	  nest correctly (diewald)
-   	- [performance] Updated Lucene dependency from 4.3.1 to 4.5.1 (diewald)
-   	- [performance] Updated Jackson dependency from 2.2.2 to 2.4.0 (diewald)
-	- [bugfix] Return matches correctly with JSON (diewald)
-	- [bugfix] Repare database tests working with temporary
-	  databases (diewald)
-
-0.43 2014-09-23
-        - [cleanup] Made a lot of stuff rely on KorapResponse (diewald)
-	- [bugfix] Small but ancient collection bug fixed (diewald)
-	- [feature] Collect first matches of documents based on UIDs (diewald)
-
-0.42 2014-09-19
-        - [cleanup] Extracted private classes from KorapMatch (diewald)
-	- [bugfix] Fix query rewrite in contains-queries (diewald)
-
-0.41 2014-09-17
-        - [feature] getStartPos(classNr) and getEndPos(classNr)
-          in KorapMatch (diewald)
-        - [bugfix] SpanExpansionQuery with fixed Constructor
-	  and Exclusion handling (margaretha)
-        - [feature] Early implementation of match collector (diewald)
-
-0.40 2014-09-03
-        - [feature] Skeleton for standalone REST service (diewald)
-
-0.33 2014-09-01
-        - [feature] SpanSubspanQuery (margaretha)
-        - [feature] SpanExpansionQuery (margaretha)
-
-0.32 2014-08-01
-        - [bugfix] Fix for repetition candidates (margaretha)
- 	- [bugfix] Some fixes for negative segments (diewald)
- 	- [bugfix] SpanMatchModify now skips in case the
-	  requested class isn't found (diewald)
- 	- [performance] Some logging issues fixed (diewald)
-
-0.31.8 2014-07-24
-        - [feature] Added optionality to querys for quantifiers (diewald)
-        - [feature] Support for korap:boundary deserialization (diewald)
-
-0.31.7 2014-07-18
-        - [feature] Added warnings to responses (diewald)
-
-0.31.6 2014-06-30
-        - [feature] Support for korap:reference deserialization (diewald)
-	- [feature] Preliminary support for attributes in elements (margaretha)
-	- [feature] Preliminary support operation:repetition deserialization
-	  (unfinished and untested; diewald)
-
-0.31.5 2014-06-17
-        - [feature] Batch return of defined foundries and layers in
-	  getMatchInfo() (diewald)
-	- [security] Improve foundry and layer check before injection in
-	  regex (diewald)
-
-0.31.4 2014-06-16
-        - [feature] MatchModifyClassQuery now can extend (diewald)
-	- [bugfix] Make matchinfo a bit more robust (diewald)
-
-0.31.3 2014-06-11
-        - [bugfix] Minor bugfix regarding treatment of
-	  failed search results (diewald)
-
-0.31.2 2014-05-28
-        - [feature] Request parameter "itemsPerResource" limits
-	  hits per document (diewald)
-
-0.31.1 2014-05-21
-        - [bugfix] Minor bugfix for wrongly serialized contexts
-	  in responses (diewald)
-
-0.31.0 2014-05-20
-        - [feature] span contexts in JSON-LD are now supported
-        - [bugfix] Multiple bugfixes regarding span context
-          extensions (diewald)
-        - [bugfix] Minor debugging bugs (diewald)
-
-0.30.9 2014-04-11
-        - [bugfix] Prevent multiple identifiers in
-	  relation highlighting (diewald)
-
-0.30.8 2014-04-10
-        - Added getTermRelationJSON() to KorapCollection (diewald)
-	  This is likely to get deprecated!
-
-0.30.7 2014-04-09
-        - Moved JSON interpretation from BooleanFilter to KorapFilter (diewald)
-	- Added 'or' and group nesting to KorapFilter (diewald)
-
-0.30.6 2014-03-20
-        - Refactoring and cleaning of ElementSpans (diewald)
-	- [bugfix] Stabilizing KorapMatch (diewald)
-
-0.30.5 2014-03-18
-	- Support for Quantifier Queries (margaretha)
-	- Some benchmarks (margaretha)
-        - [bugfix] WithinSpans respect match payloads,
-	  and are now way more correct ;) (diewald)
-	- Support for overlap queries (diewald)
-	- Refactoring of WithinSpans (diewald)
-	- Introducing lazy loading for wrapper .end() in WithinSpans (diewald)
-
-0.30.4 2014-02-26
-        - [cleanup] Making MultiTerm* more robust (diewald)
-
-0.30.3 2014-02-20
-        - Return json request in response if given (diewald)
-	- [bugfix] ClassSpans and WithinSpans check skipTo
-	  in advance now (diewald)
-	- Compilerfriendly logging rules, resulting
-	  in significant performance improvements (diewald)
-	- Small refactorings (diewald)
-
-0.30.2 2014-02-14
-        - [bugfix] wrapper uses correct distance constraint (diewald)
-
-0.30.1 2014-02-13
-        - Added sentence extension for match info (diewald)
-
-0.30 2014-02-13
-        - This is a major version
-	  (prepared for the IDS meeting on the 17th of february)
-	- Improved stringification for distance queries (margaretha)
-
-0.26.4 2014-02-12
-        - Serialize SpanDistanceQueries and SpanMultipleDistanceQueries
-          (diewald)
-	- [temporarily] Added default foundry "mate" in KorapQuery (diewald)
-
-0.26.3 2014-02-12
-        - [bugfix] Only open writer in case it's needed (diewald)
-
-0.26.2 2014-02-12
-        - Added sequence queries with defined gaps (margaretha)
-	- Support for multiple distance constraints (margaretha)
-	- Updated json-ld deserialization with nested meta (diewald)
-	- [bugfix] Wildcards in segments were ignored (diewald)
-
-0.26.1 2014-01-21
-        - Distinct Match retrieval including spans
-	  and dependency relations (diewald)
-
-0.26 2014-01-16
-        - Introduced standalone SpanSegmentQueries (margaretha)
-        - [bugfix] SpanNextQueries (margaretha)
-	- Support for Match Identifiers (diewald)
-	- Support for distinct Match retrieval (diewald)
-
-0.25.3 2014-01-10
-        - Updated Lucene to 4.3.1 (diewald)
-	- Welcome! Eliza Margaretha has joined the team!
-
-0.25.2 2013-12-29
-        - Fixed highlight bug with empty reopened tags
-
-0.25.1 2013-12-28
-        - Support for pubDate collections
-	- Changed versioning scheme
-
-0.25 2013-12-20
-        - Support for Wildcard Queries
-	- Improved support for regular expressions
-	- Introduced keyword fields that store no positions
-
-0.24_1 2013-12-05
-        - This is a pseudo version for demo versions with dirty hacks,
-	  meant to be rolled back!
-	- There is now an ignored broken test in TestKorapCollection
-
-0.24 2013-12-05
-        - Json deserializer finished for virtual collections
-
-0.23 2013-12-05
-        - Error handling corrected in KorapResult
-	- Json deserializer finished for queries
-
-0.22 2013-12-04
-        - Introduced KorapSearch
-	- Json deserializer (started)
-
-0.21 2013-11-28
-        - Virtual collections can now be defined,
-	  searched, nested and extended
-
-0.20 2013-11-18
-        - Unboxing from sandbox repository
-
-0.11 2013-11-14
-	- JSON file importer (plain and gzip)
-	- [bugfix] Element Query
-	- [bugfix] Sequence Query
-
-0.10 2013-11-11
-        - Added JSON input to indexer
-
-0.09 2013-11-07
-        - Reconstruction of all wrapper queries using an interface
-	- Finished KorapQuery (preliminary feature freeze)
-
-0.08 2013-10-18
-        - Changed methods to attributes in KorapMatch
-	- Changed SimpleJSON to Jackson
-	- Fixed Highlighting
-	- Some Refactoring of result classes
-	- Introduced KorapDocument
-	- Introduced KorapHTML utility
-
-0.07 2013-10-14
-        - Added position to offset matching
-
-0.06 2013-10-01
-        - Added SpanElementQuery for working WithinQeries
-	- Added KorapResult and KorapMatching
-
-0.05 2013-09-18
-        - Fixed bug in indexing (MultiTermTokenStream)
-	- Fixed SpanNext
-	- Added KorapIndex
-	- First draft for KorapFilter
-
-0.04 2013-09-01
-        - Introduced optimized SpanNext class (not working atm),
-	  as SpanNear does not always work with nested synonyms
-
-0.03 2013-08-28
-        - Added within query (not working atm)
-	- Pushed query part to public repo
-
-0.02 2013-08-26
-        - Added sequences
-
-0.01 2013-08-20
-        - First version as maven build environment
diff --git a/Changes.REMOTE.7786 b/Changes.REMOTE.7786
deleted file mode 100644
index 558710c..0000000
--- a/Changes.REMOTE.7786
+++ /dev/null
@@ -1,455 +0,0 @@
-0.54 2015-09-30
-   	- [performance] Updated Lucene dependency from 4.10.3
-	  to 5.0.0 (diewald)
-        - [bugfix] Minor fixes regarding invalid tokens in the
-	  test suite (diewald)
-
-0.53 2015-09-25
-        - [feature] Implemented new KrillCollection (diewald)
-	  This should fix a lot of issues with deleted
-	  documents and negation in virtual collections.
-	- [cleanup] REMOVED deprecated collection filtering (diewald)
-	- [cleanup] REMOVED deprecated termRelation API (diewald)
-	- [feature] Added removal methods for documents (diewald)
-	- [cleanup] REMOVED search method in KrillCollection (diewald)
-        - [bugfix] Fixed collection statistics (diewald)
-	- [feature] Improved packaging (diewald)
-	- [feature] Introduced cmd options for server (diewald)
-    	- [feature] Return meta data on server-based indexation (diewald)
-
-0.52 2015-07-08
-        - [bugfix] Fixed payload filtering in FocusSpans (margaretha)
-	- [workaround] Reintroduced empty collection support,
-	  as Koral still creates them (diewald)
-	- [bugfix] Escaped characters now supported in MutiTerm (diewald)
-	- [feature] Deserialization of flags (diewald)
-	- [feature] Made responses valid KoralQueries (diewald)
-	- [bugfix] Fixed sequence deserialization bug for simple unordered
-	  constraint (diewald)
-	- [bugfix] Mirror collection (diewald)
-	- [bugfix] Updated default fields for meta data (diewald)
-	- [bugfix] Updated match identifier for "sigle" data (diewald)
-	- [workaround] Support corpusID/docID and textSigle match strings
-	  (diewald)
-	- [workaround] Support matches starting with "contains"
-	  (Kustvakt bug/diewald)
-	- [bugfix] Fixed treatment of several collection types (diewald)
-	- [bugfix] Remove legacy error handling in Match (diewald)
-	- [bugfix] JSON-serialization bug in match in case of
-	  error messages (diewald)
-	- [bugfix] 'fields' serialization (diewald)
-	- [bugfix] Deserialization of group:disjunction (diewald)
-	- [bugfix] Deserialization of wrapped spans (diewald)
-	- [bugfix] Fix KoralQuery mirroring in case of
-	  parsing failures (diewald)
-	- [feature] Support '@all' as a 'fields' value for all meta
-	  data fields (diewald)
-	- [bugfix] Fix case sensitivity bug in filters (diewald)
-	- [bugfix] Fix sentence expansion bug for new data (diewald)
-	- [bugfix] Deserialization of 'containsnot' instead of 'excludes'
-	  (diewald)
-
-0.51 2015-03-17
-        - This is a major version (prepared for the GitHub release)
-        - [cleanup] Changed groupID to "de.ids_mannheim.korap",
-	  renamed korap-style.xml to Format.xml (diewald)
-	- [bugfix] Updated Format.xml to work with
-	  recent versions of Eclipse (diewald)
-        - [documentation] Improved documentation for API classes (diewald)
-	- [bugfix] Updated AttributeSpans (margaretha)
-	- [bugfix] Updated SpanRelationQuery (margaretha)
-	- [cleanup] Autoformat (diewald)
-        - [documentation] References added to the Readme (diewald)
-	- [bugfix] Improved failing for missing property file (kupietz)
-	- [bugfix] Fixed tests for server responses to not use
-	  Jackson deserialization (diewald)
-	- [cleanup] No more jersey logging in tests (diewald)
-
-0.50.1 2015-03-02
-	- [feature] Deserialization of arbitrary elements with
-	  attributes (margaretha)
-	- [cleanup] Extracted KrillMeta from Krill,
-	  renamed KorapQuery to KrillQuery,
-	  extracted QueryBuilder from KrillQuery,
-	  renamed KorapIndexer to index/Indexer,
-	  renamed KorapDocument to model/AbstractDocument,
-	  renamed KorapMatch to response/Match,
-	  renamed KorapIndex to KrillIndex,
-	  renamed KorapCollection to KrillCollection,
-	  moved collector classes from index to response,
-	  renamed KorapDate to KrillDate,
-	  renamed KorapArray to KrillArray,
-	  renamed KorapByte to KrillByte,
-	  renamed KorapString to KrillString,
-	  moved KorapNode to server/Node,
-	  moved KorapResult to response/Result,
-	  renamed KorapResponse to Response,
-	  moved model/* to index,
-	  moved meta/SearchContext to response/SearchContext,
-	  krillified property files,
-	  added Errorcodes,
-	  removed KrillIndex#addDocFile (diewald)
-        - [documentation] Improved documentation for API classes (diewald)
-
-0.50 2015-02-23
-        - Project name is now "Krill"
-
-0.49.4 2015-02-20
-        - [documentation] Improved documentation for API classes (diewald)
-	- [cleanup] Improved test coverage for utility classes (diewald)
-   	- [performance] Updated Lucene dependency from 4.5.1 to 4.10.3,
-	  Updated Jackson dependency from 2.4.0 to 2.4.4,
-   	  Updated Jersey dependency from 2.4.1 to 2.15 (diewald)
-        - [feature] Presorting of element terms in the index for coherent
-	  SpanQuery sorting; Removed buffering of element candidates (diewald)
-	  Warning: This is a breaking change!
-	- [feature] Added CorpusDataException to deal with data importing bugs;
-          made some imports break more easily though (diewald)
-	- [performance] Payloads in ElementSpans can now be lazily loaded,
-	  MatchModifyClassSpans no longer rely on payload copies (diewald)
-	- [cleanup] Renamed /filter to /collection, 
-	  merge KorapHTML and KorapString,
-	  removed KorapSpan, KorapTermSpan and KorapLongSpan,
-	  renamed /analysis to /model,
-	  renamed shrink() to focus(),
-	  removed KorapPrimaryData,
-          fixed a lot of wrong tests for WithinSpans,
-	  renamed KorapFilter to /collection/CollectionBuilder,
-	  renamed SpanMatchModify to SpanFocus,
-	  changed KoralQuery root prefix to "koral",
-	  renamed different kinds of "queries" throughout classes,
-	  renamed KorapSearch#run to KorapSearch#apply (diewald)
-        - [feature] Improved deserialization of SpanSubSpanQueries
-          (margaretha)
-	- [feature] Introducing the potential need for resorting queries
-	  on focussing (e.g., set by relations) (diewald)
-	- [bugfix] Hopefully fixing a resource related bug for
-	  server instantiation (diewald)
-	- [bugfix] Changed attribute spans to contain element's
-	  width (margaretha)
-	- [feature] Improved highlighting to use semantic html5 (#193; diewald)
-
-0.49.3 2015-02-03
-        - [documentation] Improved documentation for
-	  API classes (diewald)
-	- [documentation] Improved documentation for
-	  various queries (margaretha)
-	- [feature] Added deserialization of SpanSubSpanQueries
-          (margaretha, diewald)
-	- [bugfix] Null filters are now correctly extended (diewald)
-	- [cleanup] Refactoring of KorapResult, KorapResponse, KorapQuery,
-	  deprecated operation:or in favor of operation:junction,
-	  updating test suite for class and frame attributes (diewald)
-	- [bugfix] Empty class segments are now correctly serialized
-	  in sequences (diewald)
-	- [feature] Started support for position frames (diewald)
-	- [bugfix] Fixed #134 Nullpointer exception in WithinSpans
-	  (diewald, margaretha)
-
-0.49.2 2014-12-05
-	- [documentation] Improved documentation for
-          various queries (margaretha)
-	- [feature] Added @Experimental support (margaretha)
-	- [feature] Added Eclipse based code formatting (diewald)
-
-0.49.1 2014-11-25
-        - [cleanup] Major refactoring for new response messages,
-	  removed deprecated error messaging,
-          removed long-term deprecated methods in KorapResult,
-	  removed long-term deprecated methods in KorapMatch,
-	  renamed toJSON->toJsonString
-	  renamed toJSONnode->toJsonNode,
-	  renamed fromJSON->fromJson (diewald)
-	- [documentation] Improved documentation for notifications (diewald)
-
-0.49 2014-11-14
-        - This is a major version (prepared for the Evaluation Meeting)
-        - [bugfix] Rewrite works in repeating expansions (margaretha)
-	- [feature] Clean timeout with parameter support (diewald)
-	- [workaround] Support unknown overlap frame,
-	  if frames are known (diewald)
-	- [bugfix] Class payload fixed in SpanRepetitions (margaretha)
-	- [bugfix] #179 Expansion bug fixed (margaretha)
-	- [bugfix] Corrected small bug where null warnings where
-	  returned in JSON (diewald)
-	- [cleanup] Converted error to failure (diewald)
-	- [bugfix] Added const layer rewrite (diewald)
-
-0.48 2014-11-07
-        - This is a major version (prepared for the "Tag der Offenen Tür")
-        - [feature] Retrieval of token lists (diewald)
-	- [bugfix] Classes can now be highlighted to 127.
-	- [bugfix] Sequences with distances won't be flattened in
-  	  SpanSequenceQueryWrapper (diewald)
-	- [bugfix] Sequences with [problem][problem][anchor] can now
-	  be deserialized (diewald)
-	- [bugfix] Queries with regular expressions in spanNext() are now
-	  correctly rewritten (diewald)
-	- [bugfix] Ignore foundry for orth layer (diewald)
-	- [feature] Support fields in meta (diewald)
-	- [workaround] Support more legacy APIs (diewald)
-	- [bugfix] Check for the existence of @type in JSON-LD groups
-	  to avoid NullPointer (diewald)
-	- [cleanup] Validated query and collection input - limited
-	  to a "don't break anyting" policy (diewald)
-
-0.47 2014-11-05
-        - [feature] Support new index format with more metadata (diewald)
-	- [bugfix] #142 Fixed class spans for skipTo() skips (margaretha)
-	- [feature] Added attribute support to relations (margaretha)
-	- [bugfix] Make classes and shrink default to 1 instead of 0 (diewald)
-	- [bugfix] shrink now removes all non-classes payloads (diewald)
-
-0.46 2014-10-21
-        - [feature] Support for relation queries (margaretha)
-	- [feature] Wrapping of extension queries
-	  (not completely tested yet; diewald)
-
-0.45 2014-10-06
-        - [bugfix] Correctly respond request in JSON results (diewald)
-        - [cleanup] Made SpanQueryWrapper an abstract class instead
-	  of an interface (diewald)
-
-0.44.1 2014-09-29
-        - [cleanup] Prepare test suite for publication (diewald)
-
-0.44 2014-09-28
-        - [feature] Match collector using database for
-	  distributed search (diewald)
-	- [bugfix] Unified boundary handling and prevent nullpointer
-	  exceptions on parsing (diewald)
-	- [bugfix] Ordering of payloads reversed to make nesting highlights
-	  nest correctly (diewald)
-   	- [performance] Updated Lucene dependency from 4.3.1 to 4.5.1 (diewald)
-   	- [performance] Updated Jackson dependency from 2.2.2 to 2.4.0 (diewald)
-	- [bugfix] Return matches correctly with JSON (diewald)
-	- [bugfix] Repare database tests working with temporary
-	  databases (diewald)
-
-0.43 2014-09-23
-        - [cleanup] Made a lot of stuff rely on KorapResponse (diewald)
-	- [bugfix] Small but ancient collection bug fixed (diewald)
-	- [feature] Collect first matches of documents based on UIDs (diewald)
-
-0.42 2014-09-19
-        - [cleanup] Extracted private classes from KorapMatch (diewald)
-	- [bugfix] Fix query rewrite in contains-queries (diewald)
-
-0.41 2014-09-17
-        - [feature] getStartPos(classNr) and getEndPos(classNr)
-          in KorapMatch (diewald)
-        - [bugfix] SpanExpansionQuery with fixed Constructor
-	  and Exclusion handling (margaretha)
-        - [feature] Early implementation of match collector (diewald)
-
-0.40 2014-09-03
-        - [feature] Skeleton for standalone REST service (diewald)
-
-0.33 2014-09-01
-        - [feature] SpanSubspanQuery (margaretha)
-        - [feature] SpanExpansionQuery (margaretha)
-
-0.32 2014-08-01
-        - [bugfix] Fix for repetition candidates (margaretha)
- 	- [bugfix] Some fixes for negative segments (diewald)
- 	- [bugfix] SpanMatchModify now skips in case the
-	  requested class isn't found (diewald)
- 	- [performance] Some logging issues fixed (diewald)
-
-0.31.8 2014-07-24
-        - [feature] Added optionality to querys for quantifiers (diewald)
-        - [feature] Support for korap:boundary deserialization (diewald)
-
-0.31.7 2014-07-18
-        - [feature] Added warnings to responses (diewald)
-
-0.31.6 2014-06-30
-        - [feature] Support for korap:reference deserialization (diewald)
-	- [feature] Preliminary support for attributes in elements (margaretha)
-	- [feature] Preliminary support operation:repetition deserialization
-	  (unfinished and untested; diewald)
-
-0.31.5 2014-06-17
-        - [feature] Batch return of defined foundries and layers in
-	  getMatchInfo() (diewald)
-	- [security] Improve foundry and layer check before injection in
-	  regex (diewald)
-
-0.31.4 2014-06-16
-        - [feature] MatchModifyClassQuery now can extend (diewald)
-	- [bugfix] Make matchinfo a bit more robust (diewald)
-
-0.31.3 2014-06-11
-        - [bugfix] Minor bugfix regarding treatment of
-	  failed search results (diewald)
-
-0.31.2 2014-05-28
-        - [feature] Request parameter "itemsPerResource" limits
-	  hits per document (diewald)
-
-0.31.1 2014-05-21
-        - [bugfix] Minor bugfix for wrongly serialized contexts
-	  in responses (diewald)
-
-0.31.0 2014-05-20
-        - [feature] span contexts in JSON-LD are now supported
-        - [bugfix] Multiple bugfixes regarding span context
-          extensions (diewald)
-        - [bugfix] Minor debugging bugs (diewald)
-
-0.30.9 2014-04-11
-        - [bugfix] Prevent multiple identifiers in
-	  relation highlighting (diewald)
-
-0.30.8 2014-04-10
-        - Added getTermRelationJSON() to KorapCollection (diewald)
-	  This is likely to get deprecated!
-
-0.30.7 2014-04-09
-        - Moved JSON interpretation from BooleanFilter to KorapFilter (diewald)
-	- Added 'or' and group nesting to KorapFilter (diewald)
-
-0.30.6 2014-03-20
-        - Refactoring and cleaning of ElementSpans (diewald)
-	- [bugfix] Stabilizing KorapMatch (diewald)
-
-0.30.5 2014-03-18
-	- Support for Quantifier Queries (margaretha)
-	- Some benchmarks (margaretha)
-        - [bugfix] WithinSpans respect match payloads,
-	  and are now way more correct ;) (diewald)
-	- Support for overlap queries (diewald)
-	- Refactoring of WithinSpans (diewald)
-	- Introducing lazy loading for wrapper .end() in WithinSpans (diewald)
-
-0.30.4 2014-02-26
-        - [cleanup] Making MultiTerm* more robust (diewald)
-
-0.30.3 2014-02-20
-        - Return json request in response if given (diewald)
-	- [bugfix] ClassSpans and WithinSpans check skipTo
-	  in advance now (diewald)
-	- Compilerfriendly logging rules, resulting
-	  in significant performance improvements (diewald)
-	- Small refactorings (diewald)
-
-0.30.2 2014-02-14
-        - [bugfix] wrapper uses correct distance constraint (diewald)
-
-0.30.1 2014-02-13
-        - Added sentence extension for match info (diewald)
-
-0.30 2014-02-13
-        - This is a major version
-	  (prepared for the IDS meeting on the 17th of february)
-	- Improved stringification for distance queries (margaretha)
-
-0.26.4 2014-02-12
-        - Serialize SpanDistanceQueries and SpanMultipleDistanceQueries
-          (diewald)
-	- [temporarily] Added default foundry "mate" in KorapQuery (diewald)
-
-0.26.3 2014-02-12
-        - [bugfix] Only open writer in case it's needed (diewald)
-
-0.26.2 2014-02-12
-        - Added sequence queries with defined gaps (margaretha)
-	- Support for multiple distance constraints (margaretha)
-	- Updated json-ld deserialization with nested meta (diewald)
-	- [bugfix] Wildcards in segments were ignored (diewald)
-
-0.26.1 2014-01-21
-        - Distinct Match retrieval including spans
-	  and dependency relations (diewald)
-
-0.26 2014-01-16
-        - Introduced standalone SpanSegmentQueries (margaretha)
-        - [bugfix] SpanNextQueries (margaretha)
-	- Support for Match Identifiers (diewald)
-	- Support for distinct Match retrieval (diewald)
-
-0.25.3 2014-01-10
-        - Updated Lucene to 4.3.1 (diewald)
-	- Welcome! Eliza Margaretha has joined the team!
-
-0.25.2 2013-12-29
-        - Fixed highlight bug with empty reopened tags
-
-0.25.1 2013-12-28
-        - Support for pubDate collections
-	- Changed versioning scheme
-
-0.25 2013-12-20
-        - Support for Wildcard Queries
-	- Improved support for regular expressions
-	- Introduced keyword fields that store no positions
-
-0.24_1 2013-12-05
-        - This is a pseudo version for demo versions with dirty hacks,
-	  meant to be rolled back!
-	- There is now an ignored broken test in TestKorapCollection
-
-0.24 2013-12-05
-        - Json deserializer finished for virtual collections
-
-0.23 2013-12-05
-        - Error handling corrected in KorapResult
-	- Json deserializer finished for queries
-
-0.22 2013-12-04
-        - Introduced KorapSearch
-	- Json deserializer (started)
-
-0.21 2013-11-28
-        - Virtual collections can now be defined,
-	  searched, nested and extended
-
-0.20 2013-11-18
-        - Unboxing from sandbox repository
-
-0.11 2013-11-14
-	- JSON file importer (plain and gzip)
-	- [bugfix] Element Query
-	- [bugfix] Sequence Query
-
-0.10 2013-11-11
-        - Added JSON input to indexer
-
-0.09 2013-11-07
-        - Reconstruction of all wrapper queries using an interface
-	- Finished KorapQuery (preliminary feature freeze)
-
-0.08 2013-10-18
-        - Changed methods to attributes in KorapMatch
-	- Changed SimpleJSON to Jackson
-	- Fixed Highlighting
-	- Some Refactoring of result classes
-	- Introduced KorapDocument
-	- Introduced KorapHTML utility
-
-0.07 2013-10-14
-        - Added position to offset matching
-
-0.06 2013-10-01
-        - Added SpanElementQuery for working WithinQeries
-	- Added KorapResult and KorapMatching
-
-0.05 2013-09-18
-        - Fixed bug in indexing (MultiTermTokenStream)
-	- Fixed SpanNext
-	- Added KorapIndex
-	- First draft for KorapFilter
-
-0.04 2013-09-01
-        - Introduced optimized SpanNext class (not working atm),
-	  as SpanNear does not always work with nested synonyms
-
-0.03 2013-08-28
-        - Added within query (not working atm)
-	- Pushed query part to public repo
-
-0.02 2013-08-26
-        - Added sequences
-
-0.01 2013-08-20
-        - First version as maven build environment
