
package net.imagej.ops.create;

import net.imagej.ops.Op;
import net.imagej.ops.OutputOp;
import net.imagej.ops.create.CreateOps.CreateType;
import net.imglib2.type.NativeType;
import net.imglib2.type.numeric.real.DoubleType;

import org.scijava.ItemIO;
import org.scijava.plugin.Parameter;
import org.scijava.plugin.Plugin;

/**
 * Default implementation of the {@link CreateType} interface.
 *
 * @author Daniel Seebacher, University of Konstanz.
 * @author Tim-Oliver Buchholz, University of Konstanz.
 * @param <T>
 */
@Plugin(type = Op.class)
public class DefaultCreateNativeType<T extends NativeType<T>> implements
	CreateType, OutputOp<T>
{

	@Parameter(type = ItemIO.OUTPUT)
	private T output;

	@SuppressWarnings("unchecked")
	@Override
	public void run() {
		output = (T) new DoubleType();
	}

	@Override
	public T getOutput() {
		return output;
	}

	@Override
	public void setOutput(final T output) {
		this.output = output;
	}

}

@@ -125,24 +125,30 @@
 teOps.Create
+Native
 Type;%0Aimport
@@ -158,24 +158,39 @@
 t.im
-glib2.type.Nativ
+agej.ops.create.CreateOps.Creat
 eTyp
@@ -524,22 +524,8 @@
 nz.%0A
- * @param %3CT%3E%0A
  */%0A
@@ -589,33 +589,8 @@
 Type
-%3CT extends NativeType%3CT%3E%3E
  imp
@@ -600,24 +600,30 @@
 ents%0A%09Create
+Native
 Type, Output
@@ -625,17 +625,26 @@
 utputOp%3C
-T
+DoubleType
 %3E%0A%7B%0A%0A%09@P
@@ -683,17 +683,26 @@
 private 
-T
+DoubleType
  output;
@@ -707,40 +707,8 @@
 t;%0A%0A
-%09@SuppressWarnings(%22unchecked%22)%0A
 %09@Ov
@@ -749,12 +749,8 @@
 ut =
- (T)
  new
@@ -787,17 +787,26 @@
 %09public 
-T
+DoubleType
  getOutp
@@ -873,17 +873,26 @@
 t(final 
-T
+DoubleType
  output)

Remove DefaultCreateNativeType generic param