/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.eclipse.gmf.internal.bridge.trace;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Gen Child Node Trace</b></em>'.
 * <!-- end-user-doc -->
 *
 *
 * @see org.eclipse.gmf.internal.bridge.trace.TracePackage#getGenChildNodeTrace()
 * @model
 * @generated
 */
public interface GenChildNodeTrace extends GenNodeTrace {
} // GenChildNodeTrace