@SuppressWarnings("unchecked")
	public Constructor<T>[] constructors() {
		try {

			List<Constructor<T>> ccs = new LinkedList<Constructor<T>>();

			for (Constructor<?> c : clazz.getDeclaredConstructors()) {
				if (!Modifier.isPrivate(c.getModifiers())) {
					ccs.add((Constructor<T>) c);
				}
			}

			return ccs.toArray(new Constructor[ccs.size()]);
		} catch (Exception e) {
			throw Lang.uncheck(e);
		}
	}