code: @SuppressWarnings("incomplete-switch")
  	@Override
  	public void init(InputStream json) throws IOException {
  		try (final JsonParser parser = JsonUtils.createJsonParser(json)) {
  			JsonToken tk;
  			while ((tk = parser.nextToken()) != null) {
  				switch (tk) {
  				case FIELD_NAME:
  					final String fieldName = parser.getCurrentName();
  					if (fieldName.equals("entityId")) {
  						setEntityId(UUID.fromString(parser.nextTextValue()));
  					} else if (fieldName.equals("entityVersion")) {
  						setEntityVersion(parser.nextLongValue(0));
  					} else if (fieldName.equals("entityCreatedOn")) {
  						setEntityCreatedOn(parser.nextLongValue(0));
  					} else if (fieldName.equals("createdByEntityId")) {
  						setCreatedBy(UUID.fromString(parser.nextTextValue()));
  					} else if (fieldName.equals("entityUpdatedOn")) {
  						setEntityUpdatedOn(parser.nextLongValue(0));
  					} else if (fieldName.equals("updatedByEntityId")) {
  						setUpdatedBy(UUID.fromString(parser.nextTextValue()));
  					} else {
  						init(parser);
  					}
  					break;
  				}
  			}
  		}
  
  	}
docs: Knows how to parse the following JSON fields:
  
  <ul>
  <li>entityId</li>
  <li>entityVersion</li>
  <li>entityCreatedOn</li>
  <li>createdByEntityId</li>
  <li>entityUpdatedOn</li>
  <li>updatedByEntityId</li>
  </ul>
  
  For any other field, JSON parsing is delegated to init(JsonParser parser)