package com.sunlightjs.awesome;

import java.text.*;
import java.io.BufferedStreamReader;
import java.lang.annotation.*;

public class MyClass extends ASlightlyLamerClass implements Fooable, Cloneable, Kissable {
	private int foo;

	public MyClass(int foo) {
		super();
		
		this.foo = (Integer)foo;
	}
	
	protected abstract void overrideMe(Kissable lips, char c, String[] foo);
	
	/**
	 * Stolen mostly from http://download.oracle.com/javase/tutorial/java/generics/bounded.html
	 * because I haven't written Java since I was an idiot in college
	 */
	@Documented @Annotation(name = "lol")
	@Override public <T extends Number & MyInterface> T genericsAreAnnoyingToParse(Collection<? extends T> collection, Collection<? super T> wtf) {
		//wait, so Java seriously uses the ampersand for interfaces in generics?
		return null;
	}
}