@SuppressWarnings( "unchecked" )
	public UmlDiagramData toData( DefaultUmlDiagram diagram ) {
		UmlDiagramData diagramData = new UmlDiagramData();
		diagramData.setNextUnqiueId( diagram.currentUniqueId() );

		for( DefaultItem<?> item : diagram.getDefaultItems() ) {
			DataConverter<?, ?, DefaultItem<Item>> converter = getConverterFor( item.getKey() );
			Data<?> data = converter.toData( (DefaultItem<Item>) item );
			if( data != null ){
				data.validate();
				diagramData.addData( data );
			}
		}

		return diagramData;
	}