JavaCompareUtilities.setupPropertiesFileDocument(doc);  boolean isEditable= false; if (input instanceof IEditableContent) isEditable= ((IEditableContent) input).isEditable();  PropertyNode root= new PropertyNode(doc, isEditable) { void nodeChanged(PropertyNode node) { save(this, input); } };  try { parsePropertyFile(root, doc); } catch (IOException ex) { JavaPlugin.log(ex); }  return root;
setupDocument(doc); return createStructureComparator(input, doc, null);
	public IStructureComparator getStructure(final Object input) {				String content= null;		if (input instanceof IStreamContentAccessor) {			try {				content= JavaCompareUtilities.readString(((IStreamContentAccessor) input));			} catch(CoreException ex) {				// returning null indicates error				return null;			}		}					Document doc= new Document(content != null ? content : ""); //$NON-NLS-1$		JavaCompareUtilities.setupPropertiesFileDocument(doc);						boolean isEditable= false;		if (input instanceof IEditableContent)			isEditable= ((IEditableContent) input).isEditable();		PropertyNode root= new PropertyNode(doc, isEditable) {			void nodeChanged(PropertyNode node) {				save(this, input);			}		};						try {			parsePropertyFile(root, doc);		} catch (IOException ex) {			JavaPlugin.log(ex);		}				return root;	}