FileImpl extends XliffElementImpl implements File { public void setHeader(Header header) { Assert.isInstance(header, "header", HeaderImpl.class); assertNotAttached(header); detach(this.header); this.header = header; attach(this.header); } FileImpl(Original original, SourceLanguage sourceLanguage,
			DataType dataType, Body body);  FileImpl(org.w3c.dom.Element element); @Override List<? extends Node> getChildren(); Body getBody(); BuildNum getBuildNum(); Category getCategory(); DataType getDataType(); Date getDate(); Header getHeader(); Collection<NonXliffAttribute> getNonXliffAttributes(); Original getOriginal(); ProductName getProductName(); ProductVersion getProductVersion(); SourceLanguage getSourceLanguage(); TargetLanguage getTargetLanguage(); Tool getTool(); ToolId getToolId(); Ts getTs(); XmlSpace getXmlSpace(); void setBody(Body body); void setBuildNum(BuildNum buildNum); void setCategory(Category category); void setDataType(DataType dataType); void setDate(Date date); void setHeader(Header header); void setNonXliffAttributes(
			Collection<NonXliffAttribute> nonXliffAttributes); void setOriginal(Original original); void setProductName(ProductName productName); void setProductVersion(ProductVersion productVersion); void setSourceLanguage(SourceLanguage sourceLanguage); void setTargetLanguage(TargetLanguage targetLanguage); void setTool(Tool tool); void setToolId(ToolId toolId); void setTs(Ts ts); void setXmlSpace(XmlSpace xmlSpace);  }
@Test public void testClone() { FileImpl file = createDefaultFile(); file.setHeader(createDefaultHeader()); FileImpl clone = (FileImpl) file.clone(); assertEquals(file, clone); assertNotSame(file, clone); }