/*
* generated by Xtext
*/
package org.eclipse.xtext.example.fowlerdsl.ui.contentassist;

import org.eclipse.xtext.example.fowlerdsl.ui.contentassist.AbstractStatemachineProposalProvider;
/**
 * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#contentAssist on how to customize content assistant
 */
public class StatemachineProposalProvider extends AbstractStatemachineProposalProvider {

}
