package org.apache.maven.it.mng3203;

import java.util.List;
import java.util.ArrayList;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
	    List<String> stuff = new ArrayList<String>();
    }
}
