public static ParameterContent parse(Class<?> parameter, Annotation[] annotationList) {
		ParameterContent pc = new ParameterContent();

		pc.setType(parameter.getName());

		for(Annotation annotation : annotationList) {
			// Jersey - @DefaultValue
			if(annotation instanceof DefaultValue) {
				DefaultValue dv = (DefaultValue) annotation;
				pc.setDefaultValue(dv.value());
			}

			// Jersey - @CookieParam
			if(annotation instanceof CookieParam) {
				CookieParam cp = (CookieParam) annotation;
				pc.setContext(cp.annotationType().getName());
				pc.setName(cp.value());
			}

			// Jersey - @FormParam
			if(annotation instanceof FormParam) {
				FormParam fp = (FormParam) annotation;
				pc.setContext(fp.annotationType().getName());
				pc.setName(fp.value());
			}

			// Jersey - @HeaderParam
			if(annotation instanceof HeaderParam) {
				HeaderParam hp = (HeaderParam) annotation;
				pc.setContext(hp.annotationType().getName());
				pc.setName(hp.value());
			}

			// Jersey - @MatrixParam
			if(annotation instanceof MatrixParam) {
				MatrixParam mp = (MatrixParam) annotation;
				pc.setContext(mp.annotationType().getName());
				pc.setName(mp.value());
			}

			// Jersey - @PathParam
			if(annotation instanceof PathParam) {
				PathParam pp = (PathParam) annotation;
				pc.setContext(pp.annotationType().getName());
				pc.setName(pp.value());
			}

			// Jersey - @QueryParam
			if(annotation instanceof QueryParam) {
				QueryParam qp = (QueryParam) annotation;
				pc.setContext(qp.annotationType().getName());
				pc.setName(qp.value());
			}
		}

		return pc;
	}