code: public static JsonNode merge(JsonNode source, JsonNode replacement) throws IOException {
  		return new MergeStrategy().execute(source, replacement);
  	}
docs: Merges two documents with naive merging behaviour (takes all keys from source and adds all keys from replacement.
  If a field exists in source as well as in replacement, the field from replacement will be used)
  
  Example: // source
  <pre>
  {
  a: "sourceValue"
  b: "sourceValue"
  }
  </pre>
  
  // replacement
  <pre>
  {
  a: "replacementValue"
  c: "replacementValue"
  }
  </pre>
  
  Then calling merge(source, replacement) will yield the following result:
  
  <pre>
  {
  a: "replacementValue" // taken from replacement as it is merged
  b: "sourceValue"      // taken from source as it is only defined there
  c: "replacementValue" // taken from replacement as it is only defined there
  }
  </pre>
  
  @param source      The first object.
  @param replacement The second object. Keys not existing in source will be added. Keys existing in source and
  replacement will be overriden by replacement fields.
  @return the merged object