public Milestone createMilestone(String userName, String repositoryName,
String title, String description,
com.github.api.v2.schema.Milestone.State state, Date dueDate) {
GitHubApiUrlBuilder builder = createGitHubApiUrlBuilder(GitHubApiUrls.IssueApiUrls.CREATE_MILESTONE_URL);
String apiUrl = builder.withField(ParameterNames.USER_NAME, userName).withField(ParameterNames.REPOSITORY_NAME, repositoryName).buildUrl();
Milestone bean = new Milestone();
bean.setTitle(title);
bean.setDescription(description);
bean.setState(state);
bean.setDueOn(dueDate);
JsonObject json = unmarshall(callApiMethod(apiUrl, marshall(bean), ApplicationConstants.CONTENT_TYPE_JSON, HttpMethod.POST, 201));
return unmarshall(new TypeToken<Milestone>(){}, json);
}