/**
 * Copyright (c) 2010, 2012 Ericsson
 * 
 * All rights reserved. This program and the accompanying materials are
 * made available under the terms of the Eclipse Public License v1.0 which
 * accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Description:
 * 
 * Contributors:
 * Alvaro Sanchez-Leon  - Initial API and implementation
 * 
 */
package org.eclipse.mylyn.reviews.r4e.core.model;

import org.eclipse.mylyn.reviews.core.model.ITaskReference;

/**
 * <!-- begin-user-doc --> A representation of the model object '<em><b>R4E Task Reference</b></em>'. <!-- end-user-doc
 * -->
 * 
 * @see org.eclipse.mylyn.reviews.r4e.core.model.RModelPackage#getR4ETaskReference()
 * @model
 * @generated
 */
public interface R4ETaskReference extends ITaskReference, R4EReviewComponent {
} // R4ETaskReference
