diff --git a/Changes b/Changes
index db856cd..2cbdcf7 100644
--- a/Changes
+++ b/Changes
@@ -1,164 +1,170 @@
+0.55.7 2016-10-10
+        - [bugfix] Throw error on optional operands in distance
+          queries (diewald)
+        - [performance] Remember solved problematic queries in the
+          query planner (diewald)
+
 0.55.6 2016-08-10
         - [bugfix] distance with key "t" uses default foundry (diewald)
-	- [cleanup] Renamed fromJson() to fromKoral() (diewald)
-	- [cleanup] Removed deprecated methods in Krill:
-	  setSpanQuery(), getRequest() (diewald)
-	- [cleanup] Removed deprecated method in KrillIndex:
-	  search() (diewald)
+        - [cleanup] Renamed fromJson() to fromKoral() (diewald)
+        - [cleanup] Removed deprecated methods in Krill:
+          setSpanQuery(), getRequest() (diewald)
+        - [cleanup] Removed deprecated method in KrillIndex:
+          search() (diewald)
         - [documentation] Refer to KoralQuery instead of Koral (diewald)
-	- [cleanup] Removed deprecated method in KrillCollection:
-	  getCount() (diewald)
-	- [feature] Added getDoc() method to KrillIndex (diewald)
+        - [cleanup] Removed deprecated method in KrillCollection:
+          getCount() (diewald)
+        - [feature] Added getDoc() method to KrillIndex (diewald)
         - [bugfix] Fixed UID handling (diewald)
-	- [feature] Added document method to Web-API (diewald)
-	- [feature] Added experimental KrillStats class (diewald)
-	- [bugfix] Escape quotes in JSON strings (diewald)
-	- [bugfix] Escape XML and Brackets in snippets correctly (diewald)
-	- [feature] Differ between matching scope and match highlighting,
-	  in case the match was extended to the sentence scope (diewald)
-	- [bugfix] KoralQuery bugs are now correctly moved to responses (diewald)
-	- [security] Do not mirror arbitrary JSON objects (diewald)
-  - [bugfix] Fixed zero-boundary repetition bug (diewald)
+        - [feature] Added document method to Web-API (diewald)
+        - [feature] Added experimental KrillStats class (diewald)
+        - [bugfix] Escape quotes in JSON strings (diewald)
+        - [bugfix] Escape XML and Brackets in snippets correctly (diewald)
+        - [feature] Differ between matching scope and match highlighting,
+          in case the match was extended to the sentence scope (diewald)
+        - [bugfix] KoralQuery bugs are now correctly moved to responses (diewald)
+        - [security] Do not mirror arbitrary JSON objects (diewald)
+        - [bugfix] Fixed zero-boundary repetition bug (diewald)
 
 0.55.5 2016-05-02
-	- [performance] Changed to a dynamic window for sorting in FocusSpans (margaretha)
-	- [bugfix] store skipped spans in Repetitionspans as candidates
-	  (margaretha)
-	- [bugfix] Store lazy loading embedded spans for startsWith in
-	  WithinSpans (diewald)
-	- [bugfix] Fixed loading krill.info in case krill.properties is given
-	  (diewald)
-	- [bugfix] Remove element payloads in SubSpans (similar to Focus)
-	  to prevent wrong highlighting (diewald)
-	- [bugfix] Sort SubSpans (margaretha)
+        - [performance] Changed to a dynamic window for sorting in FocusSpans (margaretha)
+        - [bugfix] store skipped spans in Repetitionspans as candidates
+          (margaretha)
+        - [bugfix] Store lazy loading embedded spans for startsWith in
+          WithinSpans (diewald)
+        - [bugfix] Fixed loading krill.info in case krill.properties is given
+          (diewald)
+        - [bugfix] Remove element payloads in SubSpans (similar to Focus)
+          to prevent wrong highlighting (diewald)
+        - [bugfix] Sort SubSpans (margaretha)
 
 0.55.4 2016-04-22
-	- [bugfix] Wrap <base/s=t> boundaries around right extended queries
-	  (diewald)
-	- [bugfix] Lazy loading bug in WithinSpans (diewald)
-	- [feature] Matching relation nodes with attributes (margaretha)
-	- [bugfix] Removed span id in SegmentSpans, added in NextSpans (margaretha)
-	- [feature] Updated relation deserialization (margaretha)
-	- [feature] Added tests for relation queries and relation deserialization
-	  (margaretha)
-	- [bugfix] Workaround for Nullpointers in SpanOrQuery (diewald)
+        - [bugfix] Wrap <base/s=t> boundaries around right extended queries
+          (diewald)
+        - [bugfix] Lazy loading bug in WithinSpans (diewald)
+        - [feature] Matching relation nodes with attributes (margaretha)
+        - [bugfix] Removed span id in SegmentSpans, added in NextSpans (margaretha)
+        - [feature] Updated relation deserialization (margaretha)
+        - [feature] Added tests for relation queries and relation deserialization
+          (margaretha)
+        - [bugfix] Workaround for Nullpointers in SpanOrQuery (diewald)
 
 0.55.3 2016-02-22
-	- [bugfix] Use base foundry for default sentences and paragraphs
-	  (diewald, margaretha)
-	- [bugfix] Distance constraint exclusion serialized (diewald)
-	- [bugfix] Use indexer without krill.properties packaged (diewald)
-	- [bugfix] Clean pom.xml regarding overlapping dependencies (diewald)
+        - [bugfix] Use base foundry for default sentences and paragraphs
+          (diewald, margaretha)
+        - [bugfix] Distance constraint exclusion serialized (diewald)
+        - [bugfix] Use indexer without krill.properties packaged (diewald)
+        - [bugfix] Clean pom.xml regarding overlapping dependencies (diewald)
 
 0.55.2 2016-02-13
         - [bugfix] Fixed support for corpus and doc IDs containing
-	  dashes (diewald)
-	- [bugfix] Support "s" layer without meaning "surface" -
-	  this is a hack (diewald)
+          dashes (diewald)
+        - [bugfix] Support "s" layer without meaning "surface" -
+          this is a hack (diewald)
 
 0.55.1 2016-02-10
         - [bugfix] Fixed attribute serialization in MatchInfo (diewald)
 
 0.55 2016-02-04
         - [feature] Introducing payload identifiers to the index
-	  structure (diewald, margaretha)
-	  ! This is a major release, introducing index features  !
-	  ! not compatible with indices of old versions of Krill !
+          structure (diewald, margaretha)
+          ! This is a major release, introducing index features  !
+          ! not compatible with indices of old versions of Krill !
 
 0.54 2015-11-13
-   	- [performance] Updated Lucene dependency from 4.10.3
-	  to 5.0.0 (diewald)
+        - [performance] Updated Lucene dependency from 4.10.3
+          to 5.0.0 (diewald)
         - [bugfix] Minor fixes regarding invalid tokens in the
-	  test suite (diewald)
-	- [bugfix] Fixed krill.properties test (diewald)
-	- [bugfix] Fixed multiple distances in disjunction query
-	  (GitHub issue #2; margaretha)
+          test suite (diewald)
+        - [bugfix] Fixed krill.properties test (diewald)
+        - [bugfix] Fixed multiple distances in disjunction query
+          (GitHub issue #2; margaretha)
 
 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)
+          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)
+        - [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)
+        - [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)
+          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)
+        - [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)
+        - [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)
+        - [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
@@ -166,150 +172,150 @@
 
 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)
+        - [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;
+          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,
+        - [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)
+          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)
+        - [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
+          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)
+        - [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
+        - [documentation] Improved documentation for
           various queries (margaretha)
-	- [feature] Added @Experimental support (margaretha)
-	- [feature] Added Eclipse based code formatting (diewald)
+        - [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 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)
+          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)
+        - [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)
+        - [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)
+        - [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)
+        - [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)
+          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)
+          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)
+        - [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)
+        - [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)
+          and Exclusion handling (margaretha)
         - [feature] Early implementation of match collector (diewald)
 
 0.40 2014-09-03
@@ -321,10 +327,10 @@
 
 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)
+        - [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)
@@ -335,31 +341,31 @@
 
 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)
+        - [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)
+          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)
+        - [bugfix] Make matchinfo a bit more robust (diewald)
 
 0.31.3 2014-06-11
         - [bugfix] Minor bugfix regarding treatment of
-	  failed search results (diewald)
+          failed search results (diewald)
 
 0.31.2 2014-05-28
         - [feature] Request parameter "itemsPerResource" limits
-	  hits per document (diewald)
+          hits per document (diewald)
 
 0.31.1 2014-05-21
         - [bugfix] Minor bugfix for wrongly serialized contexts
-	  in responses (diewald)
+          in responses (diewald)
 
 0.31.0 2014-05-20
         - [feature] span contexts in JSON-LD are now supported
@@ -369,39 +375,39 @@
 
 0.30.9 2014-04-11
         - [bugfix] Prevent multiple identifiers in
-	  relation highlighting (diewald)
+          relation highlighting (diewald)
 
 0.30.8 2014-04-10
         - Added getTermRelationJSON() to KorapCollection (diewald)
-	  This is likely to get deprecated!
+          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)
+        - Added 'or' and group nesting to KorapFilter (diewald)
 
 0.30.6 2014-03-20
         - Refactoring and cleaning of ElementSpans (diewald)
-	- [bugfix] Stabilizing KorapMatch (diewald)
+        - [bugfix] Stabilizing KorapMatch (diewald)
 
 0.30.5 2014-03-18
-	- Support for Quantifier Queries (margaretha)
-	- Some benchmarks (margaretha)
+        - 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)
+          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)
+        - [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)
@@ -411,112 +417,112 @@
 
 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)
+          (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)
+        - [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)
+        - 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)
+          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)
+        - 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!
+        - 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
+        - Changed versioning scheme
 
 0.25 2013-12-20
         - Support for Wildcard Queries
-	- Improved support for regular expressions
-	- Introduced keyword fields that store no positions
+        - 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
+          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
+        - Json deserializer finished for queries
 
 0.22 2013-12-04
         - Introduced KorapSearch
-	- Json deserializer (started)
+        - Json deserializer (started)
 
 0.21 2013-11-28
         - Virtual collections can now be defined,
-	  searched, nested and extended
+          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
+        - 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)
+        - 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
+        - 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
+        - Added KorapResult and KorapMatching
 
 0.05 2013-09-18
         - Fixed bug in indexing (MultiTermTokenStream)
-	- Fixed SpanNext
-	- Added KorapIndex
-	- First draft for KorapFilter
+        - 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
+          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
+        - Pushed query part to public repo
 
 0.02 2013-08-26
         - Added sequences
