code: public Epic createEpic(Object groupIdOrPath, Epic epic) throws GitLabApiException {
          Form formData = new GitLabApiForm()
                  .withParam("title", epic.getTitle(), true)
                  .withParam("labels", epic.getLabels())
                  .withParam("description", epic.getDescription())
                  .withParam("start_date", epic.getStartDate())
                  .withParam("end_date", epic.getEndDate());
          Response response = post(Response.Status.CREATED, formData.asMap(),
                  "groups", getGroupIdOrPath(groupIdOrPath), "epics");
          return (response.readEntity(Epic.class));
      }
docs: Creates a new epic using the information contained in the provided Epic instance.  Only the following
  fields from the Epic instance are used:
  <pre><code>
  title - the title of the epic (required)
  labels - comma separated list of labels (optional)
  description - the description of the epic (optional)
  startDate - the start date of the epic (optional)
  endDate - the end date of the epic (optional)
  </code></pre>
  
  <pre><code>GitLab Endpoint: POST /groups/:id/epics</code></pre>
  
  @param groupIdOrPath the group ID, path of the group, or a Group instance holding the group ID or path
  @param epic the Epic instance with information for the new epic
  @return an Epic instance containing info on the newly created epic
  @throws GitLabApiException if any exception occurs