FormDocumentImpl extends StatementDocumentImpl implements FormDocument { @Override public FormDocument withoutStatementIds(Set<String> statementIds) { Map<String, List<Statement>> newGroups = removeStatements(statementIds, claims); return new FormDocumentImpl(getEntityId(), representations, grammaticalFeatures, newGroups, revisionId); } FormDocumentImpl(
			FormIdValue id,
			List<MonolingualTextValue> representations,
			List<ItemIdValue> grammaticalFeatures,
			List<StatementGroup> statements,
			long revisionId); @JsonCreator  FormDocumentImpl(
			@JsonProperty("id") String jsonId,
			@JsonProperty("representations") @JsonDeserialize(contentAs=TermImpl.class) Map<String, MonolingualTextValue> representations,
			@JsonProperty("grammaticalFeatures") List<String> grammaticalFeatures,
			@JsonProperty("claims") Map<String, List<StatementImpl.PreStatement>> claims,
			@JsonProperty("lastrevid") long revisionId,
			@JacksonInject("siteIri") String siteIri); private  FormDocumentImpl(
			FormIdValue id,
			Map<String,MonolingualTextValue> representations,
			List<ItemIdValue> grammaticalFeatures,
			Map<String, List<Statement>> statements,
			long revisionId); @JsonIgnore @Override FormIdValue getEntityId(); @JsonIgnore @Override List<ItemIdValue> getGrammaticalFeatures(); @JsonProperty("representations") @Override Map<String, MonolingualTextValue> getRepresentations(); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString(); @Override FormDocument withRevisionId(long newRevisionId); @Override FormDocument withRepresentation(MonolingualTextValue representation); @Override FormDocument withGrammaticalFeature(ItemIdValue grammaticalFeature); @Override FormDocument withStatement(Statement statement); @Override FormDocument withoutStatementIds(Set<String> statementIds);  }
@Test public void testDeleteStatements() { Statement toRemove = statementGroups.get(0).getStatements().get(0); FormDocument withoutStatement = fd1.withoutStatementIds(Collections.singleton(toRemove.getStatementId())); assertNotEquals(withoutStatement, fd1); }